Add 3500mAh support
This commit is contained in:
@@ -361,7 +361,7 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax)
|
|||||||
|
|
||||||
case MENU_BATTYP:
|
case MENU_BATTYP:
|
||||||
//*pMin = 0;
|
//*pMin = 0;
|
||||||
*pMax = 1;
|
*pMax = 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MENU_F1SHRT:
|
case MENU_F1SHRT:
|
||||||
|
@@ -44,14 +44,12 @@ typedef enum {
|
|||||||
BATTERY_LOW_CONFIRMED
|
BATTERY_LOW_CONFIRMED
|
||||||
} BatteryLow_t;
|
} BatteryLow_t;
|
||||||
|
|
||||||
|
|
||||||
uint16_t lowBatteryCountdown;
|
uint16_t lowBatteryCountdown;
|
||||||
const uint16_t lowBatteryPeriod = 30;
|
const uint16_t lowBatteryPeriod = 30;
|
||||||
|
|
||||||
volatile uint16_t gPowerSave_10ms;
|
volatile uint16_t gPowerSave_10ms;
|
||||||
|
|
||||||
|
const uint16_t Voltage2PercentageTable[][7][3] = {
|
||||||
const uint16_t Voltage2PercentageTable[][7][2] = {
|
|
||||||
[BATTERY_TYPE_1600_MAH] = {
|
[BATTERY_TYPE_1600_MAH] = {
|
||||||
{828, 100},
|
{828, 100},
|
||||||
{814, 97 },
|
{814, 97 },
|
||||||
@@ -71,15 +69,28 @@ const uint16_t Voltage2PercentageTable[][7][2] = {
|
|||||||
{630, 0 },
|
{630, 0 },
|
||||||
{0, 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]) ==
|
static_assert(
|
||||||
ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]));
|
(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)
|
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;
|
const int mulipl = 1000;
|
||||||
for (unsigned int i = 1; i < ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]); i++) {
|
for (unsigned int i = 1; i < ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]); i++) {
|
||||||
if (voltage_10mV > crv[i][0]) {
|
if (voltage_10mV > crv[i][0]) {
|
||||||
|
@@ -37,6 +37,7 @@ extern volatile uint16_t gPowerSave_10ms;
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
BATTERY_TYPE_1600_MAH,
|
BATTERY_TYPE_1600_MAH,
|
||||||
BATTERY_TYPE_2200_MAH,
|
BATTERY_TYPE_2200_MAH,
|
||||||
|
BATTERY_TYPE_3500_MAH,
|
||||||
BATTERY_TYPE_UNKNOWN
|
BATTERY_TYPE_UNKNOWN
|
||||||
} BATTERY_Type_t;
|
} BATTERY_Type_t;
|
||||||
|
|
||||||
|
@@ -328,7 +328,8 @@ const char gSubMenu_BAT_TXT[][8] =
|
|||||||
const char gSubMenu_BATTYP[][9] =
|
const char gSubMenu_BATTYP[][9] =
|
||||||
{
|
{
|
||||||
"1600mAh",
|
"1600mAh",
|
||||||
"2200mAh"
|
"2200mAh",
|
||||||
|
"3500mAh"
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
|
@@ -184,7 +184,7 @@ extern const char gSubMenu_RESET[2][4];
|
|||||||
extern const char* const gSubMenu_F_LOCK[F_LOCK_LEN];
|
extern const char* const gSubMenu_F_LOCK[F_LOCK_LEN];
|
||||||
extern const char gSubMenu_RX_TX[4][6];
|
extern const char gSubMenu_RX_TX[4][6];
|
||||||
extern const char gSubMenu_BAT_TXT[3][8];
|
extern const char gSubMenu_BAT_TXT[3][8];
|
||||||
extern const char gSubMenu_BATTYP[2][9];
|
extern const char gSubMenu_BATTYP[3][9];
|
||||||
|
|
||||||
#ifndef ENABLE_FEAT_F4HWN
|
#ifndef ENABLE_FEAT_F4HWN
|
||||||
extern const char gSubMenu_SCRAMBLER[11][7];
|
extern const char gSubMenu_SCRAMBLER[11][7];
|
||||||
|
Reference in New Issue
Block a user