Commit Graph

5588 Commits

Author SHA1 Message Date
Eric Severance
8c6eec52f2 Refactor MQTT::onReceive to reduce if/else nesting (#5592)
* Refactor MQTT::onReceive to reduce if/else nesting

* Fix missing #include <functional>

* const DecodedServiceEnvelope e

* Combine validDecode if statement.

* Only call pb_release when validDecode.

* s/ptr/channelName/

* Use reference type for deleter

* Use lambda instead of bind

* Document deleter

* Reorder 'if's to avoid object creation

* Remove unnecessary comment

* Remove 'else'; simpifies #5516

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-12-19 05:47:46 -06:00
github-actions[bot]
92511ab10b [create-pull-request] automated change (#5597)
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
2024-12-17 06:33:17 -06:00
GUVWAF
69d01a8088 StoreForward: (tapback) reply support (#5585) 2024-12-15 13:11:13 -06:00
Ben Meadors
09c082fd00 Fix omission of AQ metrics (#5584) 2024-12-15 16:59:14 +01:00
Tom Fifield
56002155c6 Based default Node Names on NodeNum, rather than MAC address (#5576)
Presently we base the default long name (Meshtastic XXXX) and short
names (XXXX) on a node's MAC address. This works fine, unless you
have a node with no bluetooth, like Portduino.

Our logic for node numbers is also based on MAC address. However,
it has the added feature that it will create a random node number
if the Mac address is no good. The name is always "Meshtastic 0001".

This change switches node names (long and short) to instead rely
on the node number for defaults. For nodes with mac addresses,
there should be no user-visible change. For nodes without, they'll
now have a name other than "Meshtastic 0001".

Fixes https://github.com/meshtastic/firmware/issues/5370

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-12-15 06:23:27 -06:00
github-actions[bot]
547a57256d [create-pull-request] automated change (#5577)
Co-authored-by: fifieldt <1287116+fifieldt@users.noreply.github.com>
2024-12-15 05:23:15 -06:00
Ben Meadors
ea72abff22 Posthumous tronk 2024-12-14 20:21:19 -06:00
Aaron.Lee
4024bfdeeb Add screen detection function (#5533) 2024-12-14 20:20:29 -06:00
André Perdigão Gonçalves
4a1239f811 Add new endpoint to retrieve node info (#5557) 2024-12-15 11:43:41 +11:00
GUVWAF
44cf6d388e Portduino: fix setting hwId via argument (#5565) 2024-12-14 11:55:32 +01:00
Jonathan Bennett
92225eb6c3 DIO3_TCXO_VOLTAGE in config.yaml can now take an exact voltage (#5558) 2024-12-13 11:48:27 -06:00
Tom Fifield
03770b799f Synch minor changes from TFT branch (#5520)
* Synch minor changes from TFT branch

Includes:
* New nordicnrf52 minor version (10.5.0 --> 10.6.0)
* Optimisations for T_DECK
* preparation for MESH_TAB
* add ext notification module to portduino

---------

Co-authored-by: mverch67 <manuel.verch@gmx.de>
2024-12-12 17:42:41 +01:00
Jonathan Bennett
0e3dae4fec Initialize dmac array to nulls (#5538)
* Initialize dmac array to nulls

* Use std::cout for print before console is init.
2024-12-09 21:51:55 -06:00
jake-b
d0e3427ec7 Fix detection for some RadSens hardware versions (#5542)
Co-authored-by: Jake-B <jake-b@users.noreply.github.com>
2024-12-09 19:46:13 -06:00
Jonathan Bennett
4a34bf648f Add MACAddress to config.yaml (#5506)
* Add MACAddress to config.yaml

* Better error handling on native, including failing to launch with blank MAC Address and real hardware.

* Re-arrange Mac Address handling and add MACAddressSource

* Bump portduino to remove macaddr function there

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-12-07 10:29:49 -06:00
Tom Fifield
bac9fec17f fix nodeDB erase loop when free mem returns invalid value (0, -1). (#5519)
Co-authored-by: mverch67 <manuel.verch@gmx.de>
2024-12-06 18:39:30 -06:00
broglep
de774188c9 Always Announce MDNS meshtastic service (#5503)
* refactor server api port into define

* always announce MDNS meshtastic service
2024-12-05 06:02:10 -06:00
GUVWAF
c3d60342f4 Don't use channel index for encrypted packet (#5509)
* Don't use channel index for encrypted packet

* Remove assert in `getKey`, set invalid key length
So encrypting will fail without reboot

* Reset channel to 0 when unable to encrypt
Such that the NAK doesn't use the failing channel hash
2024-12-05 10:00:19 +08:00
github-actions[bot]
8eca6a2df8 [create-pull-request] automated change (#5500)
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
2024-12-04 08:15:50 -06:00
Mark Trevor Birss
e4f53677fc [Add] LR1110, LR1120 and LR1121 to linux native Portduino (#5496)
* Update main.cpp

* Update PortduinoGlue.h

* Update PortduinoGlue.cpp

* Update PortduinoGlue.cpp

* Update PortduinoGlue.cpp

* Update main.cpp
2024-12-04 05:39:02 -06:00
Robert
f846503cbf Extend Length of Source and Destination Node IDs Logged (#5492)
* show 8 chars for logging source and destination ids

* extend legnth of source and destination nodes in log
2024-12-03 06:30:19 -06:00
dylanli
85b2bad275 Refact the macro definition of GPS initialization of GPSDEFAULTD_NOT_PRESENT and added seeeed Indicator to this sequence (#5494)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-12-03 06:29:33 -06:00
Robert
7ad137b56a add nodeId to nodeinfo update log lines and removed redundant nodeinfo update log line (#5493) 2024-12-03 06:28:46 -06:00
GUVWAF
57ea6a265e SimRadio: clean-up and emulate collisions (#5487)
* Clean up SimRadio and don't let it use PKC

* Add collision emulation for SimRadio

* Add stats from SimRadio to LocalStats

* Make emulating collisions optional
2024-12-03 06:21:24 -06:00
Ben Meadors
d00e0f6911 Convert userprefs to a json file instead of header file which has to be included everywhere (#5471)
* WIP

* Got string quoting and macro expansion working

* Need the placeholder

* Cleanup

* Missed a user prefs reference

* Update jsonc
2024-12-03 06:17:25 -06:00
GUVWAF
9f4c8a2804 Update arduino-pico core and remove MDNS restriction (#5483) 2024-11-30 13:16:02 -06:00
Jonathan Bennett
43b8972171 Portduino fixes (#5479)
* Set config.yaml defaults even if General is missing

* Unsigned values should get %u in logging
2024-11-30 11:29:45 +08:00
Ben Meadors
b5777beb7d Warnings and log cleanup (#5472)
* Don't log if keyboard not found

* Signed comparison issue
2024-11-28 11:20:06 -06:00
Ben Meadors
5ad30a55ea Trunk 2024-11-28 06:26:51 -06:00
virgil
060a3bde4d fix: Solve the lightsleep crash problem via disable lightsleep for indicator. (#5470) 2024-11-28 06:19:18 -06:00
panaceya
8df7a035e2 Fix ukrainian fonts (#5468)
* FIX:  rollback to !4624

* UPDATE: new 16 and 24 UA Fonts and fixes
2024-11-28 05:34:09 -06:00
Christopher Hoover
b00c05012d GPS.h cleanups round 3. (#5447)
* GPS.h cleanups round 3.

No effective behavior change.

Protected members can be private so make it so.  (Supporting
subclasses needs a lot more work.)

Moves uBloxGnssModelInfo into file scope.

Moves uBloxProtocolVersion into uBloxGnssModelInfo.

Moves baud rate arrays into file scope.

Removes unused/ unimplemented powerStateToString.

Signed-off-by: Christopher Hoover <ch@murgatroid.com>

* Trunk Format.

---------

Signed-off-by: Christopher Hoover <ch@murgatroid.com>
Co-authored-by: Tom Fifield <tom@tomfifield.net>
2024-11-27 18:56:25 +08:00
Ben Meadors
0832388482 Remove ATECC crypto chip placeholder code (#5461) 2024-11-27 09:45:54 +01:00
Liam Cottle
601d912c6f fix cors for meshtasticd to allow use of cross origin clients (#5463) 2024-11-27 09:45:31 +01:00
Ben Meadors
502a83bb8a Use isWithinTimespanMs to avoid refererence to NodeDb instance inside of NodeDb (#5453) 2024-11-26 16:39:16 -06:00
Ben Meadors
474f9b5bfb Clean up some inline functions (#5454) 2024-11-26 14:00:10 -06:00
Ben Meadors
fe86c40145 Cleanup i2c scan logs and macro to save some bytes and remain consistent (#5455)
* Cleanup i2c scan logs and macro to save some bytes and remain consistent

* Functions are better than macros

* Exclude i2c scan for STM32

* Useless log
2024-11-26 13:59:50 -06:00
github-actions[bot]
09286a3beb [create-pull-request] automated change (#5457)
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
2024-11-26 08:32:02 -06:00
Ben Meadors
58c957f2c7 Don't powersave on Wifi (#5443)
* Don't go into light sleep with wifi enabled

* Move

* Trunk
2024-11-25 06:53:05 -06:00
Tomas Dubec
7c2b6778cb enable MQTT with TLS on RPi picow (#5442)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-11-25 06:12:19 -06:00
Christopher Hoover
0048e3cdcb A second round of cleanup on GPS.h. (#5433)
* Move yet more stuff out of GPS.h and into file scope.

* Protect code macros from eating semicolons.

* Remove unused (and unimplemented) getDOPString.

* clang-format with project style file on affected files.

Signed-off-by: Christopher Hoover <ch@murgatroid.com>
2024-11-25 05:32:04 -06:00
César de Tassis Filho
37da78919a Fix memory leaks by adding missing free() calls before early returns in MQTT::onReceive (#5439)
This fix addresses memory leaks in the `MQTT::onReceive` function by ensuring that dynamically allocated resources (`e.channel_id`, `e.gateway_id` and `e.packet`) are properly freed before each early return. Previously, these resources were only freed at the end of the function, leaving them unhandled in certain exit paths. Adding the missing `free()` calls prevents memory leaks and ensures proper resource cleanup in all scenarios.
2024-11-25 12:05:06 +08:00
Thomas Göttgens
ad9d7a4972 fixes https://github.com/meshtastic/firmware/issues/5434 (#5435)
* update libpax
* fix interval init
2024-11-24 14:28:36 +01:00
jake-b
932966b896 Support for the ClimateGuard RadSens Geiger-Muller tube (#5425) 2024-11-24 13:53:52 +01:00
github-actions[bot]
4d69159e75 [create-pull-request] automated change (#5431)
Co-authored-by: caveman99 <25002+caveman99@users.noreply.github.com>
2024-11-24 12:29:17 +01:00
Ben Meadors
f2ee0df015 Remove BMA-423 and STK8X by default (#5429)
* Remove BMA-423 by default

* STK

* Wrong macro

* Helps if you include the file
2024-11-23 17:18:22 -06:00
Thomas Göttgens
fcfb197571 try to detect dfrobot station to tell it apart from an ublox gps. (#5393) 2024-11-23 16:56:40 +01:00
Mictronics
dd7140b7a1 Fix admin key loading from userPrefs.h (#5417)
* Fix LED pinout for T-Echo board marked v1.0, date 2021-6-28

* Merge PR #420

* Fixed double and missing Default class.

* Use correct format specifier and fixed typo.

* Removed duplicate code.

* Fix error: #if with no expression

* Fix warning: extra tokens at end of #endif directive.

* Fix antenna switching logic. Complementary-pin control logic is required on the rp2040-lora board.

* Fix deprecated macros.

* Set RP2040 in dormant mode when deep sleep is triggered.

* Fix array out of bounds read.

* Admin key count needs to be set otherwise the key will be zero loaded after reset.

* Don't reset the admin key size when loading defaults. Preserve an existing key in config if possible.

* Remove log spam when reading INA voltage sensor.

* Remove static declaration for admin keys from userPrefs.h. Load hard coded admin keys in case config file has empty slots.

* Removed newlines from log.

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
2024-11-23 09:08:18 -06:00
Christopher Hoover
fadcbd597f Cleans up visibility in GPS.h (#5426)
Signed-off-by: Christopher Hoover <ch@murgatroid.com>
2024-11-23 06:10:09 -06:00
dylanli
c51a7b98bd add canned message and keyboard in indicator board (#5410)
* add canned message and keyboard in indicator board

* Added virtual keyboard macro and enabled for Indicator

* Cleanup macros by applying USE_VIRTUAL_KEYBOARD and DISPLAY_CLOCK_FRAME

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-11-22 18:54:06 -06:00