mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-29 19:17:28 +08:00
[state interface] speed_norm_i is unsigned
This commit is contained in:
+6
-6
@@ -762,8 +762,8 @@ void stateCalcHorizontalSpeedNorm_i(void) {
|
|||||||
state.h_speed_norm_i = SPEED_BFP_OF_REAL(state.h_speed_norm_f);
|
state.h_speed_norm_i = SPEED_BFP_OF_REAL(state.h_speed_norm_f);
|
||||||
}
|
}
|
||||||
else if (bit_is_set(state.speed_status, SPEED_NED_I)) {
|
else if (bit_is_set(state.speed_status, SPEED_NED_I)) {
|
||||||
int32_t n2 = (state.ned_speed_i.x*state.ned_speed_i.x +
|
uint32_t n2 = (state.ned_speed_i.x*state.ned_speed_i.x +
|
||||||
state.ned_speed_i.y*state.ned_speed_i.y) >> INT32_SPEED_FRAC;
|
state.ned_speed_i.y*state.ned_speed_i.y) >> INT32_SPEED_FRAC;
|
||||||
INT32_SQRT(state.h_speed_norm_i, n2);
|
INT32_SQRT(state.h_speed_norm_i, n2);
|
||||||
}
|
}
|
||||||
else if (bit_is_set(state.speed_status, SPEED_NED_F)) {
|
else if (bit_is_set(state.speed_status, SPEED_NED_F)) {
|
||||||
@@ -772,8 +772,8 @@ void stateCalcHorizontalSpeedNorm_i(void) {
|
|||||||
state.h_speed_norm_i = SPEED_BFP_OF_REAL(state.h_speed_norm_f);
|
state.h_speed_norm_i = SPEED_BFP_OF_REAL(state.h_speed_norm_f);
|
||||||
}
|
}
|
||||||
else if (bit_is_set(state.speed_status, SPEED_ENU_I)) {
|
else if (bit_is_set(state.speed_status, SPEED_ENU_I)) {
|
||||||
int32_t n2 = (state.enu_speed_i.x*state.enu_speed_i.x +
|
uint32_t n2 = (state.enu_speed_i.x*state.enu_speed_i.x +
|
||||||
state.enu_speed_i.y*state.enu_speed_i.y) >> INT32_SPEED_FRAC;
|
state.enu_speed_i.y*state.enu_speed_i.y) >> INT32_SPEED_FRAC;
|
||||||
INT32_SQRT(state.h_speed_norm_i, n2);
|
INT32_SQRT(state.h_speed_norm_i, n2);
|
||||||
}
|
}
|
||||||
else if (bit_is_set(state.speed_status, SPEED_ENU_F)) {
|
else if (bit_is_set(state.speed_status, SPEED_ENU_F)) {
|
||||||
@@ -785,8 +785,8 @@ void stateCalcHorizontalSpeedNorm_i(void) {
|
|||||||
/* transform ecef speed to ned, set status bit, then compute norm */
|
/* transform ecef speed to ned, set status bit, then compute norm */
|
||||||
ned_of_ecef_vect_i(&state.ned_speed_i, &state.ned_origin_i, &state.ecef_speed_i);
|
ned_of_ecef_vect_i(&state.ned_speed_i, &state.ned_origin_i, &state.ecef_speed_i);
|
||||||
SetBit(state.speed_status, SPEED_NED_I);
|
SetBit(state.speed_status, SPEED_NED_I);
|
||||||
int32_t n2 = (state.ned_speed_i.x*state.ned_speed_i.x +
|
uint32_t n2 = (state.ned_speed_i.x*state.ned_speed_i.x +
|
||||||
state.ned_speed_i.y*state.ned_speed_i.y) >> INT32_SPEED_FRAC;
|
state.ned_speed_i.y*state.ned_speed_i.y) >> INT32_SPEED_FRAC;
|
||||||
INT32_SQRT(state.h_speed_norm_i, n2);
|
INT32_SQRT(state.h_speed_norm_i, n2);
|
||||||
}
|
}
|
||||||
else if (bit_is_set(state.speed_status, SPEED_ECEF_F)) {
|
else if (bit_is_set(state.speed_status, SPEED_ECEF_F)) {
|
||||||
|
|||||||
+2
-2
@@ -277,7 +277,7 @@ struct State {
|
|||||||
* Norm of horizontal ground speed.
|
* Norm of horizontal ground speed.
|
||||||
* Unit: m/s in BFP with #INT32_SPEED_FRAC
|
* Unit: m/s in BFP with #INT32_SPEED_FRAC
|
||||||
*/
|
*/
|
||||||
int32_t h_speed_norm_i;
|
uint32_t h_speed_norm_i;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Direction of horizontal ground speed.
|
* Direction of horizontal ground speed.
|
||||||
@@ -816,7 +816,7 @@ static inline struct EcefCoor_i* stateGetSpeedEcef_i(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get norm of horizontal ground speed (int).
|
/// Get norm of horizontal ground speed (int).
|
||||||
static inline int32_t* stateGetHorizontalSpeedNorm_i(void) {
|
static inline uint32_t* stateGetHorizontalSpeedNorm_i(void) {
|
||||||
if (!bit_is_set(state.speed_status, SPEED_HNORM_I))
|
if (!bit_is_set(state.speed_status, SPEED_HNORM_I))
|
||||||
stateCalcHorizontalSpeedNorm_i();
|
stateCalcHorizontalSpeedNorm_i();
|
||||||
return &state.h_speed_norm_i;
|
return &state.h_speed_norm_i;
|
||||||
|
|||||||
Reference in New Issue
Block a user