f0-templateWelcome on your path to creating Flipper Zero Application!
Here are the few stuff to get started!
AppIDappid="demo_app" and change it to your own.#include <demo_app_icons.h> into #include <{app_id}_icons.h>.Here are the resources for developing applications for Flipper Zero:
128x64.f0-template consists of following directories
.github - Reserved for GitHub Actionsicons - For generating Icon (Sprites) for use in GUI elementsscreenshots - When uploaded to store, these are the Screenshots available from store pagesrc - Where the C source is located
src/main.c - Where the main entrypoint is available.src/scenes - Scene definitions for Scene Manager - Refer to Using SceneManagerapplication.fam - Flipper Zero's application manifest file - Refer to this docsCHANGELOG.md - When uploaded to store, these are the changelog available from store pageicon.png - The Application Icon which is shown next to application name in Apps menu.icons[!WARNING]
alpha channel of PNG is NOT supported. Make sure that background is white!
This directory is for generating Icon struct which can be used for drawing sprites in flipper zero Canvas.
It can be used as following:
PNG files into icons.ufbt build or anything triggers build job) at least once before use.{app_id}_icons.h.draw_callback, draw Icon by calling canvas_draw_icon(canvas, loc_x, loc_y, &I_{png_filename});SceneManagerThis template implements SceneManager, A "Scene" based framework for programming flipper zero GUIs.
The Scenes are defined via using macro: SCENE_ACTION. By default, the f0-template provides two example scenes
./src/scenes/list.h.SCENE_ACTION.
(e.g. If you want to make new scene called Store, You should type SCENE_ACTION(Store))_on_enter, _on_event, _on_exit, _get_view, _alloc, _free accordingly. Refer to ./src/scenes/home/main.c for more info._on_exit and _free. Please make sure those two are independent by checking each other's free'd state)./src/scenes/import.h.