Develop to master#8689
Conversation
Master --> develop
Node 24 is now the common version amoungst all of our actions.
This is a non-breaking change that increases the internal representation of node counts from uint8_t (max 255) to uint16_t (max 65535) to support larger mesh networks, particularly on ESP32-S3 devices with PSRAM. Changes: - NodeStatus: numOnline, numTotal, lastNumTotal (uint8_t -> uint16_t) - ProtobufModule: numOnlineNodes (uint8_t -> uint16_t) - MapApplet: loop counters changed to size_t for consistency with getNumMeshNodes() - NodeStatus: Fixed log format to use %u for unsigned integers Note: Default class methods keep uint32_t for numOnlineNodes parameter to match the public API and allow flexibility, even though internal node counts use uint16_t (max 65535 nodes). This change does NOT affect protobuf definitions, maintaining wire compatibility with existing clients and devices.
Updated the dimensions of various emotes in emotes.h from 30x30 or 25x25 to 16x16 pixels for consistency and optimization. Added new emotes including heart_smile, Heart_eyes, and others, all with the same 16x16 size. This change improves memory usage and aligns with the design specifications for smaller emotes.
…shtasticd crashes (#8499)
Wio-E5 currently has LED appearing to be steadily on, due to incorrect LED_STATE_ON (it is actually briefly flashing off, but visually it is hard to perceive). Wio-E5 has LED between GPIO PB5 and VCC, so LED_STATE_ON should be 0 for LED to blink correctly. With this commit, it is now flashing correctly. Refer to schematics: * [Wio-E5 Development Kit](https://files.seeedstudio.com/products/113990934/LoRa-E5%20Dev%20Board%20v1.0.pdf) * [Wio-E5 mini](https://files.seeedstudio.com/products/113990939/LoRa-E5%20mini%20v1.0.pdf) Signed-off-by: Andrew Yong <me@ndoo.sg>
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com>
* regenerate protobuf with bh1750 TelemetrySensorType * Added wollewald/BH1750_WE@^1.1.10 dependecy * Added support for BH1750 during i2C detection * Create new BH1750Sensor and added in EnvironmentTelemetry * clean code * Attempt to fix protobuf include --------- Co-authored-by: Tom Fifield <tom@tomfifield.net>
Master backmerge
* Update Default.h * Update NodeDB.cpp * Update WiFiAPClient.cpp * Update userPrefs.jsonc * set ipv6 to off by default * Trunk fix --------- Co-authored-by: Tom Fifield <tom@tomfifield.net>
* Update device-install.sh * Update device-install.sh
* Rename screen options to display options and add units chooser * Add InitialSelected to DisplayUnits_menu
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
* nrf52: add watchdog Main thread only for now. * bump framework-arduinoadafruitnrf52 to pick up new wdt support * clang-format the new parts of main-nrf52.cpp --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* fix strlcpy compile error in Ubuntu 22.04 (#8520) * fix strlcpy error in Ubuntu 20.04 * add to native after tests * Add support for RAK_WISMESH_TAP_V2 and RAK3401 hardware models (#8537) * Update RadioLib to v7.4.0 --------- Co-authored-by: Manuel <71137295+mverch67@users.noreply.github.com> Co-authored-by: Daniel.Cao <144674500+DanielCao0@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Before this, all messages received when enabling S&F server would return Hops away: -1
…st_heard unless CLIENT_BASE (#8495) Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Conditionally delete favourited nodes on reset * trunk fmt * Fix equality check, use existing macro for role validation * Extend favourite persistence setting to devices of all roles * Refactor: Decoupled role/config check and set role defaults appropriately * Use American-English spelling * Use existing reference * Convert reset to bool, regen protos * Add optional arg to nodedb_reset in favor of additional device setting * Use correct proto commit ID * Regen protos * Log preservation status * Pull latest from master
Change RadioLib to commit zip til 7.4.1+ is released
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
* full thing. works * works * minimal changes * roll back previous changes, move to using the alloc() overrride * clean up comments * format * run clang-format manually. Trunk may be the absolute worst formatter in existance * format on WSL to fix trunks awfulness * add a 3 minute cooldown to prevent messages going back and forth * add ignoring the dummy neighbor. * fix or. * fix spelling, increase logging --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Update digital clock draw to auto scale to correct size; no more fixed scaling * Static scale calcuation to improve performance * Update src/graphics/draw/ClockRenderer.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Back off for width or height exceeds * Fixes for some calcuations --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Properly format timestamp in log message * Better formatting of GPS_DEBUG logging in gps probe * Reset GPS after serial speed change, and look for magic string to identify chip * Add UC6580 to boot message detection, for Heltec Tracker * Add L76K detect from boot string, for Heltec-v4 * Slightly more useful GPS debugging * Back out detection of L76K via startup messages. * Ignore PIN_GPS_RESET = -1 and rename passive_detect array. --------- Co-authored-by: Tom Fifield <tom@tomfifield.net>
…back (#7882) * Make RAK4631 nodes power back on deep sleep The devices will hang if the VBAT goes under 1.7V (Brown-out reset) and they will never come back unless power supply goes completely off. This kills unattended nodes. Using the SystemOff the LPCOMP we can get the nodes back again when power comes back, even if VBAT goes under 1.7V, which moreover is more unlikely because the device is off. * Adding support for heltec t114 And moved particularities to variant.h * Remove old cpp comment that belongs to variant.h It was a leftover. * Trunk fix --------- Co-authored-by: Tom Fifield <tom@tomfifield.net>
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
* Unify uptime formatting * Fix small label alignment item --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: Jason P <applewiz@mac.com>
Xaositek
left a comment
There was a problem hiding this comment.
All seems sane - has been running in develop without issues
There was a problem hiding this comment.
Pull Request Overview
This PR merges development changes into master for version 2.7.16, containing numerous bug fixes, feature additions, and code improvements across the Meshtastic firmware.
- Build version incremented from 15 to 16
- Adds BH1750 light sensor support
- Implements IPv6 support for WiFi on ESP32 platforms
- Adds LR1121 radio module support for tbeam-s3-core
- Improves neighbor info module with reply throttling and dummy packet filtering
- Refactors uptime display logic into reusable formatter
- Fixes battery low voltage detection on NRF52 platforms
- Improves I2C device detection logic
Reviewed Changes
Copilot reviewed 49 out of 50 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| version.properties | Increments build number to 16 |
| variants/stm32/wio-e5/variant.h | Fixes LED state polarity |
| variants/nrf52840/rak4631/variant.h | Adds low power comparator for battery wake-up |
| variants/nrf52840/heltec_*/variant.h | Updates ADC multiplier and adds low power comparator |
| variants/esp32s3/tbeam-s3-core/* | Adds LR1121 radio support |
| userPrefs.jsonc | Adds IPv6 configuration option |
| src/power.h | Exports battery_adcEnable function |
| src/platform/stm32wl/main-stm32wl.cpp | Adds wrapper functions to reduce code size |
| src/platform/portduino/PortduinoGlue.cpp | Improves auto-configuration logic |
| src/platform/nrf52/main-nrf52.cpp | Implements low power comparator for battery wake-up |
| src/mqtt/MQTT.cpp | Simplifies MQTT queue check logic |
| src/modules/Telemetry/Sensor/BH1750Sensor.* | Adds BH1750 light sensor support |
| src/modules/NeighborInfoModule.* | Adds reply throttling and dummy packet filtering |
| src/mesh/wifi/WiFiAPClient.cpp | Adds IPv6 support for ESP32 |
| src/mesh/ProtobufModule.h | Changes numOnlineNodes from uint8_t to uint16_t |
| src/mesh/NodeDB.cpp | Adds IPv6 configuration support |
| src/main.cpp | Adds null check for rIf pointer |
| src/graphics/* | Refactors uptime display and adds new emoji support |
| src/gps/* | Improves GPS detection and logging |
| src/detect/ScanI2CTwoWire.cpp | Improves I2C device detection for SHT4X and DA217 |
| src/Power.cpp | Renames adcEnable/adcDisable and removes NRF52 deep sleep exception |
| platformio.ini | Updates RadioLib dependency |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| exit(EXIT_FAILURE); | ||
| } | ||
| if (access((portduino_config.available_directory + product_config).c_str(), R_OK) != 0) { | ||
| std::cerr << "autoconf: Unable to find config for " << autoconf_product << "(tried " << product_config << ")" |
There was a problem hiding this comment.
Missing space after 'for' in error message. Should be 'for ' + autoconf_product + ' (tried'.
| if (registerValue == 0x5449) { | ||
| type = OPT3001; | ||
| logFoundDevice("OPT3001", (uint8_t)addr.address); | ||
| } else if (getRegisterValue(ScanI2CTwoWire::RegisterLocation(addr, 0x89), 2) != 0) { // unique SHT4x serial number |
There was a problem hiding this comment.
[nitpick] The logic has been inverted to check for non-zero register value. However, the comment 'unique SHT4x serial number' is ambiguous - it should clarify that a non-zero value indicates presence of SHT4x, or that the check verifies the serial number is readable.
| } else if (getRegisterValue(ScanI2CTwoWire::RegisterLocation(addr, 0x89), 2) != 0) { // unique SHT4x serial number | |
| } else if (getRegisterValue(ScanI2CTwoWire::RegisterLocation(addr, 0x89), 2) != 0) { // SHT4x: non-zero serial number at 0x89 indicates device presence |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Develop to master
No description provided.