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