Refactored battery library for multiple instances

This commit is contained in:
Timothy Scott
2019-12-05 16:38:04 +01:00
committed by Julian Oes
parent d7b95870b9
commit bff1df7080
18 changed files with 1039 additions and 277 deletions
@@ -288,7 +288,7 @@ Syslink::task_main()
_memory = new SyslinkMemory(this);
_memory->init();
_battery.reset(&_battery_status);
_battery.reset();
// int ret;
@@ -411,7 +411,7 @@ Syslink::handle_message(syslink_message_t *msg)
memcpy(&vbat, &msg->data[1], sizeof(float));
//memcpy(&iset, &msg->data[5], sizeof(float));
_battery.updateBatteryStatus(t, vbat, -1, true, true, 0, 0, false, &_battery_status);
_battery.updateBatteryStatus(vbat, -1, t, true, 0, 0, false);
// Update battery charge state
@@ -427,9 +427,6 @@ Syslink::handle_message(syslink_message_t *msg)
_bstate = BAT_DISCHARGING;
}
// announce the battery status if needed, just publish else
_battery_pub.publish(_battery_status);
} else if (msg->type == SYSLINK_RADIO_RSSI) {
uint8_t rssi = msg->data[0]; // Between 40 and 100 meaning -40 dBm to -100 dBm
_rssi = 140 - rssi * 100 / (100 - 40);