Skip to content

Commit 4649dd3

Browse files
committed
samples: npm2100_fuel_gauge: Add 2SAA and 2SAAA battery models
Add Alkaline 2SAA and 2SAAA batteries from fuel gauge library to the sample. These are AA and AAA batteries connected two in series (2S configuration). Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
1 parent b2dd0a3 commit 4649dd3

File tree

5 files changed

+31
-1
lines changed

5 files changed

+31
-1
lines changed

samples/pmic/native/npm2100_fuel_gauge/Kconfig

+10
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@ config BATTERY_MODEL_ALKALINE_AAA
2727
help
2828
Alkaline AAA cylindrical battery.
2929

30+
config BATTERY_MODEL_ALKALINE_2SAA
31+
bool "Alkaline 2SAA"
32+
help
33+
Two Alkaline AA cylindrical batteries in series.
34+
35+
config BATTERY_MODEL_ALKALINE_2SAAA
36+
bool "Alkaline 2SAAA"
37+
help
38+
Two Alkaline AAA cylindrical batteries in series.
39+
3040
config BATTERY_MODEL_ALKALINE_LR44
3141
bool "Alkaline LR44"
3242
help

samples/pmic/native/npm2100_fuel_gauge/README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Overview
2323

2424
This sample allows the calculation of state of charge from a battery connected to the nPM2100 PMIC.
2525

26-
Battery models for Alkaline AA, AAA, LR44, and Lithium-manganese dioxide coin cell CR2032 batteries are included.
26+
Battery models for Alkaline AA (1S and 2S configuration), AAA (1S and 2S configuration), LR44, and Lithium-manganese dioxide coin cell CR2032 batteries are included.
2727
You can change the active battery model using a shell command, as illustrated in `Testing`_.
2828
You can also change the battery model at compile time using the :kconfig:option:`CONFIG_BATTERY_MODEL` Kconfig option.
2929

samples/pmic/native/npm2100_fuel_gauge/src/fuel_gauge.c

+8
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ static const struct battery_model_primary battery_models[] = {
2525
[BATTERY_TYPE_ALKALINE_AAA] = {
2626
#include <battery_models/primary_cell/AAA_Alkaline.inc>
2727
},
28+
[BATTERY_TYPE_ALKALINE_2SAA] = {
29+
#include <battery_models/primary_cell/2SAA_Alkaline.inc>
30+
},
31+
[BATTERY_TYPE_ALKALINE_2SAAA] = {
32+
#include <battery_models/primary_cell/2SAAA_Alkaline.inc>
33+
},
2834
[BATTERY_TYPE_ALKALINE_LR44] = {
2935
#include <battery_models/primary_cell/LR44.inc>
3036
},
@@ -39,6 +45,8 @@ static const struct battery_model_primary battery_models[] = {
3945
static const float battery_current[] = {
4046
[BATTERY_TYPE_ALKALINE_AA] = 5e-3f,
4147
[BATTERY_TYPE_ALKALINE_AAA] = 5e-3f,
48+
[BATTERY_TYPE_ALKALINE_2SAA] = 5e-3f,
49+
[BATTERY_TYPE_ALKALINE_2SAAA] = 5e-3f,
4250
[BATTERY_TYPE_ALKALINE_LR44] = 1.5e-3f,
4351
[BATTERY_TYPE_LITHIUM_CR2032] = 1.5e-3f,
4452
};

samples/pmic/native/npm2100_fuel_gauge/src/fuel_gauge.h

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ enum battery_type {
1111
BATTERY_TYPE_ALKALINE_AA,
1212
/* Cylindrical non-rechargeable Alkaline AAA */
1313
BATTERY_TYPE_ALKALINE_AAA,
14+
/* Cylindrical non-rechargeable Alkaline 2SAA (2 x AA in series) */
15+
BATTERY_TYPE_ALKALINE_2SAA,
16+
/* Cylindrical non-rechargeable Alkaline 2SAAA (2 x AAA in series) */
17+
BATTERY_TYPE_ALKALINE_2SAAA,
1418
/* Alkaline coin cell LR44 */
1519
BATTERY_TYPE_ALKALINE_LR44,
1620
/* Lithium-manganese dioxide coin cell CR2032 */

samples/pmic/native/npm2100_fuel_gauge/src/main.c

+8
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ int main(void)
2929
battery_model = BATTERY_TYPE_ALKALINE_AA;
3030
} else if (IS_ENABLED(CONFIG_BATTERY_MODEL_ALKALINE_AAA)) {
3131
battery_model = BATTERY_TYPE_ALKALINE_AAA;
32+
} else if (IS_ENABLED(CONFIG_BATTERY_MODEL_ALKALINE_2SAA)) {
33+
battery_model = BATTERY_TYPE_ALKALINE_2SAA;
34+
} else if (IS_ENABLED(CONFIG_BATTERY_MODEL_ALKALINE_2SAAA)) {
35+
battery_model = BATTERY_TYPE_ALKALINE_2SAAA;
3236
} else if (IS_ENABLED(CONFIG_BATTERY_MODEL_ALKALINE_LR44)) {
3337
battery_model = BATTERY_TYPE_ALKALINE_LR44;
3438
} else if (IS_ENABLED(CONFIG_BATTERY_MODEL_LITHIUM_CR2032)) {
@@ -75,6 +79,10 @@ static int cmd_battery_model_set(const struct shell *sh, size_t argc, char **arg
7579
battery_model = BATTERY_TYPE_ALKALINE_AA;
7680
} else if (strcmp(argv[0], "Alkaline_AAA") == 0) {
7781
battery_model = BATTERY_TYPE_ALKALINE_AAA;
82+
} else if (strcmp(argv[0], "Alkaline_2SAA") == 0) {
83+
battery_model = BATTERY_TYPE_ALKALINE_2SAA;
84+
} else if (strcmp(argv[0], "Alkaline_2SAAA") == 0) {
85+
battery_model = BATTERY_TYPE_ALKALINE_2SAAA;
7886
} else if (strcmp(argv[0], "Alkaline_LR44") == 0) {
7987
battery_model = BATTERY_TYPE_ALKALINE_LR44;
8088
} else if (strcmp(argv[0], "Lithium_CR2032") == 0) {

0 commit comments

Comments
 (0)