[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:
SG
2021-08-02 21:15:24 +10:00
committed by GitHub
parent 35c441f031
commit 95f44f4d33
4 changed files with 56 additions and 0 deletions

View 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;
}