[FL-1237] Notifications app (#476)

* Notification app: init
* Notification app: separate message sequences
* Notification app: rename notifications to notification
* Notification app: rework api
* Notification app: new sequences for charger
* Power app: add state for better led handling
* Power app: NotificationSequence type, notification led process
* Blink app: use notifications
* Notification app: sound and vibro notifications
* Notification app: note messages
* Notification app: more messages
* Notification app: update note message generator
* Blink app: fix state counter
* Notification app: fix delay event
* App sd-filesystem: notifications
* App notifications: headers c++ compatibility
* App notifications: Cmaj success chord sequence
* App iButton: use notifications
* App notification: display backlight notifications
* App notification: add "display on" message to success and error sequences
* App accessor: use notifications
* App ibutton: guard onewire key read
* Lib-RFAL: remove api_hal_light usage
* App notification: add blocking mode, rework display api
* Cli led command: use internal notification instead of direc access to leds.
* App unit test: use notifications
* App lfrfid: use notifications
* Apps: close notification record
* App subghz: rough use of notifications
* App notificaton: ignore reset flag
* App strobe: removed
* Lib irda decoder: fix nec decoding
* App irda: fix assert, use notifications
* Apps: use notifications
* Fix IRDA tests
* Cli: better var naming
* App notification: readable sources

Co-authored-by: Albert Kharisov <albert@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
SG
2021-05-24 23:44:14 +10:00
committed by GitHub
parent eac8626c8c
commit 2daf65b62b
40 changed files with 1993 additions and 365 deletions

View File

@@ -8,8 +8,6 @@ void AccessorApp::run(void) {
bool consumed;
bool exit = false;
notify_init();
wiegand.begin();
onewire_master.start();
@@ -36,9 +34,14 @@ void AccessorApp::run(void) {
AccessorApp::AccessorApp()
: onewire_master{&ibutton_gpio} {
api_hal_power_insomnia_enter();
notification = static_cast<NotificationApp*>(furi_record_open("notification"));
notify_init();
api_hal_power_enable_otg();
}
AccessorApp::~AccessorApp() {
api_hal_power_disable_otg();
furi_record_close("notification");
api_hal_power_insomnia_exit();
}
@@ -102,11 +105,6 @@ AccessorApp::Scene AccessorApp::get_previous_scene() {
/***************************** NOTIFY *******************************/
void AccessorApp::notify_init() {
// TODO open record
const GpioPin* vibro_record = &vibro_gpio;
hal_gpio_init(vibro_record, GpioModeOutputPushPull, GpioPullNo, GpioSpeedLow);
hal_gpio_write(vibro_record, false);
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = PB3_Pin;
@@ -118,35 +116,21 @@ void AccessorApp::notify_init() {
}
void AccessorApp::notify_green_blink() {
api_hal_light_set(LightGreen, 0xFF);
delay(10);
api_hal_light_set(LightGreen, 0x00);
}
void AccessorApp::notify_green_on() {
api_hal_light_set(LightGreen, 0xFF);
}
void AccessorApp::notify_green_off() {
api_hal_light_set(LightGreen, 0x00);
notification_message(notification, &sequence_blink_green_10);
}
void AccessorApp::notify_success() {
api_hal_light_set(LightBacklight, 0xFF);
notification_message(notification, &sequence_success);
hal_pwm_set(0.5, 1760 / 2, &htim2, TIM_CHANNEL_2);
notify_green_on();
delay(100);
hal_pwm_stop(&htim2, TIM_CHANNEL_2);
notify_green_off();
delay(100);
hal_pwm_set(0.5, 1760, &htim2, TIM_CHANNEL_2);
notify_green_on();
delay(100);
hal_pwm_stop(&htim2, TIM_CHANNEL_2);
notify_green_off();
}
/*************************** TEXT STORE *****************************/

View File

@@ -9,6 +9,8 @@
#include <one_wire_master.h>
#include <notification/notification-messages.h>
class AccessorApp {
public:
void run(void);
@@ -29,8 +31,6 @@ public:
void notify_init();
void notify_green_blink();
void notify_green_on();
void notify_green_off();
void notify_success();
@@ -55,4 +55,6 @@ private:
WIEGAND wiegand;
OneWireMaster onewire_master;
NotificationApp* notification;
};