unleashed-firmware/applications/power-observer/power-observer.c
SG 95f44f4d33
[FL-1625] Overcurrent monitoring. Cli command for external 3.3v dcdc control. (#615)
* Apps: power observer for overcurrent monitoring
* Power: cli command for enable\disable externat 3.3v dcdc

Co-authored-by: あく <alleteam@gmail.com>
2021-08-02 14:15:24 +03:00

33 lines
799 B
C

#include <furi.h>
#include <api-hal.h>
#include <notification/notification-messages.h>
const NotificationMessage message_green_110 = {
.type = NotificationMessageTypeLedGreen,
.data.led.value = 110,
};
static const NotificationSequence sequence_overconsumption = {
&message_green_110,
&message_red_255,
&message_delay_100,
NULL,
};
int32_t power_observer(void* p) {
NotificationApp* notifications = furi_record_open("notification");
const float overconsumption_limit = 0.03f;
while(true) {
float current = -api_hal_power_get_battery_current(ApiHalPowerICFuelGauge);
if(current >= overconsumption_limit) {
notification_message_block(notifications, &sequence_overconsumption);
}
delay(1000);
}
return 0;
}