Index: firmware/App/Monitors/Battery.c =================================================================== diff -u -ree67a27bd69956eb8cfd7c5986538b441b8b7aa7 -r2e75c0c69869132ff4adb46a0509aab7a04d60a3 --- firmware/App/Monitors/Battery.c (.../Battery.c) (revision ee67a27bd69956eb8cfd7c5986538b441b8b7aa7) +++ firmware/App/Monitors/Battery.c (.../Battery.c) (revision 2e75c0c69869132ff4adb46a0509aab7a04d60a3) @@ -32,12 +32,16 @@ #define BATTERY_COMM_FAULT_COUNT 5 ///< Battery communication fault persistent count before alarming. #define BATTERY_COMM_FAULT_TIMER ( 10 * SEC_PER_MIN * MS_PER_SECOND ) ///< Battery communication fault persistence timer. #define BATTERY_PACK_ERROR_BITS 0x0F ///< Error codes are in the first byte. -// Battery logging #define BATTERY_MIN_CAPACITY_MAH 1950.0F ///< Minimum battery capacity for starting a treatment. +#define BATTERY_REM_CAPACITY_MAH_MIN 0 // ToDo +#define BATTERY_REM_CAPACITY_MAH_MAX 5000 // ToDo +#define BATTERY_STATUS_MIN 0 // ToDo +#define BATTERY_STATUS_MAX 5 // ToDo +#define BATTERY_CHARGER_STATUS_MIN 0 // ToDo +#define BATTERY_CHARGER_STATUS_MAX 5 // ToDo // ********** private data ********** -/// Persist time (in ms) for battery pack status error condition. static const U32 BATT_STATUS_ERROR_PERSIST_MS = ( 5 * MS_PER_SECOND ); ///< Persist time in ms for battery pack status error condition. static U32 lastBatteryMonitorTime; ///< Previous battery monitor time. static OVERRIDE_U32_T batteryStatus; ///< Battery status @@ -66,9 +70,18 @@ initsetupI2CDriver(); current_BM_value = BEGINNING_OF_LIST; lastBatteryMonitorTime = 0; - memset( &batteryStatus, 0, sizeof(OVERRIDE_U32_T)); - memset( &batteryChargerStatus, 0, sizeof(OVERRIDE_U32_T)); - memset( &batteryRemCapacity_mAh, 0, sizeof(OVERRIDE_U32_T)); + batteryStatus.data = 0; + batteryStatus.ovData = 0; + batteryStatus.ovInitData = 0; + batteryStatus.override = OVERRIDE_RESET; + batteryChargerStatus.data = 0; + batteryChargerStatus.ovData = 0; + batteryChargerStatus.ovInitData = 0; + batteryChargerStatus.override = OVERRIDE_RESET; + batteryRemCapacity_mAh.data = 0; + batteryRemCapacity_mAh.ovData = 0; + batteryRemCapacity_mAh.ovInitData = 0; + batteryRemCapacity_mAh.override = OVERRIDE_RESET; memset( &BatteryData, 0, sizeof( BATTERY_DATA_PAYLOAD_T ) ); // Initialize persistent alarm for battery pack status error initPersistentAlarm( ALARM_ID_TD_BATTERY_PACK_ERROR_DETECTED, 0, BATT_STATUS_ERROR_PERSIST_MS ); @@ -227,7 +240,7 @@ BatteryData.IBAT = BatteryData.IBAT * 2U; break; - case END_OF_LIST: + case MAXIMUM_BATTERY_REGISTERS: current_BM_value = BEGINNING_OF_LIST; publishBatteryDataPayload(); break; @@ -287,7 +300,7 @@ *************************************************************************/ BOOL testBatteryRemainingCapacityOverride( MESSAGE_T *message ) { - BOOL result = f32Override( message, (OVERRIDE_F32_T*) &batteryRemCapacity_mAh ); + BOOL result = u32Override( message, &batteryRemCapacity_mAh, BATTERY_REM_CAPACITY_MAH_MIN, BATTERY_REM_CAPACITY_MAH_MAX ); return result; } @@ -303,7 +316,7 @@ *************************************************************************/ BOOL testBatteryStatusOverride( MESSAGE_T *message ) { - BOOL result = f32Override( message, (OVERRIDE_F32_T*) &batteryStatus ); + BOOL result = u32Override( message, &batteryStatus, BATTERY_STATUS_MIN, BATTERY_STATUS_MAX ); return result; } @@ -319,6 +332,6 @@ *************************************************************************/ BOOL testBatteryChargerStatusOverride( MESSAGE_T *message ) { - BOOL result = f32Override( message, (OVERRIDE_F32_T*)&batteryChargerStatus ); + BOOL result = u32Override( message, &batteryChargerStatus, BATTERY_CHARGER_STATUS_MIN, BATTERY_CHARGER_STATUS_MIN ); return result; }