| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include "../nfc_rfid_detector_app_i.h"
- #include "../views/nfc_rfid_detector_view_field_presence.h"
- void nfc_rfid_detector_scene_field_presence_callback(
- NfcRfidDetectorCustomEvent event,
- void* context) {
- furi_assert(context);
- NfcRfidDetectorApp* app = context;
- view_dispatcher_send_custom_event(app->view_dispatcher, event);
- }
- static const NotificationSequence notification_app_display_on = {
- &message_display_backlight_on,
- NULL,
- };
- static void nfc_rfid_detector_scene_field_presence_update(void* context) {
- furi_assert(context);
- NfcRfidDetectorApp* app = context;
- uint32_t frequency = 0;
- bool nfc_field = nfc_rfid_detector_app_field_presence_is_nfc(app);
- bool rfid_field = nfc_rfid_detector_app_field_presence_is_rfid(app, &frequency);
- if(nfc_field || rfid_field)
- notification_message(app->notifications, ¬ification_app_display_on);
- nfc_rfid_detector_view_field_presence_update(
- app->nfc_rfid_detector_field_presence, nfc_field, rfid_field, frequency);
- }
- void nfc_rfid_detector_scene_field_presence_on_enter(void* context) {
- furi_assert(context);
- NfcRfidDetectorApp* app = context;
- // Start detection of field presence
- nfc_rfid_detector_app_field_presence_start(app);
- view_dispatcher_switch_to_view(app->view_dispatcher, NfcRfidDetectorViewFieldPresence);
- }
- bool nfc_rfid_detector_scene_field_presence_on_event(void* context, SceneManagerEvent event) {
- furi_assert(context);
- NfcRfidDetectorApp* app = context;
- bool consumed = false;
- if(event.type == SceneManagerEventTypeTick) {
- nfc_rfid_detector_scene_field_presence_update(app);
- }
- return consumed;
- }
- void nfc_rfid_detector_scene_field_presence_on_exit(void* context) {
- furi_assert(context);
- NfcRfidDetectorApp* app = context;
- // Stop detection of field presence
- nfc_rfid_detector_app_field_presence_stop(app);
- }
|