From 91a7dd4ffa5d9de2cedc1a53e6a145d924da2617 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 20 Jun 2018 22:54:47 +0200 Subject: [PATCH 1/4] Add Hott voltage and mAh alarms Add Hott Voltage and mAh alarms difference between voltage and mAh --- src/main/sensors/battery.c | 10 ++++++++++ src/main/sensors/battery.h | 2 ++ src/main/telemetry/hott.c | 14 ++++++++++---- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/sensors/battery.c b/src/main/sensors/battery.c index bde24f4f28..28c86d7e4e 100644 --- a/src/main/sensors/battery.c +++ b/src/main/sensors/battery.c @@ -279,6 +279,16 @@ batteryState_e getBatteryState(void) return batteryState; } +batteryState_e getVoltageState(void) +{ + return voltageState; +} + +batteryState_e getConsumptionState(void) +{ + return consumptionState; +} + const char * const batteryStateStrings[] = {"OK", "WARNING", "CRITICAL", "NOT PRESENT", "INIT"}; const char * getBatteryStateString(void) diff --git a/src/main/sensors/battery.h b/src/main/sensors/battery.h index f65d5289f4..0b37ee6c27 100644 --- a/src/main/sensors/battery.h +++ b/src/main/sensors/battery.h @@ -71,6 +71,8 @@ void batteryUpdateVoltage(timeUs_t currentTimeUs); void batteryUpdatePresence(void); batteryState_e getBatteryState(void); +batteryState_e getVoltageState(void); +batteryState_e getConsumptionState(void); const char * getBatteryStateString(void); void batteryUpdateStates(timeUs_t currentTimeUs); diff --git a/src/main/telemetry/hott.c b/src/main/telemetry/hott.c index f756d3462b..be5ce50666 100644 --- a/src/main/telemetry/hott.c +++ b/src/main/telemetry/hott.c @@ -229,14 +229,20 @@ static inline void updateAlarmBatteryStatus(HOTT_EAM_MSG_t *hottEAMMessage) { if (shouldTriggerBatteryAlarmNow()) { lastHottAlarmSoundTime = millis(); - const batteryState_e batteryState = getBatteryState(); - if (batteryState == BATTERY_WARNING || batteryState == BATTERY_CRITICAL) { + const batteryState_e voltageState = getVoltageState(); + const batteryState_e consumptionState = getConsumptionState(); + if (voltageState == BATTERY_WARNING || voltageState == BATTERY_CRITICAL) { hottEAMMessage->warning_beeps = 0x10; hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_BATTERY_1; - } else { + } + else if (consumptionState == BATTERY_WARNING || consumptionState == BATTERY_CRITICAL) { + hottEAMMessage->warning_beeps = 0x16; + hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_MAH; + } + else { hottEAMMessage->warning_beeps = HOTT_EAM_ALARM1_FLAG_NONE; hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_NONE; - } + } } } From bedb5bf7df288c5c5863987aa3132cd731385984 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 20 Jun 2018 23:02:06 +0200 Subject: [PATCH 2/4] Indentation Indentation --- src/main/telemetry/hott.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/telemetry/hott.c b/src/main/telemetry/hott.c index be5ce50666..cc279f7861 100644 --- a/src/main/telemetry/hott.c +++ b/src/main/telemetry/hott.c @@ -234,15 +234,15 @@ static inline void updateAlarmBatteryStatus(HOTT_EAM_MSG_t *hottEAMMessage) if (voltageState == BATTERY_WARNING || voltageState == BATTERY_CRITICAL) { hottEAMMessage->warning_beeps = 0x10; hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_BATTERY_1; - } - else if (consumptionState == BATTERY_WARNING || consumptionState == BATTERY_CRITICAL) { + } + else if (consumptionState == BATTERY_WARNING || consumptionState == BATTERY_CRITICAL) { hottEAMMessage->warning_beeps = 0x16; hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_MAH; - } - else { + } + else { hottEAMMessage->warning_beeps = HOTT_EAM_ALARM1_FLAG_NONE; hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_NONE; - } + } } } From d15a21de54391ab5de0a7189329d6969115dab97 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 20 Jun 2018 23:04:04 +0200 Subject: [PATCH 3/4] Indentation Indentation --- src/main/telemetry/hott.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/telemetry/hott.c b/src/main/telemetry/hott.c index cc279f7861..5f64703119 100644 --- a/src/main/telemetry/hott.c +++ b/src/main/telemetry/hott.c @@ -229,8 +229,8 @@ static inline void updateAlarmBatteryStatus(HOTT_EAM_MSG_t *hottEAMMessage) { if (shouldTriggerBatteryAlarmNow()) { lastHottAlarmSoundTime = millis(); - const batteryState_e voltageState = getVoltageState(); - const batteryState_e consumptionState = getConsumptionState(); + const batteryState_e voltageState = getVoltageState(); + const batteryState_e consumptionState = getConsumptionState(); if (voltageState == BATTERY_WARNING || voltageState == BATTERY_CRITICAL) { hottEAMMessage->warning_beeps = 0x10; hottEAMMessage->alarm_invers1 = HOTT_EAM_ALARM1_FLAG_BATTERY_1; From 1702f61f7f67d55b0200af248f57a5645e575548 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 21 Jun 2018 15:33:33 +0200 Subject: [PATCH 4/4] fix unittest fix unittest for Hott --- src/test/unit/telemetry_hott_unittest.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/unit/telemetry_hott_unittest.cc b/src/test/unit/telemetry_hott_unittest.cc index 8a00bce26d..17cc3e4e10 100644 --- a/src/test/unit/telemetry_hott_unittest.cc +++ b/src/test/unit/telemetry_hott_unittest.cc @@ -265,6 +265,16 @@ batteryState_e getBatteryState(void) return BATTERY_OK; } +batteryState_e getVoltageState(void) +{ + return BATTERY_OK; +} + +batteryState_e getConsumptionState(void) +{ + return BATTERY_OK; +} + uint16_t getBatteryVoltage(void) { return testBatteryVoltage;