Commit Graph

53 Commits

Author SHA1 Message Date
geeksville
6ad451eb5f move bluetooth code into something that is architecture specific...
because the ESP32 implementation will be different from NRF52
to make this possible I needed to decouple knowlege about bluetooth from
our mesh service.  Instead mesh service now uses the Obserable pattern
to let any interested consumer get notified of important mesh changes
(currently that is only bluetooth, but really we should do the same
thing for decoupling the GUI 'app' from the mesh service)

@girtsf would you mind reviewing my Observer changes? I haven't written
C++ code in a long time ;-)
2020-04-10 12:18:48 -07:00
geeksville
13ac686c96 minor doc cleanups 2020-04-05 13:58:38 -07:00
geeksville
7dabad1b70 don't let phones send down fatally invalid RadioConfig records
and if a phone did in the past, fixup the garbage we saved in flash
2020-03-30 16:10:11 -07:00
geeksville
a0c97825e8 always use gps.isConnected to check for GPS, it is the only thing
guaranteed to be fresh and accurate
2020-03-27 12:32:18 -07:00
geeksville
12e67d3b30 add some debug output 2020-03-25 13:35:49 -07:00
geeksville
50d724780a make user presses ask other nodes for their latest status
see related bug
https://github.com/meshtastic/Meshtastic-esp32/issues/59
2020-03-25 13:09:12 -07:00
geeksville
32ac5ac9ae reformat everything
using @girtsf clang-format prefs settings.  This should allow us to turn
on auto format in our editors without causing spurious file changes.
2020-03-18 19:15:51 -07:00
geeksville
534691f0c2 Merge remote-tracking branch 'root/master'
# Conflicts:
#	src/main.cpp
#	src/screen.cpp
#	src/screen.h
2020-03-18 18:44:12 -07:00
geeksville
c8b95f7691 oops - I broke compass display with my gps changes and didn't notice till
testing with two gps equipped devices.  fixed.
2020-03-18 18:34:22 -07:00
Girts Folkmanis
daf8594b99 Screen cleanups and refactoring
Work towards separating out how Screen interacts with other stuff.
* `Screen` should now be thread-safe. All commands to it are put in a
  queue and handled in `doTask` from the `loop()` task.
* Break dependency from `BluetoothUtil` to `Screen` by changing the
  pairing request into a callback.
* All accesses to screen now happen through the class.
* Fix `drawRows` so that the text scrolls along with frame animations.
* Remove example code that wasn't used.
2020-03-18 18:11:35 -07:00
geeksville
5e55695862 fix build warning 2020-03-18 14:51:54 -07:00
geeksville
ca8a25f585 Merge remote-tracking branch 'root/master' 2020-03-16 09:03:21 -07:00
Girts Folkmanis
7a4a1af332 TypedQueue: make functions return bools instead of BaseType_t
Minor cleanup to hide away some FreeRTOS bits.

Note: I believe src/CustomRF95.cpp:62 had a bug where it had the
condition inverted.
2020-03-15 19:29:04 -07:00
geeksville
74f7b7b622 print extra info the next time this error occurs 2020-03-15 16:57:21 -07:00
geeksville
4999da0824 Merge branch 'dev' into gps-sleep-mode
# Conflicts:
#	docs/software/TODO.md
#	platformio.ini
2020-03-13 18:48:38 -07:00
Kevin Hester
375804c9e4 (needs testing) fixed the following during a plane flight
* Have state machine properly enter deep sleep based on loss of mesh and phone comms.
* Default to enter deep sleep if no LORA received for two hours (indicates user has probably left the mesh).

Signed-off-by: Kevin Hester <kevinh@geeksville.com>
2020-03-03 13:31:44 -08:00
geeksville
877e312833 allow TBEAMs to provide approx GPS time to Heltec devices 2020-02-26 09:00:53 -08:00
geeksville
6eba792537 WIP - changing to a ublox aware GPS lib so I can put it in sleep 2020-02-22 19:08:16 -08:00
geeksville
045529d91f begin cleanup of sleep code for new state machine 2020-02-21 17:01:26 -08:00
geeksville
5f3e8b5309 unify periodic timers 2020-02-21 08:41:36 -08:00
geeksville
b9438357b6 add support for network ping testing 2020-02-19 18:51:17 -08:00
geeksville
bf347aad91 show users walking heading on the screen 2020-02-19 15:29:18 -08:00
geeksville
f5a2596acf fix time scaling 2020-02-19 11:35:34 -08:00
geeksville
cd4cd6fe56 progress on keeping gps off more 2020-02-19 10:53:09 -08:00
geeksville
67e0f5c184 use RTC time for my timestamp (works across deep sleep) 2020-02-19 07:58:51 -08:00
geeksville
ae023a57e8 don't assert fail if the txfifo is full, just drop the packet 2020-02-18 20:17:11 -08:00
geeksville
acce254685 Change RF95 to deliver packets straight from ISR and no polling for anything 2020-02-18 20:06:01 -08:00
geeksville
9481d9e95b loopback test support 2020-02-17 17:47:01 -08:00
geeksville
f34c29a323 experiment with axp192 power management 2020-02-16 16:03:16 -08:00
geeksville
59aaffa3e5 show real received text messages in the gui 2020-02-12 19:58:44 -08:00
geeksville
53cc8f9da3 set rx_time in packets 2020-02-12 14:18:43 -08:00
geeksville
e79c49d100 send network pings when the user does something with their device 2020-02-12 14:07:06 -08:00
geeksville
5aaae9c4fe we now use 13 different channel numbers 2020-02-11 12:05:46 -08:00
geeksville
9897e24453 fix reported alitude to be in meters 2020-02-10 16:44:43 -08:00
geeksville
fb5b4af5be send user messages every 5 mins 2020-02-08 16:18:02 -08:00
geeksville
422e213d2a dynamic nodenum assignment now works 2020-02-08 12:42:54 -08:00
geeksville
c6103ac5ef more rigorlessly pick our memory pool size 2020-02-08 10:00:15 -08:00
geeksville
b2b832c608 nasty rxbuffer underfill bug fixed 2020-02-08 09:39:26 -08:00
geeksville
0c0d4025f1 use press to cycle between screens 2020-02-07 17:48:12 -08:00
geeksville
e1f06bff6d placeholder debug and nodeinfo screens are in 2020-02-07 17:26:42 -08:00
geeksville
3e87e60d43 save db to flash 2020-02-07 09:36:23 -08:00
geeksville
ade30ee1ce bidir comm works 2020-02-06 21:26:40 -08:00
geeksville
61a88a343e we now reply to owner messages with our owner 2020-02-06 11:07:44 -08:00
geeksville
2792e2148f we now send owner at boot 2020-02-06 10:58:19 -08:00
geeksville
241e262f5c we now send gps locations into the mesh and update our nodedb 2020-02-06 08:49:33 -08:00
geeksville
b538677ad2 include our local user in the node db 2020-02-04 09:00:17 -08:00
geeksville
b04fb061c4 stop explicitly using Serial.print for debug messages 2020-02-04 08:17:44 -08:00
geeksville
d0027e9f6a update nodedb based on rx packets 2020-02-03 20:24:07 -08:00
geeksville
8f7f4d894f begin new ble charateristics 2020-02-03 11:15:17 -08:00
geeksville
d11b023c85 add beginnings of nodedb 2020-02-03 09:13:19 -08:00