mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-30 16:29:12 +00:00
5b6ab7faf3
* add blank example * add ipc example code, need to change FURI API * add ipc example code, need to change FURI API * change core API, add context * check handler at take * fix important bugs in furi * drawing example * add posix mq * fix unsigned demo counter * create at open * working local demo * russian version of IPC example * english version * add gif
1 KiB
1 KiB
In this article we create few application, interact between apps, use OS functions and interact with HAL.
General agreements
Flipper application is just a function:
void application_name(void* p) {
// Setup
while(1) {
// Loop
}
}
void* p
is arbitrary pointer that may be used for pass parameters to application at launch (like argc/argv in POSIX).- Application must never attempt to return or exit from their implementing function.
- Avoid long cycles without any "waits" or "blocking" like
delay
orxQueueReceive
, otherwise your app will blocking overall Flipper work. - Do not create static variables inside function or global variables. Use only local variables. We plan to add virual in-RAM filesystem to save any persistent data.
Application examples
- Blink show how to create app and control GPIO
- UART write operate with FURI pipe and print some messages
- Inter-process communication describes how to interact between application through FURI