Commit Graph

279 Commits

Author SHA1 Message Date
Thomas Göttgens
54816231e9 Calculate CRC32 of Protobuf and compare before save. 2022-10-05 08:52:27 +02:00
Thomas Göttgens
063c4904ff only save files when they changed - also clamp app version 2022-10-04 17:25:03 +02:00
Thomas Göttgens
3597685b23 Only save the changed parts of config to disk. 2022-10-04 14:32:07 +02:00
Ben Meadors
ac235bcabb
Reset nodedb wiring (#1724) 2022-09-28 16:47:26 -05:00
Thomas Göttgens
b5a8efa16b Filesystem fixes for LittleFS 2022-09-21 16:47:10 +02:00
Ben Meadors
accd23eddc
Factory reset on device state expired (#1695) 2022-09-15 12:15:16 -05:00
Ben Meadors
397030b5a6
GPS intervals (#1693)
* GPS intervals

* Backwards logic

* Oops
2022-09-12 18:07:21 -05:00
Ben Meadors
18f37981bb Spelling and fixing defaults 2022-09-12 07:55:17 -05:00
Sacha Weatherstone
60b4dbfdcd
More default inits. (#1689)
* More default inits.

* update protobufs

* Try checking has_device first

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-09-11 08:36:47 -05:00
Ben Meadors
7f18c0fb77
Init default intervals (#1688)
* Init default intervals

* Spacing

* move isrouter check

* Line break

* Oops
2022-09-10 12:35:36 -05:00
Sacha Weatherstone
7aaca3d486
Merge branch 'master' into pref_defaults 2022-09-10 18:11:16 +10:00
Thomas Göttgens
f7b12f0695 Adapt to new protobufs - TODO: factory_reset rewire 2022-09-09 12:51:41 +02:00
Sacha Weatherstone
1b25ea714d
Set config.lora.hop_limit to HOP_RELIABLE 2022-08-27 19:03:26 +10:00
Tom
fd27a40edb
Reboot after factory reset (#1653)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-08-25 12:07:20 -05:00
Ben Meadors
1013aff9b6
Screen changes and fixes (#1651)
* Fixed bluetooth reinit bug

* Remove screen transition ms

* Whoops

* hasScreen is smarter now

* Oops
2022-08-25 11:25:05 -05:00
Ben Meadors
b028af0d82
Bluetooth modes (#1633)
* Formatting and comments

* Esp32 bluetooth modes

* Comment
2022-08-16 20:42:43 -05:00
Ben Meadors
86d3759f55
New bluetooth config protos and canned messages consolidation (#1632)
* Bluetooth and canned messages refactor

* More can of worms messages

* Set has_bluetooth and default pin

* Defaults
2022-08-15 21:06:55 -05:00
Thomas Göttgens
0c8fb6e27f Raspberry Pi Pico target (with sparkfun lora hat) does compile but needs further work.
Also contains a small fix to make PRIVATE_HW targets build again for nRF52 architectures
2022-08-08 23:11:19 +02:00
Ben Meadors
572f9f9295
Get device metadata admin message (#1607)
* Get device metadata admin message

* Bump device state version
2022-08-08 07:19:04 -05:00
Thomas Göttgens
295dca8415 Work around bug in littlefs rename() for now. After upstream change to version 2.5 this can be reverted. 2022-08-04 09:08:02 +02:00
Ben Meadors
874d308b50
Only save devicestate on GPS reset (#1587) 2022-08-03 07:16:41 -05:00
majbthrd
ade32b1827
lay groundwork for a possible future architecture (#1571)
* lay groundwork for a possible future architecture

* switch from feature opt-out to feature opt-in

* lay groundwork for a possible future architecture

* switch from feature opt-out to feature opt-in

* fix USE_RTC in variant.h for rak4631_epaper and t-echo

* ensure Screen.h is not included without configuration.h

Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-07-31 07:11:47 -05:00
Ben Meadors
9fd7abf3d4
Actually save nodeDb after we init (#1546) 2022-07-02 10:16:48 -05:00
Ben Meadors
3f0ff45232
Node db cleanup and debug prints (#1543)
* Node db cleanup and debug prints

* File name cleanup
2022-07-02 09:09:41 -05:00
Thomas Göttgens
e7dfd14917 Change recursive delete to be recursive 2022-06-22 15:33:53 +02:00
Thomas Göttgens
bc9a4367d1
Fix #1510 2022-06-16 20:58:15 +02:00
Thomas Göttgens
125f76d984 Don't use rmdir_r but roll our own version. 2022-06-15 17:52:37 +02:00
Thomas Göttgens
b127479961 - Refactored factory reset a bit to not installDefaultDeviceState twice on ESP32
- clear BLE bonds on settings version increase
2022-06-15 17:09:42 +02:00
Thomas Göttgens
d18aa2e7cb add file version to local savefiles 2022-06-15 16:52:04 +02:00
Thomas Göttgens
dc8d1d9a84
implement #1504 2022-06-12 21:52:46 +02:00
Nerijus Bendžiūnas
e8e72d2e08
Compile when FSCom is not defined (NodeDB.cpp) 2022-06-07 20:55:05 +03:00
Thomas Göttgens
800a4200ef make sure all segments are enabled and saved 2022-05-22 13:54:24 +02:00
Thomas Göttgens
6bb3861e95 Moduleconfig also changed to localConfig Model. 2022-05-22 13:27:56 +02:00
Thomas Göttgens
53e9f4df46 Segemented config works for me (TM)
Small GPS Fix that cropped up while testing included.
2022-05-21 22:38:33 +02:00
Sacha Weatherstone
d9e2e09149
Fix NTP server initialization 2022-05-12 23:05:06 +10:00
Sacha Weatherstone
38913bb661
Consistency fixes & repo cleanup 2022-05-12 20:45:30 +10:00
Sacha Weatherstone
2035ddf5a9 Add ntp server config option, remove old region logic 2022-05-11 18:30:29 +10:00
Sacha Weatherstone
6b0ce6b729
Finish config transition 2022-05-07 20:31:21 +10:00
Sacha Weatherstone
eb6dd6b53d
Merge branch 'master' of github.com:meshtastic/Meshtastic-device 2022-05-07 13:34:36 +10:00
Sacha Weatherstone
ea86f76393
Move LoRa config out of primary channel 2022-05-07 13:34:06 +10:00
Rockwell Schrock
5e109d9648
Fix typo in calculation of NUM_ONLINE_SECS constant (#1436)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-05-05 13:46:39 -05:00
Sacha Weatherstone
f84286d138
Split config structure in two 2022-05-02 22:00:24 +10:00
Ben Meadors
caac2ecb83
Compute config size and account for reloadconfig (#1428)
* Compute config size and account for reloadconfig

* Reload config and config_size
2022-05-01 20:30:19 -05:00
Ben Meadors
163774bb1f Moved refactored prefs 2022-05-01 14:26:05 -05:00
Andre Kirchhoff
3c1407c7d2
bump minimum app version requirement to 1.3.0 2022-04-24 19:52:32 -03:00
Ben Meadors
98c8eaaaf0
Moved sender short name method into protobuf module (#1398)
* Moved sender short name method into protobuf module

* Correct factory reset code for NRF (from 1.2)

* Use the correct fs abstraction

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-04-24 16:12:25 -05:00
Thomas Göttgens
136e2e96f7
Remove References to Pre-1.2 Preffile
1.3+ need a clean install anyway, so no point migrating these any more.
2022-04-18 21:55:58 +02:00
Ben Meadors
07e2816703
Promote device metrics (#1347)
* NodeInfo slimfast

* Update
2022-04-01 18:35:18 -05:00
Thomas Göttgens
4e29984549 Slightly more verbose GPS debug logging 2022-03-31 18:52:40 +02:00
Ben Meadors
ba2fa84ebd
Reworked metrics structure and split telemetry into device or environ… (#1331)
* Reworked metrics structure and split telemetry into device or environment

* Comment cleanup
2022-03-27 09:55:35 -05:00
Ben Meadors
e97bd4f9f9
Battery level / telemetry rework (first pass) (#1306)
* Update protos

* Removed battery level from position packets

* Send internal metrics

* Handle telemetry on node info for now

* Fixes

* Default telemetry to enabled and same interval as position

* Fixes for lots of interval issues

* Fixed interval

* Regen

* Cleanup

* Newline

* Update proto ref
2022-03-20 09:55:38 -05:00
Mike Kinney
94c1286010 changed on 1.3 2022-03-17 19:32:34 +00:00
Mike Kinney
f2a4308497 remove /prefs for nrf factory reset 2022-03-17 19:10:58 +00:00
Sacha Weatherstone
6bee95d6b2 Rename MeshPlugin, SinglePortPlugin and ProtobufPlugin 2022-03-09 19:01:43 +11:00
Jm Casler
a83cfffd3a Rename plugins in /esp32 2022-02-27 01:27:17 -08:00
Jm Casler
218a208ab7 mv plugins/ to modules/ 2022-02-26 23:56:26 -08:00
Jm Casler
ac43a1b182 Rename environmental measurement to telemetry 2022-02-26 20:52:22 -08:00
Jm Casler
389a8f1401 Add ourGroupInfo to NodeDB 2022-02-20 00:04:32 -08:00
Jm Casler
1ba7f009dd Remove hw_model_deprecated 2022-02-14 20:37:44 -08:00
Jm Casler
04d16b82ba Remove old style of region code fix 2022-02-14 20:00:46 -08:00
Jm Casler
b99d793e23 Remove legacyRadio and Legacy Preferences 2022-02-14 19:58:54 -08:00
Thomas Göttgens
8e9b852faa
Littlefs rebased to Master (#1205)
* Littlefs
2022-02-14 11:45:29 -06:00
Clemens H / OE1RFC / datacop
e3df4fe4b4
fix: log error if node_db is full instead of firmware crash (#1191) 2022-02-10 11:44:58 -06:00
Ben Meadors
b21b7de04b
Clear bluetooth bonds on multi-press and factory_reset (#1176)
* Clear bluetooth bonds on multi-press and factory_reset
2022-02-01 18:32:26 -06:00
Mike Kinney
caaa235c5d more cppcheck warnings fixes 2022-01-24 17:24:40 +00:00
Jm Casler
465ff3dd25 Fix nvs erase for native build 2022-01-08 12:03:18 -08:00
Jm Casler
6506d54859 Erase NVS as part of factory reset & new triple click behavior. 2022-01-08 11:54:02 -08:00
Jm Casler
446fb857cc Bug in getNumOnlineNodes #988 2021-12-11 19:50:20 -08:00
Jm Casler
3d4e4bfa50 Update generated protos & has_wifi #979
https://github.com/meshtastic/Meshtastic-device/issues/979
2021-12-09 11:47:42 -08:00
a-f-G-U-C
646d1caf66
updatePosition process time-only message 2021-10-28 11:31:19 +00:00
a-f-G-U-C
b74c2da530
implement RX_SRC_LOCAL, Position in updatePosition 2021-10-26 12:22:34 +00:00
a-f-G-U-C
d0fb363422
discriminate local/remote node position updates (#889) 2021-10-23 12:58:56 +11:00
a-f-G-U-C
992bbe76d7
add backward compatible position flag defaults (#884) 2021-10-23 12:12:53 +11:00
Kevin Hester
17a1262382 pull in new epaper lib (which required importing configuration.h everywhere
for dumb reasons)
2021-06-27 10:56:28 -07:00
Kevin Hester
4c1b7d4840 pinelora WIP 2021-05-01 11:27:37 +08:00
Kevin Hester
babc1b3613 include file/lineno in critical error logs 2021-04-29 09:52:15 +08:00
Kevin Hester
76269b397f Merge remote-tracking branch 'root/master' into dev1.2
# Conflicts:
#	src/esp32/main-esp32.cpp
#	src/mesh/generated/deviceonly.pb.h
#	src/mesh/generated/mesh.pb.h
2021-03-27 16:44:42 +08:00
Jm
57c82988e2 #669 - Add restart counter 2021-03-27 01:20:07 -07:00
Kevin Hester
37ec969f96 Merge remote-tracking branch 'root/master' into dev1.2
# Conflicts:
#	src/mesh/NodeDB.cpp
2021-03-27 11:10:47 +08:00
Jm Casler
7872cb050d
Merge branch 'master' into master 2021-03-25 19:32:13 -07:00
Jm
89029311c1 Update NodeDB.cpp 2021-03-25 19:28:15 -07:00
Jm
f6f586decb Remove my code that doesn't work with channels 2021-03-25 19:27:46 -07:00
Kevin Hester
04225f7bc2 change! time of last packet rx in node->last_heard instead of node->position.time 2021-03-26 09:30:15 +08:00
Kevin Hester
e17fe7e075 update altitude in nodedb for received altitudes (reported by @iz1kga) 2021-03-24 19:24:33 +08:00
Kevin Hester
5b0e7c6e82 fix has_preferences init 2021-03-24 13:25:21 +08:00
Kevin Hester
1fcec8ce3b always fix up channel list, even if we just did factory reset 2021-03-23 11:54:53 +08:00
Jm Casler
1eb37dded8 partial work for S&F 2021-03-21 19:45:35 -07:00
Kevin Hester
53671283ae change hw_model_deprecated to intentionally break old apps 2021-03-14 10:57:26 +08:00
Kevin Hester
d9fc7b32c3 move hw_model into User 2021-03-14 10:48:20 +08:00
Kevin Hester
9a03536e3d Use enums for hw_model per @sachaw idea. 2021-03-14 10:37:32 +08:00
Kevin Hester
c097852ab0 SERIOUS BUG: we've been discarding devicestate when we should not 2021-03-12 15:45:28 +08:00
Kevin Hester
a97c2ae6eb minimize radioconfig file writes 2021-03-11 18:29:47 +08:00
Kevin Hester
76e2c39c63 completed moving prefs to new files 2021-03-11 17:54:16 +08:00
Kevin Hester
ab9fe42f58 wip - move channels 2021-03-11 13:02:00 +08:00
Kevin Hester
950b32232f don't send messages the phone sent us back towards the phone 2021-03-05 10:19:27 +08:00
Kevin Hester
66638655a5 Merge branch 'dev' into dev1.2
# Conflicts:
#	src/mesh/NodeDB.cpp
2021-02-25 08:56:36 +08:00
Kevin Hester
b2c47a7dea fix #710. nodes disappearing from map. thanks @DylanHoen for noticing! 2021-02-25 08:50:46 +08:00
Kevin Hester
aa8b86c6b2 multichannel send/rx kinda works 2021-02-23 11:43:30 +08:00
Kevin Hester
69a11e7375 WIP phone api changes for dev1.2 2021-02-17 19:04:41 +08:00
Kevin Hester
42ae27973e WIP 1.2 move routing into plugin 2021-02-17 13:06:23 +08:00
Kevin Hester
45caf394f0 WIP multichannel support 2021-02-16 15:41:52 +08:00
Kevin Hester
9d81511153 fix warning 2021-02-12 09:56:35 +08:00
Kevin Hester
fdfe62edf0 updates to work with new protobuf names 2021-02-10 16:18:41 +08:00
Kevin Hester
58bb7169a0 use nodenum as the default nodeid 2021-02-08 10:15:02 +08:00
Kevin Hester
7f07725840 make improperly sized AES128/256 keys non fatal, instead pad with zeros
Fixes rebooting the board if someone specifies an invalid key
2021-01-29 10:15:48 +08:00
Andrew Mark
79dad8ec8c Set critical error and reboot when radio fails to generate tx IRQ 2021-01-19 18:21:54 -08:00
Kevin Hester
3598c91c29 fix @mc-hamster build to work on linux/nrf52 2021-01-15 13:30:40 +08:00
Jm
0c06d8db3c maybe this will fix the linux build? 2021-01-09 19:31:16 -08:00
Jm
d458f673be Web server is now treaded and moved to mesh/wifi/* 2021-01-08 22:25:44 -08:00
Kevin Hester
3636b87db0 formatting 2021-01-08 11:52:43 +08:00
Kevin Hester
0c74303e9d move criticalerror defs into .proto for cross platform support 2020-12-27 11:22:08 +08:00
Kevin Hester
651bd71454 show critical faults on the screen 2020-12-26 13:36:21 +08:00
Kevin Hester
15e1a3870c When new node joins mesh, all other nodes reply with their current state 2020-12-17 10:53:29 +08:00
Kevin Hester
be38a58a62 finish channel name cleanup 2020-12-15 16:13:16 +08:00
Kevin Hester
c9f2318e78 Use simpler names for standard channels 2020-12-15 13:14:36 +08:00
Kevin Hester
5cdc2f5142 Make ChannelSettings SUPER short for common channels 2020-12-14 21:09:29 +08:00
Kevin Hester
df8b3ebbc7 always pull min_app_version from appload 2020-12-10 11:32:51 +08:00
Kevin Hester
a0076eb394 better position debug output 2020-12-09 13:42:36 +08:00
Kevin Hester
a4bb1937c1 Merge remote-tracking branch 'root/master' into udp 2020-12-09 11:21:59 +08:00
Kevin Hester
91b99bd584 require apps to be 1.1.20 or later 2020-12-05 10:27:04 +08:00
Kevin Hester
ae7d3ee5ed move nodeinfo messages into new plugin system 2020-12-05 10:00:46 +08:00
Kevin Hester
d3cb9bdd4a WIP moving positions to new system 2020-12-03 16:48:44 +08:00
Kevin Hester
0b0d293a66 Move text message handling into the new plugin system 2020-11-28 12:10:19 +08:00
Kevin Hester
ddab4a0235 remove support for 8bit nodenums 2020-11-28 09:56:21 +08:00
Kevin Hester
d7d13d637c clean up filesystem goo, add spiffs to install scripts, fix #496
@mc-hamster seems to work pretty good for me, so I'll send a PR to you
for the dev-http branch.

I'll push out an android alpha build later today (once the build is
complete).  Once this new device load is out in the field _future_
device builds will support updating spiffs from android. (i.e. device
loads older than 1.1.9 must be updated to 1.1.9 or later before spiffs
support is implemented on the device side - so some users might need to
update twice before the new spiffs contents will appear on their device)
2020-11-19 09:25:02 +08:00
Kevin Hester
1839f8f7ca fix #513 scale retransmission times based on true packet time on wire 2020-11-14 10:07:25 +08:00
Kevin Hester
cfcb62bd18 Make region changes take effect immedately 2020-10-29 13:26:36 +08:00
Kevin Hester
0767c8be03 PPR1 fix screen mirroring on LCD 2020-10-24 08:16:15 +08:00
Kevin Hester
c078c08c3e Merge branch 'dev' into ppr1 2020-10-23 16:53:38 +08:00
Kevin Hester
a5d7bacdbf Show current region on the boot screen 2020-10-21 17:27:13 +08:00
Kevin Hester
e1f0e11cb8 ppr1 WIP DO NOT MERGE - will break other clients 2020-10-17 13:15:12 +08:00
Kevin Hester
9134faaed1 turn off segger debug in ttgo eink build 2020-10-15 16:11:40 +08:00
Kevin Hester
4a70ba1f7a fix nodeinfo stored times (I think) for @lgoix 2020-10-09 10:01:13 +08:00
Kevin Hester
f00d07baa3 RTC: pull rtc code into own file for cleanup 2020-10-08 07:28:57 +08:00
Kevin Hester
7480eb1826 Change to use zeros for timeout values that are 'default' 2020-10-06 09:43:00 +08:00
geeksville
3e5f81bf2a move region into userpreferences, to end region specific firmwares 2020-09-25 12:52:08 -07:00
geeksville
1a064a4666 Merge remote-tracking branch 'root/master' 2020-09-25 09:19:58 -07:00
Jm Casler
b39f6c96bd Merge remote-tracking branch 'origin/dev-wifi' 2020-09-22 22:00:07 -07:00
geeksville
3c0429deee Add new factory_reset preferences option clients can set 2020-09-19 11:19:42 -07:00
Jm Casler
e508306395 Refactoring to break out HTTP from WiFi 2020-09-13 16:58:36 -07:00
Jm Casler
f129b458ad Initial Checkin for WiFi and HTTP Server Framework 2020-09-12 21:43:41 -07:00
geeksville
fefd3d78f3 Portduino WIP now compiles but does not link 2020-09-05 12:34:48 -07:00
geeksville
6a475d8288 WIP 2020-09-04 17:23:17 -07:00
geeksville
6cdaf8c600 fix #349 channel suffix letter didn't match between device and phone 2020-08-30 12:38:15 -07:00
geeksville
55dafcbecb fix #269 see below
/**
 * Generate a short suffix used to disambiguate channels that might have the same "name" entered by the human but different PSKs.
 * The ideas is that the PSK changing should be visible to the user so that they see they probably messed up and that's why they
their nodes
 * aren't talking to each other.
 *
 * This string is of the form "#name-XY".
 *
 * Where X is a letter from A to Z (base26), and formed by xoring all the bytes of the PSK together.
 * Y is not yet used but should eventually indicate 'speed/range' of the link
 *
 * This function will also need to be implemented in GUI apps that talk to the radio.
 *
 * https://github.com/meshtastic/Meshtastic-device/issues/269
 */
const char *getChannelName();
2020-08-12 11:04:03 -07:00
geeksville
d7cf7e2eb4 Allow advanced users to set arbitrary spreadfactor/codingrate/bandwidth 2020-08-12 10:42:25 -07:00
geeksville
a5b7501a4e nimble add debug output 2020-07-24 10:12:25 -07:00
geeksville
014eea2f56 Nimble sleep almost works 2020-07-22 21:26:32 -07:00
Ellie Hussey
6f7f540c79
Added the option for forced NodeStatus updates on user change or text message, tweaked compass (#256) 2020-07-05 17:03:12 -07:00
Professr
542b8b26ce Abstracted statuses, made display event-driven 2020-06-27 21:19:49 -07:00