New LF-RFID app (#534)
* Hal lfrfid: add read timer pulse and period config fns * New debug application for lfrfid subsystem * New lfrfid: app, fix naming * App lfrfid: assets * Container view module * App ibutton: remove unused header * App lfrfid scenes * App notification, add yield to blocking operations, add speaker volume control * App lfrfid: reading key scene * Assets: placeholder icon * App lfrfid: reworked container view module * App lfrfid: new scenes * App lfrfid: write scene * App lfrfid: write hid * App lfrfid: emulate scene * App lfrfid: save name scene * App lfrfid: add missing file
This commit is contained in:
		| @@ -22,6 +22,7 @@ void notification_message_block(NotificationApp* app, const NotificationSequence | ||||
|         .sequence = sequence, | ||||
|         .back_event = osEventFlagsNew(NULL)}; | ||||
|     furi_check(osMessageQueuePut(app->queue, &m, 0, osWaitForever) == osOK); | ||||
|     osThreadYield(); | ||||
|     osEventFlagsWait(m.back_event, NOTIFICATION_EVENT_COMPLETE, osFlagsWaitAny, osWaitForever); | ||||
|     osEventFlagsDelete(m.back_event); | ||||
| }; | ||||
| @@ -32,6 +33,7 @@ void notification_internal_message_block( | ||||
|     NotificationAppMessage m = { | ||||
|         .type = InternalLayerMessage, .sequence = sequence, .back_event = osEventFlagsNew(NULL)}; | ||||
|     furi_check(osMessageQueuePut(app->queue, &m, 0, osWaitForever) == osOK); | ||||
|     osThreadYield(); | ||||
|     osEventFlagsWait(m.back_event, NOTIFICATION_EVENT_COMPLETE, osFlagsWaitAny, osWaitForever); | ||||
|     osEventFlagsDelete(m.back_event); | ||||
| }; | ||||
| @@ -205,7 +205,8 @@ void notification_process_notification_message( | ||||
|             break; | ||||
|         case NotificationMessageTypeSoundOn: | ||||
|             notification_sound_on( | ||||
|                 notification_message->data.sound.pwm, notification_message->data.sound.frequency); | ||||
|                 notification_message->data.sound.pwm * app->settings.speaker_volume, | ||||
|                 notification_message->data.sound.frequency); | ||||
|             reset_mask |= reset_sound_mask; | ||||
|             break; | ||||
|         case NotificationMessageTypeSoundOff: | ||||
| @@ -314,6 +315,7 @@ static NotificationApp* notification_app_alloc() { | ||||
|     app->queue = osMessageQueueNew(8, sizeof(NotificationAppMessage), NULL); | ||||
|     app->display_timer = osTimerNew(notification_display_timer, osTimerOnce, app, NULL); | ||||
|  | ||||
|     app->settings.speaker_volume = 1.0f; | ||||
|     app->settings.display_brightness = 1.0f; | ||||
|     app->settings.led_brightness = 1.0f; | ||||
|     app->settings.display_off_delay_ms = 30000; | ||||
|   | ||||
| @@ -32,6 +32,7 @@ typedef struct { | ||||
| typedef struct { | ||||
|     float display_brightness; | ||||
|     float led_brightness; | ||||
|     float speaker_volume; | ||||
|     uint32_t display_off_delay_ms; | ||||
| } NotificationSettings; | ||||
|  | ||||
|   | ||||
| @@ -255,6 +255,13 @@ const NotificationSequence sequence_blink_yellow_10 = { | ||||
|     NULL, | ||||
| }; | ||||
|  | ||||
| const NotificationSequence sequence_blink_cyan_10 = { | ||||
|     &message_green_255, | ||||
|     &message_blue_255, | ||||
|     &message_delay_10, | ||||
|     NULL, | ||||
| }; | ||||
|  | ||||
| const NotificationSequence sequence_blink_red_100 = { | ||||
|     &message_red_255, | ||||
|     &message_delay_100, | ||||
|   | ||||
| @@ -78,6 +78,7 @@ extern const NotificationSequence sequence_blink_blue_10; | ||||
| extern const NotificationSequence sequence_blink_red_10; | ||||
| extern const NotificationSequence sequence_blink_green_10; | ||||
| extern const NotificationSequence sequence_blink_yellow_10; | ||||
| extern const NotificationSequence sequence_blink_cyan_10; | ||||
|  | ||||
| extern const NotificationSequence sequence_blink_red_100; | ||||
| extern const NotificationSequence sequence_blink_green_100; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user