A simple example for analog input and EPD usage.
Dependencies: GDEP015OC1 acn_nrf52_saadc aconno_bsp
Fork of acd52832_3_Analog_In by
Diff: main.cpp
- Revision:
- 9:eef3ea422bfe
- Parent:
- 8:c9f0aea93832
- Child:
- 10:8a9eb611624e
diff -r c9f0aea93832 -r eef3ea422bfe main.cpp --- a/main.cpp Wed Jul 05 13:04:57 2017 +0000 +++ b/main.cpp Fri Jul 07 11:50:24 2017 +0000 @@ -16,6 +16,7 @@ #define VOLTAGE_DIVIDER_RATION (4.42) #define VOLTAGE_LOSS (0.4) #define CURRENT_FACTOR (36.0) +#define BATTERY_CHARGED_V (13) #define BATTERY_MAX_V (12.6) #define BATTERY_MIN_V (11.85) #define BATTERY_STEP (0.15) @@ -27,6 +28,10 @@ #define LOW_CURRENT_STATE (1) #define QUICK_CURRENT_STATE (2) +#define _CH_4 (9) +#define _CH_3 (8) +#define _CH_2 (7) +#define _CH_1 (6) #define _BS_5 (5) #define _BS_4 (4) #define _BS_3 (3) @@ -42,7 +47,19 @@ AnalogIn usb2 (p30); uint8_t get_battery_level(float battery_voltage){ - if(battery_voltage > BATTERY_MAX_V - BATTERY_STEP){ + if (battery_voltage > BATTERY_CHARGED_V * 4){ + return _CH_4; + } + else if ((battery_voltage > BATTERY_CHARGED_V + BATTERY_STEP * 3) && (battery_voltage > BATTERY_CHARGED_V + BATTERY_STEP * 4)){ + return _CH_3; + } + else if ((battery_voltage > BATTERY_CHARGED_V + BATTERY_STEP * 2) && (battery_voltage > BATTERY_CHARGED_V + BATTERY_STEP * 3)){ + return _CH_2; + } + else if ((battery_voltage > BATTERY_CHARGED_V + BATTERY_STEP * 1) && (battery_voltage > BATTERY_CHARGED_V + BATTERY_STEP * 2)){ + return _CH_1; + } + else if((battery_voltage > BATTERY_MAX_V - BATTERY_STEP) && (battery_voltage < BATTERY_CHARGED_V)){ return _BS_5; } else if((battery_voltage > BATTERY_MAX_V - BATTERY_STEP * 2) && (battery_voltage < BATTERY_MAX_V - BATTERY_STEP * 1)){ @@ -159,9 +176,28 @@ epd.fill(BS_5[x], x); break; } + case(6):{ + for(uint16_t x=0;x<5000;x++) + epd.fill(charged_1[x], x); + break; + } + case(7):{ + for(uint16_t x=0;x<5000;x++) + epd.fill(charged_2[x], x); + break; + } + case(8):{ + for(uint16_t x=0;x<5000;x++) + epd.fill(charged_3[x], x); + break; + } + case(9):{ + for(uint16_t x=0;x<5000;x++) + epd.fill(charged_4[x], x); + break; + } default: break; } - epd.write(); }