Wykres commitów

838 Commity (df2733a3b500a9d9f0de16b8b31bae2aebc19414)

Autor SHA1 Wiadomość Data
geeksville 4147786b12 WIP of adding NRF52 bluetooth API, we take a hardfault in Bluefruit init 2020-07-15 13:10:56 -07:00
Professr e5fac4b78d UBlox GPS now detects loss of lock 2020-07-14 22:53:36 -07:00
Marlon Spangenberg 44749470a4 fix #272 add support for tlora-v2-1-1.6 2020-07-14 16:16:49 +02:00
geeksville 80e8b4adcc turn off gps debug output for now RAK815 2020-07-13 14:20:49 -07:00
geeksville 98dfecdb79 Add external RF switch management for RF95 (needed for RAK815) 2020-07-13 13:18:32 -07:00
geeksville ed6b89b3b1 RAK-815 GPS now kinda works (must update associated libs). comms to it
still a bit yucky
2020-07-10 20:34:03 -07:00
geeksville 9d3ca0d0f9 fix esp32 build 2020-07-10 18:46:33 -07:00
geeksville 05a0405709 GPS not yet ready RAK815 WIP 2020-07-10 14:57:33 -07:00
geeksville efd8b70089 RAK815 GPS WIP 2020-07-10 14:54:32 -07:00
geeksville e12c057c31 RAK815 lora works 2020-07-10 14:37:01 -07:00
geeksville 0b5b18653a Panic if new ever returns NULL 2020-07-10 13:52:54 -07:00
geeksville dc54e7331f memory is tight on the nrf52832 board (for now) - so don't allocate too much 2020-07-10 13:52:26 -07:00
geeksville 6fbf6b2986 RAK815 WIP - use 115200 for serial to USB on this board, best it can do 2020-07-10 13:24:00 -07:00
geeksville feb9992d7d on rak815 use serial port for console 2020-07-10 13:11:29 -07:00
geeksville fb4ac82d45 fix rf95 renaming 2020-07-10 12:47:10 -07:00
geeksville 63474dd952 Only try for NEMA if we have serial 2020-07-10 12:16:10 -07:00
geeksville 1415f2bed7 WIP add support for i2C GPS 2020-07-10 11:43:14 -07:00
geeksville b00a936f41 WIP RAK815 support 2020-07-10 11:02:29 -07:00
geeksville 80b14c0a6f add support for adafruit feather nrf52832 - which is close to a RAK815 2020-07-09 21:27:34 -07:00
geeksville c7290e6ccc don't turn wifi on yet, because my fixes for arduino-esp32 haven't been pushed 2020-07-09 20:11:33 -07:00
geeksville 311d1a56b4 make a bare nrf52840dk build which will work for everyone 2020-07-09 20:05:39 -07:00
geeksville ed589727d6 Update NRF52 build to work again 2020-07-09 19:57:55 -07:00
geeksville 62c9bad183 WIP TCP API server over wifi 2020-07-07 18:37:42 -07:00
geeksville 616da8228e enable wifi for ESP32 2020-07-07 17:41:35 -07:00
grcasanova 37d9fb2dad just a cleanup of the graphics 2020-07-07 10:46:49 +02:00
grcasanova 9803141fe7 merged with master 2020-07-06 21:53:10 +02:00
grcasanova 92b30ebec6 fixes now compiles 2020-07-06 10:45:55 +02:00
Professr ccadb6a43d Added sinceLastSeen check to pings generated by node UI 2020-07-05 19:56:57 -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
grcasanova d5b8038457 fixes 2020-07-06 00:54:30 +02:00
grcasanova 0a6059ba13 refactored threading-related classes, code broken 2020-07-05 23:11:40 +02:00
Kevin Hester d5116935b5
Merge branch 'master' into issue#199 2020-07-04 12:13:21 -07:00
Professr 4d04d10135 Merge screen.cpp 2020-07-03 02:58:55 -07:00
Professr cda423acab Changed GPS DOP display to bars, added satellites display and compass rose 2020-07-03 02:53:56 -07:00
Marcel van der Boom 0b6486256d Merge remote-tracking branch 'upstream/master' into sh1106-support 2020-07-02 17:36:31 +02:00
Slavomir Hustaty da12b93f82
Update configuration.h
https://user-images.githubusercontent.com/1584034/86362734-08525e00-bc76-11ea-8a34-8579d1fa2965.jpg

related to issue https://github.com/meshtastic/Meshtastic-device/issues/243
2020-07-02 16:54:24 +02:00
geeksville 26c43e7091 minor docs 2020-07-01 10:22:17 -07:00
geeksville c327fee986 Fix formatting 2020-07-01 10:09:06 -07:00
geeksville a4f53270e8 fix heltec build (and fix formatting) 2020-07-01 10:08:38 -07:00
Marcel van der Boom 57d968cdcd Merge remote-tracking branch 'upstream/master' into sh1106-support 2020-06-29 09:26:25 +02:00
Professr f2e6c6de58 Fixed filename case sensitivity 2020-06-28 19:03:39 -07:00
Professr 8fa44c3590 Disabled the display heartbeat pixel for pull request 2020-06-28 18:55:51 -07:00
Professr f5b7c33d4e Refactored status handlers and merged 2020-06-28 18:17:52 -07:00
geeksville bd477f0fb2 turn on thread watchdog 2020-06-28 11:12:12 -07:00
Professr 5317895a5e Merged 2020-06-27 21:26:57 -07:00
Professr 542b8b26ce Abstracted statuses, made display event-driven 2020-06-27 21:19:49 -07:00
Marcel van der Boom aaca854620 Merge remote-tracking branch 'upstream/master' into sh1106-support 2020-06-27 10:18:55 +02:00
geeksville a595fc4642 Fix #233 - init distance string before drawing it
(and violating my own "no formatting checkins with other changes" rule
to restore proper indentation for this file)
2020-06-26 15:04:22 -07:00
Marcel van der Boom ac2d3e2ae0 Correct type of setBrightness parameter 2020-06-25 21:16:35 +02:00
Marcel van der Boom 33946af39f SCREEN_WIDTH is visible area already, not addressable area
- sh1106 starts showing from column 2 (the library handles the offsets) so we don't actually need
the different screen width here.
2020-06-25 21:15:12 +02:00
Kevin Hester 8bafd87b76
Merge branch 'master' into pr/228 2020-06-25 11:26:37 -07:00
geeksville 9baaa13897 Add optional external GPS for TTGO Lora V2
per this request: https://meshtastic.discourse.group/t/gps-pin-assignments-for-custom-boards/501/9?u=geeksville
2020-06-25 09:45:21 -07:00
Marlon Spangenberg ae4ab48ddc fixed int float casting & made fillRect 2px smaller 2020-06-25 18:26:32 +02:00
Marcel van der Boom a6c6b45576 Take different screen widths into account for brightness bar
width of sh1106 display is 132 for example
2020-06-25 16:20:49 +02:00
geeksville e7eee0995a fix line endings 2020-06-24 16:14:38 -07:00
geeksville 5687bd09c6 Merge remote-tracking branch 'root/master' into dev 2020-06-24 14:08:36 -07:00
Kevin Hester dd2ffe5d14
Merge branch 'master' into master 2020-06-24 14:03:56 -07:00
Professr ec10e784e1 Fix #207 adjust OLED Brightness by attachDuringLongPress
adjust the OLED Brightness by "attachDuringLongPress" from "OneButton". It will cycle trough 0 to 254 as long as the button is pressed
2020-06-24 22:58:20 +02:00
geeksville 649faa1d93 Merge remote-tracking branch 'root/master' into dev 2020-06-24 13:56:48 -07:00
geeksville 996821d18e Merge remote-tracking branch 'root/master' 2020-06-24 13:33:16 -07:00
Zach Whitehead 3df05cd5c1 break out compass display
Show question mark if unknown location
2020-06-24 13:27:02 -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
Kevin Hester ee0e31be97
Merge branch 'master' into issue#154 2020-06-24 08:19:03 -07:00
Marlon Spangenberg 68e57dd3a7
added ttgo-lora32-v1 gps pins again :D
Sry I messed up as I closed #213, so here are the pin definitions again.
2020-06-24 12:15:50 +02:00
Ellie Hussey 2504311671
Merge branch 'master' into issue#154 2020-06-23 18:30:09 -07:00
Professr e3bcb87cf0 Removed prefix chars, fixed issues related to custom font mappings 2020-06-23 18:02:41 -07:00
Professr 2530dc44c7 Changed unconvertable-character symbol to ¿ and made it return only one per unconvertable sequence 2020-06-23 16:46:41 -07:00
Professr 70a8fe30b7 Merge https://github.com/meshtastic/Meshtastic-device into issue#154 2020-06-23 16:45:40 -07:00
Marlon Spangenberg 30e538e5ed
added Bluetooth Name to paring screen
& changed the order
2020-06-24 01:08:23 +02:00
Kevin Hester 210c904604
Merge branch 'master' into issue#162 2020-06-23 15:40:02 -07:00
Kevin Hester ba3e1abb5e
Merge branch 'master' into dev 2020-06-23 15:37:07 -07:00
geeksville 4e958c9230 make software update keep device from sleeping 2020-06-22 17:10:41 -07:00
Professr 6a857b00db Add cpp clamp function to util.h, switched battery and signal strength percentage calcs to it #197 2020-06-22 14:06:02 -07:00
Professr 6d60a061bc Merge https://github.com/meshtastic/Meshtastic-device into issue#154 2020-06-22 12:27:44 -07:00
Professr 6a09ddef18 Resolved merge conflict 2020-06-22 12:25:59 -07:00
Professr d48e803b7b Custom utf8 conversion replaces unconvertable chars with ? instead of blanks, #154 2020-06-22 12:03:26 -07:00
Professr cfcaf28ace Switched user button to OneButton, added alt button GPIO for #162 2020-06-22 11:09:26 -07:00
geeksville d9e93f3944 Try turning my software update service back on...
Now that I've fixed a couple of nasty esp32-arduino bugs
2020-06-22 10:06:35 -07:00
geeksville 60470211e5 expose battery level via the standard BLE battery service 2020-06-22 10:04:26 -07:00
geeksville c5851a4a0c Report battery level to other nodes in mesh (and apps).
Also today I'll turn back on the the standard "has a battery" BLE
device profile, so the locally connected radio should show up in the
phone's bluetooth popup of battery levels (similar to how a BLE
headphone battery level appears)

cc @lgoix - using code from @professr

```
meshtastic --info
Connected to radio...
my_node_num: 2883444536
has_gps: true
num_channels: 13
region: "unset"
hw_model: "tbeam"
firmware_version: "unset"
packet_id_bits: 32
current_packet_id: 91018534
node_num_bits: 32
message_timeout_msec: 300000
min_app_version: 172

preferences {
  position_broadcast_secs: 900
  send_owner_interval: 4
  wait_bluetooth_secs: 120
  screen_on_secs: 300
  phone_timeout_secs: 900
  phone_sds_timeout_sec: 7200
  mesh_sds_timeout_secs: 7200
  sds_secs: 31536000
  ls_secs: 3600
}
channel_settings {
  tx_power: 23
  modem_config: Bw125Cr48Sf4096
  psk: "\324\361\273: )\007Y\360\274\377\253\317Ni\277"
  name: "Default"
}

Nodes in mesh:
{'num': 2883444536, 'user': {'id': '!2462abdddf38', 'longName': 'Unknown df38', 'shortName': '?38', 'macaddr': 'JGKr3d84'}, 'position': {'altitude': 96, 'batteryLevel': 100, 'latitudeI': 375210641, 'longitudeI': -1223090398, 'time': 1592843564, 'latitude': 37.5210641, 'longitude': -122.3090398}}
```
2020-06-22 09:36:19 -07:00
geeksville 0c0b2446b7 Merge remote-tracking branch 'root/master' into dev 2020-06-22 09:22:54 -07:00
geeksville 665d35196d never wait on GPS reads 2020-06-22 09:17:15 -07:00
Professr e45d0c4dcf Offset battery bars by 1 to reflect room between BAT_MILLIVOLTS_EMPTY and MIN_BAT_MILLIVOLTS 2020-06-22 00:10:04 -07:00
Professr 5c9f22bc18 Moved node count graphic slightly to the left, to allow room for triple-digit node counts 2020-06-21 19:44:32 -07:00
Professr d8287e9cdb Removed DOP to string utility function from GPS.cpp since it's now drawn directly in screen.cpp 2020-06-21 17:43:34 -07:00
Professr c66e064f42 Replaced battery, node, and gps text with a graphical header. Added hash to the beginning of the channel name. 2020-06-21 17:28:37 -07:00
Professr 364fc84aaa Removed unnecessary include, ready for consideration for issue #196 2020-06-21 16:31:09 -07:00
Professr fe4f86bc84 Added battery charge percent estimation 2020-06-21 16:21:34 -07:00
geeksville 982b2e33ff Merge remote-tracking branch 'root/master' into dev 2020-06-21 14:11:53 -07:00
geeksville 8190098bb8 experiment with wifi connections for nodes 2020-06-21 14:11:38 -07:00
Professr da8a048dce Added GPS DOP support (#199) 2020-06-20 18:59:41 -07:00
geeksville b4de495154 show app version on boot screen 2020-06-20 17:07:17 -07:00
geeksville 6566c4f15e don't send bogus latitudes 2020-06-18 14:09:13 -07:00
geeksville c25d6e974f sometimes first read might return 0 for EITHER lat or lon 2020-06-18 11:22:38 -07:00
geeksville cd903dceb9 Fix #187, Ublox GPS fixes, see below:
This was a good one. Two problems
1) We've apparently always been using hte sparkfun API the wrong way, but
but we mostly got lucky.
2) Changing to use the API correctly (asyncronously) exposed a bug in
the library - fixed in a seperate commit
2020-06-18 11:17:01 -07:00
geeksville 3005373760 fix wording of GPS screen messages to be less confusing. Now:
No GPS
No Sats
GPS OK
2020-06-17 17:26:37 -07:00
geeksville 7678540a93 For #187 was not reporting GPS status on new API 2020-06-17 17:25:55 -07:00
geeksville 463666aec5 oops - can't call DEBUG_MSG this early on ESP32 2020-06-17 16:04:37 -07:00
geeksville 03f019dea2 memory size debugging 2020-06-16 19:55:14 -07:00
geeksville a47524b762 cubecell wip 2020-06-16 17:13:26 -07:00
geeksville fd2f5a5ba4 Merge branch 'dev' into cubecell 2020-06-16 16:18:30 -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 d9ab6986ad per @dafeman 1.8V works on E22 2020-06-16 12:02:13 -07:00
geeksville 514d45c219 oops supposed to be TXEN 2020-06-16 06:38:08 -07:00
geeksville e9923ac257 fix LCD build for devboard 2020-06-16 06:26:34 -07:00
geeksville 60ad1793e4 sx1262 improvements attn @dafeman 2020-06-16 06:26:21 -07:00
geeksville 9ad14ad98b Cleanup to merge NR52 support back into mainline 2020-06-15 14:47:14 -07:00
geeksville 477c62082d E22 SX1262 module now works!
Thanks mostly to an old github comment by @beegee-tokyo the fix was easy
(comment here https://github.com/jgromes/RadioLib/issues/12#issuecomment-520450429)

We now set DIO3 to 2.4 volts to power the oscillator inside the E22
module (undocumented in the E22 docs)
2020-06-15 14:38:09 -07:00
geeksville 82169d4115 make recent changes work on non ESP hardware 2020-06-15 13:32:06 -07:00
geeksville 92e5a15399 Merge branch 'master' into cubecell 2020-06-15 12:42:01 -07:00
geeksville 114e0c4ada Merge branch 'master' into bringup 2020-06-15 12:41:22 -07:00
Kevin Hester d65f2ede81
Merge branch 'master' into sh1106-support 2020-06-15 12:26:12 -07:00
Zombodotcom 1c6092c430 Fixed GPS pin Definitions 2020-06-15 11:38:15 -06:00
geeksville d8db4449be 0.7.6 2020-06-15 07:04:03 -07:00
geeksville fda98bbf58 oops BLE auth should not change 2020-06-14 15:52:06 -07:00
geeksville aadba1f694 add printPacket for debug printing packets 2020-06-14 15:30:42 -07:00
geeksville 2c8d152885 Use old style (pre BLE 4.2) pairing, it seems more reliable 2020-06-14 15:30:21 -07:00
Marcel van der Boom 37c598833c Add support for SH1106 controller
The SH1106 is almost indistinguisable from a SSD1306.

- the nr of columns in the sh1106 is 132 vs 128
- use the proper includes/library functions when in use
2020-06-14 10:28:23 +02:00
geeksville 13307c502f misc debug output 2020-06-13 16:29:53 -07:00
geeksville 8a1754efe8 leave the software update service off for now - no one is using ityet 2020-06-13 11:36:45 -07:00
geeksville 8caa075bc6 used fixed pool allocator for now - since that's how we've been testing 2020-06-13 11:05:36 -07:00
geeksville d5deb49d20 use executeDelete to prevent leaking BLE handles 2020-06-13 11:05:13 -07:00
geeksville 575a15e135 remove more dead rev1 protocol code 2020-06-13 08:29:41 -07:00
geeksville dc7469c64b useful bluetooth debugging output 2020-06-13 08:29:25 -07:00
geeksville f54b18f733 each tx packet might have a retransmission/ack copy, make pool bigger 2020-06-13 08:27:44 -07:00
geeksville db66e4dc00 ensure we never get null from malloc 2020-06-13 08:27:25 -07:00
geeksville 03cb3c2145 basic stack debugging - we are okay for now 2020-06-12 16:37:03 -07:00
geeksville a8d4b5479d don't start the BLE update service for now - the android side isn't ready 2020-06-12 15:48:24 -07:00
geeksville f0b8f10665 Fix #149: Use a simple heap allocator for now, after 1.0 we can go to
fixed sized pools to protect against fragmentation.
2020-06-12 12:11:18 -07:00
geeksville 88b91de197 Prepare to make MemoryDynamic 2020-06-12 11:56:13 -07:00
geeksville 1f668046a0 if we can't sleep, at least have the processor block for 100ms 2020-06-10 18:23:20 -07:00
geeksville 8ccd59a7d8 Fix #115: wake from light sleep if a character arrives on the serial port
Note - we do this not by using the uart wake feature, but by the lower
power GPIO edge feature.  Recommend sending "Z" 0x5A - because that has
many edges.  Send the character 4 times to make sure the device is awake
2020-06-10 15:36:38 -07:00
geeksville ddfdae64bf Fix #167 while in light sleep, allow loop() to still run occasionally 2020-06-10 14:11:56 -07:00
geeksville f02a2c0853 Merge branch 'usb' into bringup 2020-06-09 18:20:34 -07:00
geeksville 00d55c9daa require min app version 172 2020-06-09 18:20:06 -07:00
geeksville a05e45f84b make txQueue private 2020-06-09 15:47:05 -07:00
geeksville a8a5e036f5 turn off serial debug output once we are using the protocol on the stream 2020-06-09 10:35:06 -07:00
geeksville 009f05b61d temp workaround for sleep bug #167 2020-06-09 06:38:09 -07:00
geeksville ce9bac34d6 add a new SERIAL psm state, to ensure device doesn't sleep while
connected to the phone over USB.

In support of

https://github.com/meshtastic/Meshtastic-Android/issues/38
2020-06-08 16:37:49 -07:00
geeksville bdbaf9c655 remove old BLE api 2020-06-08 16:08:02 -07:00
geeksville 7473a6c27a unify activity detection in PhoneAPI, turn off BLE API while serial API in use 2020-06-08 16:06:59 -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 e124d2094f PROTOCOL CHANGE! activate 32 bit nodenums/packetids 2020-06-06 13:16:36 -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 1c63a70673 cubecell WIP 2020-06-05 17:30:09 -07:00
geeksville 4db176867b WIP - bringup on PPR 2020-06-05 11:00:58 -07:00
geeksville 4b5cfaf9ba changes from bringing up PPR 2020-06-05 11:00:18 -07:00
geeksville 99437d931e fix #153 2020-06-03 16:08:11 -07:00
geeksville 5166717298 confirm randomSeed is set correctly 2020-06-03 14:24:34 -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 e522e47544 Full DSR WIP 2020-06-03 12:49:36 -07:00
geeksville ed0f79b683 Merge branch 'master' into nrf52 2020-05-27 15:54:44 -07:00
geeksville 1b34a0c6d8 Help make sx1262 go for @dafeman 's board. See below for details:
Hi, I think the problem you were having building for ESP32 was due to
a funny thing.  Notice the #define for INTERRUPT_ATTR.  That macro expands
to IRAM_ATTR - which is a special flag the ESP32 requires for _any_ code
that is going to be called from an ISR.  So that the code is guaranteed
to be in RAM (the ESP32 uses a clever scheme where the FLASH is actually
high speed serial flash and all reads/writes are actually only happening
to a small number of pages in RAM and they have a driver that is constantly
copying blocks they need into that ram.  This essentially how VM works
for desktop computers, but in their case they are paging to FLASH.

But for code that runs in an interrupt handler must _always_ be in RAM
because if you took a 'page fault' for that code being missing in RAM they
can't nicely do their clever VM scheme.

So that's all good.  The problem was - apparently GCC for the ESP32 has a
a bug when that attribute is applied in the class declaration.  So
I moved it out into the cpp file and all seems well now.
2020-05-27 15:47:59 -07:00
geeksville 313380381b no need for this old debug output 2020-05-27 15:40:47 -07:00
geeksville f56ff2ca20 DSR WIP 2020-05-27 15:31:32 -07:00
geeksville f3a1c5e679 Possible fix for https://meshtastic.discourse.group/t/a-note-about-limited-support-for-the-neo-8m-gps-boards/233/3?u=geeksville 2020-05-26 13:10:34 -07:00
geeksville a96c8fd4db nrf52 debugging is supported as long as BLE is not advertising 2020-05-25 17:16:09 -07:00
geeksville da3ed9926b add monitor mode debugging support 2020-05-25 15:56:06 -07:00
geeksville fd386d9d7f UC1701 WIP 2020-05-25 15:55:38 -07:00
geeksville 5d1614989e Only add interfaces to the router if they can be initied 2020-05-25 15:47:45 -07:00
geeksville f4b1678535 my DSR changes broke acks for flood routing also. Fix #146 2020-05-25 11:55:42 -07:00
geeksville 03999e9d56 fix build for esp32 2020-05-25 10:46:26 -07:00
geeksville d5f177b1ee begin UC1701 driver 2020-05-25 10:41:46 -07:00
geeksville fdaed7e323 Fix MIN_BAT_MILLIVOLTS per @spattinson 2020-05-25 10:41:19 -07:00
geeksville d39e775c95 make flash filesystem work on NRF52 2020-05-25 10:07:42 -07:00
geeksville 829e0b6e26 fix extra free 2020-05-25 08:19:14 -07:00
geeksville 1656c8d0cb use my Timer class on all platforms, it works better than the freertos version 2020-05-25 07:48:36 -07:00
geeksville 2770cc7de3 Use the SX1262 receive duty cycle mode to get radio current draw down to
about 2.5mA @ 3V while in receive mode.
2020-05-24 19:23:50 -07:00
geeksville 48de631e04 disable activelyReceiving for sx1262 for now - it doesn't yet work 2020-05-24 16:34:18 -07:00
geeksville 66b11bcbd7 print RF52 reset reason 2020-05-24 16:20:21 -07:00
geeksville cda7487cbe add a NRF52 hardfault handler 2020-05-24 16:08:58 -07:00
geeksville e8f6504ec4 Make an accelerated NRF52 implementation for AEX256-CTR crypto 2020-05-24 14:45:50 -07:00
geeksville 8f1b26bdda DSR wip still kinda busted (rx packets not working - even for regular router) 2020-05-24 12:59:10 -07:00
geeksville 5bd3e4bcd0 DSR WIP 2020-05-23 17:39:08 -07:00
geeksville fb3b62f8f0 CSR WIP 2020-05-23 15:48:23 -07:00
geeksville e89fe2f7d9 DSR WIP 2020-05-23 12:50:33 -07:00
geeksville 16812c3ee4 add ignore_incoming to user preferences, for automated testing of DSR topologies 2020-05-23 10:01:36 -07:00
geeksville c9cb293bf2 cleanup virtual inheritence for Router/Reliable/Flooding/DSR 2020-05-23 09:24:22 -07:00
geeksville 8e2e154cdd Merge remote-tracking branch 'root/master' into nrf52 2020-05-22 19:06:35 -07:00
geeksville dd0209b192 Merge remote-tracking branch 'root/master' into nrf52
# Conflicts:
#	docs/software/nrf52-TODO.md
#	src/mesh/RadioLibInterface.cpp
#	src/mesh/mesh.pb.h
2020-05-22 11:12:22 -07:00
geeksville 925e46da8c make serial console work on nrf52 2020-05-21 21:17:53 -07:00
geeksville 2dadb4d7a2 make nrf52dk build again 2020-05-21 20:31:22 -07:00
geeksville d2de04d5b2 Fix #59 no need for broadcasts when showing new node pane 2020-05-21 17:21:44 -07:00
geeksville 9dd88281af reliable broadcast now works 2020-05-21 16:34:16 -07:00
geeksville e75561016b retransmissions work again 2020-05-21 15:55:57 -07:00
geeksville e2cbccb133 add want_ack support for broadcast packets 2020-05-21 12:47:41 -07:00
geeksville 0271df0657 add beginnings of full DSR routing 2020-05-21 12:47:08 -07:00
geeksville 71041e8674 reliable unicast 1 hop works! 2020-05-19 15:51:07 -07:00
geeksville c65b518432 less logspam 2020-05-19 14:54:58 -07:00
geeksville 6ba960ce47 one hop reliable ready for testing 2020-05-19 14:54:47 -07:00
geeksville 8bf4919576 wip reliable unicast (1 hop) 2020-05-19 11:56:17 -07:00
geeksville cca4867987 want_ack flag added 2020-05-19 10:27:28 -07:00
geeksville 976bdad067 sniffReceived now allows router to inspect packets not destined for this node 2020-05-18 17:57:58 -07:00
geeksville 26d3ef529e Use the hop_limit field of MeshPacket to limit max delivery depth in
the mesh.
2020-05-18 17:35:23 -07:00
geeksville 19f5a5ef79 oops - use correct battery shutoff voltage 2020-05-17 05:12:16 -07:00
geeksville ef831a0b4d Fix leaving display on in deep sleep.
We shutoff screen immediately, rather than waiting for our loop call()
2020-05-17 05:11:32 -07:00
geeksville efc239533c Fix #133 - force deep sleep if battery reaches 10% 2020-05-17 05:10:51 -07:00
geeksville ef1463a6a9 have tbeam charge at max rate (450mA) 2020-05-17 04:44:48 -07:00
geeksville 6961853ed7 ble software update fixes 2020-05-15 10:16:10 -07:00
geeksville 5ec5248fe4 complete ble ota move 2020-05-14 14:22:11 -07:00
geeksville 14fdd33972 move bluetooth OTA back into main tree for now 2020-05-14 14:20:05 -07:00
geeksville 140e29840a fix rare gurumeditation if we are unlucky and some ISR code is in serial flash 2020-05-14 12:46:29 -07:00
geeksville a0b43b9a95 Send "unset" for hwver and swver if they were unset 2020-05-12 17:57:51 -07:00
geeksville b6a202d68e runs again with new protobufs 2020-05-12 13:35:22 -07:00
geeksville 9f05ad2927 remove random delay hack from broadcast, since we now do that for all transmits 2020-05-11 16:19:44 -07:00
geeksville 86ae69d360 refactor so I can track and ignore recent packets of any type 2020-05-11 16:14:53 -07:00
geeksville c12fb69ca2 update protos 2020-05-10 14:17:05 -07:00
geeksville 8b911aba7f Cleanup build for NRF52 targets 2020-05-10 12:33:17 -07:00
geeksville 2fa595523f minor fixups to get nrf52 building again 2020-05-09 21:02:56 -07:00
geeksville 3e356e5866 Crypto works! 2020-05-09 19:08:04 -07:00
geeksville 1cc24de787 stub encryptor seems nicely backwards compatible with old devices and apps 2020-05-09 17:51:20 -07:00
geeksville e6875d559c Remove MeshRadio wrapper class - we don't need it anymore. 2020-05-09 16:32:26 -07:00
geeksville 28d21ecdcc begin work on crypto 2020-05-09 16:15:01 -07:00
geeksville 8bfe9fa8fc 0.6.3 - fix the problem of BLE message receiption being busted in 0.6.2 2020-05-05 18:40:17 -07:00
geeksville dcd1f7478a fix 124 - we now fallback to nema if we can't talk ublox protocol to
the GPS.  Though we are super power inefficient about it so TODO/FIXME
someday to decrease our power draw.
2020-05-04 20:02:43 -07:00
geeksville c2be6c4068 WIP on #124 2020-05-04 17:39:57 -07:00
geeksville 101eef5495 oops lat/lon need to be signed ;-) 2020-05-04 11:21:24 -07:00
geeksville 933d5424da abstract out the UBlox GPS driver 2020-05-04 11:15:05 -07:00
geeksville ecf528f9b6 move gps before refactoring 2020-05-04 10:23:47 -07:00
geeksville 9b309fe0a0 Use int based lat/long from now on in the device code
for https://github.com/meshtastic/Meshtastic-device/issues/124
2020-05-04 08:09:08 -07:00
geeksville 624b95782d fix missing carriage returns. thanks to @gregwalters in #119 2020-05-02 20:21:42 -07:00
geeksville 1d9290afc0 now that the rfinterfaces are smarter, no need to do backoff in
the flood router.  the interfaces will handle it.
2020-05-02 19:53:58 -07:00
geeksville ad2f639195 don't leak messages if they are handled locally 2020-05-02 19:53:13 -07:00
geeksville 07b4eea037 fix log msg 2020-05-02 19:52:54 -07:00
geeksville 79c61cf0e0 limit max power on rf95 to 17 (rather than 20, because 20 can...
burn up parts if you exceed 1% duty cycle)
2020-05-02 19:52:37 -07:00
geeksville 80268ea56a send() is supposed to always free buffers, even if it returns an error 2020-05-02 19:51:55 -07:00
geeksville bb9f595b8b Fix #11 2020-05-02 19:51:25 -07:00
geeksville 2ad314f150 we now always listen before transmit - even if we have just completed a packet 2020-05-02 08:29:51 -07:00
geeksville 4f7a25f562 remove unneeded include 2020-05-01 16:33:40 -07:00
geeksville 4176d79ee9 fix warnings 2020-05-01 16:33:26 -07:00
geeksville e084699704 SNR is now a float, fix the screen display 2020-05-01 12:31:36 -07:00
geeksville 50213d8323 move packet handling into its own thread 2020-05-01 12:11:04 -07:00
geeksville 71fcdba017 cleanup directory structure 2020-05-01 09:04:00 -07:00
geeksville 5a4fab2506 start msg sequence numbers with a random number each boot 2020-05-01 08:51:53 -07:00
geeksville 31eb2f5337 very important: don't allow immediate sends if we have pending ISRs 2020-05-01 08:32:16 -07:00
geeksville 82c1752d85 less logspam 2020-05-01 08:31:52 -07:00
geeksville 49a13bbfd3 increase gps config timeout, could take up to 2.5 secs 2020-05-01 08:31:31 -07:00
geeksville 0096f54ae9 better debug output 2020-04-30 22:53:21 -07:00
geeksville 4e106f4098 remove radiohead 2020-04-30 21:42:11 -07:00
geeksville 1f1d683f4f add back the old code that checked if the radio was actvively receiving 2020-04-30 21:29:51 -07:00
geeksville a8f64c3cc8 make a custom version fo rf95 class, so we can can deal with
chips that have bad version codes.
2020-04-30 21:11:03 -07:00
geeksville 968a2d7fbc store SNR in received packets 2020-04-30 19:58:10 -07:00
geeksville 1fab9c5aac temp hack to get new rf95 driver working 2020-04-30 19:31:17 -07:00
geeksville 22bca31ce3 properly set the RF95 iface 2020-04-30 18:05:06 -07:00
geeksville 48c045a253 move SPI init into main 2020-04-30 17:56:30 -07:00
geeksville e9ca7792eb new RF95 driver is written 2020-04-30 17:43:29 -07:00
geeksville b1a55b4576 old RF95 API works again 2020-04-30 16:47:56 -07:00
geeksville dd7452ad96 old RF95 code builds again 2020-04-30 16:36:59 -07:00
geeksville d7d8188093 implement most of sleep handling for the new radio stack 2020-04-30 15:50:07 -07:00
geeksville 62a893c760 SX1262 approximately works top-to-bottom, but need to add sleep modes 2020-04-30 15:43:41 -07:00
geeksville a2ba9d3c44 new receive code works a little better 2020-04-30 13:50:40 -07:00
geeksville 22720e9f63 ex1262 receiving kinda works 2020-04-30 12:37:58 -07:00
geeksville 11b79a942d add todos 2020-04-30 10:54:53 -07:00
geeksville 3c3e722181 new sending kinda works 2020-04-30 10:00:40 -07:00
geeksville fce31560c6 the mountain of changes needed to kinda make tx work compiles. 2020-04-30 09:44:16 -07:00
geeksville 2982e197e0 radio settings now work on real sx1262 hw 2020-04-29 19:04:59 -07:00
geeksville f69ddf168b we now hopefully apply the same radio settings as we did for the RF95 2020-04-29 18:46:32 -07:00
geeksville 8d985cfd37 cleanup so eventually rf95 can share common msg code with sx1262 2020-04-29 16:28:11 -07:00
geeksville 4693302d82 crummy sx1262 fake init kinda works 2020-04-29 16:06:23 -07:00
geeksville 814c126e67 ugly WIP on switching to RadioLib, still need to set freq etc... 2020-04-29 14:54:03 -07:00
geeksville 2ab34357d5 emit FromRadio.rebooted to serial test harness can detect reboots 2020-04-28 17:43:16 -07:00
geeksville b704911603 minor protobuf update 2020-04-28 11:20:00 -07:00
geeksville 59086fd477 fixes after testing stream protocol with python client 2020-04-27 18:52:57 -07:00
geeksville 88a704c4d3 for now, allow debug out to be interleaved with protobufs 2020-04-27 09:46:06 -07:00
geeksville cceecf5f8e New serial protobuf transport approximately works and is backward
compatiable with the text debug output.
2020-04-27 09:36:39 -07:00
geeksville eb40013ddc Create RedirectablePrint and NoopPrint for serial debug redirection 2020-04-27 09:01:25 -07:00
geeksville dda946d933 Stream API coded but not tested 2020-04-27 08:45:39 -07:00
geeksville 178e800969 add beginnings of StreamAPI 2020-04-27 08:10:17 -07:00
geeksville dec4870649 begin cleaning up mesh library layer so that it could be split someday 2020-04-27 07:54:19 -07:00
geeksville 15cb599cd1 move nrf52 stuff to correct directory name 2020-04-27 07:39:50 -07:00
geeksville def86131f0 Merge branch 'master' into nrf52
# Conflicts:
#	src/main.cpp
2020-04-26 18:34:41 -07:00
geeksville 8f1c1a9049 move debug msg 2020-04-25 11:46:46 -07:00
geeksville 3f3a1a11df when flooding, randomly delay sent packets to decrease chances of...
stomping on other senders that we can't even hear.
2020-04-25 11:43:28 -07:00
geeksville 64f6c0f5c0 clean up PeriodicTask so I can eventually use it with a scheduler 2020-04-25 10:59:40 -07:00
geeksville db11d9280c add nrf52 DFU app helper 2020-04-24 21:08:16 -07:00
geeksville ca03110932 Update ESP32 build to work with latest NRF52 changes 2020-04-24 14:55:51 -07:00
geeksville bebaa838c4 no need for LightSleep state on NRF52 CPUs 2020-04-24 11:21:10 -07:00
geeksville 7fa9d09d9f placeholder guess at PMU code until I have HW 2020-04-24 09:33:45 -07:00
geeksville 7bc299573f move esp32 specific code into esp32 land 2020-04-24 08:52:49 -07:00
geeksville 5e75beff3f don't block but queue log messages for the ICE (and eventual crash reports) 2020-04-24 08:06:29 -07:00
geeksville 4f7e85c1a4 cleanup serial instanciation on boards where we might not use it 2020-04-24 08:05:56 -07:00
geeksville d445cbe083 fix device name 2020-04-23 21:22:58 -07:00
geeksville 3c9c01189d old RF95 driver probably works on NRF52 now 2020-04-23 18:47:27 -07:00
geeksville 4f3a9d8646 example BLE code approximately works 2020-04-23 18:11:32 -07:00
geeksville 0c7c3f17e5 fix nrf52 macaddr byte order 2020-04-23 18:06:46 -07:00
geeksville 5b0451f25c add NRF52 BLE example code 2020-04-23 18:02:28 -07:00
geeksville 8f3b33c84c use a real macaddr on the nrf52 2020-04-23 16:55:25 -07:00
geeksville 2fdb75efdf make GPS 'work' on nrf52 2020-04-23 16:20:07 -07:00
geeksville fbd12e1929 oled screen probably works now on nrf52 2020-04-23 13:56:15 -07:00
geeksville ffe95f62ab no need to pass in scl & sda into screen constructor 2020-04-23 13:53:51 -07:00
geeksville 3e4ccef992 fix warnings 2020-04-23 13:53:29 -07:00
geeksville f0f6c4950b on NRF52 use the Segger debug console for debug logging 2020-04-23 13:27:16 -07:00
geeksville 16998ebd8d fix compiler warnings 2020-04-23 13:26:53 -07:00