mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-03 04:15:53 +00:00
Add a WiFi menu that can toggle back to Bluetooth (#7226)
* Add Kazakhstan to the BaseUI LoRa chooser * Add a WiFi menu that can toggle back to Bluetooth
This commit is contained in:
parent
abbeb4874d
commit
f35ca812a3
@ -1373,6 +1373,8 @@ int Screen::handleInputEvent(const InputEvent *event)
|
|||||||
this->ui->getUiState()->currentFrame == framesetInfo.positions.nodelist_hopsignal ||
|
this->ui->getUiState()->currentFrame == framesetInfo.positions.nodelist_hopsignal ||
|
||||||
this->ui->getUiState()->currentFrame == framesetInfo.positions.nodelist_bearings) {
|
this->ui->getUiState()->currentFrame == framesetInfo.positions.nodelist_bearings) {
|
||||||
menuHandler::nodeListMenu();
|
menuHandler::nodeListMenu();
|
||||||
|
} else if (this->ui->getUiState()->currentFrame == framesetInfo.positions.wifi) {
|
||||||
|
menuHandler::wifiBaseMenu();
|
||||||
}
|
}
|
||||||
} else if (event->inputEvent == INPUT_BROKER_BACK) {
|
} else if (event->inputEvent == INPUT_BROKER_BACK) {
|
||||||
showPrevFrame();
|
showPrevFrame();
|
||||||
|
@ -831,6 +831,44 @@ void menuHandler::numberTest()
|
|||||||
[](int number_picked) -> void { LOG_WARN("Nodenum: %u", number_picked); });
|
[](int number_picked) -> void { LOG_WARN("Nodenum: %u", number_picked); });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void menuHandler::wifiBaseMenu()
|
||||||
|
{
|
||||||
|
enum optionsNumbers { Back, Wifi_toggle };
|
||||||
|
|
||||||
|
static const char *optionsArray[] = {"Back", "WiFi Toggle"};
|
||||||
|
BannerOverlayOptions bannerOptions;
|
||||||
|
bannerOptions.message = "WiFi Menu";
|
||||||
|
bannerOptions.optionsArrayPtr = optionsArray;
|
||||||
|
bannerOptions.optionsCount = 2;
|
||||||
|
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||||
|
if (selected == Wifi_toggle) {
|
||||||
|
menuQueue = wifi_toggle_menu;
|
||||||
|
screen->runNow();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
screen->showOverlayBanner(bannerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
void menuHandler::wifiToggleMenu()
|
||||||
|
{
|
||||||
|
enum optionsNumbers { Back, Wifi_toggle };
|
||||||
|
|
||||||
|
static const char *optionsArray[] = {"Back", "Disable"};
|
||||||
|
BannerOverlayOptions bannerOptions;
|
||||||
|
bannerOptions.message = "Disable Wifi and\nEnable Bluetooth?";
|
||||||
|
bannerOptions.optionsArrayPtr = optionsArray;
|
||||||
|
bannerOptions.optionsCount = 2;
|
||||||
|
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||||
|
if (selected == Wifi_toggle) {
|
||||||
|
config.network.wifi_enabled = false;
|
||||||
|
config.bluetooth.enabled = true;
|
||||||
|
service->reloadConfig(SEGMENT_CONFIG);
|
||||||
|
rebootAtMsec = (millis() + DEFAULT_REBOOT_SECONDS * 1000);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
screen->showOverlayBanner(bannerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
void menuHandler::handleMenuSwitch(OLEDDisplay *display)
|
void menuHandler::handleMenuSwitch(OLEDDisplay *display)
|
||||||
{
|
{
|
||||||
if (menuQueue != menu_none)
|
if (menuQueue != menu_none)
|
||||||
@ -894,6 +932,9 @@ void menuHandler::handleMenuSwitch(OLEDDisplay *display)
|
|||||||
case number_test:
|
case number_test:
|
||||||
numberTest();
|
numberTest();
|
||||||
break;
|
break;
|
||||||
|
case wifi_toggle_menu:
|
||||||
|
wifiToggleMenu();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
menuQueue = menu_none;
|
menuQueue = menu_none;
|
||||||
}
|
}
|
||||||
|
@ -13,9 +13,7 @@ class menuHandler
|
|||||||
clock_face_picker,
|
clock_face_picker,
|
||||||
clock_menu,
|
clock_menu,
|
||||||
position_base_menu,
|
position_base_menu,
|
||||||
#if !MESHTASTIC_EXCLUDE_GPS
|
|
||||||
gps_toggle_menu,
|
gps_toggle_menu,
|
||||||
#endif
|
|
||||||
compass_point_north_menu,
|
compass_point_north_menu,
|
||||||
reset_node_db_menu,
|
reset_node_db_menu,
|
||||||
buzzermodemenupicker,
|
buzzermodemenupicker,
|
||||||
@ -26,7 +24,8 @@ class menuHandler
|
|||||||
add_favorite,
|
add_favorite,
|
||||||
remove_favorite,
|
remove_favorite,
|
||||||
test_menu,
|
test_menu,
|
||||||
number_test
|
number_test,
|
||||||
|
wifi_toggle_menu
|
||||||
};
|
};
|
||||||
static screenMenus menuQueue;
|
static screenMenus menuQueue;
|
||||||
|
|
||||||
@ -54,6 +53,8 @@ class menuHandler
|
|||||||
static void removeFavoriteMenu();
|
static void removeFavoriteMenu();
|
||||||
static void testMenu();
|
static void testMenu();
|
||||||
static void numberTest();
|
static void numberTest();
|
||||||
|
static void wifiBaseMenu();
|
||||||
|
static void wifiToggleMenu();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace graphics
|
} // namespace graphics
|
Loading…
Reference in New Issue
Block a user