show absolute battery level

This commit is contained in:
Philippe G
2021-04-04 16:06:31 -07:00
parent f6b55c5ac9
commit 3a2bfe470f
5 changed files with 8 additions and 7 deletions

View File

@@ -51,8 +51,9 @@ float battery_value_svc(void) {
* *
*/ */
uint8_t battery_level_svc(void) { uint8_t battery_level_svc(void) {
// TODO: this is totally incorrect // TODO: this is vastly incorrect
return battery.avg ? (battery.avg - (3.0 * battery.cells)) / ((4.2 - 3.0) * battery.cells) * 100 : 0; int level = battery.avg ? (battery.avg - (3.0 * battery.cells)) / ((4.2 - 3.0) * battery.cells) * 100 : 0;
return level < 100 ? level : 100;
} }
/**************************************************************************************** /****************************************************************************************

View File

@@ -21,7 +21,7 @@ extern void (*spkfault_handler_svc)(bool inserted);
extern bool spkfault_svc(void); extern bool spkfault_svc(void);
extern float battery_value_svc(void); extern float battery_value_svc(void);
extern uint8_t battery_level_svc(void); extern uint16_t battery_level_svc(void);
extern monitor_gpio_t * get_spkfault_gpio(); extern monitor_gpio_t * get_spkfault_gpio();
extern monitor_gpio_t * get_jack_insertion_gpio(); extern monitor_gpio_t * get_jack_insertion_gpio();

View File

@@ -67,8 +67,8 @@ u16_t get_plugged(void) {
return jack_inserted_svc() ? PLUG_HEADPHONE : 0; return jack_inserted_svc() ? PLUG_HEADPHONE : 0;
} }
u8_t get_battery(void) { u16_t get_battery(void) {
return (battery_level_svc() * 16) / 100; return (u16_t) (battery_value_svc() * 128) & 0x0fff;
} }
void set_name(char *name) { void set_name(char *name) {

View File

@@ -77,7 +77,7 @@ extern mutex_type slimp_mutex;
#define PLUG_HEADPHONE 0x04 #define PLUG_HEADPHONE 0x04
u16_t get_RSSI(void); // must provide or define as 0xffff u16_t get_RSSI(void); // must provide or define as 0xffff
u16_t get_plugged(void); // must provide or define as 0x0 u16_t get_plugged(void); // must provide or define as 0x0
u8_t get_battery(void); // must provide 0..15 or define as 0x0 u16_t get_battery(void); // must provide 12 bits data or define as 0x0 (exact meaning is device-dependant)
// set name // set name
void set_name(char *name); // can be defined as an empty macro void set_name(char *name); // can be defined as an empty macro

View File

@@ -10,6 +10,6 @@
<name>PLUGIN_SQUEEZEESP32</name> <name>PLUGIN_SQUEEZEESP32</name>
<description>PLUGIN_SQUEEZEESP32_DESC</description> <description>PLUGIN_SQUEEZEESP32_DESC</description>
<module>Plugins::SqueezeESP32::Plugin</module> <module>Plugins::SqueezeESP32::Plugin</module>
<version>0.211</version> <version>0.310</version>
<creator>Philippe</creator> <creator>Philippe</creator>
</extensions> </extensions>