In this article we create few application, interact between apps, use OS functions and interact with HAL.
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).delay or xQueueReceive, otherwise your app will blocking overall Flipper work.