Guard for no BUTTON_PIN; handle portduino

This commit is contained in:
Todd Herbert 2025-01-13 23:30:39 +13:00
parent f15897e173
commit 8449ba7341

View File

@ -43,10 +43,17 @@ bool ScanAndSelectInput::init()
pin = 0; // GPIO 0 then
// Short circuit: if selected pin conficts with the user button
#ifdef USERPREFS_BUTTON_PIN
int pinUserButton = config.device.button_gpio ? config.device.button_gpio : USERPREFS_BUTTON_PIN; // Resolved button pin
#if defined(ARCH_PORTDUINO)
int pinUserButton = 0;
if (settingsMap.count(user) != 0 && settingsMap[user] != RADIOLIB_NC) {
pinUserButton = settingsMap[user];
}
#elif defined(USERPREFS_BUTTON_PIN)
int pinUserButton = config.device.button_gpio ? config.device.button_gpio : USERPREFS_BUTTON_PIN;
#elif defined(BUTTON_PIN)
int pinUserButton = config.device.button_gpio ? config.device.button_gpio : BUTTON_PIN;
#else
int pinUserButton = config.device.button_gpio ? config.device.button_gpio : BUTTON_PIN; // Resolved button pin
int pinUserButton = config.device.button_gpio;
#endif
if (pin == pinUserButton) {
LOG_ERROR("ScanAndSelect conflict with user button");