mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-13 16:55:08 +00:00
Merge branch 'master' into chatter_2_fixes
This commit is contained in:
commit
70c3b131d8
@ -49,13 +49,13 @@ lib_deps =
|
|||||||
${environmental_extra.lib_deps}
|
${environmental_extra.lib_deps}
|
||||||
${radiolib_base.lib_deps}
|
${radiolib_base.lib_deps}
|
||||||
# renovate: datasource=git-refs depName=meshtastic-esp32_https_server packageName=https://github.com/meshtastic/esp32_https_server gitBranch=master
|
# renovate: datasource=git-refs depName=meshtastic-esp32_https_server packageName=https://github.com/meshtastic/esp32_https_server gitBranch=master
|
||||||
https://github.com/meshtastic/esp32_https_server/archive/896f1771ceb5979987a0b41028bf1b4e7aad419b.zip
|
https://github.com/meshtastic/esp32_https_server/archive/3223704846752e6d545139204837bdb2a55459ca.zip
|
||||||
# renovate: datasource=custom.pio depName=NimBLE-Arduino packageName=h2zero/library/NimBLE-Arduino
|
# renovate: datasource=custom.pio depName=NimBLE-Arduino packageName=h2zero/library/NimBLE-Arduino
|
||||||
h2zero/NimBLE-Arduino@^1.4.3
|
h2zero/NimBLE-Arduino@^1.4.3
|
||||||
# renovate: datasource=git-refs depName=libpax packageName=https://github.com/dbinfrago/libpax gitBranch=master
|
# renovate: datasource=git-refs depName=libpax packageName=https://github.com/dbinfrago/libpax gitBranch=master
|
||||||
https://github.com/dbinfrago/libpax/archive/3cdc0371c375676a97967547f4065607d4c53fd1.zip
|
https://github.com/dbinfrago/libpax/archive/3cdc0371c375676a97967547f4065607d4c53fd1.zip
|
||||||
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
||||||
lewisxhe/XPowersLib@^0.2.7
|
lewisxhe/XPowersLib@0.3.0
|
||||||
# renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
|
# renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
|
||||||
https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
|
https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
|
||||||
# renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
|
# renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
|
||||||
|
@ -28,7 +28,7 @@ lib_deps =
|
|||||||
${environmental_extra.lib_deps}
|
${environmental_extra.lib_deps}
|
||||||
${radiolib_base.lib_deps}
|
${radiolib_base.lib_deps}
|
||||||
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
||||||
lewisxhe/XPowersLib@^0.2.7
|
lewisxhe/XPowersLib@0.3.0
|
||||||
# renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
|
# renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
|
||||||
https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
|
https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
|
||||||
# renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
|
# renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
|
||||||
|
@ -30,6 +30,18 @@ Flash image file to device, leave existing system intact."
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Check for --change-mode and remove it from arguments
|
||||||
|
NEW_ARGS=""
|
||||||
|
for arg in "$@"; do
|
||||||
|
if [ "$arg" = "--change-mode" ]; then
|
||||||
|
CHANGE_MODE=true
|
||||||
|
else
|
||||||
|
NEW_ARGS="$NEW_ARGS \"\$arg\""
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Reset positional parameters to filtered list
|
||||||
|
eval set -- $NEW_ARGS
|
||||||
|
|
||||||
while getopts ":hp:P:f:" opt; do
|
while getopts ":hp:P:f:" opt; do
|
||||||
case "${opt}" in
|
case "${opt}" in
|
||||||
@ -43,9 +55,6 @@ while getopts ":hp:P:f:" opt; do
|
|||||||
;;
|
;;
|
||||||
f) FILENAME=${OPTARG}
|
f) FILENAME=${OPTARG}
|
||||||
;;
|
;;
|
||||||
--change-mode)
|
|
||||||
CHANGE_MODE=true
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
echo "Invalid flag."
|
echo "Invalid flag."
|
||||||
show_help >&2
|
show_help >&2
|
||||||
@ -55,7 +64,7 @@ while getopts ":hp:P:f:" opt; do
|
|||||||
done
|
done
|
||||||
shift "$((OPTIND-1))"
|
shift "$((OPTIND-1))"
|
||||||
|
|
||||||
if [[ $CHANGE_MODE == true ]]; then
|
if [ "$CHANGE_MODE" = true ]; then
|
||||||
$ESPTOOL_CMD --baud 1200 --after no_reset read_flash_status
|
$ESPTOOL_CMD --baud 1200 --after no_reset read_flash_status
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -87,6 +87,9 @@
|
|||||||
</screenshots>
|
</screenshots>
|
||||||
|
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="2.7.2" date="2025-07-04">
|
||||||
|
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.7.2</url>
|
||||||
|
</release>
|
||||||
<release version="2.7.1" date="2025-06-27">
|
<release version="2.7.1" date="2025-06-27">
|
||||||
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.7.1</url>
|
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.7.1</url>
|
||||||
</release>
|
</release>
|
||||||
|
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,4 +1,4 @@
|
|||||||
meshtasticd (2.7.1.0) UNRELEASED; urgency=medium
|
meshtasticd (2.7.2.0) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
[ Austin Lane ]
|
[ Austin Lane ]
|
||||||
* Initial packaging
|
* Initial packaging
|
||||||
@ -25,4 +25,7 @@ meshtasticd (2.7.1.0) UNRELEASED; urgency=medium
|
|||||||
[ ]
|
[ ]
|
||||||
* GitHub Actions Automatic version bump
|
* GitHub Actions Automatic version bump
|
||||||
|
|
||||||
-- <github-actions[bot]@users.noreply.github.com> Fri, 27 Jun 2025 20:12:21 +0000
|
[ ]
|
||||||
|
* GitHub Actions Automatic version bump
|
||||||
|
|
||||||
|
-- <github-actions[bot]@users.noreply.github.com> Fri, 04 Jul 2025 11:58:01 +0000
|
||||||
|
@ -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();
|
||||||
|
@ -48,12 +48,14 @@ void menuHandler::LoraRegionPicker(uint32_t duration)
|
|||||||
"PH_433",
|
"PH_433",
|
||||||
"PH_868",
|
"PH_868",
|
||||||
"PH_915",
|
"PH_915",
|
||||||
"ANZ_433"};
|
"ANZ_433",
|
||||||
|
"KZ_433",
|
||||||
|
"KZ_863"};
|
||||||
BannerOverlayOptions bannerOptions;
|
BannerOverlayOptions bannerOptions;
|
||||||
bannerOptions.message = "Set the LoRa region";
|
bannerOptions.message = "Set the LoRa region";
|
||||||
bannerOptions.durationMs = duration;
|
bannerOptions.durationMs = duration;
|
||||||
bannerOptions.optionsArrayPtr = optionsArray;
|
bannerOptions.optionsArrayPtr = optionsArray;
|
||||||
bannerOptions.optionsCount = 23;
|
bannerOptions.optionsCount = 25;
|
||||||
bannerOptions.InitialSelected = 0;
|
bannerOptions.InitialSelected = 0;
|
||||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||||
if (selected != 0 && config.lora.region != _meshtastic_Config_LoRaConfig_RegionCode(selected)) {
|
if (selected != 0 && config.lora.region != _meshtastic_Config_LoRaConfig_RegionCode(selected)) {
|
||||||
@ -602,32 +604,28 @@ void menuHandler::BuzzerModeMenu()
|
|||||||
|
|
||||||
void menuHandler::BrightnessPickerMenu()
|
void menuHandler::BrightnessPickerMenu()
|
||||||
{
|
{
|
||||||
static const char *optionsArray[] = {"Back", "Low", "Medium", "High", "Very High"};
|
static const char *optionsArray[] = {"Back", "Low", "Medium", "High"};
|
||||||
|
|
||||||
// Get current brightness level to set initial selection
|
// Get current brightness level to set initial selection
|
||||||
int currentSelection = 1; // Default to Low
|
int currentSelection = 1; // Default to Medium
|
||||||
if (uiconfig.screen_brightness >= 255) {
|
if (uiconfig.screen_brightness >= 255) {
|
||||||
currentSelection = 4; // Very High
|
currentSelection = 3; // Very High
|
||||||
} else if (uiconfig.screen_brightness >= 128) {
|
} else if (uiconfig.screen_brightness >= 128) {
|
||||||
currentSelection = 3; // High
|
currentSelection = 2; // High
|
||||||
} else if (uiconfig.screen_brightness >= 64) {
|
|
||||||
currentSelection = 2; // Medium
|
|
||||||
} else {
|
} else {
|
||||||
currentSelection = 1; // Low
|
currentSelection = 1; // Medium
|
||||||
}
|
}
|
||||||
|
|
||||||
BannerOverlayOptions bannerOptions;
|
BannerOverlayOptions bannerOptions;
|
||||||
bannerOptions.message = "Brightness";
|
bannerOptions.message = "Brightness";
|
||||||
bannerOptions.optionsArrayPtr = optionsArray;
|
bannerOptions.optionsArrayPtr = optionsArray;
|
||||||
bannerOptions.optionsCount = 5;
|
bannerOptions.optionsCount = 4;
|
||||||
bannerOptions.bannerCallback = [](int selected) -> void {
|
bannerOptions.bannerCallback = [](int selected) -> void {
|
||||||
if (selected == 1) { // Low
|
if (selected == 1) { // Medium
|
||||||
uiconfig.screen_brightness = 1;
|
|
||||||
} else if (selected == 2) { // Medium
|
|
||||||
uiconfig.screen_brightness = 64;
|
uiconfig.screen_brightness = 64;
|
||||||
} else if (selected == 3) { // High
|
} else if (selected == 2) { // High
|
||||||
uiconfig.screen_brightness = 128;
|
uiconfig.screen_brightness = 128;
|
||||||
} else if (selected == 4) { // Very High
|
} else if (selected == 3) { // Very High
|
||||||
uiconfig.screen_brightness = 255;
|
uiconfig.screen_brightness = 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -833,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)
|
||||||
@ -896,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
|
@ -161,6 +161,14 @@ const RegionInfo regions[] = {
|
|||||||
RDEF(PH_433, 433.0f, 434.7f, 100, 0, 10, true, false, false), RDEF(PH_868, 868.0f, 869.4f, 100, 0, 14, true, false, false),
|
RDEF(PH_433, 433.0f, 434.7f, 100, 0, 10, true, false, false), RDEF(PH_868, 868.0f, 869.4f, 100, 0, 14, true, false, false),
|
||||||
RDEF(PH_915, 915.0f, 918.0f, 100, 0, 24, true, false, false),
|
RDEF(PH_915, 915.0f, 918.0f, 100, 0, 24, true, false, false),
|
||||||
|
|
||||||
|
/*
|
||||||
|
Kazakhstan
|
||||||
|
433.075 - 434.775 MHz <10 mW EIRP, Low Powered Devices (LPD)
|
||||||
|
863 - 868 MHz <25 mW EIRP, 500kHz channels allowed, must not be used at airfields
|
||||||
|
https://github.com/meshtastic/firmware/issues/7204
|
||||||
|
*/
|
||||||
|
RDEF(KZ_433, 433.075f, 434.775f, 100, 0, 10, true, false, false), RDEF(KZ_863, 863.0f, 868.0f, 100, 0, 30, true, false, true),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
2.4 GHZ WLAN Band equivalent. Only for SX128x chips.
|
2.4 GHZ WLAN Band equivalent. Only for SX128x chips.
|
||||||
*/
|
*/
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[VERSION]
|
[VERSION]
|
||||||
major = 2
|
major = 2
|
||||||
minor = 7
|
minor = 7
|
||||||
build = 1
|
build = 2
|
||||||
|
Loading…
Reference in New Issue
Block a user