timed_remote.h - timed-remote - Flipper Zero app for sending delayed IR commands
HTML git clone git://src.adamsgaard.dk/timed-remote
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
timed_remote.h (1015B)
---
1 #pragma once
2
3 #include <furi.h>
4 #include <gui/gui.h>
5 #include <gui/modules/popup.h>
6 #include <gui/modules/submenu.h>
7 #include <gui/modules/variable_item_list.h>
8 #include <gui/modules/widget.h>
9 #include <gui/scene_manager.h>
10 #include <gui/view_dispatcher.h>
11 #include <lib/infrared/signal/infrared_signal.h>
12
13 typedef enum
14 {
15 MODE_COUNTDOWN,
16 MODE_SCHEDULED,
17 } ModeId;
18
19 typedef enum
20 {
21 VIEW_MENU,
22 VIEW_LIST,
23 VIEW_RUN,
24 VIEW_POP,
25 } ViewId;
26
27 #define SIGNAL_NAME_MAX_LEN 32
28 #define FILE_PATH_MAX_LEN 256
29
30 typedef struct
31 {
32 Gui *gui;
33 ViewDispatcher *vd;
34 SceneManager *sm;
35
36 Submenu *submenu;
37 VariableItemList *vlist;
38 Widget *widget;
39 Popup *popup;
40
41 InfraredSignal *ir;
42 char sig[SIGNAL_NAME_MAX_LEN];
43 char file[FILE_PATH_MAX_LEN];
44
45 ModeId mode;
46 uint8_t h;
47 uint8_t m;
48 uint8_t s;
49
50 uint8_t repeat; /* 0 = off, 255 = unlimited, 1-99 = count */
51 uint8_t repeat_left;
52
53 FuriTimer *timer;
54 uint32_t left;
55 } TimedRemoteApp;
56
57 TimedRemoteApp *timed_remote_app_alloc(void);
58 void timed_remote_app_free(TimedRemoteApp *);