Commit Graph
100 Commits
Author SHA1 Message Date
Jonathan BennettandGitHub 45fbc0f9d3 Remove stale variant.h defines (#9470)
* Remove noop CANNED_MESSAGE_MODULE_ENABLE define

* Remove over-eager warning removal

* Remove unused LED_CONN

* Dead defines removal

* Rename oddball LED pin name

* Rename second oddball LED pin name

* Remove another dead define
2026-01-29 10:58:06 -06:00
Jonathan Bennett df400850c1 Undefine LED_BUILTIN where needed 2026-01-28 18:56:57 -06:00
Jonathan Bennett 6ab2f02dbc re-add unintentionally removed include 2026-01-28 17:53:12 -06:00
Jonathan BennettandGitHub 4fd0a8276b Just set LED_BUILTIN universally to -1, as we don't use it. (#8830)
* Just set LED_BUILTIN universally to -1, as we don't use it.

* LUD_BUILTIN workarounds

* Squash the LED_BUILTINs that sneaked in

* Don't kill valid pin derfine
2026-01-28 17:09:13 -06:00
1d219a93ab Move input init to an init function in InputBroker (#9463)
* Move input init to an init function in iInputBroker

* Unbreak targets with EXCLUDE_INPUTBROKER

* Update src/input/InputBroker.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix conditional compilation for input broker

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Trunk

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-28 14:58:05 -06:00
571c1ac34c Initial serialModule cleanup (#9465)
* Initial serialModule cleanup

* Move SERIAL_PRINT_PORT definition to variant.h

* Add missed c6 check

* Update src/modules/SerialModule.cpp

Compile error for invalid SERIAL_PRINT_OBJECT value

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-28 14:08:32 -06:00
Jonathan BennettandGitHub 69a42e1fd2 Add portduino_status, assign hardware device IDs... (#9441)
* Add portduino_status, assign hardware device IDs, and try to recover a CH341 device on a USB error

* Minor fixes suggested by Copilot
2026-01-27 18:00:20 -06:00
Jonathan BennettandGitHub fd498bebad Add support for Hackaday Communicator function keys (#9444) 2026-01-27 16:09:18 -06:00
Jonathan BennettandGitHub 10b2eae70c Move more code out of main-nrf52 into variant.cpp (#9450) 2026-01-27 13:56:32 -06:00
Jonathan BennettandGitHub 91ad861b26 Add Thinknode M4 variant_shutdown() (#9449) 2026-01-27 09:56:56 -06:00
Jonathan BennettandGitHub a2e8e232f1 Remove the unused OCV_ARRAYs and move one to a variant.h (#9442) 2026-01-26 16:58:16 -06:00
Jonathan BennettandGitHub 3d58c6e916 Trackball revamp (#9440)
* Trackball revamp

* Use Throttle

* Volatile!
2026-01-26 14:28:05 -06:00
Jonathan BennettandGitHub c038cfe69a Move device code from main.cpp to earlyInitVariant (#9438) 2026-01-26 11:54:14 -06:00
Jonathan BennettandGitHub 8a9830282a Move Lora Init code into LoraInit.cpp/h (#9435)
* Move Lora Init code into LoraInit.cpp/h

* Add missed extern definition

* More carefully check for nullptr in LoraInit.cpp

* STM32 fixes

* Add extern SPI1 for HW_SPI1_DEVICE

* Move initLora to RadioInterface.h
2026-01-25 20:54:17 -06:00
Jonathan BennettandGitHub 6d6a0734b0 Add pin sense to wake M6 on Solar Charge (#9416) 2026-01-23 15:37:16 -06:00
Jonathan BennettandGitHub c38aff7e52 Add interrupt for external charge detection (#9332)
Tested on Thinknode m4, m6, and T1000-e
2026-01-19 15:39:24 -06:00
Jonathan Bennett e545897d4e Untangle some BME680 ifdef spaghetti 2026-01-18 21:28:20 -06:00
Jonathan BennettandGitHub afbd9e2180 Filter BLE updates that don't change pairing status (#9333) 2026-01-16 13:52:04 -06:00
Jonathan BennettandGitHub 5d7d1ae7a5 Adds Custom battery curve for thinknode m6 (#9313) 2026-01-14 11:40:35 -06:00
Jonathan BennettandGitHub b6b129650a Extra pins (#9260)
* Maybe add working extra GPIO pins to portduino

* Fix typo and add config.yaml example for ExtraPins

* Write extra pins back out with -y flag
2026-01-11 18:27:06 -06:00
Jonathan BennettandGitHub c45c217743 Remove a strlcpy reference (#9249) 2026-01-10 19:36:40 -06:00
Jonathan BennettandGitHub b002844aa0 Add Rak 6421 autoconf (#9010)
* Add Rak 6421 autoconf

* Minor memory safety hardening
2026-01-09 11:36:53 -06:00
Jonathan BennettandGitHub b12acba44f CH341 MAC address derivation from serial and product string (#9226)
Updated MAC address derivation logic to include product string in hashing.
2026-01-09 05:42:00 -06:00
Jonathan BennettandGitHub 489de09375 Use correct name for ALT_BUTTON_PIN (#9225) 2026-01-08 19:19:17 -06:00
Jonathan Bennett 792e930e45 Trunk 2026-01-08 12:07:14 -06:00
Jonathan BennettandGitHub fb7af18f4f Add needed support bits for the Meshstick (#9042)
* Add needed support bits for the Meshstick

* Portduino: Reduce allowed length by one byte to prevent possible overflow
2026-01-07 23:04:02 -06:00
4d303c95d1 Add list of text message packet IDs, and check for dupes (#9180)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2026-01-07 16:17:38 -06:00
Jonathan Bennett 1669a027e6 BME680 on Native
Co-authored-by: juanjin-dev <juanjin.dev@gmail.com>
2026-01-05 19:33:41 -06:00
Jonathan BennettandGitHub f63dadd19e Add custom coding rate configuration for LoRa (#9155) 2026-01-02 16:23:01 -06:00
Jonathan BennettandGitHub a5b2d4a9d5 Add null check for p_encrypted before MQTT publish (#9136)
* Add null check for p_encrypted before MQTT publish

A user on BayMesh observed a strange crash in MQTT::onSend that seemed to be a null pointer dereference of this value.

* Trunk
2026-01-01 13:53:36 -06:00
Jonathan BennettandGitHub da9d71190f Add STORE_FORWARD_PLUSPLUS_APP to core portnum checks (#9127) 2025-12-30 19:04:19 -06:00
Jonathan Bennett 63aadba526 Use IF_SCREEN macro to guard against null screen object 2025-12-28 11:33:14 -06:00
Jonathan Bennett ac937766cd In autoconf, don't probe Wire unless i2c device is set (#9081)
Found another bit of code that crashes my desktop, by probing the wrong i2c bus.
2025-12-26 22:22:32 -06:00
Jonathan BennettandBen Meadors 4fbe5356ca M6 shutdown and LEDs work (#9065)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-12-26 22:22:32 -06:00
Jonathan Bennett b88a8bf968 In statusLEDModule, also detect isCharging (#9050) 2025-12-26 22:22:32 -06:00
Jonathan BennettandGitHub 9dc7ef612e In autoconf, don't probe Wire unless i2c device is set (#9081)
Found another bit of code that crashes my desktop, by probing the wrong i2c bus.
2025-12-26 14:33:17 -06:00
54a928f47f M6 shutdown and LEDs work (#9065)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-12-24 07:48:14 -06:00
Jonathan BennettandGitHub d609d05698 In statusLEDModule, also detect isCharging (#9050) 2025-12-23 07:48:55 -06:00
Jonathan BennettandGitHub cadf151826 In protobuf update, allow develop branch to auto-update (#9027) 2025-12-20 11:11:21 -06:00
5262233b2d More blinkenlights work for Thinknode-m3 (#8940)
* More blinkenlights work for Thinknode-m3

* Update src/mesh/NodeDB.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-17 19:52:55 -06:00
5b299f3ede Prep work for better Store and Forward (#8999)
* make channels.h getHash public

* router.* make the encrypted packet copy available for modules to access

* Update src/mesh/Router.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Set p_encrypted to nullptr after release

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-17 12:03:29 -06:00
Jonathan BennettandGitHub f1aefc4eef Detect if NTP is active on native (#8962)
* Detect if NTP is active on native

* Drop debug warning
2025-12-16 20:40:29 -06:00
Jonathan BennettandGitHub b74238194b Add JSON packet recording option to native (#8930) 2025-12-12 18:30:43 -06:00
Jonathan BennettandGitHub a8fa5f25cb Properly turn off power pins at shutdown for m3 (#8935) 2025-12-11 10:23:45 -06:00
Jonathan BennettandGitHub fba92229a6 Add I2C device check for seesaw device on native (#8927)
It turns out the logic here was attempting to access i2c without being told to do so. Not good, especially on desktops.
2025-12-10 18:01:52 -06:00
Jonathan BennettandGitHub 83b603827c Enable Muzi-base LED notification (#8925) 2025-12-10 16:29:50 -06:00
Jonathan BennettandGitHub 65c418d4e1 Update protobuf name of FRIED_CHICKEN (#8903) 2025-12-09 11:13:59 +11:00
Jonathan BennettandGitHub c3a69a2742 Fix backwards buttons on Thinknode-M1 (#8901) 2025-12-08 17:58:23 -06:00
Jonathan BennettandGitHub 8a43741589 Add 'cleanup' to required PR labels (#8835) 2025-12-02 05:48:19 -06:00
Jonathan BennettandGitHub 525c048354 Move device specific OCV curves to their respective device.h (#8834) 2025-12-02 05:46:24 -06:00
Jonathan BennettandGitHub 41cbd77db3 Move everything from /arch to /variant (#8831) 2025-12-02 08:56:55 +01:00
Jonathan BennettandGitHub 5b1b420cad Add initial support for Hackaday Communicator (#8771)
* Add initial support for Hackaday Communicator

* Fork it!

* Trunk

* Remove unused elements from the HackadayCommunicatorKeyboard

* Don't divide by zero.
2025-11-30 17:21:10 -06:00
Jonathan BennettandGitHub 8899487c2f Modify power saving condition for WiFi (#8815)
Update preprocessor directive to require both HAS_WIFI and MESHTASTIC_EXCLUDE_WIFI conditions.
2025-11-30 17:18:03 -06:00
Jonathan BennettandGitHub 5ef3ff7116 rework screen.cpp ifdefs (#8816) 2025-11-30 15:33:29 -06:00
Jonathan BennettandGitHub 94db3506bd Add LOG_POWERFSM and LOG_INPUT debug macros (#8791) 2025-11-28 19:58:52 -06:00
Jonathan Bennett 2f0fe4e5da Use the dedicated isVbusIn() function for detecting USB plug 2025-11-28 16:42:14 -06:00
Jonathan BennettandGitHub de26dfe468 Remove screen activation in powerExit function (#8779)
This seems to be a potential source of unintended screen wakes.
2025-11-28 05:23:07 -06:00
Jonathan BennettandGitHub 9bfef80e30 Add requestFocus() in CannedMessages (#8770)
Certain actions in CannedMessages can trigger the module losing the requestFocus bit, which puts the UI into a slightly frozen state.
2025-11-27 06:01:03 -06:00
Jonathan BennettandGitHub 654abe5b2c Add support for muzi-base (#8753) 2025-11-25 18:28:06 -06:00
Jonathan BennettandGitHub 592a8f23db Further fix compass calibration (#8740)
* Update calibration logic for ICM20948 sensor

Initialize highest and lowest magnetic values based on sensor data readiness during calibration.

* Refactor BMX160 calibration to use magnetometer data

Update calibration logic to initialize highest and lowest values using magnetometer data.

* Add missed viable defines in ::calibrate()
2025-11-25 06:10:20 -06:00
Jonathan BennettandGitHub 0336331411 Use LED_CHARGE and LED_PAIRING for M6 led control (#8742) 2025-11-25 09:29:35 +01:00
ed4a798c60 Thinknode M3 support against master (#8630)
* Add variant_shutdown() as a week function in main-nrf52.cpp

* Add Status LED module

* Add Thinknode M3 support

* Catch case of BLE disabled

* Update src/modules/StatusLEDModule.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/modules/StatusLEDModule.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update variants/nrf52840/ELECROW-ThinkNode-M3/rfswitch.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove unused pin

* M3 pairing LED only active for 30 seconds after state change

* Thinknode M3 shutdown work

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-24 16:35:54 -06:00
Jonathan BennettandGitHub b18794e98d Log error if startReceive fails in LR11x0Interface (#8718) 2025-11-22 13:54:24 -06:00
Jonathan BennettandGitHub 9cf369c5d0 actually respect wake_on_motion setting (#8690) 2025-11-20 05:41:32 -06:00
59864dd09d Add API types, state, and log message in Debug screen. Added persistent "Connected" icon (#8576)
* Add API types, state, and log message in Debug screen

* un-goober the API state tracking

* Set the SerialConsole api_type

* Add api_type for Ethernet

* Remove API state debugging code

* Update wording for client connection states

* Improve string width for smaller screen devices

* Reserve space on navigation bar to fit link indicator

* Add persistent Connected icon to screen

* Connect System frame to ensure text doesn't overflow

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Jason P <applewiz@mac.com>
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com>
2025-11-18 06:26:34 -06:00
6c09cf9d3d Gps reset detect (#8302)
* 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>
2025-11-18 15:04:44 +08:00
Jonathan Bennett 6e3be132f2 Reset the calibration data back to 0 when doing a compass calibration 2025-11-16 16:20:30 -06:00
Jonathan Bennett 0aa11d810c Clean up GPS toggle logging
Removed redundant log warnings for GPS toggle events.
2025-11-13 12:04:39 -06:00
531cad5e88 Add API types, state, and log message in Debug screen. Added persistent "Connected" icon (#8576)
* Add API types, state, and log message in Debug screen

* un-goober the API state tracking

* Set the SerialConsole api_type

* Add api_type for Ethernet

* Remove API state debugging code

* Update wording for client connection states

* Improve string width for smaller screen devices

* Reserve space on navigation bar to fit link indicator

* Add persistent Connected icon to screen

* Connect System frame to ensure text doesn't overflow

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Jason P <applewiz@mac.com>
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com>
2025-11-07 15:03:56 -06:00
Jonathan BennettandGitHub 7eca061f01 Bugfix: Don't toggle BLE when choosing active state (#8579) 2025-11-06 21:01:30 -06:00
69db3bd11c Reject legacy text message DMs (#8562)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-11-06 06:28:13 -06:00
Jonathan BennettandGitHub f2400c9dc6 Update platform-native for WIFi lib fix (#8544)
Updates the WiFi library way down in Portduino, to detect TCP connection drops
2025-11-04 11:35:44 -06:00
Jonathan BennettandGitHub 7def82595d Rename screen options to display options and add units chooser (#8517)
* Rename screen options to display options and add units chooser

* Add InitialSelected to DisplayUnits_menu
2025-11-02 21:30:41 -06:00
Jonathan BennettandGitHub d1b66782d1 Hide nodes that don't have position in the distance and bearings nodelists (#8518) 2025-11-02 05:57:15 -06:00
Jonathan BennettandGitHub c46abe125c Skip setting up Lora GPIO lines when using a ch341 radio on native (#8506) 2025-11-01 12:45:11 -05:00
Jonathan BennettandGitHub 756efa7f00 Thinknode M5 ADC_MULTIPLIER to actually hit 100% charge (#8489) 2025-10-30 06:23:11 -05:00
Jonathan BennettandGitHub 0dfa11a909 Add missed debug log line in RF95 Interface (#8490) 2025-10-30 14:35:54 +11:00
Jonathan BennettandGitHub c330bfe848 Turn the e-ink backlight on for any brightness value over 0 (#8481) 2025-10-29 06:46:50 -05:00
Jonathan BennettandGitHub 64d92679d0 Merge branch 'develop' into compumike/fix-nimble-bluetooth-process-fromPhone-before-toPhone 2025-10-19 17:23:04 -05:00
Jonathan BennettandGitHub 5953b4704e Force CannedMessages to another node to be a PKI DM (#8373) 2025-10-16 14:01:04 -05:00
Jonathan BennettandGitHub 4e0a4cc45f Log the lora frequency error when receiving a packet. (#8343) 2025-10-15 06:34:28 -05:00
Jonathan BennettandGitHub 464663b496 GPS_POWER_TOGGLE no longer has a function, so purge (#8312) 2025-10-12 05:33:34 -05:00
Jonathan Bennett 8bf32dc042 Attach an interrupt to EXT_PWR_DETECT if present, and force a screen redraw on a power change. 2025-10-11 11:31:42 -05:00
Jonathan Bennett e5a2ce54e7 Attach an interrupt to EXT_PWR_DETECT if present, and force a screen redraw on a power change. 2025-10-09 19:07:20 -05:00
668cc9fd64 Do slightly better at threading the search for GPS hardware (#8240)
* 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>
2025-10-07 05:58:39 -05:00
Jonathan BennettandGitHub b696e083f3 Log antispam (#8241)
* less power spam

* Don't warn about the first 4 GPS checksum failures
2025-10-07 16:37:04 +11:00
Jonathan BennettandGitHub 735784e6e4 Run Integration test in simulator mode (#8232) 2025-10-06 13:00:44 -05:00
Jonathan Bennett 7c4367cddc Cppckeck suppress bogus error 2025-10-04 16:54:19 -05:00
Jonathan Bennett 6022b749ba Don't forget to break! 2025-10-04 16:54:19 -05:00
Jonathan Bennett cbd30f95f3 Portduino: Only short-circuit hardware support when forcing sim mode 2025-10-04 16:54:19 -05:00
Jonathan Bennett 9ded6a5215 Pull in panel_sdl directly and drop native-sdl target 2025-10-04 16:54:19 -05:00
0ddaf710e4 Add FACTORY_INSTALL option to do a filesystem reset on first boot (#8185)
* Add FACTORY_INSTALL option to do a filesystem reset on first boot

* Check for valid file handle before using

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-03 06:33:37 -05:00
Jonathan BennettandGitHub 305f513834 Properly set Muzi Works R1 Neo HardwareModel 2025-10-02 10:40:32 -05:00
Jonathan BennettandGitHub 76d4807130 Add support for the manually_verified bool in SharedContact (#8180) 2025-10-01 21:07:30 -05:00
Jonathan Bennett d5164b4fbf Check the BUILD_EPOCH if defined 2025-10-01 13:32:44 -05:00
Jonathan Bennett ad44940732 Put the GPIO in the right state for wake from sleep 2025-10-01 13:32:44 -05:00
Jonathan Bennett 8b466b1db3 T-rex comment cleanup 2025-10-01 13:32:44 -05:00
Jonathan Bennett f9937967fa Add HardwareModel and correct directories 2025-10-01 13:32:44 -05:00
Jonathan Bennett 4fd568f384 Initial support for T-Rex 2025-10-01 13:32:44 -05:00
Jonathan BennettandGitHub bc3db1b5c1 Properly output the TCXO Voltage in yaml (#8128) 2025-09-26 18:23:09 -05:00