(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

@@ -544,12 +544,15 @@ static void infrared_cli_start_ir(Cli* cli, FuriString* args, void* context) {
furi_string_free(command);
}
void infrared_on_system_start() {
#ifdef SRV_CLI
Cli* cli = (Cli*)furi_record_open(RECORD_CLI);
cli_add_command(cli, "ir", CliCommandFlagDefault, infrared_cli_start_ir, NULL);
furi_record_close(RECORD_CLI);
#else
UNUSED(infrared_cli_start_ir);
#endif
#include <flipper_application/flipper_application.h>
static const FlipperAppPluginDescriptor plugin_descriptor = {
.appid = "infrared_cli",
.ep_api_version = 1,
.entry_point = &infrared_cli_start_ir,
};
const FlipperAppPluginDescriptor* infrared_cli_plugin_ep() {
return &plugin_descriptor;
}