[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>
This commit is contained in:
33
applications/power-observer/power-observer.c
Normal file
33
applications/power-observer/power-observer.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user