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
geeksville
b77c068881
create MeshRadio even on NRF52 (though it is currently using a Sim interface)
2020-04-23 12:50:54 -07:00
geeksville
e94227cddd
cope with missing interfaces in send
2020-04-23 12:48:00 -07:00
geeksville
fe3cbeed3a
misc NRF52 fixes
2020-04-23 12:47:41 -07:00
geeksville
a0b6d57591
Fix #69 - new BLE API is in and tested from android
2020-04-23 11:41:30 -07:00
geeksville
3673f95fe5
woot! using new BLE api approximately works for reading
2020-04-23 11:02:14 -07:00
geeksville
c67b53b969
remove owner from ToRadio
2020-04-23 10:30:14 -07:00
geeksville
562b227c73
new API now seems fully implemented - now on to testing. #69
2020-04-22 16:11:54 -07:00
geeksville
169d85d0fa
handle the new set_owner and set_radio messages
2020-04-22 15:13:05 -07:00
geeksville
bd77d47215
change serial baud rate to 921600
2020-04-22 14:58:35 -07:00
geeksville
e40524baf0
begin moving comms glue from the old crufty BLE code to the new cleaner PhoneAPI class
2020-04-22 14:55:36 -07:00
geeksville
9232dfcccf
WIP - add new baseclass for all api endpoints (serial, bluetooth, udp)
...
https://github.com/meshtastic/Meshtastic-esp32/issues/69
2020-04-20 18:03:13 -07:00
geeksville
2419ebb04e
0.4.3 Fix #92 : omg - for the last couple of weeks the official builds were
...
all using US frequencies. This build fixes this (and makes the build
system cleaner in general).
If you are building your own builds in the IDE you'll need to start
setting an environment variable called COUNTRY to your two letter
country code (or leave unset to get US frequencies). See new comment
in platformio.ini.
2020-04-19 08:33:59 -07:00
geeksville
db766f18ed
Fix #99 : move spi ISR operations into helper thread. SPI from ISR is bad!
2020-04-18 14:56:09 -07:00
geeksville
e5f9a752d8
fix comments and cleanup ISR code
2020-04-18 09:22:26 -07:00
geeksville
20b41836e2
clarify log msg
2020-04-18 09:22:08 -07:00
geeksville
78470ed3f5
fix #97 , we need the RF95 IRQ to be level triggered, or we have slim chance of missing events
2020-04-18 08:48:03 -07:00
geeksville
4ce7df295e
don't poll for completion so quickly - the log messages scare people
2020-04-18 08:39:05 -07:00
geeksville
176532f55f
autoformat per formatting rules
2020-04-17 18:50:07 -07:00
geeksville
8eb3045451
Fix #85 , we were stalling sometimes on send while in ISR which is NEVER legal
2020-04-17 18:49:54 -07:00
geeksville
2fe145aed9
debugging goo
2020-04-17 18:48:37 -07:00
geeksville
5b17417e0c
debugging GPIO wake on heltec- seems fine.
2020-04-17 14:30:42 -07:00
geeksville
04a83fd6b7
properly detach observers at destruction
2020-04-17 13:24:38 -07:00
geeksville
7730bd762a
be less chatty about sleep
2020-04-17 13:18:33 -07:00
geeksville
62286fff52
0.4.1 release
2020-04-17 13:05:16 -07:00
geeksville
25cca0628d
more debug output
2020-04-17 12:46:57 -07:00
geeksville
65406eaa08
mesh flooding seems to work pretty well!
2020-04-17 12:41:01 -07:00
geeksville
ea24394110
add first cut of mesh naive flooding
2020-04-17 11:52:20 -07:00
geeksville
6afeb3e456
ok - new router seems to approximately work
2020-04-17 10:38:44 -07:00
geeksville
f108c576a7
massive WIP updates to create a clean Router abstraction for mesh
2020-04-17 09:48:54 -07:00
geeksville
6eb74415ab
protobuf changes as part of getting ready for mesh again
2020-04-16 17:32:36 -07:00
geeksville
2464784f00
todo updates
2020-04-15 14:51:17 -07:00
geeksville
0a6af936ed
Get build (kinda, not really) running on a NRF52
...
Lots of NO_ESP32 to remove later...
2020-04-14 20:22:27 -07:00
geeksville
0b62083e35
wip - plan
2020-04-14 16:45:26 -07:00
geeksville
5ca149fac9
move radiointerface into lib
2020-04-14 14:36:26 -07:00
geeksville
80c69c28cd
move pool/queue management into the rf95 lib
2020-04-14 13:20:36 -07:00
geeksville
5904d66111
Move Custom95 in with the rest of the RH code, to be ready to refactor
2020-04-14 12:38:42 -07:00
geeksville
fd17193d5e
Strip out all the parts of Radiohead (most of it) that we don't need
2020-04-14 12:31:29 -07:00
geeksville
5c379c4a98
missing newline
2020-04-14 11:44:35 -07:00
geeksville
9c5d626e7d
Merge remote-tracking branch 'mine/cleanupblue' into cleanupblue
2020-04-14 11:41:16 -07:00
geeksville
4757b6807e
lots of changes:
...
* preflightSleep, notifySleep, notifyDeepSleep now allow arbitrary
drivers/devices/software to register for sleep notification.
* Use the proceeding to clean up MeshRadio - now the mesh radio is more
like an independent driver that doesn't care so much about other systems
* clean up MeshService so that it can work with zero MeshRadios added.
This is a prelude to supporting boards with multiple interfaces (wifi,
extra LORA radios etc) and allows development/testing in sim with a bare
ESP32 board
* Remove remaining ESP32 dependencies from the bare simulation target
this allows running on anything that implements the arduino API
2020-04-14 11:40:49 -07:00
Kevin Hester
04ad8bb533
Merge branch 'master' into cleanupblue
2020-04-10 21:11:46 -07:00
geeksville
640cb3bf7f
allow observers to return an error code to abort further processing
...
Will allow me to use observers to generalize the various hooks
that need to run to preflight sleep entry.
2020-04-10 12:40:44 -07:00
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
93a06906cb
begin splitting up source files, so we can have a tree of sources...
...
unique to each architecture. For now, we have "esp32" and "bare"
esp32 is the old esp stuff
bare is an target suitable for emulation that doesn't require any
particular hardware to run (no bluetooth, no i2c devices, no spi devices)
2020-04-10 12:15:35 -07:00
BeardyWalrus
3754950a0e
pinouts are swapped for TTGO-Lora32 V1 and V2 boards.
...
discovered by eriktheV-king in discourse
2020-04-09 20:44:15 -04:00
Andrew
753a57230d
Fix Meshtastic#80: Increase screen timeout to 5 minutes
2020-04-06 22:53:10 -07:00
geeksville
c22df18e28
fix collision avoidance for transmit - substantially improves lora tx success
2020-04-06 09:39:44 -07:00
geeksville
13ac686c96
minor doc cleanups
2020-04-05 13:58:38 -07:00
geeksville
05a0266fc4
Fix #77 : bluetooth is supposed to be on in DARK state
2020-04-05 13:09:46 -07:00
geeksville
63e1a3f47e
always set time from GPS if we can
2020-04-04 19:16:30 -07:00
geeksville
07a8972aea
NEO-6M gps with empty backup batteries give super invalid times
2020-04-04 18:47:41 -07:00
geeksville
d1cb45aa5d
string typo
2020-04-04 18:46:19 -07:00
geeksville
da74803ffb
begin cleanup on radio abstraction, details below:
...
* to allow changing to new mesh transport
* to allow a different chipset for the radio
* to allow testing on hardware with a SimRadio
* new "bare" build env for a devboard with virtually no hardware
* make buttons optional
2020-03-31 21:56:35 -07:00
geeksville
17de6f9532
fix #73 : allow hw-model to be longer (16 bytes including terminator)
2020-03-30 19:58:06 -07:00
geeksville
1da62e5ba1
oops - we were previously not marking these protobuf structs as valid
2020-03-30 17:02:41 -07:00
geeksville
feb6f2e59e
extra debug output for radio config, and bump up bax handles for BLE
2020-03-30 17:02:09 -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
81734f75c8
fix review comments (don't let commands queue up if we are missing a display)
2020-03-29 11:13:53 -07:00
geeksville
11d57e721a
fix #68 (@girtsf, pls review - ps: no worries ;-) )
...
// We don't set useDisplay until setup() is called, because some boards have a declaration of this object but the device
// is never found when probing i2c and therefore we don't call setup and never want to do (invalid) accesses to this device.
2020-03-29 11:00:25 -07:00
geeksville
ea250d9cd3
add initial guess at TBEAM 0.7 hardware support
2020-03-28 15:31:22 -07:00
geeksville
be468a2183
add reasonable guesses for TTGO LORA V1 and V2 boards - thanks @sensorsiot
...
for the pinouts
2020-03-28 14:45:33 -07:00
geeksville
cf2aa37635
clean up configuration.h and add support for ttgo-lora-v1 boards
2020-03-27 16:55:19 -07:00
geeksville
d1387be015
Merge remote-tracking branch 'root/master'
...
# Conflicts:
# src/main.cpp
# src/screen.cpp
2020-03-27 14:18:07 -07:00
geeksville
d831beab3d
moving build selection into platformio.ini rather than nasty #defines. thanks to @sensorslot
...
for the pointer to https://github.com/arendst/Tasmota - where I just borrowed heavily ;-)
2020-03-27 14:03:58 -07:00
geeksville
5c4ae6c042
now that axp192 interrups work, no need to poll over i2c. #48
2020-03-27 14:03:58 -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
cc3bac7ea0
Fix AXP192 handling by @spattinson. yay! fix #48
...
Also - now that he fixed that, we can leave PMU interrupts on across sleep
Hopefully the following line will properly credit him in the magic github
universe...
Co-authored-by: spattinson <spattinson@users.noreply.github.com>
2020-03-27 12:29:51 -07:00
Girts Folkmanis
54cd082bfe
fix #49 : make debug screen show real data
...
* Break out debug screen to a separate class and make it thread-safe.
* Break out power state to a separate class.
* Show battery voltage, charging & USB status on debug screen.
* Show GPS lock / no lock
* Fix an off-by-one that I introduced earlier in `drawRows`.
2020-03-26 22:17:47 -07:00
geeksville
a579bbcb50
heltec style devices were not automatically setting their time from the mesh
...
due to a bug in the init of has_gps. Now that we probe for gps we should
default has_gps to false until we hear from it
2020-03-25 13:36:54 -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
3443e60718
never loop waiting on hardware without some sort of timeout ;-)
...
related to https://github.com/meshtastic/Meshtastic-esp32/issues/53
2020-03-25 12:25:46 -07:00
geeksville
65128a04c9
my new watchdog related to the the send tx bug was not quite complete
...
https://github.com/meshtastic/Meshtastic-esp32/issues/53
2020-03-25 11:45:18 -07:00
geeksville
b4b8abe6ec
omg I was not setting the correct flag to tell phone we had gps
2020-03-24 15:20:24 -07:00
geeksville
d647be73df
oops nasty bug probably responsible for ble mutex seeming bugs #33
...
Was calling the wrong superclass method and therfore not properly
populating radio
2020-03-24 15:16:32 -07:00
geeksville
34ead2d68e
add support for reporting device errors up through the phone to analytics
...
related to https://github.com/meshtastic/Meshtastic-esp32/issues/53
2020-03-24 13:33:24 -07:00
geeksville
3f1161b68b
bug #53 - report the error on console and fixup (will add analytics in
...
a separate call)
2020-03-24 13:04:28 -07:00
Kevin Hester
1f83f7d9df
Merge branch 'master' into fix-upside-down-screen
2020-03-24 10:55:56 -07:00
Girts Folkmanis
dee3e530de
fix #52 : bluetooth not pairing
...
Silly type error on my part - PIN was always truncated to lower 8 bits.
😬
Tested: Pairing now works from both nRF Connect and phone.
2020-03-22 19:18:49 -07:00
Girts Folkmanis
3e44c2c3e1
screen.cpp: flip the display 180
2020-03-19 20:15:51 -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
Girts Folkmanis
5b54fd6359
screen.cpp: reformat with clang-format
2020-03-18 17:16:19 -07:00
geeksville
53765298e1
add a real BOOT state, to avoid glitch from redrawing bootscreen twice
...
also its the right thing to do ;-)
2020-03-18 15:00:17 -07:00
geeksville
0d94458c4e
bump preferences #
2020-03-18 14:59:30 -07:00
geeksville
5e55695862
fix build warning
2020-03-18 14:51:54 -07:00
geeksville
dbbb62f63e
fix press to properly force any node we are watching to send us a new
...
position report
2020-03-18 13:51:32 -07:00
geeksville
79ce7d929c
send dynamic probed GPS status to the phone
2020-03-18 13:29:22 -07:00
geeksville
33437b5246
oops - I accidentally shadowed a variable I didn't want to shadow ;-)
2020-03-18 09:37:38 -07:00
geeksville
f4bacb9d87
some tbeams have occasional crap sitting in their gps rx buffer at boot?
2020-03-18 09:29:20 -07:00
geeksville
0ac218b06d
allow gpses which only have the RX pin connected to also work.
...
(and because I'm lazy, let the autoreformat rule work on this file)
2020-03-18 09:21:28 -07:00
geeksville
2134b4db9b
fix #40 force an extra redraw for the bootscreen,
...
some clones drop the first draw cmd
2020-03-17 16:36:48 -07:00
geeksville
36bee8fa53
Merge remote-tracking branch 'root/master'
2020-03-16 09:30:24 -07:00
Girts Folkmanis
41c95eaff7
fix build: add missing include to screen.cpp
2020-03-16 09:26:40 -07:00
geeksville
ca8a25f585
Merge remote-tracking branch 'root/master'
2020-03-16 09:03:21 -07:00
Kevin Hester
51a8700391
Merge pull request #35 from girtsf/underp-lock-paths
...
underp include paths in lock.h
2020-03-16 09:02:54 -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
Girts Folkmanis
90ecdf229e
add locks to PeriodicTask
2020-03-15 19:29:00 -07:00
geeksville
24ac907780
auto generate channel numbers from name
...
NOTE: All radios on a channel will need to be updated to this release
before they can talk together again.
2020-03-15 17:51:57 -07:00
geeksville
5037fb830e
fix build (and autoformat in visual studio code)
2020-03-15 17:50:48 -07:00
Girts Folkmanis
79f1346359
underp include paths in lock.h
...
Had the casing wrong, but could get away with it on a mac.
2020-03-15 17:43:42 -07:00
geeksville
30a431788d
we now do bidirectional comms to GPS at startup, so we can always trust isConnected
2020-03-15 16:57:21 -07:00
geeksville
d0b8adab75
In my work for #11 I accidentially created a serious bug on Heltec...
...
devices. It caused bogus i2c transactions when device would go to sleep.
Fixed now, also, I now treat GPS usage uniformly between TBEAM and HELTEC
we always probe for and use the GPS if we find it.
Which means for the extra nerds
(someone requested this, I'm sorry - I don't remember who) you can now
optionally attach an external GPS to HELTECs if you want. The pins are:
#define GPS_RX_PIN 34
#define GPS_TX_PIN 12
(@girtsf, sorry about including formatting changes in this PR, apparently
I had my IDE set to not autoreformat until just now
2020-03-15 16:57:21 -07:00
geeksville
74f7b7b622
print extra info the next time this error occurs
2020-03-15 16:57:21 -07:00
Girts Folkmanis
2874b22d6c
add a Lock, LockGuard and printThreadInfo
...
* `Lock`: trivial wrapper for FreeRTOS binary semaphores
* `LockGuard`: RAII wrapper for using `Lock`
* `printThreadInfo`: helper for showing which core/FreeRTOS task we are
running under
2020-03-15 16:52:19 -07:00
Girts Folkmanis
b5201f928b
fix the build: remove includes for TinyGPS that's not longer used or in deps
2020-03-15 13:27:00 -07:00
geeksville
0d62a2be85
release 0.1.6
2020-03-14 18:48:15 -07:00
geeksville
9c971d3686
Finally - new sexy ultra low power/low latency GPS code is in for TBEAM
2020-03-14 18:45:24 -07:00
geeksville
3c1357b732
ublox is better but still not perfect
2020-03-14 16:31:12 -07:00
geeksville
acd5e5d29d
use power save mode on gps
2020-03-14 13:33:53 -07:00
geeksville
64109b25f2
Switch to native ublox api for GPS position and time
2020-03-14 12:46:24 -07:00
geeksville
e93bc76ac9
Merge branch 'master' into gps-sleep-mode
2020-03-13 22:45:40 -07:00
geeksville
1107c6d23d
Fix serious bug: button presses were not waking from light-sleep on TBEAM
...
Root cause seems to be the axp192 interrupt, which on some boards fires
during sleep. I'm not sure why, but we don't need this yet, so leaving
masked during sleep.
2020-03-13 22:42:43 -07:00
geeksville
35cf8a4859
power debugging
2020-03-13 22:38:58 -07:00
geeksville
76f21dfd6e
wip
2020-03-13 22:34:44 -07:00
geeksville
9bbd658b9d
begin testing native ublox api
2020-03-13 20:30:48 -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
geeksville
a783341df1
begin adding temporary support for both NEMA and UBLOX gpses
2020-03-13 18:44:14 -07:00
astro-arphid
91227b25df
#13 - add support for 433MHz Heltec boards
2020-03-12 06:05:11 +00:00
geeksville
9995d2a7ab
oops copypasta error fix #19 . Thanks @iveskins!
2020-03-10 19:33:16 -07:00
geeksville
f87cb00940
show reason for last reset
2020-03-08 14:05:12 -07:00
geeksville
011864a2d3
Fix #15 Force all devices to update preferences
2020-03-08 11:02:58 -07:00
geeksville
ffe8bf2be6
Refactor to make some real design docs
2020-03-05 18:39:24 -08:00
geeksville
c66e24aa4d
most users are not using the phone app now, don't enter SDS state because of no phone comms
2020-03-04 18:59:10 -08:00
geeksville
951f5d11d5
fix text message display when new text arrives
...
The problem was we were pulsing the display power briefly down while
reentering the ON state (because the ON states exit rule turned it off).
Instead we now just turn off the screen on entry to DARK or LS states
2020-03-04 16:46:57 -08:00
geeksville
2ce95ed2ce
fix typo in SDS sleep time
2020-03-04 16:10:48 -08:00
geeksville
d1b7b6c5c5
oops - I was previously stopping bluetooth before stopping the mesh bluetooth service
...
which was bad bad
2020-03-04 16:10:36 -08:00
geeksville
425c570757
don't show fake GPS level on devices without one #4
2020-03-04 10:51:29 -08:00
Kevin Hester
46dab2d496
Make devicestate.version something that only the device code cares about
2020-03-03 13:46:11 -08: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
Kevin Hester
fe5703c684
fix the "blank screen when a text message arrives" bug
2020-03-03 10:15:23 -08:00
Kevin Hester
28588f6730
send hw version info via protobufs
2020-03-03 08:23:58 -08:00
Kevin Hester
d074218049
no need to stop mesh service during sw update, bug was on the android side
2020-03-03 07:38:56 -08:00
Kevin Hester
1f07d6735b
fix a nasty sleep bug: we weren't stopping our old mesh service
...
so it would kinda keep living (along with the recreated one) when we
come back from sleep.
2020-03-03 07:36:35 -08:00
Kevin Hester
bb0b2e72c8
stop using ino files, visual studio doesn't like them
2020-03-03 07:34:05 -08:00
Kevin Hester
12a68026e7
clarify release of meshpacket back to pool
2020-03-02 09:02:21 -08:00
Girts Folkmanis
0b8d7768fd
some minor cleanups
...
* Suppress warnings about conflicting library names in platformio.ini by
explicitly picking the libraries by id that we want.
* fix unused static function warning by making it not static ;)
* declare arduino-fsm as dependency for BluetoothOTA. Hopefully this
fixes the CI builds?
Tested: `pio run` builds.
2020-02-28 19:26:11 -08:00
geeksville
877e312833
allow TBEAMs to provide approx GPS time to Heltec devices
2020-02-26 09:00:53 -08:00
geeksville
7b348f30ac
text messages screen not coming up if screen was already on
2020-02-25 10:29:37 -08:00
geeksville
8893be57df
kinda ugly but BLE sw update seems reliable again
2020-02-24 18:09:58 -08:00
geeksville
6b696bfdc5
hw vendor strings must match file names for auto update
2020-02-24 11:21:34 -08:00
geeksville
a3df099f60
until my TBEAM is fixed, leave GPS power on in sleep sometimes
2020-02-24 11:21:08 -08:00
geeksville
bb808c6c52
fix bluetooth pairing UX. enter full ON state when requested
2020-02-24 10:23:07 -08:00
geeksville
51b53f406e
include region code in the BLE HW version string. ie 1.0-US
2020-02-24 09:22:34 -08:00
geeksville
bd0f35ad83
fix encoding of sw version numbers in the BLE device info
2020-02-24 09:12:13 -08:00
geeksville
0110e1d2e0
release 0.0.4
2020-02-23 20:08:20 -08:00
geeksville
82afd234a1
don't stomp on RX packets when we have something ready to send
2020-02-23 19:51:43 -08:00
geeksville
419dd44ff6
BT sleep leak now down to about 200 bytes
2020-02-23 18:09:40 -08:00
geeksville
621beadb5c
btle leak per sleep now down to about 500 bytes.
2020-02-23 16:42:09 -08:00
geeksville
8dfd7a4a71
the ble goo is still leaking on destroy, but better
2020-02-23 14:09:52 -08:00
geeksville
a45d7be922
still leaking in the BT stack but better
2020-02-23 13:54:40 -08:00
geeksville
f9ce6a53e1
ble works again after sleep - but we are still leaking
2020-02-23 13:20:46 -08:00
geeksville
5f88174dbf
wip - finally done switching to dynamic allocs
2020-02-23 12:25:59 -08:00
geeksville
76100e23eb
WIP make swupdate keep power on
2020-02-23 11:37:38 -08:00
geeksville
a678dd3ee8
WIP - all BT characteristics must be dynamically alloced
2020-02-23 11:05:55 -08:00
geeksville
356902d552
wip - make ble come back after sleep
2020-02-23 10:49:37 -08:00
geeksville
4906b12489
prevent ble powerdown while phone is connected
2020-02-23 08:53:52 -08:00
geeksville
635e189007
GPS sleep mode WIP - alas this thread will have to be back burner for a
...
while because my TX wire on my ONLY T-BEAM broke while I was soldering
a jtag connector - so I can only RX from the GPS.
My other 5 boards are still delayed due to corona virus.
So I'll work on other features for now
2020-02-22 20:05:38 -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
372a3e000e
button presses are fixed
2020-02-22 18:02:44 -08:00
geeksville
5e2044dd63
blink the led very briefly every 5 secs while in light sleep
2020-02-22 17:40:31 -08:00
geeksville
a1a1ceb94d
while not perfect, good enough to move power statemachine to master
2020-02-22 14:56:19 -08:00
geeksville
ca37e50362
WIP light sleep kinda works
2020-02-22 14:45:58 -08:00
geeksville
fe2ca65a11
WIP kinda works but light sleep still busted
2020-02-22 13:50:08 -08:00
geeksville
c7894f3bc5
fsm WIP might work
2020-02-22 13:14:10 -08:00
geeksville
509f9b6e2b
WIP state machine builds
2020-02-22 12:01:59 -08:00
geeksville
045529d91f
begin cleanup of sleep code for new state machine
2020-02-21 17:01:26 -08:00
geeksville
aebcbf767f
GPS works better now with light-sleep but not quite done.
2020-02-21 12:24:35 -08:00
geeksville
598023f5db
PMU IRQ polarity was backwards
2020-02-21 11:39:10 -08:00
geeksville
3df81682b3
now that light-sleep kinda works, use deep-sleep far more rarely
2020-02-21 11:32:33 -08:00
geeksville
20461807f3
change screen into a periodictask, so it can be used with the scheduler
2020-02-21 10:51:36 -08:00
geeksville
a6b98bec1f
cleanup period stuff for new scheduler
2020-02-21 10:20:47 -08:00
geeksville
d4efb2c44c
burn _lots_ less cpu updating the display when idle
2020-02-21 10:13:51 -08:00
geeksville
5f3e8b5309
unify periodic timers
2020-02-21 08:41:36 -08:00
geeksville
132e54ecc5
don't turn bluetooth back on every time we exit light sleep
2020-02-21 08:09:07 -08:00
geeksville
7a745c9e65
light sleep seems to work well
2020-02-21 04:57:08 -08:00
geeksville
beccc34ef1
lower cpu freq to 80MHz
2020-02-21 03:48:13 -08:00
geeksville
6ade723caa
release 0.0.3 alpha posted
2020-02-20 13:23:42 -08:00
geeksville
4dc8af3a1b
trust gps time across deep sleep
2020-02-19 20:02:57 -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
d9a875082c
set rtc from gps time
2020-02-19 08:17:28 -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
bf491efddf
begin support for countries besides the US
2020-02-18 16:18:01 -08:00
geeksville
9481d9e95b
loopback test support
2020-02-17 17:47:01 -08:00
geeksville
47d278b3b9
only display messages destined to us
2020-02-17 16:32:51 -08:00
geeksville
c0fdf227b7
properly show plaintext msgs on oled
2020-02-17 16:27:29 -08:00
geeksville
5c0b20e43c
If the phone writes our user settings, only broadcast if actually changed
2020-02-16 18:14:04 -08:00
geeksville
f34c29a323
experiment with axp192 power management
2020-02-16 16:03:16 -08:00
geeksville
0453ffbfd7
Make a Periodic class, use it to blink the LED less often
2020-02-15 11:15:43 -08:00
geeksville
befb06bdd9
make readme a bit more real.
2020-02-15 08:38:07 -08:00
geeksville
978abc7f63
show a kinda correct heading on the compass graphic
2020-02-14 19:11:31 -08:00
geeksville
4adddf4fd0
show real distances between nodes
2020-02-14 16:25:11 -08:00
geeksville
52b398083a
general both build types
2020-02-14 14:00:08 -08:00