Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Commit

Permalink
Merge pull request #157 from PX4/pr-ekf2ResetInterface
Browse files Browse the repository at this point in the history
Change state reset information interface
  • Loading branch information
priseborough committed Jun 8, 2016
2 parents 2024252 + 670c6ca commit 928a7dd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
14 changes: 10 additions & 4 deletions EKF/ekf.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,15 +134,21 @@ class Ekf : public EstimatorInterface
void get_velD_reset(float *delta, uint8_t *counter) {*delta = _state_reset_status.velD_change; *counter = _state_reset_status.velD_counter;}

// return the amount the local horizontal position changed in the last reset and the number of reset events
void get_posNE_reset(Vector2f *delta, uint8_t *counter) {*delta = _state_reset_status.posNE_change; *counter = _state_reset_status.posNE_counter;}
void get_posNE_reset(float delta[2], uint8_t *counter){
memcpy(delta, &_state_reset_status.posNE_change._data[0], sizeof(_state_reset_status.posNE_change._data));
*counter = _state_reset_status.posNE_counter;
}

// return the amount the local horizontal velocity changed in the last reset and the number of reset events
void get_velNE_reset(Vector2f *delta, uint8_t *counter) {*delta = _state_reset_status.velNE_change; *counter = _state_reset_status.velNE_counter;}
void get_velNE_reset(float delta[2], uint8_t *counter) {
memcpy(delta, &_state_reset_status.velNE_change._data[0], sizeof(_state_reset_status.velNE_change._data));
*counter = _state_reset_status.velNE_counter;
}

// return the amount the quaternion has changed in the last reset and the number of reset events
void get_quat_reset(Quaternion *delta, uint8_t *counter)
void get_quat_reset(float delta_quat[4], uint8_t *counter)
{
*delta = _state_reset_status.quat_change;
memcpy(delta_quat, &_state_reset_status.quat_change._data[0], sizeof(_state_reset_status.quat_change._data));
*counter = _state_reset_status.quat_counter;
}

Expand Down
6 changes: 3 additions & 3 deletions EKF/estimator_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,13 @@ class EstimatorInterface
virtual void get_velD_reset(float *delta, uint8_t *counter) = 0;

// return the amount the local horizontal position changed in the last reset and the number of reset events
virtual void get_posNE_reset(Vector2f *delta, uint8_t *counter) = 0;
virtual void get_posNE_reset(float delta[2], uint8_t *counter) = 0;

// return the amount the local horizontal velocity changed in the last reset and the number of reset events
virtual void get_velNE_reset(Vector2f *delta, uint8_t *counter) = 0;
virtual void get_velNE_reset(float delta[2], uint8_t *counter) = 0;

// return the amount the quaternion has changed in the last reset and the number of reset events
virtual void get_quat_reset(Quaternion *delta, uint8_t *counter) = 0;
virtual void get_quat_reset(float delta_quat[4], uint8_t *counter) = 0;

// get EKF innovation consistency check status
virtual void get_innovation_test_status(uint16_t *val)
Expand Down

0 comments on commit 928a7dd

Please sign in to comment.