(Experimental) External CLI plugins -29kb DFU

Idea and plugin loader implementation by @akopachov, thanks!
All commands done except storage and rpc for latency reasons
This commit is contained in:
Willy-JL
2024-03-16 03:36:40 +00:00
parent cdba35a15a
commit 197fef54e2
38 changed files with 429 additions and 110 deletions

View File

@@ -104,12 +104,14 @@ static void loader_cli(Cli* cli, FuriString* args, void* context) {
furi_record_close(RECORD_LOADER);
}
void loader_on_system_start() {
#ifdef SRV_CLI
Cli* cli = furi_record_open(RECORD_CLI);
cli_add_command(cli, RECORD_LOADER, CliCommandFlagParallelSafe, loader_cli, NULL);
furi_record_close(RECORD_CLI);
#else
UNUSED(loader_cli);
#endif
#include <flipper_application/flipper_application.h>
static const FlipperAppPluginDescriptor plugin_descriptor = {
.appid = "loader_cli",
.ep_api_version = 1,
.entry_point = &loader_cli,
};
const FlipperAppPluginDescriptor* loader_cli_plugin_ep() {
return &plugin_descriptor;
}