Add 3500mAh support

This commit is contained in:
Armel FAUVEAU
2024-07-16 04:54:51 +02:00
parent 697bcb4a2e
commit e8a381b237
5 changed files with 23 additions and 10 deletions

View File

@@ -44,14 +44,12 @@ typedef enum {
BATTERY_LOW_CONFIRMED
} BatteryLow_t;
uint16_t lowBatteryCountdown;
const uint16_t lowBatteryPeriod = 30;
volatile uint16_t gPowerSave_10ms;
const uint16_t Voltage2PercentageTable[][7][2] = {
const uint16_t Voltage2PercentageTable[][7][3] = {
[BATTERY_TYPE_1600_MAH] = {
{828, 100},
{814, 97 },
@@ -71,15 +69,28 @@ const uint16_t Voltage2PercentageTable[][7][2] = {
{630, 0 },
{0, 0 },
},
[BATTERY_TYPE_3500_MAH] = {
{837, 100},
{826, 95 },
{750, 50 },
{700, 25 },
{610, 5 },
{600, 0 },
{0, 0 },
},
};
static_assert(ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_1600_MAH]) ==
ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]));
static_assert(
(ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_1600_MAH]) ==
ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH])) &&
(ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]) ==
ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_3500_MAH]))
);
unsigned int BATTERY_VoltsToPercent(const unsigned int voltage_10mV)
{
const uint16_t (*crv)[2] = Voltage2PercentageTable[gEeprom.BATTERY_TYPE];
const uint16_t (*crv)[3] = Voltage2PercentageTable[gEeprom.BATTERY_TYPE];
const int mulipl = 1000;
for (unsigned int i = 1; i < ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]); i++) {
if (voltage_10mV > crv[i][0]) {

View File

@@ -37,6 +37,7 @@ extern volatile uint16_t gPowerSave_10ms;
typedef enum {
BATTERY_TYPE_1600_MAH,
BATTERY_TYPE_2200_MAH,
BATTERY_TYPE_3500_MAH,
BATTERY_TYPE_UNKNOWN
} BATTERY_Type_t;