From d35a14834cf9f942edf01af8e4e8798e1c7d686d Mon Sep 17 00:00:00 2001 From: wysiwyng <4764286+wysiwyng@users.noreply.github.com> Date: Sun, 10 Jun 2018 12:53:34 +0200 Subject: [PATCH] Measured current is now signed in blackbox --- src/main/blackbox/blackbox.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/blackbox/blackbox.c b/src/main/blackbox/blackbox.c index e45669f47..2950f9090 100644 --- a/src/main/blackbox/blackbox.c +++ b/src/main/blackbox/blackbox.c @@ -190,7 +190,7 @@ static const blackboxDeltaFieldDefinition_t blackboxMainFields[] = { {"rcCommand", 3, UNSIGNED, .Ipredict = PREDICT(MINTHROTTLE), .Iencode = ENCODING(UNSIGNED_VB), .Ppredict = PREDICT(PREVIOUS), .Pencode = ENCODING(TAG8_4S16), CONDITION(ALWAYS)}, {"vbatLatest", -1, UNSIGNED, .Ipredict = PREDICT(VBATREF), .Iencode = ENCODING(NEG_14BIT), .Ppredict = PREDICT(PREVIOUS), .Pencode = ENCODING(TAG8_8SVB), FLIGHT_LOG_FIELD_CONDITION_VBAT}, - {"amperageLatest",-1, UNSIGNED, .Ipredict = PREDICT(0), .Iencode = ENCODING(UNSIGNED_VB), .Ppredict = PREDICT(PREVIOUS), .Pencode = ENCODING(TAG8_8SVB), FLIGHT_LOG_FIELD_CONDITION_AMPERAGE_ADC}, + {"amperageLatest",-1, SIGNED, .Ipredict = PREDICT(0), .Iencode = ENCODING(SIGNED_VB), .Ppredict = PREDICT(PREVIOUS), .Pencode = ENCODING(TAG8_8SVB), FLIGHT_LOG_FIELD_CONDITION_AMPERAGE_ADC}, #ifdef USE_MAG {"magADC", 0, SIGNED, .Ipredict = PREDICT(0), .Iencode = ENCODING(SIGNED_VB), .Ppredict = PREDICT(PREVIOUS), .Pencode = ENCODING(TAG8_8SVB), FLIGHT_LOG_FIELD_CONDITION_MAG}, @@ -294,7 +294,7 @@ typedef struct blackboxMainState_s { int16_t servo[MAX_SUPPORTED_SERVOS]; uint16_t vbatLatest; - uint16_t amperageLatest; + int32_t amperageLatest; #ifdef USE_BARO int32_t BaroAlt; @@ -552,7 +552,7 @@ static void writeIntraframe(void) if (testBlackboxCondition(FLIGHT_LOG_FIELD_CONDITION_AMPERAGE_ADC)) { // 12bit value directly from ADC - blackboxWriteUnsignedVB(blackboxCurrent->amperageLatest); + blackboxWriteSignedVB(blackboxCurrent->amperageLatest); } #ifdef USE_MAG @@ -680,7 +680,7 @@ static void writeInterframe(void) } if (testBlackboxCondition(FLIGHT_LOG_FIELD_CONDITION_AMPERAGE_ADC)) { - deltas[optionalFieldCount++] = (int32_t) blackboxCurrent->amperageLatest - blackboxLast->amperageLatest; + deltas[optionalFieldCount++] = blackboxCurrent->amperageLatest - blackboxLast->amperageLatest; } #ifdef USE_MAG