Commit Graph

313 Commits

Author SHA1 Message Date
Manuel
2723ae6e9b
fix crash during reset nodedb (#4017) 2024-06-02 07:38:20 -05:00
Ben Meadors
17142f8778
Add support for RadioMaster Bandit Nano (#4005)
* Add support for RadioMaster Bandit Nano

* Add fan to init and sleep
2024-05-31 10:56:04 -05:00
Thomas Göttgens
96b5bd2fd0
unphone has a display, don't default BLE PIN to 123456 (#3865)
fixes #3822
2024-05-11 08:20:11 -05:00
Ben Meadors
cbf20e4cee
Default to new vendor ntp pool (#3819) 2024-05-07 07:57:30 -05:00
tuxphone
70712d859c
Enable compiling with gccnoneeabi 12.3.1 for nRF52 targets, additional small fixes (#3778)
* Fix type of nodeNum

Type of nodeNum is NodeNum, not uint

* typo

fixed typo "resumeAdverising()"

* fix missing #include "time.h"

Missing include breaks compilation with gccnoneeabi 12.3.1 for nrf52 targets on windows hosts.

* change type uint to unsigned int

uint is not a standard type. Using uint breaks compilation with gccnoneeabi 12.3.1 for nRF52 targets on windows hosts.

* fix type of channel_num

Type of channel_num should be uint32_t (as this is the type of hash() and numChannels).

Using uint non-standard type uint breaks compilation with gccnoneeabi 12.3.1 for nRF52 targets on windows hosts.

* Update nrf52.ini

Default build type should be "release" as this is the default of platformio.

* Update GPS.cpp

uint to unsigned int
2024-05-03 15:49:22 -05:00
Thomas Göttgens
13ad524538 make clang-format happy again. Also fix assorted variable shrouding and logic bleeps 2024-05-03 15:10:57 +02:00
todd-herbert
21311bbeda
T-Echo touch button no longer requires "wake on tap or motion" (#3745) 2024-04-29 08:54:57 -05:00
Ben Meadors
425a715995
Added one minute throttling to NodeDB save to disk (#3648)
* Added one minute throttling to NodeDB

* Derp
2024-04-18 14:20:39 -05:00
GUVWAF
bc085ab840
Fix #3641: Always set MAC when picking new NodeNum (#3651)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-04-17 07:07:40 -05:00
Ben Meadors
2f9b68e08b
File management changes (Part 2 - Reboot instead of reformat NRF52 after two failed file saves) (#3630)
* Add LoadFileState to differentiate types of success / failures

* Try rebooting NRF52s with multiple failed saves

* Trunkate
2024-04-15 16:36:22 -05:00
Ben Meadors
2803fa964e
Add LoadFileState to differentiate types of success / failures (#3625) 2024-04-15 07:22:05 -05:00
Manuel
5047468d9f
fix/enhancement: TFT device powersave (part 3) (#3600)
* fix: device TFT powersave (part 3)

* trunk fmt

* trunk fmt

* undo bluetooth deinit from #3596

* revert code for heltec tracker

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-04-14 09:11:27 -05:00
todd-herbert
178877f2d9
Enable T-Echo touch button by default (#3604)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-04-12 07:18:36 -05:00
GUVWAF
3bee6ce9c3
Only set NodeNum based on MAC if it's still zero (#3585)
* Only set NodeNum based on MAC if it's still zero

* Already declared
2024-04-10 11:29:29 -05:00
Jim Whitelaw
acc32916c3
Add multiple configuration options for a minimized build (GPS,WiFi,BT,MQTT,Screen). (#3469)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-25 06:33:57 -05:00
Ben Meadors
794e99c2f9
Log warning cleanup and truth (#3466) 2024-03-21 20:45:48 -05:00
Ben Meadors
7aa013a716
Skip favorite nodes when clearing out oldest in NodeDB (#3464)
* Skip favorite nodes when clearing out oldest in NodeDB

* We should actually map between the types
2024-03-21 19:51:02 -05:00
Ben Meadors
6dd337a651
Clear local position on nodedb-reset (#3451)
* Clear local position on nodedb-reset

* NodeDB pointer now, yo

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
2024-03-21 14:43:10 -05:00
Jonathan Bennett
fd26914d88
move nodeDB::init code into nodeDB constructor (#3455) 2024-03-21 13:14:02 -05:00
Jonathan Bennett
dfcd0d14f6
Add MaxNodes to Native config (#3427)
* Add MaxNodes to Native

* It compiles...

* Convert nodedb to use new

* Closer but still broken.

* Finally working

* Remove unintended lines

* Don't include a pointer

* Capitalization matters.

* avoid rename in protocol regen

* When trimming the nodeDB, start with a cleanup

* Remove extra cleanupMeshDB() call for now

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-21 09:06:37 -05:00
Ben Meadors
4fa7f5a748 Fix devicestate persistence bug 2024-03-19 10:31:31 -05:00
Ben Meadors
0d1d79b6d1
Extract default intervals and coalesce methods into their own file / static class methods (#3425)
* Extract default intervals and coalesce methods into their own file / static class methods

* Missed pax

* Still managed to miss one
2024-03-17 08:18:30 -05:00
Ben Meadors
bb57ccfc9e
Remove devicestate no_save (#3424) 2024-03-17 08:16:22 -05:00
Ben Meadors
ec6bdeed81
NodeInfo broadcast ensure default on 0 and enforce 1 hour minimum (#3415)
* NodeInfo broadcasts ensure defaults on 0 and enforce 1 hour minumum

* Doh!

* Hey that's not on config!
2024-03-15 07:12:03 -05:00
GUVWAF
af9d14c370 Periodic reporting of device information to a map via MQTT 2024-03-10 14:52:37 +01:00
GUVWAF
585805c3b9
Add original hop limit to header to determine hops used (#3321)
* Set `hop_start` in header to determine how many hops each packet traveled

* Set hopLimit of response according to hops used by request

* Identify neighbors based on `hopStart` and `hopLimit`

* NeighborInfo: get all packets and assume a default broadcast interval

* Add fail-safe in case node in between is running modified firmware

* Add `viaMQTT` and `hopsAway` to NodeInfo

* Replace `HOP_RELIABLE` with hopStart for repeated packet

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-08 07:13:57 -06:00
Ben Meadors
3c3d391044
Remove rangetest file on factory reset (#3322) 2024-03-03 10:33:30 -06:00
rcarteraz
b98ddbddf4 update node db lite log message 2024-02-25 12:36:21 +01:00
Ben Meadors
998013aff3
Add TAK Tracker role behavior (#3233)
* Proto

* Standalone TAK Tracker

* Add log

* Make TAK_Tracker behave like Tracker
2024-02-16 20:04:21 -06:00
Ben Meadors
7f7c5cbd62
Triple GPS state (#3157)
* Triple state GPS refactoring

* Skip probe

* Move GPS toggle into the GPSThread

* Consolidate

* make all happy (including me)

* corrected screen texts

* NOT_PRESENT guard in main.cpp

---------

Co-authored-by: mverch67 <manuel.verch@gmx.de>
2024-02-01 15:24:39 -06:00
Jonathan Bennett
4ae5443c3b
Don't ever delete own node from DB (#3122) 2024-01-22 20:13:27 -06:00
GUVWAF
8f6a2836b8
Mark packets received via MQTT and add option to ignore them (#3117)
* Mark packets received via MQTT and add option to ignore them

* Don't send packets received via MQTT back into MQTT
Generate implicit ACK for packets we as an MQTT gateway sent

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-01-20 14:22:09 -06:00
GUVWAF
fd8b1687a1
Update channel of node in updateUser and write to flash if needed (#3094)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-01-15 20:11:35 -06:00
Jonathan Bennett
4a867c81c0
Portduino work (#3049)
* Move to Portduino's getMacAddr()

* Add ST7735/S screen support

* Push Raspbian support into native target

* Remove latent pigpio references.

* CardKB defensive programming

* Adds configurable spidev

* Fixes to build on Fedora 40

* ENUMs are not #defines. Pull latest portduino

* Add more configuration options for SPI displays

* Add config.yaml option to set DIO3_TCXO_VOLTAGE

* change tft clear() to fillScreen()
Maintains compatability with ESPI driver.

* Adds TXen and RXen pins to portduino

* Add -c --config options to specify config file

* Fail when a specified config file is unavailable

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-01-12 02:00:31 -06:00
Ben Meadors
ea651c2f8f
Remove gps_attempt_time and use broadcast interval instead (#3064) 2024-01-07 09:35:19 -06:00
Ben Meadors
9f85279e74
Lost and found mode (#3012)
* Lost and found WIP

* 5 minutes

* ASCII bell character correction

* Memory
2023-12-13 17:43:20 -06:00
Jonathan Bennett
2ebaea317a
Refactor display handling add Raspbian TFT display (#2998)
* Refactor display handling add Raspbian TFT display

* Add missed change

* Add static casts

* Add missed TFT refactor for RAK14014

* Add missed GPIO configuration

* Adds Native keyboard input option

* Get the ifdefs right

* CannedMessage send via queue, not run immediately.

* Fixup systemd service file

* Add display blanking for Raspberry Pi

* Add a couple missed key definitions

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-12-12 20:27:31 -06:00
Ben Meadors
d14d2c89c3
RTTTL ringtones on T-Deck / T-Watch S3 and potentially more I2S audio enabled devices (#2917)
* WIP

* ESP8266 SAM fun

* I2S audio / ext. notification module

* Remove

* Protos

* Add use_i2s_as_buzzer from protos

* Fixes

* Stuff

* Thing

* Ext. Notification working(ish)

* Remove SAM commented code

* Trunk upgrade

* Trunk

* Fixes

* Slow not fast... :-|

* T-Deck and T-Watch don't use normal buttons

* Stop ext. notification nagging with touchscreen as well

* Add button gpio back for T-Deck, but guard against long-press during ext. notification

* Ext. notification wrap up

* Better place to guard against long-press false positives

* Adjust default gain and guard against non-i2s devices referencing audio-thread

* Simplify guard logic with a boolean

* Supress uninitMemberVar

* Protos merge got out of wack

* Trunk resolution

* Remove extra crap

* Cleanup and thread-interval

* Default to alert message buzzer and add nag timeout

* Formatting
2023-12-12 08:36:37 -06:00
Ben Meadors
b4ad6b0f41
Added client-hidden role behavior (#2992)
* Added client-hidden role behavior

* Trunkt

* That line got all boogered up
2023-12-06 14:04:09 -06:00
GUVWAF
6ff61b3e04
Pico W: Initial Wi-Fi support (#2980)
* Pico W: Initial WiFi support: connects, but freezes after a while

* Update arduino-pico core to fix hang with Wi-Fi

* Add `picow` to workflow since it's different from `pico` now
2023-12-02 14:47:52 -06:00
Ben Meadors
a05bab35ad = 2023-12-01 07:17:38 -06:00
Ben Meadors
ac506a581c
Merge branch 'master' into g2-defaults 2023-12-01 07:07:59 -06:00
Ben Meadors
def4ec5822
Always set user (nodeinfo) role to device config's current role (#2973) 2023-12-01 07:00:19 -06:00
Ben Meadors
209fb585b0 Default to what G2 comes with 2023-11-30 20:49:00 -06:00
Ben Meadors
1feb74f525
Add number of sats to default position flags (#2962) 2023-11-25 19:34:30 -06:00
Ric In New Mexico
57542ce9e6
Retain device nodeinfo during reset-nodedb (#2951)
* INA3221 bugfixes & refinement
Reorganized and refactored some INA3221 code
Added comments
Added missing shunt resistor value (100mΩ)
Added INA3221 Channel 1 to getINAVoltage() for device battery monitoring
	modified:   src/Power.cpp
	modified:   src/modules/Telemetry/PowerTelemetry.cpp
	modified:   src/modules/Telemetry/Sensor/INA3221Sensor.cpp
	modified:   src/modules/Telemetry/Sensor/INA3221Sensor.h
	modified:   src/power.h

* reset-nodedb retain device nodeinfo
	modified:   src/mesh/NodeDB.cpp

* reset-nodedb #2
	modified:   src/mesh/NodeDB.cpp

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
2023-11-20 06:33:14 -06:00
Ben Meadors
f2210d8f8d
Merge branch 'master' into raspi-portduino 2023-11-16 06:57:52 -06:00
Ben Meadors
5d917885df
Added Remove node by nodenum admin message (#2941)
* Remove node by nodenum

* It were backerds! DERP
2023-11-16 06:57:22 -06:00
Jonathan Bennett
a144d5d6cc Clean up, fix reboot, minimize changes 2023-11-15 20:33:53 -06:00
Andre K
e6b20bff77
refactor: simplify MQTT defaults (#2893)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-10-15 18:56:47 -05:00