3c2711102c
* Lib: move cube to libs. Firmware: prepare for code base refactoring, detach from cube, port to cmsis_os2. * Firmware, target f2: regenerate project with latest cube package, tim17 for os ticks. * Firmware: unified codebase. * Core: do not include semaphore on old targets. Firmware: dfu uplaod target. * CI: submodules, add firmware build. * CI: proper submodule config. * refactor build system * CI: update chain to use new targets. Documentation: update to match current structure. * CI: clean before rebuild. * Add local test docker-compose exec dev make -C firmware TARGET=local TEST=1 run * Makefile: target specific build directory. CI: updated artifacts path. * Makefile: init git submodules if they don't exists. * Makefile: debug rule now doesn't reset MCU, prevent SIGINT propagation to st-util. * Makefile: proper rebuild sequence in zz and zzz * Makefile: timestamp tracking for flash and upload commands. * Apps: modular build. Input: fix flipper hal inline. * Wiki: proper bootloader link. * Applications: fix broken build for local targets. * add st-flash to docker * fix build * force rebuild app * move app force to firmware part * fix build deps * qrcode build ok * fix example display * add testing routine * update build instruction Co-authored-by: Aleksandr Kutuzov <aku@plooks.com> Co-authored-by: aanper <mail@s3f.ru>
73 lines
1.6 KiB
C
73 lines
1.6 KiB
C
#pragma once
|
|
|
|
#include "furi.h"
|
|
|
|
typedef struct {
|
|
FlipperApplication app;
|
|
const char* name;
|
|
const char* libs;
|
|
} FlipperStartupApp;
|
|
|
|
#ifdef APP_TEST
|
|
void flipper_test_app(void* p);
|
|
#endif
|
|
|
|
void application_blink(void* p);
|
|
void application_uart_write(void* p);
|
|
void application_ipc_display(void* p);
|
|
void application_ipc_widget(void* p);
|
|
void application_input_dump(void* p);
|
|
|
|
void display_u8g2(void* p);
|
|
|
|
void u8g2_example(void* p);
|
|
|
|
void input_task(void* p);
|
|
void menu_task(void* p);
|
|
|
|
void coreglitch_demo_0(void* p);
|
|
|
|
void u8g2_qrcode(void* p);
|
|
|
|
const FlipperStartupApp FLIPPER_STARTUP[] = {
|
|
#ifdef APP_DISPLAY
|
|
{.app = display_u8g2, .name = "display_u8g2", .libs = ""},
|
|
#endif
|
|
|
|
#ifdef APP_INPUT
|
|
{.app = input_task, .name = "input_task", .libs = ""},
|
|
#endif
|
|
|
|
// {.app = coreglitch_demo_0, .name = "coreglitch_demo_0", .libs = ""},
|
|
|
|
#ifdef APP_TEST
|
|
{.app = flipper_test_app, .name = "test app", .libs = ""},
|
|
#endif
|
|
|
|
#ifdef APP_EXAMPLE_BLINK
|
|
{.app = application_blink, .name = "blink", .libs = ""},
|
|
#endif
|
|
|
|
#ifdef APP_EXAMPLE_UART_WRITE
|
|
{.app = application_uart_write, .name = "uart write", .libs = ""},
|
|
#endif
|
|
|
|
#ifdef APP_EXAMPLE_IPC
|
|
{.app = application_ipc_display, .name = "ipc display", .libs = ""},
|
|
{.app = application_ipc_widget, .name = "ipc widget", .libs = ""},
|
|
#endif
|
|
|
|
#ifdef APP_EXAMPLE_INPUT_DUMP
|
|
{.app = application_input_dump, .name = "input dump", .libs = "input_task"},
|
|
#endif
|
|
|
|
#ifdef APP_EXAMPLE_QRCODE
|
|
{.app = u8g2_qrcode, .name = "u8g2_qrcode", .libs = "display_u8g2"},
|
|
#endif
|
|
|
|
#ifdef APP_EXAMPLE_DISPLAY
|
|
{.app = u8g2_example, .name = "u8g2_example", .libs = "display_u8g2"},
|
|
#endif
|
|
|
|
};
|