Commit Graph
2298 Commits
Author SHA1 Message Date
geeksville 514d45c219 oops supposed to be TXEN 2020-06-16 06:38:08 -07:00
geeksville 60ad1793e4 sx1262 improvements attn @dafeman 2020-06-16 06:26:21 -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 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 8caa075bc6 used fixed pool allocator for now - since that's how we've been testing 2020-06-13 11:05:36 -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 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 ddfdae64bf Fix #167 while in light sleep, allow loop() to still run occasionally 2020-06-10 14:11:56 -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 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 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 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 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 f56ff2ca20 DSR WIP 2020-05-27 15:31:32 -07:00
geeksville f4b1678535 my DSR changes broke acks for flood routing also. Fix #146 2020-05-25 11:55:42 -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 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 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