diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-07-17 13:39:14 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-07-17 13:39:14 +1000 |
| commit | a3f48074fb2870535184e90f8aeda2e98c19d24e (patch) | |
| tree | f5174d12a42a89514315319f697e8d25700b12f3 /src/tangara/app_console/app_console.cpp | |
| parent | d8ce31e46b0dea356dd415b62f71c265bea54d2a (diff) | |
| download | tangara-fw-a3f48074fb2870535184e90f8aeda2e98c19d24e.tar.gz | |
Add a console command to dump a snapshot
Diffstat (limited to 'src/tangara/app_console/app_console.cpp')
| -rw-r--r-- | src/tangara/app_console/app_console.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tangara/app_console/app_console.cpp b/src/tangara/app_console/app_console.cpp index af9061fe..11862143 100644 --- a/src/tangara/app_console/app_console.cpp +++ b/src/tangara/app_console/app_console.cpp @@ -683,6 +683,26 @@ void RegisterLua() { esp_console_cmd_register(&cmd_luarun); } +int CmdSnapshot(int argc, char** argv) { + if (argc != 2) { + std::cout << "snapshot expects 1 argument" << std::endl; + return 1; + } + + events::Ui().Dispatch(ui::Screenshot{.filename = argv[1]}); + return 0; +} + +void RegisterSnapshot() { + esp_console_cmd_t cmd_snapshot{ + .command = "snapshot", + .help = "Saves a screenshot of the display to a file", + .hint = "filename", + .func = &CmdSnapshot, + .argtable = NULL}; + esp_console_cmd_register(&cmd_snapshot); +} + auto AppConsole::PrerunCallback() -> void { Console::PrerunCallback(); esp_log_level_set("*", ESP_LOG_NONE); @@ -713,6 +733,7 @@ auto AppConsole::RegisterExtraComponents() -> void { RegisterHapticEffect(); RegisterLua(); + RegisterSnapshot(); } } // namespace console |
