flipperzero-firmware/wiki/fw/Application-examples.md
coreglitch 5b6ab7faf3
Example ipc (#60)
* 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
2020-09-01 13:34:23 +03:00

1.0 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
    }
}
  1. void* p is arbitrary pointer that may be used for pass parameters to application at launch (like argc/argv in POSIX).
  2. Application must never attempt to return or exit from their implementing function.
  3. Avoid long cycles without any "waits" or "blocking" like delay or xQueueReceive, otherwise your app will blocking overall Flipper work.
  4. 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