mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-10 14:41:26 +00:00
![Jonathan Bennett](/assets/img/avatar_default.png)
* Move to Portduino's getMacAddr() * Add ST7735/S screen support * Push Raspbian support into native target * Remove latent pigpio references. * CardKB defensive programming * Adds configurable spidev * Fixes to build on Fedora 40 * ENUMs are not #defines. Pull latest portduino * Add more configuration options for SPI displays * Add config.yaml option to set DIO3_TCXO_VOLTAGE * change tft clear() to fillScreen() Maintains compatability with ESPI driver. * Adds TXen and RXen pins to portduino * Add -c --config options to specify config file * Fail when a specified config file is unavailable --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
#include "buzz.h"
|
|
#include "configuration.h"
|
|
#include "graphics/Screen.h"
|
|
#include "main.h"
|
|
#include "power.h"
|
|
#if defined(ARCH_PORTDUINO)
|
|
#include "api/WiFiServerAPI.h"
|
|
#include "input/LinuxInputImpl.h"
|
|
|
|
#endif
|
|
|
|
void powerCommandsCheck()
|
|
{
|
|
if (rebootAtMsec && millis() > rebootAtMsec) {
|
|
LOG_INFO("Rebooting\n");
|
|
#if defined(ARCH_ESP32)
|
|
ESP.restart();
|
|
#elif defined(ARCH_NRF52)
|
|
NVIC_SystemReset();
|
|
#elif defined(ARCH_RP2040)
|
|
rp2040.reboot();
|
|
#elif defined(ARCH_PORTDUINO)
|
|
deInitApiServer();
|
|
if (aLinuxInputImpl)
|
|
aLinuxInputImpl->deInit();
|
|
SPI.end();
|
|
Wire.end();
|
|
Serial1.end();
|
|
reboot();
|
|
#else
|
|
rebootAtMsec = -1;
|
|
LOG_WARN("FIXME implement reboot for this platform. Note that some settings require a restart to be applied.\n");
|
|
#endif
|
|
}
|
|
|
|
#if defined(ARCH_ESP32) || defined(ARCH_NRF52)
|
|
if (shutdownAtMsec) {
|
|
screen->startShutdownScreen();
|
|
}
|
|
#endif
|
|
|
|
if (shutdownAtMsec && millis() > shutdownAtMsec) {
|
|
LOG_INFO("Shutting down from admin command\n");
|
|
#if defined(ARCH_NRF52) || defined(ARCH_ESP32)
|
|
playShutdownMelody();
|
|
power->shutdown();
|
|
#elif defined(ARCH_PORTDUINO)
|
|
exit(EXIT_SUCCESS);
|
|
#else
|
|
LOG_WARN("FIXME implement shutdown for this platform");
|
|
#endif
|
|
}
|
|
} |