Index: firmware/App/Drivers/Battery.h =================================================================== diff -u -r569bc4e8119455be23c9d57353243e4479f4afcd -rcd5be724d5a3ba7457e761191d82f278654d7f5c --- firmware/App/Drivers/Battery.h (.../Battery.h) (revision 569bc4e8119455be23c9d57353243e4479f4afcd) +++ firmware/App/Drivers/Battery.h (.../Battery.h) (revision cd5be724d5a3ba7457e761191d82f278654d7f5c) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2021 Diality Inc. - All Rights Reserved. +* Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file Battery.h +* @file Battery.h * -* @author (last) Quang Nguyen -* @date (last) 24-Feb-2021 +* @author (last) Sean Nash +* @date (last) 10-Aug-2023 * -* @author (original) Quang Nguyen -* @date (original) 24-Feb-2021 +* @author (original) Quang Nguyen +* @date (original) 24-Feb-2021 * ***************************************************************************/ @@ -28,13 +28,66 @@ * @{ */ -// ********** public definitions ********** - -// ********** public function prototypes ********** - -void initBattery( void ); -void execBatteryMonitor( void ); - +// ********** public definitions ********** +/// Payload record structure for battery status data broadcast message +typedef struct +{ + U32 RemainingCapacity; ///< Remaining capacity (mAh). + U32 BatteryStatus; ///< Battery status. + U32 BatteryChargerStatus; ///< Battery charge status. + U32 BatteryI2CStatus; ///< Battery Comm status. +} BATTERY_STATUS_PAYLOAD_T; + +/// Payload record structure for battery module data broadcast message +typedef struct +{ + U32 RemainingCapacityAlarm; ///< Remaining capacity alarm. + U32 RemainingTimeAlarm; ///< Remaining time alarm. + U32 BatteryMode; ///< Battery mode. + U32 AtRate; ///< At rate. + U32 AtRateTimeToFull; ///< At rate time to full. + U32 AtRateTimeToEmpty; ///< At rate time to empty. + U32 AtRateOK; ///< At rate ok. + U32 Temperature; ///< Temperature. + U32 Voltage; ///< Voltage. + U32 Current; ///< Current. + U32 AverageCurrent; ///< Average current. + U32 MaxError; ///< Max error. + U32 RelativeStateOfCharge; ///< Relative state of charge. + U32 AbsoluteStateOfCharge; ///< Absolute state of charge. + U32 FullChargeCapacity; ///< Full charge capacity. + U32 RunTimeToEmpty; ///< Run time to empty. + U32 AverageTimeToEmpty; ///< Average time to empty. + U32 AverageTimeToFull; ///< Average time to full. + U32 ChargingCurrent; ///< Charging current. + U32 ChargingVoltage; ///< Charging voltage. + U32 CycleCount; ///< Cycle count. + U32 DesignCapacity; ///< Design capacity. + U32 DesignVoltage; ///< Design voltage. + U32 SpecificationInfo; ///< Specification information. + U32 ManufactureDate; ///< Manufacture date. + U32 SerialNumber; ///< Serial number. + U32 ManufacturerName; ///< Manufacturer name. + U32 DeviceName; ///< Device name. + U32 DeviceChemistry; ///< Device chemistry. +} BATTERY_MANAGER_PAYLOAD_T; + +// ********** public function prototypes ********** + +void initBattery( void ); +void execBatteryMonitor( void ); + +BOOL isBatteryCharged( void ); + +BOOL testSetBatteryRemainingCapacityOverride( F32 value ); +BOOL testResetBatteryRemainingCapacityOverride( void ); +BOOL testSetBatteryStatusOverride( U32 value ); +BOOL testResetBatteryStatusOverride( void ); +BOOL testSetBatteryChargerStatusOverride( U32 value ); +BOOL testResetBatteryChargerStatusOverride( void ); +BOOL testSetBatteryI2CStatusOverride( U32 value ); +BOOL testResetBatteryI2CStatusOverride( void ); + /**@}*/ -#endif +#endif