Welcome to mirror list, hosted at ThFree Co, Russian Federation.

applications.c « applications - github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 7cc105bb9190ad18b1328455884dbf09583ffc23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
#include "applications.h"
#include <assets_icons.h>

// Services
extern int32_t rpc_srv(void* p);
extern int32_t bt_srv(void* p);
extern int32_t cli_srv(void* p);
extern int32_t dialogs_srv(void* p);
extern int32_t dolphin_srv(void* p);
extern int32_t gui_srv(void* p);
extern int32_t input_srv(void* p);
extern int32_t loader_srv(void* p);
extern int32_t notification_srv(void* p);
extern int32_t power_observer_srv(void* p);
extern int32_t power_srv(void* p);
extern int32_t storage_srv(void* p);
extern int32_t desktop_srv(void* p);

// Apps
extern int32_t accessor_app(void* p);
extern int32_t archive_app(void* p);
extern int32_t bad_usb_app(void* p);
extern int32_t blink_test_app(void* p);
extern int32_t bt_debug_app(void* p);
extern int32_t delay_test_app(void* p);
extern int32_t display_test_app(void* p);
extern int32_t gpio_app(void* p);
extern int32_t ibutton_app(void* p);
extern int32_t irda_app(void* p);
extern int32_t irda_monitor_app(void* p);
extern int32_t keypad_test_app(void* p);
extern int32_t lfrfid_app(void* p);
extern int32_t lfrfid_debug_app(void* p);
extern int32_t nfc_app(void* p);
extern int32_t scened_app(void* p);
extern int32_t storage_test_app(void* p);
extern int32_t subghz_app(void* p);
extern int32_t usb_mouse_app(void* p);
extern int32_t usb_test_app(void* p);
extern int32_t vibro_test_app(void* p);

// Plugins
extern int32_t music_player_app(void* p);

// On system start hooks declaration
extern void bt_cli_init();
extern void crypto_cli_init();
extern void ibutton_cli_init();
extern void irda_cli_init();
extern void lfrfid_cli_init();
extern void nfc_cli_init();
extern void storage_cli_init();
extern void subghz_cli_init();
extern void power_cli_init();
extern void unit_tests_cli_init();

// Settings
extern int32_t notification_settings_app(void* p);
extern int32_t storage_settings_app(void* p);
extern int32_t bt_settings_app(void* p);
extern int32_t desktop_settings_app(void* p);
extern int32_t about_settings_app(void* p);
extern int32_t power_settings_app(void* p);

const FlipperApplication FLIPPER_SERVICES[] = {
/* Services */
#ifdef SRV_RPC
    {.app = rpc_srv, .name = "RpcSrv", .stack_size = 1024 * 4, .icon = NULL},
#endif

#ifdef SRV_BT
    {.app = bt_srv, .name = "BtSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_CLI
    {.app = cli_srv, .name = "CliSrv", .stack_size = 4096, .icon = NULL},
#endif

#ifdef SRV_DIALOGS
    {.app = dialogs_srv, .name = "DialogsSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_DOLPHIN
    {.app = dolphin_srv, .name = "DolphinSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_DESKTOP
    {.app = desktop_srv, .name = "DesktopSrv", .stack_size = 2048, .icon = NULL},
#endif

#ifdef SRV_GUI
    {.app = gui_srv, .name = "GuiSrv", .stack_size = 2048, .icon = NULL},
#endif

#ifdef SRV_INPUT
    {.app = input_srv, .name = "InputSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_LOADER
    {.app = loader_srv, .name = "LoaderSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_NOTIFICATION
    {.app = notification_srv, .name = "NotificationSrv", .stack_size = 1536, .icon = NULL},
#endif

#ifdef SRV_POWER
    {.app = power_srv, .name = "PowerSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_POWER_OBSERVER
    {.app = power_observer_srv, .name = "PowerAuditSrv", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_STORAGE
    {.app = storage_srv, .name = "StorageSrv", .stack_size = 3072, .icon = NULL},
#endif
};

const size_t FLIPPER_SERVICES_COUNT = sizeof(FLIPPER_SERVICES) / sizeof(FlipperApplication);

// Main menu APP
const FlipperApplication FLIPPER_APPS[] = {

#ifdef APP_SUBGHZ
    {.app = subghz_app, .name = "Sub-GHz", .stack_size = 2048, .icon = &A_Sub1ghz_14},
#endif

#ifdef APP_LF_RFID
    {.app = lfrfid_app, .name = "125 kHz RFID", .stack_size = 2048, .icon = &A_125khz_14},
#endif

#ifdef APP_NFC
    {.app = nfc_app, .name = "NFC", .stack_size = 4096, .icon = &A_NFC_14},
#endif

#ifdef APP_IRDA
    {.app = irda_app, .name = "Infrared", .stack_size = 1024 * 3, .icon = &A_Infrared_14},
#endif

#ifdef APP_GPIO
    {.app = gpio_app, .name = "GPIO", .stack_size = 1024, .icon = &A_GPIO_14},
#endif

#ifdef APP_IBUTTON
    {.app = ibutton_app, .name = "iButton", .stack_size = 2048, .icon = &A_iButton_14},
#endif

};

const size_t FLIPPER_APPS_COUNT = sizeof(FLIPPER_APPS) / sizeof(FlipperApplication);

// On system start hooks
const FlipperOnStartHook FLIPPER_ON_SYSTEM_START[] = {
#ifdef SRV_CLI
    crypto_cli_init,
#endif

#ifdef APP_IRDA
    irda_cli_init,
#endif

#ifdef APP_NFC
    nfc_cli_init,
#endif

#ifdef APP_SUBGHZ
    subghz_cli_init,
#endif

#ifdef APP_LF_RFID
    lfrfid_cli_init,
#endif

#ifdef APP_IBUTTON
    ibutton_cli_init,
#endif

#ifdef SRV_BT
    bt_cli_init,
#endif

#ifdef SRV_POWER
    power_cli_init,
#endif

#ifdef SRV_STORAGE
    storage_cli_init,
#endif

#ifdef APP_UNIT_TESTS
    unit_tests_cli_init,
#endif
};

const size_t FLIPPER_ON_SYSTEM_START_COUNT =
    sizeof(FLIPPER_ON_SYSTEM_START) / sizeof(FlipperOnStartHook);

// Plugin menu
const FlipperApplication FLIPPER_PLUGINS[] = {

#ifdef APP_MUSIC_PLAYER
    {.app = music_player_app, .name = "Music Player", .stack_size = 1024, .icon = &A_Plugins_14},
#endif
};

const size_t FLIPPER_PLUGINS_COUNT = sizeof(FLIPPER_PLUGINS) / sizeof(FlipperApplication);

// Plugin menu
const FlipperApplication FLIPPER_DEBUG_APPS[] = {
#ifdef APP_BLINK
    {.app = blink_test_app, .name = "Blink Test", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_VIBRO_TEST
    {.app = vibro_test_app, .name = "Vibro Test", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_KEYPAD_TEST
    {.app = keypad_test_app, .name = "Keypad Test", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_ACCESSOR
    {.app = accessor_app, .name = "Accessor", .stack_size = 4096, .icon = NULL},
#endif

#ifdef APP_USB_TEST
    {.app = usb_test_app, .name = "USB Test", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_USB_MOUSE
    {.app = usb_mouse_app, .name = "USB Mouse demo", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_BAD_USB
    {.app = bad_usb_app, .name = "Bad USB test", .stack_size = 2048, .icon = NULL},
#endif

#ifdef APP_IRDA_MONITOR
    {.app = irda_monitor_app, .name = "Irda Monitor", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_SCENED
    {.app = scened_app, .name = "Templated Scene", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_LF_RFID
    {.app = lfrfid_debug_app, .name = "LF-RFID Debug", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_BT
    {.app = bt_debug_app, .name = "Bluetooth Debug", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_UNIT_TESTS
    {.app = delay_test_app, .name = "Delay Test", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_DISPLAY_TEST
    {.app = display_test_app, .name = "Display Test", .stack_size = 1024, .icon = NULL},
#endif
};

const size_t FLIPPER_DEBUG_APPS_COUNT = sizeof(FLIPPER_DEBUG_APPS) / sizeof(FlipperApplication);

#ifdef APP_ARCHIVE
const FlipperApplication FLIPPER_ARCHIVE =
    {.app = archive_app, .name = "Archive", .stack_size = 4096, .icon = &A_FileManager_14};
#endif

// Settings menu
const FlipperApplication FLIPPER_SETTINGS_APPS[] = {
#ifdef SRV_BT
    {.app = bt_settings_app, .name = "Bluetooth", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_NOTIFICATION
    {.app = notification_settings_app,
     .name = "LCD and notifications",
     .stack_size = 1024,
     .icon = NULL},
#endif

#ifdef SRV_STORAGE
    {.app = storage_settings_app, .name = "Storage", .stack_size = 2048, .icon = NULL},
#endif

#ifdef SRV_POWER
    {.app = power_settings_app, .name = "Power", .stack_size = 1024, .icon = NULL},
#endif

#ifdef SRV_DESKTOP
    {.app = desktop_settings_app, .name = "Desktop", .stack_size = 1024, .icon = NULL},
#endif

#ifdef APP_ABOUT
    {.app = about_settings_app, .name = "About", .stack_size = 1024, .icon = NULL},
#endif
};

const size_t FLIPPER_SETTINGS_APPS_COUNT =
    sizeof(FLIPPER_SETTINGS_APPS) / sizeof(FlipperApplication);