Commit Graph

258 Commits

Author SHA1 Message Date
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
geeksville
e7eee0995a fix line endings 2020-06-24 16:14:38 -07:00
geeksville
9f6e23754c Add a no_save development flag to allow using settings that
we don't want to save to flash.  Use that flag to guard BLE
stress testing code that makes device repeatedly sleep wake
to force numerous BLE resets
2020-06-24 13:10:36 -07:00
geeksville
8190098bb8 experiment with wifi connections for nodes 2020-06-21 14:11:38 -07:00
geeksville
a47524b762 cubecell wip 2020-06-16 17:13:26 -07:00
geeksville
f35b15b09c Shrink devicestate for small mcus 2020-06-16 15:26:30 -07:00
geeksville
99dac51b9d Don't use a (huge - 16KB) scratch buffer for device state loading 2020-06-16 15:02:11 -07:00
geeksville
aadba1f694 add printPacket for debug printing packets 2020-06-14 15:30:42 -07:00
geeksville
13307c502f misc debug output 2020-06-13 16:29:53 -07:00
geeksville
00d55c9daa require min app version 172 2020-06-09 18:20:06 -07:00
geeksville
739f497bbd Merge branch 'master' into longaddr 2020-06-07 22:16:43 -07:00
geeksville
2d2ed591e9 set num_bits for nodenum and packet id after loading save file 2020-06-07 22:12:06 -07:00
geeksville
871a85d688 force all devices to discard old settings 2020-06-07 17:22:07 -07:00
geeksville
9ea65c6793 Fix #153 - details below
Somehow nodenum was getting reset to zero (and saved to flash - which is
bad because it makes the failure permanent).  So I've changed nodenum
selection to occur after we load the saved preferences (and we try to keep
nodenum stable in that case).

I'm puzzled as to how it ever got set to zero (unless there *shudder*
is some errant pointer that clobbered it).  But next week I'm turning
4 byte nodenums back on, which will make this moot - because they
will always be based on macaddr and the current process where nodes
haggle with the mesh to pick a unique one-byte nodenum will be gone.
2020-06-06 08:30:01 -07:00
geeksville
8d14e97dfa oops - we were not saving radio state 2020-06-06 08:07:21 -07:00
geeksville
99437d931e fix #153 2020-06-03 16:08:11 -07:00
geeksville
49b5738f4f add min_app_version so apps can warn if they are too old 2020-06-03 13:57:30 -07:00
geeksville
c753ea7cd1 don't use a fixed randomSeed. 2020-06-03 13:51:53 -07:00
geeksville
5b1488ddf0 Allow packet and nodenums to be 32 bits long (but don't change yet) 2020-06-03 13:46:31 -07:00
geeksville
a34cfb0ee0 Populate metainfo for apps to allow 32 bit node and packet ids 2020-06-03 13:15:45 -07:00
geeksville
d39e775c95 make flash filesystem work on NRF52 2020-05-25 10:07:42 -07:00
geeksville
d2de04d5b2 Fix #59 no need for broadcasts when showing new node pane 2020-05-21 17:21:44 -07:00