* Force coverage tests to run in simulation mode
* Revert "Force coverage tests to run in simulation mode"
This reverts commit e4ec719e6f.
* Force coverage tests to run in simulation mode
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
SHT4X chip recognized as SHT31, registerValue that stores first bytes of chip's serial number did not mach the chip.
Added a serial number match for SHT40 found in a SONOFF SNZB-02P.
* Wait until after GPS lock hold before updating position, if we can.
After the recent patch, we hold lock for a bit before updating the position.
The positions that come in after the hold are genuinely better positions
than what we've been doing before. However, they only come 20 seconds
after we've got lock.
Previously, we would update the local position as soon as we got a lock as well
as at the end of the hold, since a hold was not always possible.
With this patch, if the settings allow, we should skip that first local position update.
Fixes https://github.com/meshtastic/firmware/issues/8029
* Fix falling edge handling.
* spelling
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Congeal lock handling
* Add named constants
* define unit to avoid confusion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* ifdef, not if.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add handling for when we first turn on.
* Don't run if not active
* Reset fixhold
* Logic fixes
* Add path for ACTIVE--> IDLE --> ACTIVE
Previously we only covered HARDSLEEP --> ACTIVE.
* Change hold time to gps_update_interval - 10s
* Update comment
* Add extra buffer to avoid re-starting hold
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Also move RAK3172 and new EBYTE_E77_MBL define to variant.h, as this makes VSCode know about the defines properly...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Do slightly better at threading the search for GPS hardware
* Formatting and minor logic fix
* Remove now-spam GPS Log messages
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* feat: add adaptive polling intervals to WebServer
Replace fixed 5ms polling with adaptive intervals based on HTTP activity:
- 50ms during active periods (first 5 seconds after request)
- 200ms during medium activity (5-30 seconds)
- 1000ms during idle periods (30+ seconds)
Reduces CPU usage significantly during idle periods while maintaining
responsiveness when handling HTTP requests.
* Fix integer overflow and magic numbers in WebServer
- Handle millis() overflow in getAdaptiveInterval()
- Replace magic numbers with named constants
- Improve code readability and maintainability
* Create channel-mute toggle function
* Added mute state to channel settings
* Create node-mute toggle functions
* Added mute state to nodedb entries
* Rebase protos
* Decouple protobuf changes
* Disable bell-invoked ext notifs for muted nodes
* Clearly dilineate module mute from sender or channel mute
* Disable bell-invoked ext notifs for muted channels
* Trunk fmt
* Disable message-invoked ext notifs for muted channels and nodes
* Disable on-screen 'new message' popup for muted nodes and channels
* Don't mute alerts
* Make use of pre-existing channel_settings.module_settings.is_client_muted setting
* Revert previous commit - this needs it's own proto
* Regen protos
* T-Lora Pager: Interrupt based rotary encoder
* T-Lora Pager: Fix amplifier fuzzing/popping
* Fix build for other variants
* Fix - reference actual channel when changing settings
* Update protos
* Refactor ref syntax
* Fix defines
* Update comments and remove unused function
* Regen protos
* Regen protobuffs again
* Fix build failure in ci, add missing argument
* Format
* InputPollable: System for polling after interrupts
* T-Lora Pager: Use InputPollable for RotaryEncoderImpl
* Rename RotaryEncoderImpl to TLoraPagerRotaryEncoder
* Revert "Rename RotaryEncoderImpl to TLoraPagerRotaryEncoder"
This reverts commit a76cc88dc2.
* Revert unnecessary ifdefs
* Regen protos
* Use latest protos
* Regen protos for latest changes
* Decouple node-mute from channel-mute
* Regen protos
* Fix desktop build
* More flexible InputPollable paradigm
* Custom xPortInIsrContext() for nRF52/RP2xx0
* Use channel as specified in the received packet
* Use channel as specified in the received packet for OLED screen notifications
* add heltec tracker v2 board.
* Use common power amp definition for Heltec v4 and Heltec Tracker v2
* Set appropriate mqtt root upon lora region change
* Use user preferences root topic if present
* delete SX126X_MAX_POWER=11
* Assume previous root on topic change
* update mqtt root when region is changed via OLED menu handler
* Regen protos
* Removed magic numbers
* Add DIRECT_MSG_ONLY buzzer mode (#8158)
* Handle existing special case for M5STACK_UNITC6L for DIRECT_MSG_ONLY buzz mode
There already exists a special case for M5STACK_UNITC6L.
Modified it to adhere to new DIRECT_MSG_ONLY buzzer mode
* Add new buzzer mode DIRECT_MSG_ONLY to BuzzerModeMenu
* Disable notifications when buzzer mode is DIRECT_MSG_ONLY
* Change alert_message_buzzer in notification module in DIRECT_MSG_ONLY buzz mode
Better comments
* Fixed spelling in debug log
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: nexpspace <4kosjdicx@mozmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* run trunk fmt
* Update variants/esp32s3/heltec_wireless_tracker_v2/variant.h
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Regen protos
* Pull latest protobufs
* Don't use IS_ONE_OF when loading Modules
* GAT562: Use PRIVATE_HW (fix build) (#8198)
* ESP32s2 doesn't implement HWCDC (#8199)
* Fix build script failure under certain conditions for devices that use UF2 binaries (#8150)
* Validate CR and SF lora config (#8146)
* Validate CR and SF lora config
* No zero-bw
* Update src/modules/AdminModule.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix braces
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Quote firmware paths given to uf2conv
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Calculate airtime of transmitted and received packets separately (#8205)
* Correcting GPS PINs (#8087)
https://github.com/meshtastic/firmware/issues/8084
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Clear out user.id except for sending to phone (#8202)
* Null out user.id except for sending to phone
* Fix
* Update src/modules/NodeInfoModule.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Copilot garbage
* This is unnecessary, because we don't stored user.id on userlite
* Don't need this
* Fix warning
* Just alter the protobuf
* Alter protobuf doesn't do anything with the altered data, so let's re-encode it
* Check inputbroker before access
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add dropped packet count to LocalStats (#8207)
* Add dropped packet count to LocalStats
In case the transmit queue was full
* Trunked
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
---------
Co-authored-by: ford-jones <fordnicholasjones@gmail.com>
Co-authored-by: WillyJL <me@willyjl.dev>
Co-authored-by: Ford Jones <107664313+ford-jones@users.noreply.github.com>
Co-authored-by: Tom Fifield <tom@tomfifield.net>
Co-authored-by: Quency-D <hj_zzns@163.com>
Co-authored-by: Quency-D <55523105+Quency-D@users.noreply.github.com>
Co-authored-by: nexpspace <380097+nexpspace@users.noreply.github.com>
Co-authored-by: nexpspace <4kosjdicx@mozmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Austin Lane <vidplace7@gmail.com>
Co-authored-by: Ken Piper <kealper@ivystone.net>
Co-authored-by: GUVWAF <78759985+GUVWAF@users.noreply.github.com>
Co-authored-by: Szetya <szetya@gmail.com>
* Null out user.id except for sending to phone
* Fix
* Update src/modules/NodeInfoModule.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Copilot garbage
* This is unnecessary, because we don't stored user.id on userlite
* Don't need this
* Fix warning
* Just alter the protobuf
* Alter protobuf doesn't do anything with the altered data, so let's re-encode it
* Check inputbroker before access
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>