Add Shutdown and reboot to CardKB and friends (#3487)

* Add Shutdown and reboot to CardKB and friends

* aw shucks
This commit is contained in:
Thomas Göttgens 2024-03-24 19:41:45 +01:00 committed by GitHub
parent 5f529f7ca3
commit b960dc1b41
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 24 additions and 2 deletions

View File

@ -161,6 +161,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
also enable HAS_ option not specifically disabled by variant.h */
#include "architecture.h"
#ifndef DEFAULT_REBOOT_SECONDS
#define DEFAULT_REBOOT_SECONDS 7
#endif
#ifndef DEFAULT_SHUTDOWN_SECONDS
#define DEFAULT_SHUTDOWN_SECONDS 2
#endif
/* Step #3: mop up with disabled values for HAS_ options not handled by the above two */
// -----------------------------------------------------------------------------

View File

@ -216,6 +216,12 @@ int32_t KbI2cBase::runOnce()
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_RIGHT;
e.kbchar = 0xb7;
break;
case 0x90: // fn+r
case 0x9b: // fn+s
// just pass those unmodified
e.inputEvent = ANYKEY;
e.kbchar = c;
break;
case 0x0d: // Enter
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_SELECT;
break;

View File

@ -20,8 +20,6 @@
#include "mqtt/MQTT.h"
#define DEFAULT_REBOOT_SECONDS 7
AdminModule *adminModule;
bool hasOpenEditTransaction;

View File

@ -409,6 +409,16 @@ int32_t CannedMessageModule::runOnce()
case 0xb7: // right
// already handled above
break;
// handle fn+s for shutdown
case 0x9b:
screen->startShutdownScreen();
shutdownAtMsec = millis() + DEFAULT_SHUTDOWN_SECONDS * 1000;
break;
// and fn+r for reboot
case 0x90:
screen->startRebootScreen();
rebootAtMsec = millis() + DEFAULT_REBOOT_SECONDS * 1000;
break;
default:
if (this->cursor == this->freetext.length()) {
this->freetext += this->payload;