Compare commits

...
1043 Commits
Author SHA1 Message Date
Kevin Hester 531600f5ab remove ci setup 2021-04-16 15:05:12 +08:00
Kevin Hester dc7f715acd make CI create tags 2021-04-16 15:03:38 +08:00
Kevin Hester b0013e77d1 Merge remote-tracking branch 'root/master' into rak 2021-04-16 14:20:20 +08:00
Kevin Hester 99828d9b73 Don't use caches when making release builds 2021-04-16 14:19:53 +08:00
Kevin HesterandGitHub 2a40718258 Merge pull request #793 from geeksville/rak
Rak
2021-04-16 14:02:13 +08:00
Kevin Hester 1ceeb1637a ugh - github composite actions are broken 2021-04-16 13:53:26 +08:00
Kevin Hester ccd87911a6 move shared actions 2021-04-16 13:39:43 +08:00
Kevin Hester e17374080f Add a release build workflow 2021-04-16 13:37:00 +08:00
Kevin Hester c5bb62202d keep prebuilds for all commits for 30 days 2021-04-16 12:46:21 +08:00
Kevin Hester c5e0ca5c02 fix error seen on virgin machines 2021-04-16 12:34:07 +08:00
Kevin Hester 4c75ac31fb Merge remote-tracking branch 'root/master' into rak 2021-04-16 12:24:06 +08:00
Kevin Hester 0a6d88a2d0 add not complete WIP for wizcore4600 2021-04-16 12:23:38 +08:00
Kevin Hester 49c6256270 test adding artifacts 2021-04-16 12:23:09 +08:00
Kevin Hester 68349f88b0 add placeholder index.html to avoid breaking device build (spiffs error) 2021-04-16 12:16:43 +08:00
Kevin HesterandGitHub cf2d9d24ac Merge pull request #792 from geeksville/rak
Fix integration test found by CI! verstr field was too short
2021-04-16 12:04:02 +08:00
Kevin Hester 405f7e0caa Fix integration test found by CI! verstr field was too short 2021-04-16 11:51:04 +08:00
Kevin Hester 568032cbc7 add missing module 2021-04-16 11:04:03 +08:00
Kevin Hester d8bae61e3c more CI tests (there will be a bunch of these nop commits) 2021-04-16 11:01:44 +08:00
Kevin Hester 361556a6a7 use sha in build filenames 2021-04-16 10:59:46 +08:00
Kevin Hester 50f739bacf ci changes 2021-04-16 10:41:54 +08:00
Kevin Hester 35a9c23bb6 Merge remote-tracking branch 'root/master' into rak 2021-04-16 10:36:13 +08:00
Kevin Hester 1b1431f9ad include SHA in version strings 2021-04-16 10:35:10 +08:00
Kevin HesterandGitHub 9d5d022670 Merge pull request #790 from geeksville/rak
improve github actions
2021-04-16 09:54:12 +08:00
Kevin Hester c795b70b6c my private TODOs for this project 2021-04-16 09:49:18 +08:00
Kevin Hester 5c06c961b9 Merge remote-tracking branch 'root/master' into rak 2021-04-16 09:48:34 +08:00
Kevin HesterandGitHub 69fc8a263d Merge pull request #789 from sachaw/master
Remove docs, moved to main repo
2021-04-16 09:44:38 +08:00
Kevin Hester 2ae6a4f46c improve github actions 2021-04-16 09:41:33 +08:00
Sacha Weatherstone 48fe68050b Remove docs, moved to main repo 2021-04-15 17:24:28 +10:00
Kevin Hester 7a86d150a3 Delete CNAME 2021-04-15 14:59:24 +08:00
Kevin Hester 5e85e6b7d2 Create CNAME 2021-04-15 13:21:55 +08:00
Kevin Hester d22f2501b6 Delete CNAME 2021-04-15 13:19:07 +08:00
Kevin Hester 680eb18015 Create CNAME 2021-04-15 13:16:31 +08:00
Kevin Hester 4e33de780d Delete CNAME 2021-04-15 13:16:23 +08:00
Kevin Hester 89d6046ccc Create CNAME 2021-04-15 13:15:02 +08:00
Kevin Hester d51b8bbe06 Delete CNAME 2021-04-15 13:11:21 +08:00
Kevin HesterandGitHub 0d5c5046ee Merge pull request #788 from geeksville/rak
Add beginnings of RAK4600 and update to latest nrf52 arduino sources
2021-04-15 12:31:25 +08:00
Kevin Hester 7d3115bb9b 1.2.28 2021-04-15 12:30:46 +08:00
Kevin Hester 3156bb43c0 Merge remote-tracking branch 'root/master' into rak 2021-04-15 11:46:36 +08:00
Kevin Hester ec18efbe7e Add beginnings of RAK4600 and update to latest nrf52 arduino sources 2021-04-15 11:45:58 +08:00
Kevin HesterandGitHub b517b63be4 Merge pull request #786 from geeksville/rak
Rak mostly finished
2021-04-12 13:46:56 +08:00
Kevin Hester 558571a23e Merge remote-tracking branch 'root/master' into rak 2021-04-12 13:40:38 +08:00
Kevin Hester f1376406fa Add RAK4631 to build 2021-04-12 13:39:45 +08:00
Kevin Hester 55b38a7b02 RAK4631 is almost feature complete 2021-04-12 13:25:55 +08:00
Kevin Hester 7224782d23 rak4631: gps now works 2021-04-11 15:17:56 +08:00
Kevin Hester f7d199a3be rak4631: kinda runs 2021-04-11 13:58:48 +08:00
Kevin Hester bfdc05154b fix redundant segger init 2021-04-11 13:53:18 +08:00
Kevin Hester f9a58b9dd1 lower brownout threshold to 1.7V 2021-04-11 13:52:39 +08:00
Kevin Hester 328b24537f rak4631: builds but WIP 2021-04-11 13:33:27 +08:00
Kevin HesterandGitHub f97f02660e Merge pull request #784 from geeksville/mqtt
mqtt fixes
2021-04-11 10:05:48 +08:00
Kevin Hester b4396da333 Merge remote-tracking branch 'root/master' into mqtt 2021-04-11 09:57:34 +08:00
Kevin Hester a43a04986d document peer_info 2021-04-11 09:24:36 +08:00
Kevin Hester 73384c5ac6 mqtt: don't downlink messages from us. 2021-04-11 09:23:34 +08:00
Kevin HesterandGitHub bc1726bbdb Merge pull request #783 from geeksville/mqtt
Mqtt
2021-04-10 12:36:03 +08:00
Kevin Hester 6d0a359ecf 1.2.25 2021-04-10 12:35:38 +08:00
Kevin Hester 63a10b9bf8 Merge remote-tracking branch 'root/master' into mqtt 2021-04-10 12:02:05 +08:00
Kevin HesterandGitHub 992fae77ff Merge pull request #782 from timgunter/more_trivial_updates_to_device_flash_scripts
More trivial updates to device flash scripts
2021-04-10 12:01:56 +08:00
Kevin Hester a39ba30a70 mqtt: fix downlink check 2021-04-10 11:57:20 +08:00
Kevin Hester 5e87ee338d add is_licensed for ham users 2021-04-10 11:39:13 +08:00
Tim Gunter ce5d57d250 Allow device-*.sh file to flash to be specified without '-f' 2021-04-09 20:02:25 -07:00
Tim Gunter bae1d7a894 Default interpreter to "python" if "python3" doesn't exist 2021-04-09 20:01:12 -07:00
Kevin Hester e71758457b use production mqtt server 2021-04-10 10:55:56 +08:00
Kevin Hester 5dfd387b21 use real MQTT server DNS name 2021-04-09 16:56:28 +08:00
Kevin HesterandGitHub 50ec03229f Merge pull request #780 from geeksville/mqtt
1.2.23 - fix gpio access
2021-04-06 11:09:03 +08:00
Kevin Hester 4bfbb33a42 1.2.23 2021-04-06 11:00:03 +08:00
Kevin Hester 57bf4073c5 Merge remote-tracking branch 'root/master' into mqtt 2021-04-06 10:58:01 +08:00
Kevin Hester cbfd80f893 fix #779. Add basic GPIO documentation 2021-04-06 10:56:23 +08:00
Kevin Hester cec905914c Fix GPIO service and cleanup response handling 2021-04-06 10:34:23 +08:00
Jm CaslerandGitHub 4382caad88 Update RangeTestPlugin.md 2021-04-05 19:25:53 -07:00
Kevin Hester c0cfd0bb41 remove dead code 2021-04-05 16:27:52 +08:00
Kevin Hester 276526005b run-both should target tbeams 2021-04-05 16:27:44 +08:00
Kevin HesterandGitHub 4a556099dc Merge pull request #778 from geeksville/mqtt
Add basics of MQTT (disabled by default)
2021-04-05 16:22:19 +08:00
Kevin Hester 7abc3534c4 fix build for !wifi devices 2021-04-05 13:00:56 +08:00
Kevin Hester 65914fad07 Merge remote-tracking branch 'root/master' into mqtt 2021-04-05 12:21:52 +08:00
Kevin Hester 63c976d4f1 update docs 2021-04-05 12:11:07 +08:00
Kevin Hester 7f5ab472b9 mqtt: downlink now works 2021-04-05 09:38:00 +08:00
Kevin Hester a845406a19 cleanup packet encrypt/descrypt 2021-04-05 09:24:00 +08:00
Kevin Hester 8ef36bcc9c note about security 2021-04-05 08:56:11 +08:00
Kevin Hester 3cd64bb8b5 allow passing even encrypted packets through the plugins 2021-04-05 08:44:47 +08:00
Kevin Hester 50a69d77e6 mqtt: begin subscription support 2021-04-05 08:42:52 +08:00
Kevin Hester 55b8314a2a mqtt: only publish uplink_enabled channels 2021-04-05 07:57:06 +08:00
Kevin Hester e84edc676f mqtt: automatically start or stop as neede & attempt reconnect 2021-04-05 07:53:07 +08:00
Kevin Hester d19af8b83d mqtt: send packets after they are encrypted 2021-04-04 09:20:37 +08:00
Kevin Hester 638cec7f25 we now send packets to mqtt server 2021-04-03 22:27:06 +08:00
Kevin Hester f3f09f0dcf MQTT WIP 2021-04-03 16:06:40 +08:00
Kevin Hester 8890ca759d fix nodeid 2021-04-03 15:04:03 +08:00
Kevin Hester 139da372e7 fix warning 2021-04-03 14:56:46 +08:00
Kevin Hester dcf64dfacd MQTT at least talks to server, works in native and esp32 2021-04-03 14:54:10 +08:00
Kevin Hester 2acde3333c todo updates 2021-04-03 10:40:56 +08:00
Kevin HesterandGitHub 75281e8c97 Merge pull request #777 from geeksville/dev1.2
Dev1.2
2021-04-02 13:54:20 +08:00
Kevin Hester 8d47e4f3e0 1.2.20 2021-04-02 13:44:53 +08:00
Kevin Hester 92124e1224 Merge remote-tracking branch 'root/master' into dev1.2 2021-04-02 11:13:01 +08:00
Kevin Hester c798c0032c add frequency_offset 2021-04-02 09:14:12 +08:00
Kevin Hester 2c5ea03b74 fix VFS creation bug in native. fix heap corruption in Fsm free 2021-04-01 20:32:12 +08:00
Kevin Hester 9d452ebf29 add WIP notes about running github actions locally... 2021-04-01 14:12:02 +08:00
Kevin Hester 8a20155214 simplify build 2021-04-01 14:05:27 +08:00
Kevin Hester 6a872b6ac2 remove unused lib from CI build 2021-04-01 13:46:30 +08:00
Kevin HesterandGitHub 52d61acc23 Merge pull request #776 from geeksville/dev1.2
Dev1.2
2021-03-31 16:49:45 +08:00
Kevin Hester 2594ea0c2c test fix for CI tool 2021-03-31 16:28:16 +08:00
Kevin Hester 9623be1484 fix CI build script typo 2021-03-31 12:08:48 +08:00
Kevin Hester d810ce0c1e add more time for sim startup 2021-03-31 11:26:19 +08:00
Kevin Hester efd39c0f49 someone made a boo-boo adding "serial_disabled", caused a nasty NPE 2021-03-31 11:26:00 +08:00
Kevin Hester 5f45a10db5 fix sign comparsion 2021-03-31 11:14:55 +08:00
Kevin Hester 5f948c09fe update libs to fix CI build, thanks @meehow! 2021-03-31 11:05:43 +08:00
Kevin Hester 22f3efd083 update proto 2021-03-31 09:15:41 +08:00
Kevin Hester 88716fc352 Merge remote-tracking branch 'root/master' into dev1.2 2021-03-31 09:14:43 +08:00
Kevin Hester 5c1d8b5bb0 todo updates 2021-03-31 09:13:41 +08:00
Kevin Hester b68397a911 fix simradio init to work more like real radios 2021-03-30 23:39:51 +08:00
Kevin Hester 5fdcb72d46 cleanup applyModemConfig based on porduino testing, share with sim 2021-03-30 23:34:13 +08:00
Kevin Hester b70a359fe8 leave phone timeout off a bit longer 2021-03-30 23:11:56 +08:00
Kevin Hester a9c8564524 fix millisecond unsigned rollover errors found via portduino 2021-03-30 23:11:33 +08:00
Jm CaslerandGitHub b527e0d447 Merge pull request #774 from mc-hamster/master
Update of #638 - Redid protobuf generation
2021-03-29 17:34:39 -07:00
Jm d8669f860a Update fo #638 - Redid protobuf generation 2021-03-29 17:33:37 -07:00
Jm CaslerandGitHub 78f104c6de Merge pull request #773 from mc-hamster/master
Fix for #638 - Add option to disable serial interface
2021-03-29 17:12:21 -07:00
Jm 2f8e663f03 Add serial_disabled for #638 2021-03-29 17:08:56 -07:00
Jm CaslerandGitHub 7f7b07ce9d Merge pull request #82 from meshtastic/master
update from master
2021-03-29 17:04:57 -07:00
Kevin Hester cdb4756d9d fix native build 2021-03-29 20:56:02 +08:00
Kevin HesterandGitHub 385e291f51 Merge pull request #771 from geeksville/dev1.2
Dev1.2
2021-03-28 12:24:14 +08:00
Kevin Hester 7e60078791 1.2.17 2021-03-28 12:19:49 +08:00
Kevin Hester 073eecd147 Merge remote-tracking branch 'root/master' into dev1.2 2021-03-28 12:16:50 +08:00
Kevin Hester 525fe9b96c dramatically speed up message RX in some cases (we were sleeping much too long) 2021-03-28 12:16:37 +08:00
Kevin Hester c7f411fc7c remove unused Preferences code (cc @mc-hamster for review)
(noticed because of a compiler warning)
2021-03-28 12:07:43 +08:00
Kevin Hester fc96500329 fix unused prefs field 2021-03-28 12:06:16 +08:00
Kevin Hester 4e87c4411c fix serious nak bug reported by @havealoha and @luxoon 2021-03-28 11:44:19 +08:00
Kevin Hester 9eb9c473db add note about credit! 2021-03-28 11:43:28 +08:00
Kevin HesterandGitHub bfd147062f Merge pull request #761 from geeksville/dev1.2
Dev1.2
2021-03-27 17:19:50 +08:00
Kevin Hester 890ec7bdb2 doc update 2021-03-27 17:19:15 +08:00
Kevin Hester 76269b397f Merge remote-tracking branch 'root/master' into dev1.2
# Conflicts:
#	src/esp32/main-esp32.cpp
#	src/mesh/generated/deviceonly.pb.h
#	src/mesh/generated/mesh.pb.h
2021-03-27 16:44:42 +08:00
Jm CaslerandGitHub 9fb6b1718f Merge pull request #770 from mc-hamster/master
#669 - Add restart counter
2021-03-27 01:30:28 -07:00
Jm 57c82988e2 #669 - Add restart counter 2021-03-27 01:20:07 -07:00
Kevin Hester 1e3b037fea populate position.time for broadcast positions 2021-03-27 16:17:01 +08:00
Jm CaslerandGitHub 1e7808991d Merge pull request #81 from meshtastic/master
update from master
2021-03-27 01:00:57 -07:00
Jm 4f4cdf4f9e #669 Add restart counter 2021-03-27 01:00:27 -07:00
Kevin Hester 78f2c656d0 fix nrf52 builds 2021-03-27 11:21:43 +08:00
Kevin Hester 37ec969f96 Merge remote-tracking branch 'root/master' into dev1.2
# Conflicts:
#	src/mesh/NodeDB.cpp
2021-03-27 11:10:47 +08:00
Jm CaslerandGitHub f1a6693bb7 Merge pull request #768 from IZ1IVA/patch-1
Update device-update.sh
2021-03-26 19:54:49 -07:00
Kevin Hester 8ffd5a1d4f add reboot message 2021-03-27 10:19:59 +08:00
IZ1IVAandGitHub 29eb5e8327 Update device-update.sh
Please have a look at https://github.com/meshtastic/Meshtastic-device/issues/760
2021-03-26 14:49:27 +01:00
Jm CaslerandGitHub c175c21189 Merge pull request #767 from mc-hamster/master
Fix bad merge
2021-03-25 19:37:15 -07:00
Jm fc2862bd16 Fix bad merge 2021-03-25 19:36:37 -07:00
Jm CaslerandGitHub c9f814a9a7 Merge pull request #80 from meshtastic/master
Merge pull request #766 from mc-hamster/master
2021-03-25 19:33:35 -07:00
Jm CaslerandGitHub 92d2d3960b Merge pull request #766 from mc-hamster/master
#758 Report elevation while in range test
2021-03-25 19:32:22 -07:00
Jm CaslerandGitHub 7872cb050d Merge branch 'master' into master 2021-03-25 19:32:13 -07:00
Jm 89029311c1 Update NodeDB.cpp 2021-03-25 19:28:15 -07:00
Jm f6f586decb Remove my code that doesn't work with channels 2021-03-25 19:27:46 -07:00
Jm 471c06b169 #758 Report elevation while in range test 2021-03-25 19:25:20 -07:00
Jm 040bb1d1e0 Add a "Development Mode" for our plugins 2021-03-25 19:24:36 -07:00
Jm bbaf5946f0 Update StoreForwardPlugin.cpp 2021-03-25 19:22:46 -07:00
Jm CaslerandGitHub 5286f23c9a Merge pull request #764 from meehow/android-captive-portal
captive portal for Android devices
2021-03-25 19:10:10 -07:00
Kevin Hester 7e9e33d462 fix has_gps reporting to phones 2021-03-26 09:30:33 +08:00
Kevin Hester 04225f7bc2 change! time of last packet rx in node->last_heard instead of node->position.time 2021-03-26 09:30:15 +08:00
Kevin Hester dd0f1b2704 Merge remote-tracking branch 'root/master' into dev1.2 2021-03-26 08:57:47 +08:00
Kevin HesterandGitHub 669807524e Merge pull request #763 from IZ1IVA/patch-6
Update device-install.sh
2021-03-26 08:54:03 +08:00
Michał Adamski 97a5405293 captive portal for Android devices 2021-03-25 21:49:06 +01:00
IZ1IVAandGitHub f298c7d053 Update device-install.sh
Please have a look at https://github.com/meshtastic/Meshtastic-device/issues/760
2021-03-25 10:43:25 +01:00
Kevin Hester a59f5344de Merge remote-tracking branch 'root/master' into dev1.2 2021-03-25 09:18:44 +08:00
Kevin Hester 13cfce48fa cleanly disable bluetooth while serial API is in use (and only then) 2021-03-25 08:54:43 +08:00
Kevin Hester 0261c243e0 PhoneAPIs shouldn't register for messages until they have clients 2021-03-25 07:51:54 +08:00
Kevin Hester ab325d6d2c Merge branch 'dev1.2' of https://github.com/geeksville/Meshtastic-esp32 into dev1.2 2021-03-25 06:15:36 +08:00
Kevin Hester b20930c111 move streamapi into a thread, saves power and increases responsiveness 2021-03-25 06:15:15 +08:00
Kevin HesterandGitHub 770788d0a4 Merge pull request #759 from geeksville/dev1.2
update altitude in nodedb for received altitudes (reported by @iz1kga)
2021-03-24 19:25:48 +08:00
Kevin HesterandGitHub d02f615cad Merge branch 'master' into dev1.2 2021-03-24 19:25:40 +08:00
Kevin Hester e17fe7e075 update altitude in nodedb for received altitudes (reported by @iz1kga) 2021-03-24 19:24:33 +08:00
Kevin HesterandGitHub 286686137f Merge pull request #757 from geeksville/dev1.2
getting ready for 1.2.13
2021-03-24 13:34:57 +08:00
Kevin Hester 77c1112fe8 Merge remote-tracking branch 'root/master' into dev1.2 2021-03-24 13:28:21 +08:00
Kevin HesterandGitHub 2d4ba357f7 Merge pull request #755 from vfurman-gh/master
Push RSSI to the phone
2021-03-24 13:28:01 +08:00
Kevin Hester 455d0f8d66 1.2.13 2021-03-24 13:27:18 +08:00
Kevin Hester 5b0e7c6e82 fix has_preferences init 2021-03-24 13:25:21 +08:00
Kevin Hester 78c665abb9 properly discard messages with fromradio queue is full (Rather than blocking forever) 2021-03-24 13:25:10 +08:00
Kevin Hester 9a86d52d00 Merge remote-tracking branch 'root/master' into dev1.2 2021-03-24 12:01:38 +08:00
Kevin Hester c5973f9a55 @mc-hamster it is VERY important to not accidentally turn this in in master
;-)
2021-03-24 11:41:14 +08:00
Kevin Hester eb684aac03 tested OTA is_router 2021-03-23 14:54:56 +08:00
Kevin Hester 7b4f8fb6d6 Fix firmware OTA update while is_router 2021-03-23 14:44:50 +08:00
Vadim Furman 8065dbb2b7 Merge remote-tracking branch 'origin/master' 2021-03-22 21:40:30 -07:00
Vadim Furman 049e791382 Updated proto 2021-03-22 21:36:24 -07:00
Kevin HesterandGitHub 4fb8552563 Merge pull request #756 from geeksville/dev1.2
Dev1.2
2021-03-23 12:18:56 +08:00
Kevin Hester 90576f44d8 Merge remote-tracking branch 'root/master' into dev1.2
# Conflicts:
#	proto
2021-03-23 12:17:46 +08:00
Kevin Hester 9e0a2964a4 move channel docs into git 2021-03-23 12:16:23 +08:00
Kevin Hester 49b16fdf0c fix channel !authorized check 2021-03-23 12:07:04 +08:00
Kevin Hester 1fcec8ce3b always fix up channel list, even if we just did factory reset 2021-03-23 11:54:53 +08:00
Kevin Hester d32386a027 Return errors for unauthorized requests or out of bound channel nums 2021-03-23 11:44:51 +08:00
Vadim Furman 9b57d28c7d Merge remote-tracking branch 'origin/master' 2021-03-22 19:41:23 -07:00
Vadim Furman b9fd726c14 Push RSSI to the phone 2021-03-22 19:39:49 -07:00
Kevin HesterandGitHub f165418b18 Merge pull request #751 from timgunter/set_device_install_python
Add option to set python interpreter used for device-install.sh scripts
2021-03-22 10:48:07 +08:00
Jm Casler e193f63687 Update StoreForwardPlugin.cpp 2021-03-21 19:46:02 -07:00
Jm Casler 1eb37dded8 partial work for S&F 2021-03-21 19:45:35 -07:00
Tim Gunter 13889124c1 Add option to set python interpreter used for device-install.sh and device-update.sh 2021-03-21 18:29:20 -07:00
Jm CaslerandGitHub 9005aaa14e Merge pull request #750 from mc-hamster/master
Update nightly build script
2021-03-21 10:00:39 -07:00
Jm Casler df4e325e43 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-03-21 09:42:57 -07:00
Jm Casler 4ebc07b691 Update nightly build to use the same release build archive for the nightly 2021-03-21 09:42:55 -07:00
Jm CaslerandGitHub 79a8d023ca Merge pull request #744 from mc-hamster/master
Update serial plugin, update range test doc and add support for tlora 1.3
2021-03-21 07:54:13 -07:00
Jm CaslerandGitHub 330d83e7c3 Merge pull request #78 from meshtastic/master
Update from head
2021-03-21 07:51:45 -07:00
Jm Casler a74384f3f5 Update airtime.h to add override 2021-03-21 07:44:08 -07:00
Jm Casler da732c291f Update build-all for tlora_v1_3 2021-03-21 07:43:55 -07:00
Kevin HesterandGitHub 648d9dd19f Merge pull request #749 from geeksville/dev1.2
Dev1.2
2021-03-21 18:59:30 +08:00
Kevin Hester e9faf657df move GPS_RX_PIN for the TLORA_V2_1_16 from 36 to 15 2021-03-21 18:58:43 +08:00
Jm Casler 103ffde025 Fixes for build of tlora_v1_3 2021-03-20 20:47:48 -07:00
Jm Casler baeb002245 Fix small bug in range test plugin.
packetSequence was an unsigned int but i was using %d. oops
2021-03-20 00:38:53 -07:00
Jm 0ce7a3f0ec Update to how S&F reserves space on PSRAM 2021-03-19 23:43:06 -07:00
Jm CaslerandGitHub 0befad82a7 Merge branch 'master' into master 2021-03-19 23:38:42 -07:00
Jm b357d8ae5b Update RangeTestPlugin.md 2021-03-19 23:35:46 -07:00
Jm dd9beff9a5 Script to publish nightly builds. 2021-03-19 23:34:36 -07:00
Kevin Hester d652664126 TODO updates 2021-03-20 13:35:27 +08:00
Kevin Hester 4666c12547 change android-too-old webpage to be less scary 2021-03-20 13:13:39 +08:00
Kevin Hester 2b74260e2b only show time on OLED if we have a valid UTC clock 2021-03-20 10:22:06 +08:00
Kevin HesterandGitHub 620d336e55 Merge pull request #747 from vfurman-gh/master
Removed SX1262_USE_DIO3_FOR_TCXO
2021-03-20 10:01:42 +08:00
Kevin HesterandGitHub e845a3388b Merge branch 'master' into master 2021-03-20 10:01:35 +08:00
Vadim Furman a25235dc03 Merge remote-tracking branch 'origin/master' 2021-03-19 18:50:30 -07:00
Vadim Furman d3cbc8ea78 WIRE_INTERFACES_COUNT -> NO_WIRE 2021-03-19 18:46:11 -07:00
Vadim Furman b6e197371d Removed SX1262_USE_DIO3_FOR_TCXO 2021-03-19 18:30:00 -07:00
Kevin HesterandGitHub 5cc3ff16a3 Merge pull request #740 from vfurman-gh/master
Port to isp4520-based board
2021-03-20 09:01:06 +08:00
Vadim Furman d93d5d2e37 Revert clock update for Net quality clocks 2021-03-19 17:21:08 -07:00
Vadim Furman 7491af8ad7 Merge remote-tracking branch 'origin/master' 2021-03-19 17:07:16 -07:00
Kevin HesterandGitHub fce95431e6 Merge pull request #746 from geeksville/dev1.2
fixing bugs for the sat release
2021-03-19 23:47:12 +08:00
Kevin Hester 591a07c0fe 1.2.11 2021-03-19 23:41:28 +08:00
Kevin Hester c410f2d151 fix tlora 1.6 build 2021-03-19 23:40:41 +08:00
Kevin Hester 9502fa62e6 todo updates 2021-03-19 23:40:24 +08:00
Kevin Hester 2a6480ec48 update release test scripts 2021-03-19 23:40:04 +08:00
Kevin Hester 7c5ab885be geeksville todo 2021-03-19 15:24:24 +08:00
Kevin Hester 21cfb151a8 specify clang for c++ formatting conventions 2021-03-19 15:24:05 +08:00
Kevin Hester 84505b1717 Merge remote-tracking branch 'root/master' into portduino 2021-03-19 15:22:56 +08:00
Kevin HesterandGitHub d735e3006e Merge pull request #745 from geeksville/portduino
add CI integration test using meshtastic-native
2021-03-18 19:59:27 +08:00
Kevin Hester af5d82dbde Merge remote-tracking branch 'root/master' into portduino 2021-03-18 19:49:13 +08:00
Kevin Hester a97072eca0 add first integration test for CI 2021-03-18 19:48:06 +08:00
Kevin Hester cef6e248e7 add newline 2021-03-18 19:40:00 +08:00
Kevin Hester b4c379f5fc add sim exit cmd 2021-03-18 19:09:31 +08:00
Jm 3bb1206b9c Update RangeTestPlugin.md 2021-03-17 22:47:19 -07:00
Jm 002532401d #743 - Stub out for "mode 10" - NMEA string. 2021-03-17 21:52:30 -07:00
Jm CaslerandGitHub 8957c5892f Merge pull request #77 from meshtastic/master
update from head
2021-03-17 21:08:50 -07:00
Jm 1b8f41d353 Partial work on s&f 2021-03-17 21:03:11 -07:00
Vadim Furman 0c51cc3738 Fix hardware model 2021-03-17 10:56:45 -07:00
Vadim Furman 2b9a8f0822 Merge remote-tracking branch 'origin/master' 2021-03-17 10:49:04 -07:00
Vadim Furman ddcfff3b59 Fixed compilation on nrf52 and brownout code 2021-03-17 10:44:42 -07:00
Kevin HesterandGitHub 449a3959b0 Merge pull request #742 from geeksville/portduino
wifi now works on portduino
2021-03-17 20:43:47 +08:00
Kevin Hester 719a0c485b Merge remote-tracking branch 'root/master' into portduino 2021-03-17 20:30:41 +08:00
Kevin HesterandGitHub a4bbdc443f Merge pull request #739 from geeksville/dev
Dev
2021-03-17 20:30:25 +08:00
Kevin Hester 999afdf05e wifi now works on portduino 2021-03-17 20:29:27 +08:00
Kevin Hester f492f6deb6 progress on Wifi in portduino 2021-03-15 19:59:31 +08:00
Kevin Hester 60f7ec8998 setup for intellij 2021-03-15 13:55:08 +08:00
Kevin Hester 469d0ade72 remove old intellij defs 2021-03-15 13:49:21 +08:00
Kevin Hester 1f33b03c30 turn off broken genieblocks_lora build 2021-03-15 13:43:22 +08:00
Kevin Hester 351be2f327 change portduino so it has a higher chance of building on OS-X and windows 2021-03-15 13:09:52 +08:00
Kevin Hester 3f401e8cac Merge branch 'dev' into portduino
# Conflicts:
#	.vscode/settings.json
2021-03-15 12:09:07 +08:00
Vadim Furman b20b21c553 pitches.h no more 2021-03-14 20:46:58 -07:00
Vadim Furman c62863b1dc Merge from origin 2021-03-14 19:42:57 -07:00
Vadim Furman 8505a0f260 Chargeing... 2021-03-14 19:17:28 -07:00
Vadim Furman 98d878cdfe Port to lora_isp4520 board 2021-03-14 19:00:20 -07:00
Jm CaslerandGitHub 6730731652 Merge pull request #76 from meshtastic/master
Update from head
2021-03-14 11:32:38 -07:00
Kevin Hester 27c35f69aa Fix flash flippy-flop error after commandline update (thanks @Stephen304) 2021-03-14 12:41:31 +08:00
Kevin Hester 53671283ae change hw_model_deprecated to intentionally break old apps 2021-03-14 10:57:26 +08:00
Kevin Hester d9fc7b32c3 move hw_model into User 2021-03-14 10:48:20 +08:00
Kevin Hester 9a03536e3d Use enums for hw_model per @sachaw idea. 2021-03-14 10:37:32 +08:00
Kevin Hester efebb8bb0b remove country from rom support 2021-03-14 10:13:28 +08:00
Kevin Hester 3bd1ae0be4 Merge remote-tracking branch 'root/master' into dev 2021-03-13 14:11:31 +08:00
Kevin Hester a07291d904 cleanup external notification plugin 2021-03-13 13:32:23 +08:00
Kevin Hester c0ac457cad lockdown plugins that touch hardware 2021-03-13 13:14:27 +08:00
Kevin Hester 6813a31895 fix hop limit defaults for android 2021-03-13 09:27:44 +08:00
Kevin HesterandGitHub 8f5251583f Merge pull request #738 from geeksville/eink
Eink
2021-03-13 09:00:57 +08:00
Kevin Hester c2122a6859 Merge remote-tracking branch 'root/master' into eink 2021-03-13 08:55:06 +08:00
Kevin Hester 6dd65adebd 1.2.10 2021-03-13 08:54:02 +08:00
Kevin Hester c227143b53 @mc-hamster, I think storeandforward was accidentally wrong (no worries though) 2021-03-13 08:41:50 +08:00
Kevin Hester cdd696c1ff todo updates 2021-03-13 08:30:07 +08:00
Kevin Hester 3e6817cd18 fix board reboot due to forwarding packets we don't have keys for 2021-03-13 08:29:58 +08:00
Kevin Hester a5ed607261 fix memory corruption in storeandforward 2021-03-13 08:29:32 +08:00
Kevin HesterandGitHub 7118200885 Merge pull request #737 from geeksville/eink
Eink
2021-03-12 20:47:48 +08:00
Kevin Hester b7f9064f0d turn off linux on CI for now 2021-03-12 20:42:22 +08:00
Kevin Hester 5dc5bce1b2 cleanup memtest 2021-03-12 20:41:18 +08:00
Kevin Hester bc7fef1d1a 1.2.9 2021-03-12 20:22:45 +08:00
Kevin Hester 1908d131ca turn on access control for admin plugin, only allow remote access over special channel 2021-03-12 20:22:40 +08:00
Kevin Hester 8cd2a00a25 fix nasty bug 2021-03-12 15:47:00 +08:00
Kevin Hester c097852ab0 SERIOUS BUG: we've been discarding devicestate when we should not 2021-03-12 15:45:28 +08:00
Kevin Hester b02212009a progress on remote settings 2021-03-12 14:10:36 +08:00
Kevin Hester 9d1971f0fa Merge remote-tracking branch 'root/master' into eink 2021-03-11 18:54:08 +08:00
Kevin Hester 2d6261703a fix null pointer exception in storeandforwardplugin. if null the vtable is busted
cc @mc-hamster.  In some cases storeForwardPluginRadio can be null ;-)

~/development/meshtastic/meshtastic-esp32$ bin/exception_decoder.py -e .pio/build/tbeam/firmware.elf ex
stack:
0x401db467: StoreForwardPluginRadio::sendPayload(unsigned int, bool) at /home/kevinh/development/meshtastic/meshtastic-esp32/src/plugins/esp32/StoreForwardPlugin.cpp:235
0x400e7cbd: StoreForwardPlugin::runOnce() at /home/kevinh/development/meshtastic/meshtastic-esp32/src/plugins/esp32/StoreForwardPlugin.cpp:225
0x400d4cca: concurrency::OSThread::run() at /home/kevinh/development/meshtastic/meshtastic-esp32/src/concurrency/OSThread.cpp:45
0x400f015d: ThreadController::runOrDelay() at /home/kevinh/development/meshtastic/meshtastic-esp32/.pio/libdeps/tbeam/Thread/ThreadController.cpp:153
0x400da070: loop() at /home/kevinh/development/meshtastic/meshtastic-esp32/src/main.cpp:621
0x400ff709: loopTask(void*) at /home/kevinh/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:19

Signed-off-by: Kevin Hester <kevinh@geeksville.com>
2021-03-11 18:53:17 +08:00
Kevin Hester a97c2ae6eb minimize radioconfig file writes 2021-03-11 18:29:47 +08:00
Kevin Hester 76e2c39c63 completed moving prefs to new files 2021-03-11 17:54:16 +08:00
Kevin Hester ab9fe42f58 wip - move channels 2021-03-11 13:02:00 +08:00
Jm CaslerandGitHub 9d78ce6193 Merge pull request #75 from meshtastic/master
update from head
2021-03-10 19:29:08 -08:00
Kevin Hester 959b540c02 begin restricting admin ops to the admin channel 2021-03-11 10:01:57 +08:00
Kevin Hester 68781492ad don't block on segger console 2021-03-11 10:00:08 +08:00
Kevin Hester 590e147186 todo updates 2021-03-11 09:59:54 +08:00
Kevin HesterandGitHub 0b358674ff Merge pull request #736 from geeksville/eink
Eink
2021-03-10 15:59:32 +08:00
Kevin Hester 0df01f2586 Merge remote-tracking branch 'root/master' into eink 2021-03-10 15:30:51 +08:00
Kevin HesterandGitHub ca23665463 Merge pull request #735 from meshtastic/sachaw-patch-1
Update main.yml
2021-03-10 15:30:40 +08:00
Kevin Hester f55ac8e9c9 turn off (buggy) custom_fields in tinygps, and used fixed version of lib 2021-03-10 15:29:25 +08:00
Kevin Hester 6e37fe6343 turn radio back on 2021-03-10 15:24:00 +08:00
Kevin Hester 217bd934d7 fix GPS fixme wrt deletion 2021-03-10 15:21:54 +08:00
Kevin Hester 58715f454c add consolePrintf for C style code 2021-03-10 15:21:30 +08:00
Kevin Hester 772f2a15ff check more error codes 2021-03-09 16:45:40 +08:00
Kevin Hester 5b0d8381b9 fxi log formatting 2021-03-09 15:07:26 +08:00
Kevin Hester d841d86bbc brownout detect 2021-03-09 15:07:16 +08:00
Kevin Hester ecaae87b79 make screen optional 2021-03-09 15:07:02 +08:00
Kevin Hester 5835abbcf6 fix eink leds 2021-03-09 15:06:28 +08:00
Sacha WeatherstoneandGitHub 2f7c2a2aea Update main.yml 2021-03-09 16:16:41 +11:00
Kevin Hester 87ec7b09aa add crude check for brownout 2021-03-08 18:12:21 +08:00
Kevin Hester f8ec072093 make debug console stall until host has downloaded 2021-03-08 17:10:48 +08:00
Kevin Hester 781d2f0ad6 fix warnings 2021-03-08 17:09:35 +08:00
Kevin Hester 7bbd2c0e80 make textmessageplugin optional 2021-03-08 15:30:08 +08:00
Jm CaslerandGitHub 77bac11d82 Merge pull request #74 from meshtastic/master
Update from head
2021-03-07 23:25:52 -08:00
Jm CaslerandGitHub 315cfe4f2d Merge branch 'master' into master 2021-03-07 23:25:43 -08:00
Kevin Hester 707ed75138 fix warnings found in nrf52 build 2021-03-08 15:20:43 +08:00
Kevin Hester c0e180759d improve debugging on cortex m 2021-03-08 15:20:29 +08:00
Kevin Hester 6ceb423033 TODO update 2021-03-08 12:03:04 +08:00
Kevin HesterandGitHub 96c4286e7d Merge pull request #733 from geeksville/dev1.2
1.2.6
2021-03-07 10:00:00 +08:00
Kevin Hester f320ecbde8 1.2.6 2021-03-07 09:51:51 +08:00
Kevin Hester d014ae0bff fix ls_sleeps communication to device clients 2021-03-07 09:51:17 +08:00
Kevin Hester 12a7934ca1 add RU 2021-03-07 09:34:35 +08:00
Kevin Hester 64bc791e48 fix docs 2021-03-07 09:34:29 +08:00
Kevin Hester 1f33506962 Add RU region 2021-03-06 21:10:36 +08:00
Kevin Hester ba9a94d026 fix is_low_power detection 2021-03-06 18:00:20 +08:00
Kevin Hester 6f13966d19 fix missing acks for broadcasts 2021-03-06 17:48:35 +08:00
Kevin Hester 96cfad4e57 less logspam 2021-03-06 14:52:26 +08:00
Kevin HesterandGitHub a26ebb1b69 Merge pull request #732 from geeksville/dev1.2
Dev1.2 - fix lora message rx
2021-03-06 14:31:59 +08:00
Kevin Hester 7a764efc10 1.2.5 2021-03-06 14:30:53 +08:00
Kevin Hester 49b1f4c5af oops - fix failed text message rx 2021-03-06 14:21:20 +08:00
Kevin Hester fbe56531d2 Merge remote-tracking branch 'root/master' into dev1.2 2021-03-06 11:20:08 +08:00
Kevin Hester aa6b29a4b5 fix from address on naks 2021-03-06 11:19:52 +08:00
Kevin Hester c88b9732eb REALLY IMPORTANT: fix bug with retransmissions not happening 2021-03-06 11:13:33 +08:00
Kevin Hester 2c29e8b179 make nodeinfo & position plugins optional 2021-03-06 10:36:30 +08:00
Kevin Hester d2d6b8e12f fix log formatting 2021-03-06 10:27:48 +08:00
Kevin Hester badfaa8545 make error message clearer for packets that are too big 2021-03-06 10:27:31 +08:00
Kevin HesterandGitHub c5b67d821d Merge pull request #730 from geeksville/dev1.2
1.2.4
2021-03-05 13:46:18 +08:00
Kevin HesterandGitHub 63bf7a29f3 Merge branch 'master' into dev1.2 2021-03-05 13:46:10 +08:00
Kevin Hester 845dd1f9e3 1.2.4 2021-03-05 12:39:39 +08:00
Kevin Hester c9c44a934d don't generate acks for locally sourced msgs 2021-03-05 12:39:31 +08:00
Kevin HesterandGitHub 2f6981a27f Merge pull request #729 from geeksville/dev1.2
important fixes for 1.2
2021-03-05 12:07:27 +08:00
Kevin Hester 8739469db3 oops typo 2021-03-05 11:49:37 +08:00
Kevin Hester 0c0c0babba combine acks works 2021-03-05 11:44:45 +08:00
Kevin Hester 950b32232f don't send messages the phone sent us back towards the phone 2021-03-05 10:19:27 +08:00
Kevin Hester 2f6034b067 update todos 2021-03-04 22:10:09 +08:00
Kevin HesterandGitHub 159f7622e4 Merge pull request #724 from crossan007/improvements_to_env_plugin
Improvements to Environmental Measurement Plugin
2021-03-04 22:00:25 +08:00
Kevin HesterandGitHub 2cc2fa906a Merge branch 'master' into improvements_to_env_plugin 2021-03-04 20:06:27 +08:00
Kevin HesterandGitHub 249390a75e Merge pull request #727 from geeksville/dev1.2
Dev1.2
2021-03-04 11:41:44 +08:00
Kevin Hester 189cf7ea5e Merge remote-tracking branch 'root/master' into dev1.2 2021-03-04 11:32:34 +08:00
Kevin Hester 56fe211466 1.2.1 2021-03-04 11:29:55 +08:00
Kevin Hester 955d03acb1 fix symbol conflict with new nrf52 libs 2021-03-04 11:28:50 +08:00
Charles Crossan 1b71a0f436 refactor ENV to single multi-inheritance class with cleaner user preferences
Fix merge issues

don't log when drawing blank frames

remove useless logging

re-comment stuff

fix comment

unused var
2021-03-03 20:30:20 -05:00
Charles Crossan 2af9e1431e Improvements to EnvironmentalMeasurementPlugin
Instead of holding onto only the last measurement, hold onto a copy of the last MeshPacket containing a measurement

This will make it easier to display the last time received

make DHT sensor reads more reliable

user preference for Farenheit vs Celsius
2021-03-03 08:23:03 -05:00
Jm ee961d01ed Merge remote-tracking branch 'origin/master' 2021-03-02 20:50:13 -08:00
Jm Casler a3343bc1af Revert "Merge pull request #73 from meshtastic/master"
This reverts commit ee04d57a7f.
2021-03-02 20:48:34 -08:00
Jm CaslerandGitHub ee04d57a7f Merge pull request #73 from meshtastic/master
pulling 1.2 into my fork
2021-03-02 20:46:21 -08:00
Kevin Hester 076251e6a8 todo cleanup 2021-03-03 11:49:09 +08:00
Kevin HesterandGitHub fdb3cee3f2 Merge pull request #725 from geeksville/dev1.2
release to devs
2021-03-03 11:47:17 +08:00
Kevin Hester 92e05bc438 release to devs 2021-03-03 11:46:09 +08:00
Kevin HesterandGitHub 69de2a047f Merge pull request #706 from geeksville/dev1.2
merging 1.2 soon!
2021-03-03 11:23:40 +08:00
Kevin Hester 05c458225f Merge remote-tracking branch 'root/master' into dev1.2 2021-03-02 15:46:16 +08:00
Kevin Hester 866125f2ab fix release script for universal builds 2021-03-02 15:37:56 +08:00
Kevin Hester d0263e4fa3 Merge branch 'dev' into dev1.2 2021-03-02 15:16:28 +08:00
Kevin Hester e884ace0ab show build name 2021-03-02 15:16:22 +08:00
Kevin Hester 2ac4106004 add play store link 2021-03-02 12:53:23 +08:00
Kevin HesterandGitHub 59a63e4aea Merge pull request #721 from geeksville/dev
add (editable) android warning landing page
2021-03-02 12:47:19 +08:00
Kevin Hester fbdf1f19f0 add (editable) android warning landing page 2021-03-02 12:46:19 +08:00
Kevin Hester 082101f99f wire compat 2021-03-02 12:44:48 +08:00
Kevin Hester f6761d637f proto update 2021-03-02 11:46:00 +08:00
Jm 2cf704abe0 Crashes after 7 seconds. 2021-02-28 19:35:00 -08:00
Kevin Hester ef612d0b58 Merge remote-tracking branch 'root/master' into dev1.2
# Conflicts:
#	src/plugins/Plugins.cpp
#	version.properties
2021-03-01 10:26:16 +08:00
Kevin HesterandGitHub 43673c0598 Merge pull request #719 from geeksville/dev
1.1.50
2021-03-01 09:21:42 +08:00
Kevin Hester 9b45749bf0 1.1.50 2021-03-01 08:33:01 +08:00
Jm CaslerandGitHub f22243a209 Merge pull request #716 from apt105/master
Add files via upload
2021-02-28 12:30:18 -08:00
Jm ef32ac5cd4 Update rangetest docs with api example 2021-02-28 11:55:54 -08:00
Jm Casler 52d85c9a41 Partial work from laptop -- non-routers can send a heartbeat 2021-02-27 22:34:53 -08:00
Kevin Hester a51c08bfb1 todo updated 2021-02-27 14:42:07 +08:00
Kevin Hester fb47c3a03d move channel and settings protos 2021-02-27 13:17:18 +08:00
AdrianandGitHub 3b8f5ea099 Add files via upload 2021-02-27 02:01:51 +00:00
Kevin Hester 63e0b53054 1 index channel index 2021-02-27 09:17:58 +08:00
Kevin Hester 989f52494d clean up ack packets 2021-02-26 20:36:22 +08:00
Kevin Hester 0307e4161e get settings message works 2021-02-26 20:10:41 +08:00
Kevin Hester c7c8b34adf impl get channels/get radio remote api 2021-02-26 15:34:00 +08:00
Jm CaslerandGitHub 1faf6c99db Merge pull request #712 from mc-hamster/master
Update how airtime report gathers data, update stable storeandforward build code
2021-02-25 08:25:42 -08:00
Jm 5f041ea7e9 Update Plugins.cpp 2021-02-25 08:14:07 -08:00
Jm CaslerandGitHub 14271be816 Rename src/plugins/StoreForwardPlugin.h to src/plugins/esp32/StoreForwardPlugin.h 2021-02-25 08:12:57 -08:00
Jm CaslerandGitHub 30d600040b Rename src/plugins/StoreForwardPlugin.cpp to src/plugins/esp32/StoreForwardPlugin.cpp 2021-02-25 08:12:30 -08:00
Jm CaslerandGitHub 10dd2337fc Merge branch 'master' into master 2021-02-25 08:04:41 -08:00
Kevin Hester 5ae4edf8fd move admin out of core proto 2021-02-25 20:36:37 +08:00
Kevin HesterandGitHub d3df6d3749 Merge pull request #711 from geeksville/dev
fixes for 1.1.49
2021-02-25 20:04:05 +08:00
Kevin Hester 8ba43e1745 merge latest from master 2021-02-25 20:02:32 +08:00
Kevin Hester cedd87001d Merge branch 'dev' into dev1.2 2021-02-25 19:49:50 +08:00
Kevin Hester afc901ddbe fix build. platformio isn't smart enough to git pull latest without
specifying a tag/commit/etc (I haven't tried specifying a branch?)

Without specifying the hash, the build breaks for anyone who already had
a repo (the CI build doesn't see this because it always pulls from scratch)

cc @crossan007 & @mc-hamster
2021-02-25 19:49:34 +08:00
Kevin Hester e4eb7ab589 Merge branch 'dev' into dev1.2
# Conflicts:
#	proto
#	src/mesh/generated/deviceonly.pb.h
#	src/mesh/generated/mesh.pb.h
#	src/plugins/esp32/EnvironmentalMeasurementPlugin.cpp
2021-02-25 19:44:08 +08:00
Kevin Hester b052928af2 Merge remote-tracking branch 'root/master' into dev 2021-02-25 19:33:06 +08:00
Kevin HesterandGitHub a3b1c4608e Merge pull request #713 from Eninspace/patch-2
Update README.md
2021-02-25 18:28:05 +08:00
NikoandGitHub 204c42234c Update README.md
Added line break
2021-02-25 13:12:47 +03:00
Jm CaslerandGitHub 0fe046b92d Merge pull request #72 from meshtastic/master
Update from head
2021-02-24 20:27:58 -08:00
Jm fd6842cb5b Partial Work, stable build. 2021-02-24 20:27:21 -08:00
Jm CaslerandGitHub 4f40128bbe Merge pull request #705 from crossan007/AddEnvironmentMessage
Changes to Environmental Measurement App
2021-02-24 20:26:44 -08:00
Jm CaslerandGitHub 3d4580c03e Merge branch 'master' into AddEnvironmentMessage 2021-02-24 20:20:23 -08:00
Kevin Hester 66638655a5 Merge branch 'dev' into dev1.2
# Conflicts:
#	src/mesh/NodeDB.cpp
2021-02-25 08:56:36 +08:00
Kevin Hester 2d214df76f Merge remote-tracking branch 'root/master' into dev 2021-02-25 08:52:26 +08:00
Kevin HesterandGitHub 8f1cd33d14 Merge pull request #709 from Eninspace/patch-1
Update README.md
2021-02-25 08:51:47 +08:00
Kevin Hester b2c47a7dea fix #710. nodes disappearing from map. thanks @DylanHoen for noticing! 2021-02-25 08:50:46 +08:00
NikoandGitHub 5f3f62ed46 Update README.md
Added Russian community group link
2021-02-24 13:45:21 +03:00
Charles CrossanandGitHub bfdad7d4d5 Merge branch 'master' into AddEnvironmentMessage 2021-02-23 20:23:13 -05:00
Kevin Hester 577336d2df oh well - github actions defeated me 2021-02-23 17:16:12 +08:00
Kevin Hester 245638a1d4 get more parallism in CI build 2021-02-23 17:07:38 +08:00
Kevin Hester ada05a1374 fix linux 2021-02-23 16:56:28 +08:00
Kevin Hester 4b07f9e160 todo update 2021-02-23 14:45:02 +08:00
Kevin Hester f8d8dc25c0 properly route messages to phone again 2021-02-23 14:35:34 +08:00
Jm 256ba8fa1b partial work, untested 2021-02-22 20:07:19 -08:00
Kevin Hester aa8b86c6b2 multichannel send/rx kinda works 2021-02-23 11:43:30 +08:00
Kevin Hester ae6b7e7259 multichannel code is done! (only basic testing completed though) 2021-02-23 10:45:03 +08:00
Kevin Hester 2761c85564 clean up the crypto api 2021-02-23 10:10:35 +08:00
Charles Crossan ec41c11e58 initialize the last measurement values to something obviously "unread" 2021-02-22 21:00:41 -05:00
Charles Crossan 3a91da5e52 remove UI render comment log spam 2021-02-22 21:00:05 -05:00
Charles Crossan 690b843678 add missing newline 2021-02-22 20:52:10 -05:00
Charles Crossan 3f1ada29ac support independently enabling/disabling the on-device screen and actual measurement 2021-02-22 20:47:35 -05:00
Charles Crossan 0c9df6ccbd disable the app by default 2021-02-22 20:33:42 -05:00
Charles Crossan b62b01fe7c consume the additional details from OLEDDisplayUiState to handle transitions to/from plugin screens better
It's still a bit janky, but should work

https://github.com/meshtastic/esp8266-oled-ssd1306/pull/2
2021-02-22 20:18:36 -05:00
Charles Crossan efaf669479 update Environmental Measurement plugin to use radio config prefs 2021-02-22 19:50:51 -05:00
Kevin Hester 94cd96cfde begin multichannel hash impl 2021-02-22 12:57:26 +08:00
Kevin Hester 923ecc9d8a fix printf warnings 2021-02-22 12:57:03 +08:00
Jm Casler d5cb7ebf3b check in partial work. 2021-02-21 20:15:31 -08:00
Kevin Hester d6c2e9063a 1.2 channel cleanup 2021-02-22 11:16:38 +08:00
Kevin Hester 3088fe3f91 Stay up-to-date wrt master (cc @mc-hamster)
# Conflicts:
#	src/plugins/Plugins.cpp
#	src/plugins/RangeTestPlugin.cpp
#	src/plugins/StoreForwardPlugin.cpp
2021-02-22 10:39:46 +08:00
Kevin Hester d4781280b7 update protos 2021-02-22 10:29:27 +08:00
Kevin Hester 008187caa4 1.2 wip - psk work 2021-02-22 10:26:11 +08:00
Charles Crossan 6dffaae72e fix typo 2021-02-21 16:49:35 -05:00
Charles Crossan ae76ce4024 Implement interface for plugins to have custom UI Frames 2021-02-21 16:46:46 -05:00
Charles Crossan 087945d7cb udpate protobufs 2021-02-21 12:05:23 -05:00
Charles Crossan fc72d16bcb Disable the plugin by default 2021-02-21 11:48:32 -05:00
Charles Crossan 5817afd4ac fix port number for ENVIRONMENTAL_MEASUREMENT_APP 2021-02-21 11:42:03 -05:00
Charles Crossan 765a6fcc62 Display received measurements in logs and on screen 2021-02-21 11:39:45 -05:00
Charles Crossan 0b20c46b79 standardize log line beginnings 2021-02-21 11:39:20 -05:00
Jm CaslerandGitHub c6864417c6 Merge pull request #646 from crossan007/AddEnvironmentMessage
Add Environmental Measurement Plugin
2021-02-21 08:31:13 -08:00
Charles Crossan 27f74382aa Fix CI build for non-esp32 devices 2021-02-21 11:09:58 -05:00
Charles Crossan 77961e8e93 Un-derp testing details 2021-02-21 11:00:58 -05:00
Charles Crossan 3c564796e0 2021-02-21 10:55:33 -05:00
Jm a4e5c7224f Add sawNodeReport to storeforwardplugin 2021-02-20 23:53:53 -08:00
Jm 7ffe601743 Changes to how airtime noise is gathered. 2021-02-20 23:53:17 -08:00
Kevin Hester c6091338ab admin ops 2021-02-21 14:03:44 +08:00
Kevin Hester 99467cd874 1.2 WIP at least doesn't crash 2021-02-21 12:59:47 +08:00
Kevin Hester 587102f6bc fix android lint warning 2021-02-21 11:36:34 +08:00
Jm CaslerandGitHub f41d79d586 Merge pull request #703 from mc-hamster/master
#701, #697 - Bug fix and update to debug output.
2021-02-20 00:53:07 -08:00
Jm CaslerandGitHub fc5030ff7b Merge branch 'master' into master 2021-02-20 00:46:03 -08:00
Jm ca40cb4be3 Update RangeTestPlugin.cpp 2021-02-20 00:43:56 -08:00
Jm e4141df0e9 #697 GPIO 12 is an odd pin. 2021-02-20 00:34:25 -08:00
Jm c690f81574 #697 Disable internal pullup on this board. 2021-02-19 18:19:14 -08:00
Jm 47b942ca00 #697 - Fixed button selection for tlora v2 1.6 2021-02-19 17:46:15 -08:00
Jm 621313d63c #701 - Add system up time to debug output 2021-02-19 16:58:52 -08:00
Jm CaslerandGitHub d361935c09 Merge pull request #699 from crossan007/fix-exception-decoder
Fix exception decoder output
2021-02-19 16:46:46 -08:00
Charles Crossan a2bea87332 Fix exception decoder output 2021-02-19 19:24:18 -05:00
Jm 13b8c140b4 Update StoreForwardPlugin.md 2021-02-18 21:47:16 -08:00
Kevin Hester 69a11e7375 WIP phone api changes for dev1.2 2021-02-17 19:04:41 +08:00
Kevin Hester 60a01567d9 remove region specific builds 2021-02-17 19:01:20 +08:00
Kevin Hester f064e56dc9 fix esp32 build for dev1.2 2021-02-17 16:17:46 +08:00
Kevin Hester 42ae27973e WIP 1.2 move routing into plugin 2021-02-17 13:06:23 +08:00
Jm CaslerandGitHub f6e2695a4d Merge pull request #695 from mc-hamster/master
Range test plugin done-enough
2021-02-16 18:54:42 -08:00
Jm e840465ef3 fix for failed builds on nrf and linux 2021-02-16 18:46:16 -08:00
Jm CaslerandGitHub f24e8e5f5c Rename src/plugins/RangeTestPlugin.h to src/plugins/esp32/RangeTestPlugin.h 2021-02-16 18:36:58 -08:00
Jm CaslerandGitHub 6376ab51f1 Moving to plugins/esp32 2021-02-16 18:36:30 -08:00
Jm CaslerandGitHub bd29d78a29 Update StoreForwardPlugin.md 2021-02-16 18:24:37 -08:00
Jm CaslerandGitHub b35cd76854 Update StoreForwardPlugin.md 2021-02-16 18:19:24 -08:00
Kevin Hester 205282c4bc show hwvendor at boot 2021-02-17 10:08:33 +08:00
Jm a4fd74b58e Update Plugins.cpp 2021-02-16 18:07:02 -08:00
Jm CaslerandGitHub 25072f0637 Merge branch 'master' into master 2021-02-16 17:44:17 -08:00
Jm 937955b36d Updating range test and storeforward. 2021-02-16 17:42:46 -08:00
Jm 2e8867eda6 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-02-16 17:42:25 -08:00
Jm CaslerandGitHub bd399a134b Merge pull request #693 from geoffreyheller/tlora-v2116-tx-pin-fix
Fix for non-working tx pin
2021-02-16 12:31:09 -08:00
Kevin Hester 45caf394f0 WIP multichannel support 2021-02-16 15:41:52 +08:00
Jm CaslerandGitHub d67e2187d0 Update RangeTestPlugin.md 2021-02-15 21:17:06 -08:00
geoffreyheller c8584d576a Fix for non-working tx pin 2021-02-15 19:33:35 -08:00
Jm CaslerandGitHub 418a12e75f Merge pull request #692 from crossan007/add_set_channel
add handleSetChannel
2021-02-15 18:49:29 -08:00
Charles Crossan 05d237ee84 add handleSetChannel 2021-02-15 21:02:30 -05:00
Jm 9a044f31a3 Tweak to the startup condition of the range test plugin. 2021-02-15 09:11:28 -08:00
Jm 8320754b98 Added recommended settings as a sender 2021-02-14 21:45:26 -08:00
Jm 703ce2e292 Keep device from sleeping while transmitting in range test plugin. 2021-02-14 21:34:47 -08:00
Jm c9353ebee3 Update RangeTestPlugin.md 2021-02-14 21:24:41 -08:00
Jm CaslerandGitHub 9601868e0f Merge pull request #71 from mc-hamster/RangeTestPlugin
Merge pull request #69 from mc-hamster/master
2021-02-14 20:18:41 -08:00
Jm fea2228b16 Update RangeTestPlugin.md 2021-02-14 20:17:16 -08:00
Jm 7d4ce483c5 Update RangeTestPlugin.md 2021-02-14 20:16:29 -08:00
Jm e6605e5ac8 Store Forward can see All(?) rx packets! 2021-02-14 20:13:52 -08:00
Jm CaslerandGitHub 2472d6fd1b Merge pull request #70 from meshtastic/master
pull from main
2021-02-14 18:40:38 -08:00
Jm 3311146aba Turning storeforward back on for @geeksville 2021-02-14 16:19:06 -08:00
Jm CaslerandGitHub 793528b057 Merge pull request #69 from mc-hamster/master
#671 Range test plugin
2021-02-14 16:18:36 -08:00
Jm b8adaf6fbe #671 Range test plugin 2021-02-14 16:17:40 -08:00
Jm 24329a26de Framework for storeforward 2021-02-14 14:01:08 -08:00
Jm f1a65f9d0e Update to store and forward. Don't merge this to main! 2021-02-14 13:31:11 -08:00
Jm ae46b3df32 Update StoreForwardPlugin.md 2021-02-14 11:10:56 -08:00
Jm d5c1e3c6e0 Update StoreForwardPlugin.md 2021-02-14 11:00:11 -08:00
Jm a95f612452 Update StoreForwardPlugin.md 2021-02-14 10:56:08 -08:00
Jm Casler 3201d1c3bc #668 Partial work for store & forward 2021-02-14 08:44:49 -08:00
Kevin HesterandGitHub 2b10a03178 Merge pull request #690 from geeksville/dev
oops - 1.1.47 had bad bug
2021-02-14 15:26:00 +08:00
Kevin Hester 80fb7e4ab8 Merge remote-tracking branch 'root/master' into dev 2021-02-14 15:15:28 +08:00
Kevin Hester 7c1ddd9447 1.1.48 2021-02-14 15:13:58 +08:00
Kevin Hester c55074f7fe oops: we should crash if we >MAX_THREADS, also raise max threads 2021-02-14 15:06:49 +08:00
Jm Casler 36643cf5f5 #671 range test plugin documentation
#671 range test plugin documentation
2021-02-13 22:40:04 -08:00
Jm Casler 92a62d93ef #671 Rangetest - This just needs to be tested. 2021-02-13 22:21:01 -08:00
Kevin Hester 450e877cfb fix #661 - create $archivedir 2021-02-14 14:14:50 +08:00
Kevin HesterandGitHub c0fbfccf43 Merge pull request #689 from geeksville/dev
Dev
2021-02-14 13:48:39 +08:00
Kevin Hester 51ccc3aa9e 1.1.47 2021-02-14 12:28:27 +08:00
Kevin Hester e35f137986 clean up nodeinfo broadcasts and move into plugin 2021-02-14 12:27:10 +08:00
Kevin Hester 71c35304d6 delay position plugin start until 60 secs after first boot 2021-02-14 12:26:51 +08:00
Kevin Hester c1733a4ac6 Merge remote-tracking branch 'root/master' into dev 2021-02-14 12:07:11 +08:00
Kevin Hester 66a7e8eab9 oops - we were never sending 'fixed' gps positions to other nodes 2021-02-14 12:02:24 +08:00
Kevin Hester a872231f8a clean up position broadcasts, send them even if we don't have gps lock 2021-02-14 11:57:48 +08:00
Kevin Hester 52ec4d511c oops - we weren't properly stripping timestamps from new style positions 2021-02-14 11:37:32 +08:00
Jm CaslerandGitHub aa7fb86798 Merge pull request #687 from sachaw/master
Fix report formatting
2021-02-13 14:02:12 -08:00
Sacha Weatherstone 875eeb699c Fix report formatting 2021-02-13 19:51:31 +11:00
Jm CaslerandGitHub b239b4dc57 Merge pull request #686 from mc-hamster/master
Finished and partial work
2021-02-12 19:07:13 -08:00
Jm 19db5ba421 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-02-12 18:53:08 -08:00
Jm e225af28dc Disable plugins 2021-02-12 18:52:31 -08:00
Jm CaslerandGitHub eecf89a9c0 Merge pull request #68 from meshtastic/master
from main to my fork
2021-02-12 18:49:39 -08:00
Jm c9b1ee532d Update deviceonly.pb.h 2021-02-12 18:49:24 -08:00
Jm 8c27baae84 Update platformio.ini 2021-02-12 18:48:18 -08:00
Kevin Hester 8c225a3c65 disable lora while updating, show "Updating" on oled screen 2021-02-12 13:48:12 +08:00
Kevin HesterandGitHub 7ff1f3a759 Merge pull request #684 from geeksville/dev
Dev
2021-02-12 10:04:48 +08:00
Kevin Hester bbc8fc0269 fix build for nrf52 2021-02-12 09:56:42 +08:00
Kevin Hester 9d81511153 fix warning 2021-02-12 09:56:35 +08:00
Kevin Hester 16d63bd0ce 1.1.46 2021-02-12 09:42:04 +08:00
Kevin Hester f2b7ff2b79 an optimization for #681 - make want_ack packets higher priority 2021-02-12 09:40:20 +08:00
Kevin Hester bc8453283f Merge remote-tracking branch 'root/master' into dev 2021-02-12 09:10:48 +08:00
Kevin Hester 2ff5046dcd for #681, add MeshPacketQueue (a priority queue) to ensure acks get sent quickly 2021-02-12 09:08:49 +08:00
Kevin Hester 917090856f partial for #681: Never let stale nodeinfos/positions stay in xmit queue 2021-02-11 18:19:43 +08:00
Kevin HesterandGitHub b45d633a34 Merge pull request #680 from geeksville/dev
Dev
2021-02-10 16:33:02 +08:00
Kevin Hester da03490310 Merge branch 'dev' into portduino 2021-02-10 16:20:29 +08:00
Kevin Hester fdfe62edf0 updates to work with new protobuf names 2021-02-10 16:18:41 +08:00
Kevin Hester aedca25fa8 Merge branch 'dev' into portduino 2021-02-10 15:51:34 +08:00
Jm b29bcbbd41 #682 Exposing the actual radio center frequency to /static/report 2021-02-09 21:59:00 -08:00
Kevin Hester 8e8170b667 Merge remote-tracking branch 'root/master' into dev 2021-02-08 18:03:35 +08:00
Kevin Hester 2fa38c7dc4 update protos 2021-02-08 17:57:45 +08:00
Jm ca8a0ca8d2 update rangetest 2021-02-07 19:20:29 -08:00
Kevin Hester 58bb7169a0 use nodenum as the default nodeid 2021-02-08 10:15:02 +08:00
Jm cb541d75a9 Update radio-settings.md with note of coverage. 2021-02-07 13:19:52 -08:00
Jm Casler 4ee01acb40 Change where the location information is taken from. 2021-02-07 09:31:29 -08:00
Jm d678c48884 work on rangetestplugin and storeforwardplugin
done for the night.
2021-02-06 23:29:18 -08:00
Jm 9f9f02fc6f Reverting platform.ini back to the way it was. 2021-02-06 21:38:54 -08:00
Jm CaslerandGitHub abf135abce Merge pull request #66 from meshtastic/master
mc-hamster/meshtastic-device <- meshtastic/meshtastic-device
2021-02-06 19:56:44 -08:00
Kevin HesterandGitHub f7beec4728 Merge pull request #678 from geeksville/dev
misc bugs
2021-02-07 11:00:09 +08:00
Kevin Hester ccf3450864 make CI build steps more atomic for easier reporting 2021-02-07 10:49:14 +08:00
Kevin Hester 86553a4fc9 add libs needed for linux build on CI server 2021-02-07 10:44:31 +08:00
Kevin Hester 55349ea570 1.1.42 2021-02-07 10:27:04 +08:00
Kevin Hester 486b03e985 bug 677. Don't assert fail for missing interfaces, instead return
nak packet to clients.
2021-02-07 10:26:11 +08:00
Kevin Hester ccb232b6ac make route errors a more general 'message delivery failure' reason
in support of https://github.com/meshtastic/Meshtastic-device/issues/677
2021-02-07 09:46:35 +08:00
Kevin Hester c25efac0c1 portduino wip 2021-02-07 09:17:46 +08:00
Jm 22af1b551a Add note about antenna gain. 2021-02-06 10:06:20 -08:00
Jm c696d226b2 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-02-06 10:04:13 -08:00
Jm 9035a06b4a Add link budget to radio-settings.md 2021-02-06 10:02:23 -08:00
Jm Casler 056940a4ad Documentation 2021-02-06 09:13:49 -08:00
Kevin Hester e7af338c31 add trademark 2021-02-04 15:46:57 +08:00
Kevin Hester 9069e5b33e no longer need to set num jobs, because my computer is better 2021-02-04 11:51:12 +08:00
Jm 82db1f1db6 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-02-03 08:10:15 -08:00
Jm f46059ec4c update to range test plugin 2021-02-03 08:10:13 -08:00
Jm 0c71de4e59 Update for rangetest plugin 2021-02-03 08:09:59 -08:00
Jm Casler 0fa654e53a update radio-settings.md 2021-02-03 07:01:35 -08:00
Jm Casler 45c17659cc radio-settings.md - add note about TCXO stability 2021-02-03 01:04:23 -08:00
Jm Casler b901f8d9ae Update to radio-settings.md 2021-02-03 00:15:41 -08:00
Jm Casler 9c60a7966f Update radio-settings.md 2021-02-03 00:01:52 -08:00
Jm Casler 6d66a53f8d Another update to radio-settings.md 2021-02-02 23:59:34 -08:00
Jm Casler 324627482a Update radio-settings.md 2021-02-02 23:57:25 -08:00
Jm Casler 0c6c189028 Update to radio-settings.md 2021-02-02 23:01:05 -08:00
Jm Casler 8a68ae0d04 Update radio-settings.md 2021-02-02 22:47:16 -08:00
Jm Casler 5661e5dad6 Update radio-settings.md 2021-02-02 22:43:24 -08:00
Jm e9affb50d2 #674 add support for lora32 v1.3 2021-02-02 17:34:50 -08:00
Jm Casler c00173dbd2 partial work 2021-01-31 18:20:08 -08:00
Jm Casler e8c6fccd63 #671 Range Test Plugin
Initial work for Range Test Plugin
2021-01-31 09:12:36 -08:00
Jm Casler 487b8c6e9e #668 Initial work for Store & Forward Plugin 2021-01-31 09:12:01 -08:00
Jm b2481d1450 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-01-30 19:42:08 -08:00
Jm CaslerandGitHub 399fbc5d65 Merge pull request #665 from mc-hamster/master
#664 - Blink the LED when we enter disablePin() and #654 - ExternalNotificationPlugin
2021-01-30 17:28:28 -08:00
Jm Casler 48b38ed94b Update documentation 2021-01-30 17:21:54 -08:00
Jm CaslerandGitHub c0444ef16f Merge pull request #64 from meshtastic/master
Update from meshtastic main
2021-01-30 17:20:56 -08:00
Kevin HesterandGitHub 1719a8e764 Merge pull request #667 from geeksville/dev
kevins misc fixes
2021-01-31 09:18:05 +08:00
Jm 242bcc8353 Update documentation location to the main mesthastic repo 2021-01-30 09:52:21 -08:00
Jm CaslerandGitHub 092af0f9f9 Update to doc to add info on the bell character 2021-01-30 09:50:19 -08:00
Jm CaslerandGitHub 133a7ff166 Added more notes. 2021-01-30 09:46:26 -08:00
Jm CaslerandGitHub 5df08410e7 Create SerialPlugin.md 2021-01-30 09:39:40 -08:00
Jm 9f9787bc03 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-01-30 09:36:28 -08:00
Jm 7129a19f35 #654 Add reference to documentation 2021-01-30 09:36:17 -08:00
Jm CaslerandGitHub f45ffc8773 Rename documentation 2021-01-30 09:32:44 -08:00
Jm CaslerandGitHub 3162f74945 Create External Notification documentation. 2021-01-30 09:32:04 -08:00
Jm 6cef3e41e7 Update comments and use radioConfig 2021-01-30 09:17:40 -08:00
Kevin Hester c0e2ec8dec 1.1.34 2021-01-30 21:23:03 +08:00
Jm aee81c8dcd #654 - Add comments on what the config does 2021-01-29 19:35:03 -08:00
Jm 9e736ab0d7 #654 Fix gpio initilization 2021-01-28 23:16:10 -08:00
Jm 85752b0fc7 #654 - Fixed problem with class namespaces. 2021-01-28 23:02:00 -08:00
Kevin Hester c6f34c59b4 Update to logo by @thepoweroftwo 2021-01-29 13:26:08 +08:00
Kevin Hester 7f07725840 make improperly sized AES128/256 keys non fatal, instead pad with zeros
Fixes rebooting the board if someone specifies an invalid key
2021-01-29 10:15:48 +08:00
Kevin Hester c81d090464 someone added storerequest app? 2021-01-29 10:14:46 +08:00
Jm Casler c524732849 #654 - Non blocking call to toggle the output. 2021-01-27 21:35:07 -08:00
Jm Casler 5e303f8a1f #654 - Work in progress. Needs testing, non-blocking alert and integration with configuration 2021-01-27 21:20:18 -08:00
Jm 2246564279 #654 - Small changes. 2021-01-27 20:06:39 -08:00
Jm eff0c1fe89 #654 - Partial work for the LED/Speaker.
Framework is done. Just need to blink a few things and update protobufs.
2021-01-27 19:18:16 -08:00
Jm CaslerandGitHub ad322476d2 Merge branch 'master' into master 2021-01-27 18:56:48 -08:00
Jm 2561742683 #664 - Blink the LED when we enter disablePin() 2021-01-27 18:56:09 -08:00
Kevin HesterandGitHub fa9e31fe03 Merge pull request #663 from geeksville/eink
back in the saddle - reading github and slack next
2021-01-28 10:38:46 +08:00
Kevin Hester 3ac5b045c4 Merge remote-tracking branch 'root/master' into eink 2021-01-28 10:31:56 +08:00
Kevin Hester 6a593e01e1 notes on eink1.0 2021-01-28 10:30:24 +08:00
Kevin Hester 6f6dd2291e fix typo 2021-01-28 10:30:00 +08:00
Kevin HesterandGitHub 2b4ddc07f5 Merge pull request #651 from android606/log-tx-failure
Set critical error and reboot when radio fails to generate Tx IRQ - fixes #138
2021-01-27 18:05:56 +08:00
Kevin HesterandGitHub 63c650c33e Merge branch 'master' into log-tx-failure 2021-01-27 17:54:06 +08:00
Kevin HesterandGitHub dc29161f37 Merge pull request #659 from IZ1IVA/patch-4
Update radio-settings.md
2021-01-27 17:52:27 +08:00
Jm CaslerandGitHub 8a6fdafc79 Merge branch 'master' into patch-4 2021-01-26 22:29:41 -08:00
Jm CaslerandGitHub ea40bd991c Merge pull request #660 from mc-hamster/master
Update version.properties to 1.1.33
2021-01-25 17:12:32 -08:00
Jm CaslerandGitHub e19dd46f0f Merge branch 'master' into master 2021-01-25 17:05:52 -08:00
Jm 532b06c280 Update version.properties to 1.1.33 2021-01-25 17:01:47 -08:00
IZ1IVAandGitHub a8480d1eaf Update radio-settings.md
Added data-rates
2021-01-25 16:11:24 +01:00
Jm CaslerandGitHub 0cf7aaffff Merge pull request #658 from sachaw/master
Another missing header
2021-01-24 18:06:14 -08:00
Sacha Weatherstone e2e1819ef1 Merge branch 'master' of https://github.com/sachaw/meshtastic-device 2021-01-24 10:49:23 +11:00
Sacha Weatherstone 31b89e2932 Another header required 2021-01-24 10:48:48 +11:00
Jm CaslerandGitHub a021ff7eb8 Merge pull request #656 from sachaw/master
fix cors for API requsts & fix spiffs url
2021-01-22 23:36:27 -08:00
Jm CaslerandGitHub bb5d0fac90 Merge branch 'master' into master 2021-01-22 23:26:53 -08:00
Jm CaslerandGitHub df5ed64514 Merge pull request #655 from mc-hamster/master
Fix for #650 - build-all.sh will fail
2021-01-22 23:26:39 -08:00
Sacha Weatherstone 9db5f9ff67 fix cors for API requsts & fix spiffs url 2021-01-23 17:42:15 +11:00
Jm ca83a78e13 Fix for #650 - build-all.sh will fail 2021-01-22 19:50:12 -08:00
Jm CaslerandGitHub 13eef9a309 Merge pull request #653 from mc-hamster/master
Update comments in SerialPlugin
2021-01-20 21:42:12 -08:00
Jm CaslerandGitHub 2a8ac2c0c6 Merge branch 'master' into master 2021-01-20 19:04:46 -08:00
Jm CaslerandGitHub c97342db99 Merge pull request #63 from mc-hamster/serial
Update comments on SerialPlugin
2021-01-20 19:03:44 -08:00
Jm CaslerandGitHub d7b2a0ed79 Merge pull request #62 from mc-hamster/master
update serial from master
2021-01-20 19:02:58 -08:00
Jm af0a1b5db5 Update comments of SerialPlugin 2021-01-20 19:02:08 -08:00
Jm CaslerandGitHub 9cf030d587 Merge pull request #652 from mc-hamster/master
#649 More webserver refactoring
2021-01-19 21:52:56 -08:00
Jm c04d70d5e5 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-01-19 21:38:30 -08:00
Jm 2a47819fd6 #649 More webserver refactoring 2021-01-19 21:38:17 -08:00
Jm CaslerandGitHub 4516c8f9b5 Merge pull request #61 from meshtastic/master
Merge pull request #648 from mc-hamster/master
2021-01-19 21:27:24 -08:00
Jm e4fdf26dc7 #649 - First pass on the refactoring of the webserver 2021-01-19 21:26:23 -08:00
Andrew Mark dd511588a2 Oops, let's only try to reboot ESP32 when there's an ESP32 2021-01-19 20:13:19 -08:00
Andrew Mark 79dad8ec8c Set critical error and reboot when radio fails to generate tx IRQ 2021-01-19 18:21:54 -08:00
Jm CaslerandGitHub 39d14fedc2 Merge pull request #648 from mc-hamster/master
#647 - Fix for admin mode being forced on boards without hardware pullup
2021-01-18 10:56:13 -08:00
Jm CaslerandGitHub 1da38fc748 Merge branch 'master' into master 2021-01-18 10:44:38 -08:00
Jm b5f50efdcd #647 - Fix for admin mode being forced on boards without hardware pullup 2021-01-18 10:43:15 -08:00
Jm CaslerandGitHub 046e691d4e Merge pull request #645 from mc-hamster/master
#635 Added web_request_count and fixed printf of psram
2021-01-17 17:26:56 -08:00
Jm CaslerandGitHub e72531b090 Merge pull request #60 from mc-hamster/master
Update Serial
2021-01-17 15:41:21 -08:00
Jm 81e320c9cf Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-01-17 15:40:27 -08:00
Jm fa8cc74141 Update to Serial Plugin to make it easy to override the device configuration 2021-01-17 15:40:25 -08:00
Jm CaslerandGitHub c7d9ff7cc0 Merge branch 'master' into master 2021-01-17 10:36:54 -08:00
Jm 8704a9d08f Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2021-01-17 10:30:40 -08:00
Jm c0d27e2ce9 #635 Added web_request_count and fixed printf of psram 2021-01-17 10:30:34 -08:00
Jm CaslerandGitHub 84b9028ecb Merge pull request #642 from mc-hamster/master
#635 - Added memory usage statistics
2021-01-17 04:52:03 -08:00
Jm CaslerandGitHub 4fda7098c0 Merge branch 'master' into master 2021-01-17 04:44:42 -08:00
Jm 8e8264efb0 #635 - Added memory usage statistics 2021-01-17 00:29:29 -08:00
Jm CaslerandGitHub 54e780a6ca Merge pull request #641 from mc-hamster/master
Update generated protobuf; Update serial plugin; #615 - Configure charge current
2021-01-17 00:18:33 -08:00
Jm 125eb2b784 Fix for build fail on NRF 2021-01-17 00:11:26 -08:00
Jm CaslerandGitHub 6ea9cdc83b Merge pull request #59 from mc-hamster/master
Update serial plugin with new protobufs
2021-01-17 00:03:13 -08:00
Jm c0711fde69 #615 Allow rate for tbeam battery charger to be configurable 2021-01-16 23:10:08 -08:00
Jm 20b8d2c4a5 Set the port to PortNum_SERIAL_APP 2021-01-16 22:41:33 -08:00
Jm 73ae151971 Added serialplugin_timeout to SerialPlugin 2021-01-16 22:39:28 -08:00
Jm CaslerandGitHub f4806c9dd7 Merge branch 'serial' into master 2021-01-16 22:35:56 -08:00
Jm 79532210e8 SerialPlugin - Update comments with better instructions 2021-01-16 22:31:56 -08:00
Jm d7f26493a5 Update to SerialPlugin to take advantage of the configs 2021-01-16 22:27:33 -08:00
Jm b9d025dd58 Missed adding the proto file 2021-01-16 20:53:45 -08:00
Jm f435086a5a Update generated protobufs 2021-01-16 20:50:58 -08:00
Jm 3dcdf372d7 add remote update 2021-01-16 20:12:31 -08:00
Jm cd84f2867c Updated submodule proto 2021-01-16 20:00:37 -08:00
Jm cafe00e463 Update of serialplugin 2021-01-16 19:40:47 -08:00
Kevin Hester fd9ffbbb88 fix charging indication for dumb battery sensors 2021-01-16 13:05:33 +08:00
Kevin Hester d1be7cf142 improve hardfault handler 2021-01-16 12:55:51 +08:00
Kevin Hester d1f0be215b eink leds seem a bit busted 2021-01-16 11:42:06 +08:00
Kevin Hester 3a2c17998e turn off nrf52 ble while debugging 2021-01-16 11:41:50 +08:00
Kevin Hester a0dd051511 turn off eink backlight 2021-01-16 11:41:28 +08:00
Kevin Hester 4faff3ec6f cope with bogus NMEA gps 2021-01-16 11:41:18 +08:00
Kevin Hester f110225173 Update variant file and qspi flash programming settings for new ttgoeink
Note: bin/qspi-flash-test.sh contains a script you can use for basic
bench programming and testing of the serial spi flash over SWD
2021-01-16 10:34:46 +08:00
Kevin Hester 2684257e7e update protobufs 2021-01-16 09:59:43 +08:00
Kevin Hester 51fb1021df Merge remote-tracking branch 'root/master' into eink
# Conflicts:
#	platformio.ini
2021-01-16 09:59:08 +08:00
Kevin Hester 51d0d0d6c5 begin new ttgo eink board 2021-01-16 09:57:55 +08:00
Kevin Hester 047df76373 move rev 0.1 of the ttgo eink board to eink0.1 2021-01-16 09:55:06 +08:00
Jm 6da4e30215 Merge branch 'serial' of https://github.com/mc-hamster/Meshtastic-device into serial 2021-01-14 22:38:53 -08:00
Jm dbf0569e29 Update comments for serial pins recommended by @ryguy 2021-01-14 22:36:51 -08:00
Jm CaslerandGitHub 18220b88b3 Merge pull request #58 from mc-hamster/master
update serial from master
2021-01-14 22:36:17 -08:00
Jm CaslerandGitHub 665da2fb00 Merge pull request #57 from meshtastic/master
Merge pull request #633 from mc-hamster/master
2021-01-14 22:34:01 -08:00
Jm CaslerandGitHub 57ffe6622d Merge pull request #56 from mc-hamster/master
update serial from master
2021-01-14 22:25:20 -08:00
Jm CaslerandGitHub 485fec9649 Merge pull request #633 from mc-hamster/master
Fix for #632 (move web server to osthread) and #611 (move airtime to osthread)
2021-01-14 22:06:18 -08:00
Jm bd85736226 SerialPlugin - Exclude working on non esp32 platforms. 2021-01-14 21:59:26 -08:00
Jm 4ec8986934 Fixed switching to uint32 from 16 for airtime in json report 2021-01-14 21:45:41 -08:00
Jm CaslerandGitHub b963216764 Merge pull request #55 from mc-hamster/serial
Update for SerialPlugin and Airtime
2021-01-14 21:43:28 -08:00
Jm CaslerandGitHub 813fd95bc8 Merge pull request #54 from geeksville/mc-master
fix @mc-hamster build to work on linux/nrf52
2021-01-14 21:33:27 -08:00
Kevin Hester 3598c91c29 fix @mc-hamster build to work on linux/nrf52 2021-01-15 13:30:40 +08:00
Jm 507cd1dd20 #639 - Move from counting seconds to milliseconds 2021-01-14 18:40:18 -08:00
Jm e39506824d Added more comments 2021-01-14 18:08:23 -08:00
Jm f68a31ab28 serialplugin - ability to configure ACK 2021-01-13 23:21:55 -08:00
Jm b1181deb58 serialplugin - Added my todo list 2021-01-13 23:02:13 -08:00
Jm 89b32dd7ee Fix comments in serial plugin 2021-01-13 22:51:36 -08:00
Jm c54e87f9a2 Update SerialPlugin.cpp
Added documentation.
2021-01-13 22:50:02 -08:00
Jm eee7e1de57 Update to serial plugin 2021-01-13 22:39:11 -08:00
Jm 3c60df1565 Partial work on the SerialPlugin 2021-01-13 20:22:59 -08:00
Jm CaslerandGitHub a827017bd2 Merge pull request #53 from crossan007/master
add power statistics for #635
2021-01-11 17:54:27 -08:00
Charles Crossan 95c502c658 fix typo 2021-01-11 20:30:02 -05:00
Charles Crossan 0f573901d5 didn't need power.h 2021-01-11 20:28:09 -05:00
Charles Crossan fdc9bf5783 add power statistics for #635 2021-01-11 20:25:02 -05:00
Jm CaslerandGitHub 37e0f9a325 Merge pull request #52 from mc-hamster/osthread
maybe this will fix the linux build?
2021-01-09 19:32:40 -08:00
Jm 0c06d8db3c maybe this will fix the linux build? 2021-01-09 19:31:16 -08:00
Jm CaslerandGitHub 0be4bbb369 Merge pull request #51 from mc-hamster/osthread
Does this fix the linux build?
2021-01-09 19:17:45 -08:00
Jm f02ab88393 Does this fix the linux build? 2021-01-09 19:15:10 -08:00
Jm CaslerandGitHub c9d4de8808 Merge pull request #50 from mc-hamster/osthread
fixed in linux now?
2021-01-09 19:07:16 -08:00
Jm adb912b665 fixed in linux now? 2021-01-09 19:06:34 -08:00
Jm CaslerandGitHub 3f5da1e03e Merge pull request #49 from mc-hamster/osthread
another linux fix?
2021-01-09 18:37:04 -08:00
Jm 0a40d920e3 Update BluetoothUtil.cpp
yet another linux fix?
2021-01-09 18:36:23 -08:00
Jm CaslerandGitHub 39311f1e40 Merge pull request #48 from mc-hamster/osthread
is linux fixed now?
2021-01-09 18:27:32 -08:00
Jm 9cd24a5646 is linux fixed now? 2021-01-09 18:27:03 -08:00
Jm CaslerandGitHub 1c0efde315 Merge pull request #47 from mc-hamster/osthread
is linux fixed now?
2021-01-09 18:09:57 -08:00
Jm c82905bbdd is linux fixed now? 2021-01-09 18:09:16 -08:00
Jm CaslerandGitHub 275eace968 Merge pull request #46 from mc-hamster/osthread
more linux fixes
2021-01-09 17:52:09 -08:00
Jm 5688c8b81e more linux build fixes 2021-01-09 17:50:58 -08:00
Jm 8b2798abd5 Added a few commented out default_envs 2021-01-09 17:44:20 -08:00
Jm CaslerandGitHub 6d977923b6 Merge pull request #45 from mc-hamster/osthread
more fixes for linux build
2021-01-09 17:34:34 -08:00
Jm 52dacaed37 more fixes for linux build 2021-01-09 17:30:36 -08:00
Jm CaslerandGitHub 7a381eaea1 Merge pull request #44 from mc-hamster/osthread
Fix for breaking the linux build
2021-01-09 13:47:43 -08:00
Jm 69391e186b Fix for breaking the linux build 2021-01-09 13:47:10 -08:00
Jm CaslerandGitHub 06f8beaa17 Merge pull request #43 from mc-hamster/osthread
fix for building on NRF platform.
2021-01-08 23:00:36 -08:00
Jm 3798f4ca5b fix for building on NRF platform. 2021-01-08 22:59:37 -08:00
Jm CaslerandGitHub 4fd243a6e4 Merge pull request #42 from mc-hamster/osthread
Moving web server and airtime to osthread model. Moved web server to mesh/wifi
2021-01-08 22:29:45 -08:00
Jm d458f673be Web server is now treaded and moved to mesh/wifi/* 2021-01-08 22:25:44 -08:00
Jm cfcb00b943 that's enough for tonight. web server is in its own thread, needs to be further optimized but it works enough. next is to refactor. 2021-01-08 20:43:51 -08:00
Jm 977e47d109 partial work 2021-01-08 20:06:11 -08:00
Jm CaslerandGitHub cfeb40f36d Merge pull request #41 from mc-hamster/master
Updated osthread branch from master
2021-01-08 19:57:19 -08:00
Jm CaslerandGitHub 4fcc3ac1de Merge pull request #40 from meshtastic/master
Updated my master from head
2021-01-08 19:54:57 -08:00
Kevin HesterandGitHub f4afa6931b Merge pull request #630 from geeksville/dev
Dev
2021-01-08 13:38:23 +08:00
Kevin Hester 71be71d63d add note about how to send messages thanks @rw-w for the question 2021-01-08 13:31:28 +08:00
Kevin Hester de9f7e6c39 update protos 2021-01-08 13:21:14 +08:00
Kevin Hester 7c8db2b501 Merge remote-tracking branch 'root/master' into dev
# Conflicts:
#	docs/software/plugin-api.md
2021-01-08 13:20:28 +08:00
Kevin HesterandGitHub cd653f9434 Merge pull request #629 from ry-w/patch-1
Update plugin-api.md
2021-01-08 13:19:03 +08:00
Kevin Hester 74bc05936d Merge remote-tracking branch 'root/master' into dev 2021-01-08 13:16:27 +08:00
Kevin Hester 7aacfd66ef add assertIsSetup() and use it from OSThread constructor
fixes nasty bug @mc-hamster discovered with plugin order of operations
2021-01-08 13:15:49 +08:00
Kevin Hester 3636b87db0 formatting 2021-01-08 11:52:43 +08:00
ry-wandGitHub d6bd328576 Update plugin-api.md
Couple of clarifications, and fixes to minor errors.
2021-01-06 14:24:51 -08:00
Jm 0af5b225c4 intermediate 2021-01-05 23:32:33 -08:00
Jm f7dcef39ce intermediate work 2021-01-05 23:21:14 -08:00
Kevin HesterandGitHub 07042178d2 Merge pull request #627 from mc-hamster/master
Include instrusctions for real time backtrace decoding.
2021-01-06 14:55:46 +08:00
Kevin HesterandGitHub 243878f2a0 Merge branch 'master' into master 2021-01-06 14:39:57 +08:00
Kevin HesterandGitHub d3f8a76cce Merge pull request #625 from geeksville/dev
fix #624 - update battery level and current time on mynodeinfo
2021-01-06 14:39:42 +08:00
Kevin HesterandGitHub 20131a51a2 Merge branch 'master' into dev 2021-01-06 14:31:11 +08:00
Kevin HesterandGitHub 1c9a369774 Merge branch 'master' into master 2021-01-06 13:26:30 +08:00
Kevin HesterandGitHub dcb426f58f Merge pull request #628 from IZ1IVA/patch-3
Update radio-settings.md
2021-01-06 13:23:53 +08:00
Jm CaslerandGitHub 35bcb5297a Merge pull request #38 from mc-hamster/master
update from master to osthread
2021-01-05 19:04:15 -08:00
Jm 84e3d7c276 Test fixes for Tobiases 2021-01-05 18:57:03 -08:00
IZ1IVAandGitHub 9b03f0ac8e Update radio-settings.md
Fixed frequency table non showing
2021-01-05 12:13:18 +01:00
Jm CaslerandGitHub eb402809e2 Merge branch 'master' into master 2021-01-04 22:16:07 -08:00
Jm e9c9e40624 Include instrusctions for real time backtrace decoding. 2021-01-04 22:15:19 -08:00
Kevin HesterandGitHub 01eed97b91 Merge branch 'master' into dev 2021-01-04 10:00:38 +08:00
Kevin Hester 94a47dba7d fix #624 - update battery level and current time on mynodeinfo 2021-01-04 09:59:53 +08:00
Kevin HesterandGitHub bce2c9347b Merge pull request #623 from geeksville/dev
Dev
2021-01-03 21:26:57 +08:00
Kevin Hester da8b1d41c7 1.1.32 2021-01-03 20:57:59 +08:00
Kevin Hester 3ddae5faec fix build for esp32 2021-01-03 20:12:31 +08:00
Kevin Hester 34faea6100 fix #622 - we might not have a local position yet early in the boot 2021-01-03 20:11:26 +08:00
Kevin Hester 01848a9e5d moved wifi code 2021-01-03 20:11:03 +08:00
Kevin Hester 10db80541f Merge remote-tracking branch 'root/master' into dev 2021-01-03 10:12:08 +08:00
Kevin Hester edd1268f5f portduino: begin adding wifi implementation 2021-01-03 10:11:20 +08:00
Jm CaslerandGitHub 11c16e8bbc Merge pull request #621 from mc-hamster/master
Remove text "This interface is experimental"
2021-01-02 10:39:20 -08:00
Jm CaslerandGitHub 7d411351c0 Merge pull request #37 from meshtastic/master
update from head
2021-01-02 10:20:56 -08:00
Jm df21602c90 Remove text "This interface is experimental" 2021-01-02 10:18:35 -08:00
Kevin Hester ce4ccf3cc4 no need for lora CS control on linux, the spi controller handles it 2021-01-02 19:40:24 +08:00
Kevin Hester a7f93de3ad add a software based cross platform AES-CTR implementation 2021-01-02 18:20:51 +08:00
Kevin HesterandGitHub 8e8257adf3 Merge pull request #619 from geeksville/dev
1.1.31
2021-01-02 16:51:08 +08:00
Kevin Hester e627725dfc 1.1.31 2021-01-02 14:15:07 +08:00
Kevin Hester b3ba557b8b cleanup portuino 2021-01-02 14:14:59 +08:00
Kevin HesterandGitHub bd03650140 Merge pull request #612 from wfang2002/master
Fix GPS turned on then off immediately every 2 minutes
2021-01-02 14:13:48 +08:00
Kevin HesterandGitHub 42f51f33a8 Merge branch 'master' into master 2021-01-02 14:12:07 +08:00
Jm 8295b88d96 Checking in work so I don't lose it. Nothing's broke with the build. 2021-01-01 21:20:34 -08:00
Kevin HesterandGitHub 70313b2660 Merge pull request #618 from geeksville/dev
portuino now kinda works for pinetab
2021-01-02 13:02:38 +08:00
Kevin HesterandGitHub 745d3775b4 Merge branch 'master' into dev 2021-01-02 12:54:04 +08:00
Kevin Hester aa176b6593 portuino now kinda works with the pinetab lora USB module.
still need to add an AEX256 impl for the linux port and optimize a bit
2021-01-02 12:38:18 +08:00
Kevin Hester b0e3a7524f assign more portduino pins 2021-01-02 11:23:30 +08:00
Kevin Hester 5ceee50bb5 bug: we've always been setting gpio 0 as an input on rf95 based devices
found because portduino provides full visibility to all IO operations
to the hw simulator.
2021-01-02 11:23:18 +08:00
Kevin Hester ebdad76fb2 portduino: gpios now kinda work on linux 2021-01-02 11:06:38 +08:00
Jm 925829dc58 Partial work to migrate to OSThread model 2021-01-01 12:31:46 -08:00
Jm CaslerandGitHub e04ea853dc Merge pull request #616 from mc-hamster/master
Display AP connection usage only when in AP mode & Cleanup some compile time warnings that were driving me crazy
2020-12-31 21:26:32 -08:00
Jm CaslerandGitHub 9587729bb0 Merge branch 'master' into master 2020-12-31 20:55:32 -08:00
Jm 6ec368bf02 Commenting out upload ports 2020-12-31 20:50:11 -08:00
Jm d71c7b512f Cleanup some compile time warnings that were driving me crazy. 2020-12-31 20:44:53 -08:00
Jm 349701ac14 Display AP connection usage only when in AP mode 2020-12-31 20:17:18 -08:00
Kevin HesterandGitHub d424fa5ea8 Merge pull request #605 from oztug/master
Genieblocks LoRa support
2020-12-31 14:19:30 +08:00
Kevin HesterandGitHub ca6293eefe Merge branch 'master' into master 2020-12-31 14:05:56 +08:00
Kevin Hester d289e8a86f Merge remote-tracking branch 'root/master' into dev 2020-12-31 14:02:47 +08:00
Kevin HesterandGitHub 96328526b7 Merge pull request #613 from wfang2002/#604_rtc
Shall upgrade RTC currentQuality if higher q available (fix #604)
2020-12-31 13:58:40 +08:00
Wei Fang 279c89dca3 Shall upgrade RTC currentQuality if higher q available 2020-12-30 21:46:43 -08:00
wfang2002andGitHub a7a52e08d1 Merge branch 'master' into master 2020-12-30 21:26:51 -08:00
Wei Fang f6336855d0 Fix GPS turned on then off immediately every 2 minutes 2020-12-30 21:11:03 -08:00
Jm CaslerandGitHub 727d8a6456 Merge pull request #610 from mc-hamster/master
Fix for meshtastic#606 and meshtastic#597
2020-12-30 21:10:15 -08:00
Jm CaslerandGitHub 7b80b95381 Merge pull request #36 from mc-hamster/upload
Fix for meshtastic#606 and meshtastic#597
2020-12-30 18:19:52 -08:00
Jm 2867f8fd53 Fix for #606 and #597
Upload interface randomly crashes #606

watchdog timer exception while building https certificate #597
2020-12-30 18:10:35 -08:00
Kevin Hester cdf416cb73 partial fix for #608 - when a new TCP API connection arrives, close old one completely 2020-12-31 10:02:18 +08:00
Jm 7716d62018 Remove old comment 2020-12-30 15:16:04 -08:00
Jm Casler d5f76b16b9 write readLength to debug console 2020-12-30 14:52:39 -08:00
Jm CaslerandGitHub 552406b15f Merge pull request #34 from meshtastic/master
update from master
2020-12-30 13:59:58 -08:00
Kevin HesterandGitHub abb52e5446 Merge pull request #607 from geeksville/dev
1.1.30
2020-12-30 18:31:20 +08:00
Kevin Hester de37a0c31e 1.1.30 2020-12-30 18:21:32 +08:00
Kevin Hester 6e31ba30c7 move generated protobuf c code to own directory 2020-12-30 12:34:22 +08:00
Kevin Hester 8fe1c518d9 Merge branch 'mqtt' into dev
# Conflicts:
#	proto
2020-12-30 12:25:00 +08:00
Kevin Hester b6006fe3d5 use default serial port for the current platform 2020-12-30 12:19:08 +08:00
Kevin HesterandGitHub 3e8173c4bd Merge pull request #600 from geeksville/dev
Dev
2020-12-30 10:20:05 +08:00
Kevin HesterandGitHub d8a15d6324 Merge branch 'master' into dev 2020-12-30 10:08:01 +08:00
oztug 9a3d558f61 Revert "Update proto"
This reverts commit 85ddf3be1b.
2020-12-30 01:27:20 +03:00
oztug 85ddf3be1b Update proto 2020-12-30 01:26:12 +03:00
oztug 3ca42b8f51 Merge remote-tracking branch 'upstream/master' 2020-12-30 01:24:13 +03:00
Jm CaslerandGitHub b75c7ad179 Merge pull request #596 from mc-hamster/master
#588 - Calculate air time. TX and RX logging is done. #601 - tbeam draws too much power from usb
2020-12-29 14:08:24 -08:00
Jm CaslerandGitHub 44f89c969d Merge branch 'master' into master 2020-12-29 13:31:31 -08:00
oztug 5595fb38c1 Genieblocks Lora support 2020-12-29 18:08:11 +03:00
Jm CaslerandGitHub c0e0e095c9 Merge pull request #602 from Noki/master
case with large gps antenna option
2020-12-28 10:02:27 -08:00
Jm CaslerandGitHub 6c1c0640f2 Merge branch 'master' into master 2020-12-28 09:54:31 -08:00
Tobias SchwarzandGitHub 698102371f case with large gps antenna option 2020-12-28 11:20:43 +01:00
Jm 997ed283bf #601 - tbeam draws too much power from USB port 2020-12-28 01:12:42 -08:00
Kevin Hester 9128f7d4b3 turn on battery pin for lora_v2 per @msws 2020-12-28 15:00:34 +08:00
Kevin Hester 93d0257be7 Merge remote-tracking branch 'root/master' into dev 2020-12-28 14:59:09 +08:00
Kevin Hester adc71e7ed2 mqtt doc progress 2020-12-28 14:42:24 +08:00
Kevin Hester 516e18ca80 mqtt doc updates 2020-12-28 13:57:59 +08:00
Kevin Hester 4777e53c23 more mqtt design work 2020-12-28 13:36:11 +08:00
Kevin Hester d6912cfd8e mqtt design progress 2020-12-28 13:22:10 +08:00
Jm 621306e610 Add IP address and rssi to /json/report 2020-12-27 15:03:32 -08:00
Jm CaslerandGitHub 0e507e1923 Merge branch 'master' into master 2020-12-27 12:39:36 -08:00
Jm 15a0b3694d Update to #588 - Change "hour" to "period" 2020-12-27 10:50:52 -08:00
Jm Casler 6e4cf22cf0 Accidently checked in my platform.ini 2020-12-27 09:49:23 -08:00
Jm Casler 58859848a3 Add RX and RX_ALL analytics for #588 2020-12-27 09:29:48 -08:00
Kevin HesterandGitHub 55f61826bf Merge pull request #599 from geeksville/mqtt
fix bug for scriptblock
2020-12-27 17:05:33 +08:00
Kevin Hester f80d357b77 Merge remote-tracking branch 'root/master' into mqtt 2020-12-27 16:59:23 +08:00
Kevin Hester c972197643 fix #598 don't corrupt the heap when a TCP connection drops 2020-12-27 16:58:32 +08:00
Kevin Hester c06b7b2b48 add misc mqtt ideas 2020-12-27 16:06:30 +08:00
Jm 3c69beef94 Update to the airtime calculator. I didn't 0 out the RX log. 2020-12-26 23:37:04 -08:00
Jm CaslerandGitHub e55c5e10bc Merge branch 'master' into master 2020-12-26 22:43:56 -08:00
Jm e321528a6d #588 - Calculate TX air time 2020-12-26 22:39:43 -08:00
Kevin HesterandGitHub ee897bce6c Merge pull request #595 from geeksville/mqtt
draft pull request to visualize MQTT changes vs master
2020-12-27 13:28:55 +08:00
Kevin Hester 186a52172c fix #577 don't make invalid radio settings reboot the board
instead raise a critical fault (note though: this is still not ideal
because the radio will be in an undefined state until valid settings
are used)
2020-12-27 13:09:20 +08:00
Kevin Hester 21570fc24f fix #540 use gps to fix rtc clock drift every 12 hrs 2020-12-27 12:54:44 +08:00
Kevin Hester 2edc6b363d fix #587 thanks @cronyx 2020-12-27 12:53:23 +08:00
Kevin Hester 0c74303e9d move criticalerror defs into .proto for cross platform support 2020-12-27 11:22:08 +08:00
Kevin Hester 244e597a9f Merge remote-tracking branch 'root/master' into dev 2020-12-26 14:01:46 +08:00
Kevin Hester 15833e1e53 Merge remote-tracking branch 'root/master' into mqtt 2020-12-26 13:59:26 +08:00
Kevin Hester 73d64d378a Merge branch 'dev' into mqtt 2020-12-26 13:58:58 +08:00
Kevin Hester 8d04410f45 improve error descriptions 2020-12-26 13:55:59 +08:00
Kevin HesterandGitHub 36d28d2da6 Merge pull request #594 from geeksville/dev
Dev
2020-12-26 13:53:48 +08:00
Kevin Hester 4a653ab054 fix nrf52 build 2020-12-26 13:47:02 +08:00
Kevin Hester 651bd71454 show critical faults on the screen 2020-12-26 13:36:21 +08:00
Kevin Hester 1e9ebbc476 Merge remote-tracking branch 'root/master' into dev 2020-12-26 12:53:39 +08:00
Kevin Hester 27c16ba185 add ppr1 notes 2020-12-26 12:53:20 +08:00
Kevin HesterandGitHub 51a8c7118a Merge pull request #593 from Noki/master
More cases and info about GPS and LoRa antennas
2020-12-26 12:17:08 +08:00
Kevin HesterandGitHub 808c4ff5ca Merge branch 'master' into master 2020-12-26 10:35:07 +08:00
Jm Casler ded2b86e55 Calculate TX air time duty cycles #588 -- UNTESTED 2020-12-25 16:10:38 -08:00
Tobias SchwarzandGitHub 9efcdc7c67 More cases and info about GPS and LoRa antennas 2020-12-25 20:58:31 +01:00
Jm CaslerandGitHub 34e6dbec81 Merge pull request #33 from meshtastic/master
updated my repo
2020-12-25 09:44:27 -08:00
Kevin HesterandGitHub 62b655ccea Merge pull request #592 from geeksville/dev
Dev
2020-12-25 15:51:14 +08:00
Kevin Hester 3c2aac87f7 better fix for screen messages in log 2020-12-25 15:39:42 +08:00
Kevin Hester 3aba097096 Merge branch 'dev' of https://github.com/geeksville/Meshtastic-esp32 into dev 2020-12-25 15:32:21 +08:00
Kevin Hester f45451ca74 missing line term 2020-12-25 15:31:17 +08:00
Kevin HesterandGitHub c35fec9f20 Merge branch 'master' into dev 2020-12-25 15:23:54 +08:00
Kevin Hester 88fa24ce79 Merge branch 'dev' of https://github.com/geeksville/Meshtastic-esp32 into dev 2020-12-25 15:19:25 +08:00
Kevin Hester 59577b9d79 add real formatted debug logging with timestamps 2020-12-25 15:17:56 +08:00
Kevin Hester c349ad62e7 we set randomSeed at boot so I think probably not good to do again
cool @mc-hamster?
2020-12-25 14:53:33 +08:00
Jm d5b57840d9 checking in a little of the airtime so i can switch to the laptop. 2020-12-24 22:12:59 -08:00
Kevin HesterandGitHub f8a3d143cb Merge pull request #591 from geeksville/dev
Dev
2020-12-25 14:04:50 +08:00
Kevin HesterandGitHub c717dfc33d Merge branch 'master' into dev 2020-12-25 11:38:27 +08:00
Jm CaslerandGitHub 22d9096c3d Merge pull request #590 from mc-hamster/master
#554 Keep radio turned on if we're contacted over http(s)
2020-12-24 19:30:30 -08:00
Jm CaslerandGitHub 8080bc608b Merge pull request #32 from meshtastic/master
Update from upstream.
2020-12-24 19:20:36 -08:00
Kevin Hester c4b9d60afa Merge remote-tracking branch 'root/master' into dev 2020-12-25 11:16:55 +08:00
Kevin Hester dda5568e2c update arduino lib & esp bins to fix #584 2020-12-25 11:14:00 +08:00
Kevin HesterandGitHub 2d8e00e2a0 Merge pull request #589 from geeksville/dev
Dev
2020-12-25 10:23:47 +08:00
Kevin Hester 901ff6bb1e bug #587 try to work with old (2.x?) versions of python 2020-12-25 10:16:49 +08:00
Kevin Hester 7312c56d6c Merge remote-tracking branch 'root/master' into dev
# Conflicts:
#	src/PowerFSM.cpp
2020-12-25 10:16:12 +08:00
Kevin Hester 031c58e21c remove logspam that was busting serial api 2020-12-23 17:12:48 +08:00
Jm 35b1cfcc42 #554 Keep radio turned on if we're contacted over http(s) while on battery power. 2020-12-22 23:15:09 -08:00
Jm CaslerandGitHub e545778154 Merge pull request #583 from mc-hamster/master
Quiet a compile time warning I introduced
2020-12-22 22:49:05 -08:00
Jm CaslerandGitHub 6fd2bc5f83 Merge branch 'master' into master 2020-12-22 22:39:05 -08:00
Jm 9a587b2743 Merge branch 'master' of https://github.com/mc-hamster/Meshtastic-device 2020-12-22 22:37:49 -08:00
Jm bacc1b1dad #581 - Quiet a compile time warning I introduced. 2020-12-22 22:37:34 -08:00
Jm CaslerandGitHub 575b69c541 Merge pull request #582 from mc-hamster/master
#407 - Fix for wifi does not come back up after power down
2020-12-22 22:36:09 -08:00
Jm CaslerandGitHub 73092b4b40 Merge branch 'master' into master 2020-12-22 22:28:22 -08:00
Jm 877dc824a9 #407 - Fix for wifi does not come back up after power down 2020-12-22 22:26:08 -08:00
Kevin HesterandGitHub 89c76dca11 Merge pull request #579 from mc-hamster/master
Fix for #535 -- Heltec board stays asleep ...
2020-12-23 10:05:07 +08:00
Kevin HesterandGitHub 2253ea1b41 Merge branch 'master' into master 2020-12-23 09:58:36 +08:00
Jm CaslerandGitHub b732a13d6c Merge pull request #580 from crossan007/master
add HTTP/Delete method handler for SPIFFS
2020-12-22 15:46:18 -08:00
Charles Crossan 8e0c224813 remove extra whitespace 2020-12-22 17:47:24 -05:00
Charles Crossan 5a96dc0083 move json delete endpoint 2020-12-22 17:44:40 -05:00
Jm CaslerandGitHub 181db06b0c Merge branch 'master' into master 2020-12-21 19:59:40 -08:00
Charles Crossan 47ccfb6106 add HTTP/Delete method handler for SPIFFS 2020-12-21 21:10:53 -05:00
Jm Casler 5f97740ab7 Fix for #535 -- Heltec board stays asleep ... 2020-12-21 17:42:00 -08:00
Jm CaslerandGitHub 90d6878bbb Merge pull request #578 from crossan007/master
add mime types for ico and svg
2020-12-21 16:25:54 -08:00
Charles Crossan 5c70f36aa5 add mime types for ico and svg 2020-12-21 17:42:55 -05:00
Tobias SchwarzandGitHub 09cc0a85db Merge pull request #1 from meshtastic/master
merge from original repository
2020-12-21 19:56:45 +01:00
Jm CaslerandGitHub a47fcdacb5 Merge pull request #575 from mc-hamster/master
Fix for #574 - add /json/blink endpoint
2020-12-20 20:24:15 -08:00
Jm Casler ef0891ae5d Fix for #576 - The browser was seeing the other files on the filesystem. 2020-12-20 20:09:17 -08:00
Kevin Hester a8d7700295 move more of is_router out of python and into the device code 2020-12-21 11:38:03 +08:00
Kevin Hester 412916ba7c fix printf format for 64 bits 2020-12-21 11:13:30 +08:00
Kevin Hester 616290edcc speed up build for my slow laptop 2020-12-21 11:13:16 +08:00
Jm CaslerandGitHub 9ed19892e2 Merge branch 'master' into master 2020-12-20 18:59:23 -08:00
Jm CaslerandGitHub 88cf60ad9d Merge pull request #31 from crossan007/adjust-blink-timings
adjust LED timings; switch to HTTP/POST; add SCREEN blink support
2020-12-20 18:49:45 -08:00
Charles Crossan 7f59e76c72 fix formatting 2020-12-20 21:47:46 -05:00
Charles Crossan dcb9125b32 remove unused parser 2020-12-20 21:47:23 -05:00
Charles Crossan 2743b9d310 use POST URL parameters; fix response status 2020-12-20 21:44:51 -05:00
Charles Crossan 2f779bfd37 improve blink; LED or SCREEN as POST Parameter 2020-12-20 18:24:48 -05:00
Charles Crossan db2193b526 implement screen blink 2020-12-20 17:45:45 -05:00
Charles Crossan 7205e9a5b4 adjust LED timings; switch to HTTP/POST 2020-12-20 14:50:13 -05:00
Jm Casler 1ca83509dd Blink the LED for one second on get of /json/blink 2020-12-20 11:32:49 -08:00
Jm CaslerandGitHub 7135a12300 Merge pull request #573 from mc-hamster/master
New feature #571 - Report contents of spiffs in a json data structure.
2020-12-19 12:25:15 -08:00
Jm Casler fae9ea8b3b Update for #571 (i forgot to set the mime type) 2020-12-19 12:18:08 -08:00
Jm Casler b96ee7be72 New feature #571 - Report contents of spiffs in a json data structure. 2020-12-19 12:09:48 -08:00
Jm CaslerandGitHub 9e449bebf9 Merge pull request #30 from meshtastic/master
update my repo
2020-12-19 09:22:26 -08:00
Kevin HesterandGitHub e32202e4f8 Merge pull request #570 from geeksville/dev
Dev
2020-12-17 11:09:19 +08:00
Kevin Hester ca99b6b3b7 1.1.23 2020-12-17 10:59:05 +08:00
Kevin Hester 2eb2e9142f Merge remote-tracking branch 'root/master' into dev 2020-12-17 10:58:28 +08:00
Kevin Hester 15e1a3870c When new node joins mesh, all other nodes reply with their current state 2020-12-17 10:53:29 +08:00
Kevin Hester 5bdc7216b3 begin support for multiple simultanous channels 2020-12-17 10:32:19 +08:00
Kevin HesterandGitHub cc127f7dad Merge pull request #562 from geeksville/dev
Dev
2020-12-15 17:00:42 +08:00
Kevin Hester be38a58a62 finish channel name cleanup 2020-12-15 16:13:16 +08:00
Kevin Hester 5930f8270d Merge remote-tracking branch 'root/master' into dev 2020-12-15 16:10:35 +08:00
Kevin Hester c9f2318e78 Use simpler names for standard channels 2020-12-15 13:14:36 +08:00
Kevin Hester 5cdc2f5142 Make ChannelSettings SUPER short for common channels 2020-12-14 21:09:29 +08:00
Jm CaslerandGitHub 53d773b81f Merge pull request #565 from mc-hamster/master
Fixed bad copy/paste of http end points being used as default.
2020-12-13 17:00:43 -08:00
Jm CaslerandGitHub 85b2ba7ce9 Merge branch 'master' into master 2020-12-13 15:02:18 -08:00
Jm Casler 474e0e7158 Fixed bad copy/paste of http end points being used as default. 2020-12-13 14:59:56 -08:00
Jm CaslerandGitHub 99a8c80c44 Merge pull request #564 from mc-hamster/master
#563 Don't display the wifi password when we are a client.
2020-12-13 11:29:21 -08:00
Jm CaslerandGitHub 03a9d7da5e Merge branch 'master' into master 2020-12-13 11:05:40 -08:00
Jm Casler 6975848f45 #563 Don't display the wifi password when we are a client. 2020-12-13 11:01:01 -08:00
Kevin Hester 0cdc1fc959 make gpiowatch work correctly 2020-12-13 16:11:38 +08:00
Kevin Hester e80c79edbe clean up debug msgs 2020-12-13 15:59:26 +08:00
Jm CaslerandGitHub 651d045afe Merge pull request #559 from mc-hamster/master
Endpoint to restart device, new sequence to force device into softAP, network scanner
2020-12-12 22:43:37 -08:00
Jm Casler 86952c5456 Fixed #541 - Work around to bug in espressif softap event handler 2020-12-12 22:37:07 -08:00
Jm Casler 46781357df remove hard coded network 2020-12-12 21:43:01 -08:00
Jm Casler bb9abf2dca #560 Forgot to switch back to application/json 2020-12-12 21:42:32 -08:00
Jm Casler 5249608dce #561 Add escapes to strings 2020-12-12 21:35:21 -08:00
Kevin Hester ee8f4de5ab make plugin reply handling simpler 2020-12-13 12:57:37 +08:00
Jm Casler 17297db2b1 #561 - Add a scan for SSID 2020-12-12 20:50:41 -08:00
Kevin Hester ad8bcba5ef remove hack for the othernet ppr1 rev 1 board 2020-12-13 11:54:00 +08:00
Kevin Hester 138cebbf03 turn nrf52 ble back on 2020-12-13 11:53:32 +08:00
Jm Casler 9f9573d2eb #560 - Add note that we're in admin mode on network screen 2020-12-12 19:18:51 -08:00
Jm Casler e10b82c118 #560 Partial changes 2020-12-12 19:09:58 -08:00
Jm Casler d82aaaa806 #560 - Partial work for Charles. 2020-12-12 18:33:52 -08:00
Jm Casler c0d94ae4ab Update main.cpp 2020-12-12 14:04:52 -08:00
Jm Casler 02ce12607c #560 - Force SoftAP if the user button is held down during startup.
#560 - Force SoftAP if the user button is held down during startup.
2020-12-12 13:54:14 -08:00
Jm CaslerandGitHub bdeba54c50 Merge pull request #29 from meshtastic/master
Merge pull request #553 from mc-hamster/master
2020-12-12 12:38:49 -08:00
Jm Casler 26c9585c9d #557 - Switch from GET to POST 2020-12-12 12:38:17 -08:00
Jm Casler 696255c1f7 #557 - Endpoint to restart device over http(s) 2020-12-12 12:36:16 -08:00
Jm CaslerandGitHub d857f8ba6d Merge pull request #553 from mc-hamster/master
Fix for #551 and #552
2020-12-12 11:56:29 -08:00
Jm Casler 5852caa61c Fix bug #551 - Turn the led off before shutting down.
Fix bug #551 - Turn the led off before shutting down.
2020-12-11 23:03:32 -08:00
Jm Casler e82752c777 #552 - Updated the 404 handler for / to refer to instructions for how to fix the problem.
#552 - Updated the 404 handler for / to refer to instructions for how to fix the problem.
2020-12-11 22:54:48 -08:00
Jm CaslerandGitHub 3eae2c6286 Merge pull request #28 from meshtastic/master
update my repo from master
2020-12-11 22:42:31 -08:00
Kevin Hester 1e5d0b25ad Add doc note about threading and use OSThread to make GPIO watching work
Thanks to @mc-hamster for the idea
2020-12-11 18:29:32 +08:00
Kevin HesterandGitHub c8423400ea Merge pull request #548 from geeksville/dev
Dev
2020-12-11 10:11:48 +08:00
Kevin Hester af88a34f75 update dev docs 2020-12-11 10:03:46 +08:00
Kevin Hester b9f1ce70cb begin plugin-api tutorial 2020-12-11 09:11:53 +08:00
Kevin Hester c361c1fab7 Update to nanopb 0.4.4 2020-12-11 08:31:41 +08:00
Kevin Hester 091e953ed4 todo updates 2020-12-10 14:34:50 +08:00
Kevin Hester 9ab02119f5 Merge branch 'udp' into dev 2020-12-10 14:05:13 +08:00
Kevin Hester 2d4849e0d0 remote try catch in new build tool - file was missing 2020-12-10 14:04:19 +08:00
Kevin HesterandGitHub 16f897d27c Merge pull request #547 from geeksville/udp
1.1.20
2020-12-10 13:32:59 +08:00
Kevin Hester 4cbf0a0730 oops - forgot to check in the new version file, broke CI 2020-12-10 13:19:00 +08:00
Kevin Hester 99c8df8e7d try to fix CI again 2020-12-10 13:17:43 +08:00
Kevin Hester 8e2e4f7e6a Merge remote-tracking branch 'root/master' into udp 2020-12-10 12:46:51 +08:00
Kevin Hester 45d72bd51b fix CI build - make projectdir relative 2020-12-10 12:44:35 +08:00
Jm CaslerandGitHub 781ed3eafd Merge pull request #544 from IZ1IVA/patch-1
Update radio-settings.md
2020-12-09 20:39:18 -08:00
Jm CaslerandGitHub c66a0a37d8 Merge branch 'master' into patch-1 2020-12-09 20:25:17 -08:00
Jm CaslerandGitHub 92f2007207 Merge pull request #545 from IZ1IVA/patch-2
Update radio-settings.md
2020-12-09 20:24:32 -08:00
Kevin Hester 1f7b537d2d Merge remote-tracking branch 'root/master' into udp 2020-12-10 11:46:03 +08:00
Kevin Hester cabeacfa94 1.1.21 2020-12-10 11:45:22 +08:00
Kevin Hester df8b3ebbc7 always pull min_app_version from appload 2020-12-10 11:32:51 +08:00
Kevin Hester b1c30f0650 Use a custom platformio py file to always set build version 2020-12-10 11:28:15 +08:00
IZ1IVAandGitHub 194028f9fc Update radio-settings.md
- added ERP reference to LoRaWAN for NA
2020-12-09 11:16:31 +01:00
IZ1IVAandGitHub f49c8f4c43 Update radio-settings.md
- corrected dBM into dBm
- specified ERP reference
- added link to ERP in-depth article
2020-12-09 11:04:07 +01:00
Kevin HesterandGitHub b3b4c2c1c3 Merge pull request #543 from geeksville/udp
big set of changes from my weeks away
2020-12-08 22:46:26 -08:00
Kevin Hester a0076eb394 better position debug output 2020-12-09 13:42:36 +08:00
Kevin Hester a6a4fec4b9 Merge remote-tracking branch 'root/master' into udp 2020-12-09 12:15:32 +08:00
Kevin HesterandGitHub 2d4657c8d4 Merge pull request #542 from IZ1IVA/patch-1
Update README.md
2020-12-08 20:14:43 -08:00
Kevin Hester 32b8e4f20a fix #536 allow fixed positions
meshtastic --setlat 32.7767 --setlon -96.7970 --setalt 1337
2020-12-09 12:05:15 +08:00
Kevin Hester 3753fef298 add debug_log_enabled 2020-12-09 11:56:41 +08:00
Kevin Hester a4bb1937c1 Merge remote-tracking branch 'root/master' into udp 2020-12-09 11:21:59 +08:00
Kevin Hester 4bd22dd5db ignore our own msgs for gpio ctrl 2020-12-08 08:16:58 +08:00
Kevin Hester 79a24c200e use autogened protobuf init code 2020-12-07 10:27:31 +08:00
Kevin Hester 90060e84c0 WIP on GPIO example 2020-12-07 10:18:11 +08:00
Kevin Hester 8f5a1f19d3 add remote gpio control as an example plugin
https://github.com/meshtastic/Meshtastic-device/issues/182
2020-12-06 18:33:42 +08:00
Kevin Hester 3e0dc44210 move want_replies into new plugin system 2020-12-05 11:15:06 +08:00
Kevin Hester 91b99bd584 require apps to be 1.1.20 or later 2020-12-05 10:27:04 +08:00
Kevin Hester b6e21bcbcd add SinglePortPlugin to simpilify api 2020-12-05 10:14:15 +08:00
Kevin Hester ae7d3ee5ed move nodeinfo messages into new plugin system 2020-12-05 10:00:46 +08:00
Kevin Hester f1179bd3ea positions now sent using the new API 2020-12-05 08:46:19 +08:00
Kevin Hester 9b24cc6dd6 update protobufs 2020-12-04 18:54:00 +08:00
IZ1IVAandGitHub 20c5b98b2d Update README.md
Added "Related Groups" section
Added Meshtastic Italian Telegram group link
2020-12-03 12:27:44 +01:00
Kevin Hester d3cb9bdd4a WIP moving positions to new system 2020-12-03 16:48:44 +08:00
Jm CaslerandGitHub a70cda6fe4 Merge pull request #27 from meshtastic/master
updated by fork from master
2020-11-29 12:40:32 -08:00
Kevin Hester 7737123d0f begin moving position stuff into plugin 2020-11-28 18:10:31 +08:00
Kevin Hester 5138aff4b2 fix static initializer bug with mesh plugins 2020-11-28 13:25:03 +08:00
Kevin Hester 0b0d293a66 Move text message handling into the new plugin system 2020-11-28 12:10:19 +08:00
Kevin Hester ddab4a0235 remove support for 8bit nodenums 2020-11-28 09:56:21 +08:00
Jm CaslerandGitHub 50615540ce Merge pull request #538 from meshtastic/dev-https
Merging in dev-https to master
2020-11-27 17:21:56 -08:00
Kevin Hester f5e42b2533 update protos 2020-11-28 09:17:20 +08:00
Kevin HesterandGitHub 9e9913101f Merge pull request #527 from geeksville/spiffs-bug496
Spiffs bug496
2020-11-27 17:11:34 -08:00
Kevin Hester b1289b632a Merge remote-tracking branch 'root/master' into dev 2020-11-28 09:00:21 +08:00
Kevin Hester c427c8abf9 oops - fix my crummy merge 2020-11-28 08:55:56 +08:00
Jm CaslerandGitHub 9170dc7738 Merge pull request #534 from mc-hamster/master
Fix for #533 - We will deinit wifi even if it were never initialized.
2020-11-27 16:19:03 -08:00
Kevin HesterandGitHub cc36e3a9a6 Merge branch 'dev-https' into spiffs-bug496 2020-11-27 16:15:14 -08:00
Jm Casler 7d4c77abfd Fix for #533 - deinitWifi() will de initialize the radio even if it was never initialized 2020-11-27 14:49:44 -08:00
Jm CaslerandGitHub 1ba91ec27f Merge pull request #26 from meshtastic/master
update my repo from master
2020-11-25 21:36:56 -08:00
Jm CaslerandGitHub 575c5b2193 Merge pull request #532 from meshtastic/mc-hamster-patch-2
wait_bluetooth_secs to 60 seconds.
2020-11-22 19:38:39 -08:00
Jm CaslerandGitHub 3473a1e323 wait_bluetooth_secs to 60 seconds. 2020-11-22 19:32:48 -08:00
Jm CaslerandGitHub 11a00e2977 Merge pull request #531 from mc-hamster/master
Add support for the power button #528
2020-11-22 19:19:35 -08:00
Jm Casler 817c99e09c trying to fix it again 2020-11-22 19:12:11 -08:00
Jm Casler 9801a62d2d Fix for CI on other boards. 2020-11-22 19:01:48 -08:00
Jm Casler 2bd40b7053 Add support for the power button #528 2020-11-22 18:50:14 -08:00
Jm CaslerandGitHub dccc15946b Merge pull request #530 from mc-hamster/master
Removing stuff I accidently checked in for the duplexer
2020-11-22 16:50:45 -08:00
Jm Casler 3ab9d2a50e Removing stuff I accidently checked in for the duplexer 2020-11-22 16:24:22 -08:00
Jm CaslerandGitHub 776a978ea0 Merge pull request #529 from mc-hamster/master
Accidentally checked in my rf deduplixer
2020-11-22 15:44:19 -08:00
Jm Casler f60922af34 Accidently checked in my rf deduplexer 2020-11-22 15:42:36 -08:00
Kevin Hester cb34fd5eb9 Merge remote-tracking branch 'root/master' into dev 2020-11-20 08:59:54 +08:00
Kevin Hester 19d81347f2 1.1.9 (release for @mc-hamster only in android app alpha) 2020-11-20 07:42:02 +08:00
Kevin Hester d7d13d637c clean up filesystem goo, add spiffs to install scripts, fix #496
@mc-hamster seems to work pretty good for me, so I'll send a PR to you
for the dev-http branch.

I'll push out an android alpha build later today (once the build is
complete).  Once this new device load is out in the field _future_
device builds will support updating spiffs from android. (i.e. device
loads older than 1.1.9 must be updated to 1.1.9 or later before spiffs
support is implemented on the device side - so some users might need to
update twice before the new spiffs contents will appear on their device)
2020-11-19 09:25:02 +08:00
Kevin Hester df75cefeeb fix #525 - turn off (buggy) TinyGPS custom candidates support 2020-11-18 10:54:25 +08:00
Jm CaslerandGitHub 66f9dbec45 Merge pull request #524 from meshtastic/mc-hamster-patch-1
Lora Design Guide
2020-11-17 13:16:49 -08:00
Jm CaslerandGitHub 4679dd7c4d Lora Design Guide
Airtime calculation is in section 4.
2020-11-17 11:14:57 -08:00
Jm CaslerandGitHub a02979d564 Merge branch 'externalAmp' into master 2020-11-16 19:54:06 -08:00
Kevin Hester f2698bbf91 bug #496 - allow update clients to program SPIFFS region
also have build system properly build spiffs release builds
2020-11-16 08:56:32 +08:00
Kevin Hester d045139945 return ble errors for invalid values 2020-11-16 07:57:32 +08:00
Kevin Hester 2c9c5991a0 add a script for testing release builds 2020-11-15 08:24:34 +08:00
Jm CaslerandGitHub 1b365fa0aa Merge pull request #24 from meshtastic/dev-https
Dev https
2020-11-13 21:40:00 -08:00
Jm CaslerandGitHub 71d1d4d8fa Merge pull request #521 from meshtastic/master
Update dev-https from master
2020-11-13 21:35:20 -08:00
Jm CaslerandGitHub 64df994a32 Merge pull request #520 from crossan007/dev-https
Only issue ContentType header once; correctly.
2020-11-13 20:13:31 -08:00
Charles Crossan 49a19e26d5 Only issue ContentType header once; correctly. 2020-11-13 22:07:52 -05:00
Kevin Hester ef37f955c3 Merge remote-tracking branch 'root/master' into dev 2020-11-14 10:22:10 +08:00
Kevin HesterandGitHub ac50b9544b Merge pull request #519 from geeksville/bug513
Bug513
2020-11-14 10:21:44 +08:00
Kevin Hester ccc1600bc9 remove stale fixme 2020-11-14 10:19:55 +08:00
Kevin HesterandGitHub 7c220f8a39 Merge branch 'master' into bug513 2020-11-14 10:14:22 +08:00
Kevin Hester 1839f8f7ca fix #513 scale retransmission times based on true packet time on wire 2020-11-14 10:07:25 +08:00
Kevin HesterandGitHub 48c461c50c Merge pull request #515 from geeksville/eink
nrf52 deep sleep support
2020-11-13 11:08:17 +08:00
Kevin Hester f346b4f0f2 Merge branch 'eink' into bug513 2020-11-13 09:41:23 +08:00
Kevin HesterandGitHub 5aab4f5c95 Merge branch 'master' into eink 2020-11-13 09:36:18 +08:00
Kevin Hester d407db5ee1 add more deep sleep support for nrf52 boards 2020-11-13 09:33:59 +08:00
Kevin Hester 93afc71e2e Show "sleeping" on eink while in deep sleep 2020-11-13 07:49:01 +08:00
Kevin Hester 67e657f10f always print debug output to both serial and segger debug port
cc @mc-hamster, this  makes USE_SEGGER optional on nrf52 targets
2020-11-13 07:48:25 +08:00
Kevin Hester 619a48085a pinetab docs 2020-11-12 18:31:35 +08:00
Kevin Hester 68937d52fe bug #503 wip 2020-11-12 17:49:04 +08:00
Jm Casler e33657eb75 Toggle GPIO2 to HIGH when transmitting a packet out the LORA radio. 2020-11-09 19:47:31 -08:00
Kevin HesterandGitHub 21751da5a2 Merge pull request #512 from geeksville/dev
Dev
2020-11-07 04:19:36 -08:00
Kevin Hester c2e8ac7173 1.1.8 2020-11-07 19:20:38 +08:00
Jm CaslerandGitHub 825001f313 Merge pull request #23 from mc-hamster/master
update
2020-11-06 23:12:50 -08:00
Jm CaslerandGitHub 576526576a Merge pull request #511 from mc-hamster/master
Web text editor #510
2020-11-06 23:11:09 -08:00
Kevin Hester 2fd5ce00ce fix build for esp32 targets 2020-11-07 15:09:05 +08:00
Jm Casler 4204c494ae fix poorly merged file 2020-11-06 22:41:26 -08:00
Jm CaslerandGitHub 84beae1001 Merge branch 'dev-https' into master 2020-11-06 22:29:03 -08:00
Jm Casler 951b4293c4 Set web cookie and web text editor. 2020-11-06 22:21:20 -08:00
Kevin Hester 952c216bf7 Merge remote-tracking branch 'root/master' into dev 2020-11-07 14:08:22 +08:00
Kevin Hester ff4b03b8c1 Fix #509 was causing failure on non GPS equipped boards 2020-11-07 09:15:28 +08:00
Kevin Hester c5903a790b update for portduino 2020-10-31 15:50:39 +08:00
Kevin Hester bbc36f7b6f switch to my new SD 7.2.0 S113 based bootloader 2020-10-31 12:22:20 +08:00
Jm CaslerandGitHub 2f9ef463d8 Merge pull request #507 from meshtastic/master
update dev-https from master
2020-10-30 21:04:16 -07:00
Jm CaslerandGitHub bea00569fd Merge pull request #22 from meshtastic/master
update my fork from master
2020-10-30 21:03:40 -07:00
Kevin Hester d7368d5a51 begin deep sleep support for nrf52 2020-10-30 17:05:32 +08:00
Kevin Hester 47bbde3c60 fix #505 allow forced standby mode to not assert fail 2020-10-29 16:13:44 +08:00
Kevin Hester 04942a3570 fix #505 - device can reboot due to race condition in sending 2020-10-29 15:27:05 +08:00
Jm CaslerandGitHub b1dae3608e Merge pull request #502 from mc-hamster/master
Update to basic.js and add mime types.
2020-10-26 18:18:16 -07:00
Jm Casler 44aafd5b9c Update to basic.js and add mime types. 2020-10-26 18:17:33 -07:00
Jm CaslerandGitHub 91756d1fec Merge pull request #501 from mc-hamster/master
Fixed typo. Updated js library. Update root file handler.
2020-10-22 18:46:26 -07:00
Jm Casler 5981831bc0 Fixed typo. Updated js library. Update root file handler.
Typo fixed. I placed the latest javascript library files into the static folder. Updated the root file handler to be able to serve both compressed and uncompressed files.
2020-10-22 18:43:54 -07:00
Jm Casler 00eed206cb Update typo, import from js library 2020-10-22 18:26:43 -07:00
Jm CaslerandGitHub 130d55aaaa Merge pull request #500 from mc-hamster/master
Updated dev-https from my fork.
2020-10-21 21:29:34 -07:00
Jm CaslerandGitHub 13ef48094d Merge pull request #21 from meshtastic/dev-https
Dev https to my fork
2020-10-21 21:20:55 -07:00
Jm CaslerandGitHub 529fd5a830 Merge pull request #499 from meshtastic/master
Update dev-https from master
2020-10-21 21:20:07 -07:00
Jm Casler baa3d1dae4 Support for the SPIFFS 2020-10-21 20:57:44 -07:00
Jm Casler e9279919ae Remove uncompressed style.css. Combine SSID/PWD on same line and toggle between the two every 10 seconds. 2020-10-19 16:58:11 -07:00
geeksville 8bdbbfbe16 add notes about tuple 2020-09-21 12:44:30 -07:00
geeksville 0ba4925f75 add @mc-hamster comment 2020-09-21 11:54:54 -07:00
geeksville 26d50fda9a Update mqtt doc 2020-09-20 18:08:10 -07:00
geeksville bc22ab7b87 riot.im 2020-09-20 13:07:53 -07:00
geeksville d5e3e63d6d begin mqtt planning 2020-09-20 13:04:29 -07:00
302 changed files with 15675 additions and 63153 deletions
+38
View File
@@ -0,0 +1,38 @@
name: 'Common init'
# WARNING due to https://github.com/actions/runner/issues/646
# this code can't work - must copy and paste into workflows for now because 'uses' is not supported
runs:
using: "composite"
steps:
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Cache python libs
uses: actions/cache@v1
id: cache-pip # needed in if test
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip
- name: Upgrade python tools
# We actually want to run this every time
# if: steps.cache-pip.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
pip install -U platformio meshtastic adafruit-nrfutil
- name: Cache platformio
uses: actions/cache@v1
id: cache-platformio # needed in if test
with:
path: ~/.platformio
key: ${{ runner.os }}-platformio
- name: Upgrade platformio
run: |
pio upgrade
+1 -1
View File
@@ -7,7 +7,7 @@
is appreciated." This will allow other devs to potentially save you time by not accidentially duplicating work etc...
- Please do not check in files that don't have real changes
- Please do not reformat lines that you didn't have to change the code on
- We recommend using the [Visual Studio Code](https://platformio.org/install/ide?install=vscode) editor,
- We recommend using the [Visual Studio Code](https://platformio.org/install/ide?install=vscode) editor and the 'clang-format' extension,
because automatically follows our indentation rules and it's auto reformatting will not cause spurious changes to lines.
- If your PR fixes a bug, mention "fixes #bugnum" somewhere in your pull request description.
- If your other co-developers have comments on your PR please tweak as needed.
+76 -20
View File
@@ -1,26 +1,82 @@
name: Continuous Integration
on:
- push
- pull_request
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
main:
name: Main
# setup:
# runs-on: ubuntu-latest
# steps:
# - name: Startup
# run: echo "No action setup currently needed, skipping..."
build:
# needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Checkout submodules
uses: textbook/git-checkout-submodule-action@master
- name: Setup Python
uses: actions/setup-python@master
with:
python-version: 3.x
- name: Install Platform IO
run: |
python -m pip install --upgrade pip
pip install -U platformio
- name: Install extra python tools
run: |
pip install -U adafruit-nrfutil
- name: Build
run: platformio run -e tbeam -e heltec -e lora-relay-v1 -e linux
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Cache python libs
uses: actions/cache@v1
id: cache-pip # needed in if test
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip
- name: Upgrade python tools
# We actually want to run this every time
# if: steps.cache-pip.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
pip install -U platformio meshtastic adafruit-nrfutil
- name: Cache platformio
uses: actions/cache@v1
id: cache-platformio # needed in if test
with:
path: ~/.platformio
key: ${{ runner.os }}-platformio
- name: Upgrade platformio
run: |
pio upgrade
# We now run integration test before other build steps (to quickly see runtime failures)
- name: Build for native
run: platformio run -e native
- name: Integration test
run: |
.pio/build/native/program &
sleep 20 # 5 seconds was not enough
echo "Simulator started, launching python test..."
python3 -c 'from meshtastic.test import testSimulator; testSimulator()'
# - name: Build for tbeam
# run: platformio run -e tbeam
# - name: Build for heltec
# run: platformio run -e heltec
# - name: Build for wisblock RAK4631
# run: platformio run -e rak4631
- name: Build everything
run: bin/build-all.sh
- name: Store release zip as an artifact
uses: actions/upload-artifact@v2
with:
name: built
path: release/archive/firmware-*.zip
retention-days: 30
+80
View File
@@ -0,0 +1,80 @@
name: Make Release
on:
# Can optionally take parameters from the github UI, more info here https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/#:~:text=You%20can%20now%20create%20workflows,the%20workflow%20is%20run%20on.
# workflow_dispatch:
# inputs:
# Only want to be run if a new tag starting with v is pushed.
push:
branches:
- "!*"
tags:
- "v*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: 'recursive'
# get github branch and tag names as ${{ steps.branch_name.outputs.SOURCE_TAG }}
- name: Branch name
id: branch_name
run: |
echo ::set-output name=SOURCE_NAME::${GITHUB_REF#refs/*/}
echo ::set-output name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
echo ::set-output name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.x
# Note: we don't use caches on release builds because we don't want to accidentally not have a virgin build machine
- name: Upgrade python tools
# We actually want to run this every time
# if: steps.cache-pip.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
pip install -U platformio meshtastic adafruit-nrfutil
- name: Upgrade platformio
run: |
pio upgrade
# Will be available in steps.version.outputs.version
- name: Get version string
run: echo "::set-output name=version::$(./bin/buildinfo.py)"
id: version
- name: Build everything
run: bin/build-all.sh
- name: Create release
uses: actions/create-release@v1
id: create_release
with:
draft: true
prerelease: true
release_name: ${{ steps.version.outputs.version }} alpha
tag_name: ${{ steps.branch_name.outputs.SOURCE_TAG }}
# was ${{ github.ref }}
body: |
Autogenerated by github action, developer should edit as required before publishing...
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Add artifact to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/archive/firmware-${{ steps.version.outputs.version }}.zip
asset_name: firmware-${{ steps.version.outputs.version }}.zip
asset_content_type: application/zip
+3 -2
View File
@@ -15,7 +15,8 @@ Thumbs.db
.built
.context
.cproject
.idea/*
.vagrant
nanopb*
flash.uf2
cmake-build*
__pycache__
+3
View File
@@ -4,3 +4,6 @@
[submodule "sdk-nrfxlib"]
path = sdk-nrfxlib
url = https://github.com/nrfconnect/sdk-nrfxlib.git
[submodule "design"]
path = design
url = https://github.com/meshtastic/meshtastic-design.git
+7
View File
@@ -0,0 +1,7 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<clangFormatSettings>
<option name="ENABLED" value="true" />
</clangFormatSettings>
</code_scheme>
</component>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="CMake" type="CPP_MODULE" version="4" />
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/meshtastic-esp32.iml" filepath="$PROJECT_DIR$/.idea/meshtastic-esp32.iml" />
</modules>
</component>
</project>
Generated
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/design" vcs="Git" />
<mapping directory="$PROJECT_DIR$/proto" vcs="Git" />
<mapping directory="$PROJECT_DIR$/sdk-nrfxlib" vcs="Git" />
</component>
</project>
+162
View File
@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true">
<generated>
<config projectName="meshtastic-esp32" targetName="Debug" />
<config projectName="meshtastic-esp32" targetName="Production" />
<config projectName="meshtastic-esp32" targetName="Z_DUMMY_TARGET" />
</generated>
</component>
<component name="CMakeSettings">
<configurations>
<configuration PROFILE_NAME="native" CONFIG_NAME="native" ENABLED="true" />
</configurations>
</component>
<component name="ChangeListManager">
<list default="true" id="58922733-b05b-4b90-9655-b9b18914977a" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="1pmWHw2wau2TbdKvXvmQUB0EUE9" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="cf.advertisement.text.overridden" value="true" />
<property name="cf.first.check.clang-format" value="false" />
<property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.detected.package.tslint" value="true" />
<property name="node.js.path.for.package.eslint" value="project" />
<property name="node.js.path.for.package.tslint" value="project" />
<property name="node.js.selected.package.eslint" value="(autodetect)" />
<property name="node.js.selected.package.tslint" value="(autodetect)" />
<property name="settings.editor.selected.configurable" value="CMakeSettings" />
</component>
<component name="RunManager" selected="GDB Remote Debug.gdbremote-localhost-2345">
<configuration default="true" type="CLion_Remote" version="1" remoteCommand="tcp:localhost:2345" symbolFile="" sysroot="">
<debugger kind="GDB" isBundled="true" />
<method v="2" />
</configuration>
<configuration name="gdbremote-localhost-2345" type="CLion_Remote" version="1" remoteCommand="tcp:localhost:2345" symbolFile="" sysroot="">
<debugger kind="GDB" isBundled="true" />
<method v="2" />
</configuration>
<configuration name="Z_DUMMY_TARGET" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="meshtastic-esp32" TARGET_NAME="Z_DUMMY_TARGET" CONFIG_NAME="native" RUN_TARGET_PROJECT_NAME="meshtastic-esp32" RUN_TARGET_NAME="Z_DUMMY_TARGET">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration default="true" type="GradleAppRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" PASS_PARENT_ENVS_2="true">
<method v="2">
<option name="com.jetbrains.cidr.cpp.gradle.execution.GradleNativeBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="PlatformIO Debug" type="platformio" factoryName="PlatformIO Debug" REDIRECT_INPUT="false" ELEVATE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="meshtastic-esp32" TARGET_NAME="Debug" CONFIG_NAME="native" RUN_TARGET_PROJECT_NAME="meshtastic-esp32" RUN_TARGET_NAME="Debug">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="PlatformIO Upload" type="platformio" factoryName="PlatformIO Upload" REDIRECT_INPUT="false" ELEVATE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="meshtastic-esp32" TARGET_NAME="Production" CONFIG_NAME="native" RUN_TARGET_PROJECT_NAME="meshtastic-esp32" RUN_TARGET_NAME="Production">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<list>
<item itemvalue="CMake Application.Z_DUMMY_TARGET" />
<item itemvalue="GDB Remote Debug.gdbremote-localhost-2345" />
<item itemvalue="PlatformIO.PlatformIO Debug" />
<item itemvalue="PlatformIO.PlatformIO Upload" />
</list>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="58922733-b05b-4b90-9655-b9b18914977a" name="Default Changelist" comment="" />
<created>1615788661896</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1615788661896</updated>
<workItem from="1615788663210" duration="6661000" />
<workItem from="1615938346019" duration="1208000" />
<workItem from="1615971126983" duration="5945000" />
<workItem from="1617115374907" duration="357000" />
<workItem from="1617115747078" duration="1391000" />
<workItem from="1617117632667" duration="307000" />
<workItem from="1617160691713" duration="1016000" />
<workItem from="1617279002260" duration="1626000" />
<workItem from="1617425689081" duration="1896000" />
<workItem from="1617437366919" duration="1182000" />
<workItem from="1618544034975" duration="1185000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/src/mesh/wifi/WiFiServerAPI.cpp</url>
<line>53</line>
<option name="timeStamp" value="6" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/src/mesh/wifi/WiFiServerAPI.cpp</url>
<line>37</line>
<option name="timeStamp" value="7" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/src/mqtt/MQTT.cpp</url>
<line>166</line>
<option name="timeStamp" value="10" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/.pio/libdeps/native/PubSubClient/src/PubSubClient.cpp</url>
<line>468</line>
<option name="timeStamp" value="11" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/src/mesh/mesh-pb-constants.cpp</url>
<line>20</line>
<option name="timeStamp" value="12" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<watches-manager>
<configuration name="CLion_Remote">
<watch expression="radioConfig" language="ObjectiveC" />
<watch expression="fromRadioScratch" language="ObjectiveC" />
</configuration>
</watches-manager>
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
<select />
</component>
</project>
+2 -1
View File
@@ -2,6 +2,7 @@
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
"platformio.platformio-ide",
"xaver.clang-format"
]
}
+13 -2
View File
@@ -49,7 +49,8 @@
"string_view": "cpp",
"cassert": "cpp",
"iterator": "cpp",
"shared_mutex": "cpp"
"shared_mutex": "cpp",
"iostream": "cpp"
},
"cSpell.words": [
"Blox",
@@ -67,5 +68,15 @@
"protobufs",
"wifi"
],
"C_Cpp.dimInactiveRegions": true
"C_Cpp.dimInactiveRegions": true,
"cmake.configureOnOpen": true,
"protoc": {
"compile_on_save": false,
"compile_all_path": "/home/kevinh/development/meshtastic/meshtastic-esp32/proto",
"options": [
"--java_out=/tmp",
"-I=/home/kevinh/development/meshtastic/meshtastic-esp32/proto"
]
},
"editor.formatOnSave": true
}
+36
View File
@@ -0,0 +1,36 @@
# !!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE
# https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
#
# If you need to override existing CMake configuration or add extra,
# please create `CMakeListsUser.txt` in the root of project.
# The `CMakeListsUser.txt` will not be overwritten by PlatformIO.
cmake_minimum_required(VERSION 3.13)
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_C_COMPILER_WORKS 1)
set(CMAKE_CXX_COMPILER_WORKS 1)
project("meshtastic-esp32" C CXX)
include(CMakeListsPrivate.txt)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeListsUser.txt)
include(CMakeListsUser.txt)
endif()
include_directories("$ENV{HOME}/.platformio/packages/framework-portduino")
include_directories("/usr/include")
add_custom_target(
Production ALL
COMMAND platformio -c clion run "$<$<NOT:$<CONFIG:All>>:-e${CMAKE_BUILD_TYPE}>"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(
Debug ALL
COMMAND platformio -c clion run --target debug "$<$<NOT:$<CONFIG:All>>:-e${CMAKE_BUILD_TYPE}>"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_executable(Z_DUMMY_TARGET ${SRC_LIST})
File diff suppressed because it is too large Load Diff
+11 -5
View File
@@ -4,7 +4,7 @@ This is the device side code for the [meshtastic.org](https://www.meshtastic.org
![Continuous Integration](https://github.com/meshtastic/Meshtastic-esp32/workflows/Continuous%20Integration/badge.svg)
Meshtastic is a project that lets you use
Meshtastic® is a project that lets you use
inexpensive GPS mesh radios as an extensible, super long battery life mesh GPS communicator. These radios are great for hiking, skiing, paragliding -
essentially any hobby where you don't have reliable internet access. Each member of your private mesh can always see the location and distance of all other
members and any text messages sent to your group chat.
@@ -30,11 +30,14 @@ We currently support three models of radios.
- [T-Beam V0.7 w/ NEO-6M](https://www.aliexpress.com/item/4000574335430.html) (will work but **you must use the tbeam0.7 firmware ** - but the T-Beam V1.0 or later are better!)
- board labels "TTGO T22_V07 20180711"
- 3D printable cases
- [T-Beam V0](https://www.thingiverse.com/thing:3773717)
- [T-Beam V0](https://www.thingiverse.com/thing:3773717) (GPS and LoRa antenna misaligned if GPS placed as pictured)
- [T-Beam V1 (SMA-antenna)](https://www.thingiverse.com/thing:3830711)
- [T-Beam V1 (IPEX-antenna)](https://www.thingiverse.com/thing:4587297)
- [T-Beam V1 (SMA-antenna)](https://www.thingiverse.com/thing:4677388) (Mounting option for larger GPS antenna but LoRa antenna enclosed)
- [T-Beam V1 (IPEX-antenna)](https://www.thingiverse.com/thing:4587297) (GPS and LoRa antenna misaligned if GPS placed as pictured)
- [T-Beam V1 (IPEX-antenna)](https://www.thingiverse.com/thing:4589651)
- [T-Beam V1 (IPEX-antenna)](https://www.thingiverse.com/thing:4619981) (GPS and LoRa antenna misaligned if GPS placed as pictured)
- Laser-cut cases
- [T-Beam V1](https://www.thingiverse.com/thing:4552771)
- [T-Beam V1 (SMA-antenna)](https://www.thingiverse.com/thing:4552771)
- [TTGO LORA32](https://www.aliexpress.com/item/4000211331316.html) - No GPS
- version 2.1
@@ -43,7 +46,10 @@ We currently support three models of radios.
- [TTGO LORA32 v1](https://www.thingiverse.com/thing:3385109)
- [Heltec LoRa 32](https://heltec.org/project/wifi-lora-32/) - No GPS
- [Official Heltec case](https://www.aliexpress.com/item/4001050707951.html)
- [3D Printable case](https://www.thingiverse.com/thing:3125854)
Note: The GPS and LoRa stock antennas should be placed in a way, that the GPS antenna faces the sky and the LoRa antenna radiates 360 degrees horizontally. For better GPS reception you might want to [upgrade the GPS antenna](https://meshtastic.discourse.group/t/the-importance-of-gps-antennas-and-request-to-3d-case-documentation-people/1505) and to properly align the antennas you might want to upgrade to a LoRa antenna that can be adjusted to radiate into the right directions.
**Make sure to get the frequency for your country**
@@ -193,7 +199,7 @@ We'd love to have you join us on this merry little project. Please see our [deve
# Credits
This project is run by volunteers. Past contributors include:
This project is run by volunteers. We are a friendly group and welcome any contribution (code fixes, documentation, features, bug reports etc...). We try to be good about listing contributor names in release notes, but it has become unwieldy for the main-devs to keep updating the list below and we've neglected it too long. If you'd like your name included in this list please send a pull request to edit this README and simply add your line yourself. Thank you very much for your help!
- @astro-arphid: Added support for 433MHz radios in europe.
- @claesg: Various documentation fixes and 3D print enclosures
+17 -30
View File
@@ -2,17 +2,13 @@
set -e
source bin/version.sh
VERSION=`bin/buildinfo.py`
COUNTRIES="US EU433 EU865 CN JP ANZ KR"
#COUNTRIES=US
#COUNTRIES=CN
BOARDS_ESP32="tlora-v2 tlora-v1 tlora-v2-1-1.6 tbeam heltec tbeam0.7"
# BOARDS_ESP32=tbeam
BOARDS_ESP32="tlora-v2 tlora-v1 tlora_v1_3 tlora-v2-1-1.6 tbeam heltec tbeam0.7"
#BOARDS_ESP32=tbeam
# FIXME note nrf52840dk build is for some reason only generating a BIN file but not a HEX file nrf52840dk-geeksville is fine
BOARDS_NRF52="lora-relay-v1"
BOARDS_NRF52="rak4631"
OUTDIR=release/latest
@@ -21,35 +17,26 @@ ARCHIVEDIR=release/archive
rm -f $OUTDIR/firmware*
mkdir -p $OUTDIR/bins
rm -r $OUTDIR/bins/*
mkdir -p $OUTDIR/bins $ARCHIVEDIR
rm -r $OUTDIR/bins/* || true
mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal
# build the named environment and copy the bins to the release directory
function do_build() {
BOARD=$1
COUNTRY=$2
isNrf=$3
echo "Building $COUNTRY for $BOARD with $PLATFORMIO_BUILD_FLAGS"
echo "Building for $BOARD with $PLATFORMIO_BUILD_FLAGS"
rm -f .pio/build/$BOARD/firmware.*
# The shell vars the build tool expects to find
export APP_VERSION=$VERSION
# Are we building a universal/regionless rom?
if [ "x$COUNTRY" != "x" ]
then
export HW_VERSION="1.0-$COUNTRY"
export COUNTRY
basename=firmware-$BOARD-$COUNTRY-$VERSION
else
export HW_VERSION="1.0"
unset COUNTRY
basename=universal/firmware-$BOARD-$VERSION
fi
export HW_VERSION="1.0"
basename=universal/firmware-$BOARD-$VERSION
pio run --jobs 4 --environment $BOARD # -v
pio run --environment $BOARD # -v
SRCELF=.pio/build/$BOARD/firmware.elf
cp $SRCELF $OUTDIR/elfs/$basename.elf
@@ -69,10 +56,6 @@ function do_boards() {
declare boards=$1
declare isNrf=$2
for board in $boards; do
for country in $COUNTRIES; do
do_build $board $country "$isNrf"
done
# Build universal
do_build $board "" "$isNrf"
done
@@ -87,8 +70,12 @@ platformio lib update
do_boards "$BOARDS_ESP32" "false"
do_boards "$BOARDS_NRF52" "true"
echo "Building SPIFFS for ESP32 targets"
pio run --environment tbeam -t buildfs
cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin
# keep the bins in archive also
cp $OUTDIR/bins/firmware* $OUTDIR/elfs/firmware* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR
cp $OUTDIR/bins/universal/spiffs* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR
echo Updating android bins $OUTDIR/forandroid
rm -rf $OUTDIR/forandroid
@@ -103,12 +90,12 @@ release. It is used by the android app for forcing software updates. Do not ed
Generated by bin/buildall.sh -->
<resources>
<string name="cur_firmware_version">$VERSION</string>
<string name="cur_firmware_version" translatable="false">$VERSION</string>
</resources>
XML
echo Generating $ARCHIVEDIR/firmware-$VERSION.zip
rm -f $ARCHIVEDIR/firmware-$VERSION.zip
zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $OUTDIR/bins/firmware-*-$VERSION.* images/system-info.bin bin/device-install.sh bin/device-update.sh
zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* images/system-info.bin bin/device-install.sh bin/device-update.sh
echo BUILT ALL
+38
View File
@@ -0,0 +1,38 @@
#!/bin/bash
source ~/.bashrc
# Meshtastic Nightly Build Script.
# McHamster (jm@casler.org)
#
# This is the script that is used for the nightly build server.
#
# It's probably not useful for most people, but you may want to run your own
# nightly builds.
#
# The last line of ~/.bashrc contains an inclusion of platformio in the path.
# Without this, the build script won't run from the crontab:
#
# export PATH="$HOME/.platformio/penv/bin:$PATH"
#
# The crontab contains:
# 0 2 * * * cd ~/meshtastic/github/meshtastic && source "~/.bashrc"; ./build-nightly.sh > ~/cronout.txt 2> ~/cronout.txt
cd Meshtastic-device
git pull
bin/build-all.sh
date_stamp=$(date +'%Y-%m-%d')
cd ..
# TODO: Archive the same binaries used by the build-all script.
#zip -r meshtastic_device_nightly_${date_stamp} Meshtastic-device/release/latest/bins
cp Meshtastic-device/release/archive/`ls -t ./Meshtastic-device/release/archive/| head -1` meshtastic_device_nightly_${date_stamp}.zip
# Copy the file to the webserver
scp meshtastic_device_nightly_${date_stamp}.zip jm@10.11.12.20:/volume1/web/meshtastic/nightly_builds/
# Delete the local copy
rm meshtastic_device_nightly_${date_stamp}.zip
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env python3
import configparser
from readprops import readProps
verStr = readProps('version.properties')
print(f"{verStr}")
+19 -6
View File
@@ -1,19 +1,24 @@
#!/bin/sh
PYTHON=${PYTHON:-$(which python3 python|head -n 1)}
set -e
# Usage info
show_help() {
cat << EOF
Usage: ${0##*/} [-h] [-p ESPTOOL_PORT] [-f FILENAME]
Usage: $(basename $0) [-h] [-p ESPTOOL_PORT] [-P PYTHON] [-f FILENAME|FILENAME]
Flash image file to device, but first erasing and writing system information"
-h Display this help and exit
-p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous).
-f FILENAME The .bin file to flash. Custom to your device type and region.
-P PYTHON Specify alternate python interpreter to use to invoke esptool. (Default: "$PYTHON")
-f FILENAME The .bin file to flash. Custom to your device type and region.
EOF
}
while getopts ":h:p:f:" opt; do
while getopts ":hp:P:f:" opt; do
case "${opt}" in
h)
show_help
@@ -21,6 +26,8 @@ while getopts ":h:p:f:" opt; do
;;
p) export ESPTOOL_PORT=${OPTARG}
;;
P) PYTHON=${OPTARG}
;;
f) FILENAME=${OPTARG}
;;
*)
@@ -32,11 +39,17 @@ while getopts ":h:p:f:" opt; do
done
shift "$((OPTIND-1))"
[ -z "$FILENAME" -a -n "$1" ] && {
FILENAME=$1
shift
}
if [ -f "${FILENAME}" ]; then
echo "Trying to flash ${FILENAME}, but first erasing and writing system information"
esptool.py --baud 921600 erase_flash
esptool.py --baud 921600 write_flash 0x1000 system-info.bin
esptool.py --baud 921600 write_flash 0x10000 ${FILENAME}
$PYTHON -m esptool --baud 921600 erase_flash
$PYTHON -m esptool --baud 921600 write_flash 0x1000 system-info.bin
$PYTHON -m esptool --baud 921600 write_flash 0x00390000 spiffs-*.bin
$PYTHON -m esptool --baud 921600 write_flash 0x10000 ${FILENAME}
else
echo "Invalid file: ${FILENAME}"
show_help
+16 -4
View File
@@ -1,19 +1,22 @@
#!/bin/sh
PYTHON=${PYTHON:-$(which python3 python|head -n 1)}
# Usage info
show_help() {
cat << EOF
Usage: ${0##*/} [-h] [-p ESPTOOL_PORT] -f FILENAME
Usage: $(basename $0) [-h] [-p ESPTOOL_PORT] [-P PYTHON] [-f FILENAME|FILENAME]
Flash image file to device, leave existing system intact."
-h Display this help and exit
-p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous).
-f FILENAME The .bin file to flash. Custom to your device type and region.
-P PYTHON Specify alternate python interpreter to use to invoke esptool. (Default: "$PYTHON")
-f FILENAME The .bin file to flash. Custom to your device type and region.
EOF
}
while getopts ":h:p:f:" opt; do
while getopts ":hp:P:f:" opt; do
case "${opt}" in
h)
show_help
@@ -21,6 +24,8 @@ while getopts ":h:p:f:" opt; do
;;
p) export ESPTOOL_PORT=${OPTARG}
;;
P) PYTHON=${OPTARG}
;;
f) FILENAME=${OPTARG}
;;
*)
@@ -32,9 +37,16 @@ while getopts ":h:p:f:" opt; do
done
shift "$((OPTIND-1))"
[ -z "$FILENAME" -a -n "$1" ] && {
FILENAME=$1
shift
}
if [ -f "${FILENAME}" ]; then
echo "Trying to flash update ${FILENAME}."
esptool.py --baud 921600 write_flash 0x10000 ${FILENAME}
$PYTHON -m esptool --baud 921600 write_flash 0x10000 ${FILENAME}
echo "Erasing the otadata partition, which will turn off flash flippy-flop and force the first image to be used"
$PYTHON -m esptool --baud 921600 erase_region 0xe000 0x2000
else
echo "Invalid file: ${FILENAME}"
show_help
+1 -1
View File
@@ -241,7 +241,7 @@ def print_addr(name, value, resolver):
def print_stack_full(lines, resolver):
print("stack:")
for line in lines:
print(line.offset + ":")
print(str(line.offset) + ":")
for content in line.content:
print(" " + resolver.resolve_stack_addr(content))
+19
View File
@@ -0,0 +1,19 @@
set -e
# regen the design bins first
cd design
bin/generate-pngs.sh
cd ..
# assumes 50 wide, 28 high
convert design/logo/png/Mesh_Logo_Black_Small.png -background white -alpha Background src/graphics/img/icon.xbm
inkscape --batch-process -o images/compass.png -w 48 -h 48 images/location_searching-24px.svg
convert compass.png -background white -alpha Background src/graphics/img/compass.xbm
inkscape --batch-process -o images/face.png -w 13 -h 13 images/face-24px.svg
inkscape --batch-process -o images/pin.png -w 13 -h 13 images/room-24px.svg
convert pin.png -background white -alpha Background src/graphics/img/pin.xbm
+3 -1
View File
@@ -6,6 +6,8 @@ BOOTDIR=/home/kevinh/development/meshtastic/Adafruit_nRF52_Bootloader
nrfjprog --eraseall -f nrf52
# to get tool run "sudo apt-get install srecord"
# this generates an intel hex file that can be programmed into a NRF52 to tell the adafruit bootloader that the current app image is valid
# Bootloader settings are at BOOTLOADER_SETTINGS (rw) : ORIGIN = 0xFF000, LENGTH = 0x1000
# first 4 bytes should be 0x01 to indicate valid app image
@@ -14,7 +16,7 @@ echo "01 00 00 00 00 00 00 00" | xxd -r -p - >/tmp/bootconf.bin
srec_cat /tmp/bootconf.bin -binary -offset 0xff000 -output /tmp/bootconf.hex -intel
echo Generating merged hex file
mergehex -m $BOOTDIR/_build/build-ttgo_eink/ttgo_eink_bootloader-0.3.2-125-gf38f8f4-dirty_s140_6.1.1.hex .pio/build/eink/firmware.hex /tmp/bootconf.hex -o ttgo_eink_full.hex
mergehex -m $BOOTDIR/_build/build-ttgo_eink/ttgo_eink_bootloader-0.3.2-213-gf67f592-dirty_s140_6.1.1.hex .pio/build/eink/firmware.hex /tmp/bootconf.hex -o ttgo_eink_full.hex
echo Telling bootloader app region is valid and telling CPU to run
nrfjprog --program ttgo_eink_full.hex -f nrf52 --reset
+3
View File
@@ -0,0 +1,3 @@
mosquitto_sub -h mqtt.meshtastic.org -v -t \$SYS/\# -t msh/+/stat/\# -t msh/+/json/\#
# mosquitto_sub -h test.mosquitto.org -v -t mesh/\# -F "%j"
+1
View File
@@ -0,0 +1 @@
mosquitto_pub -h mqtt.meshtastic.org -u meshdev -P large4cats -t msh/1/stat/FakeNode -m online -d
+3
View File
@@ -0,0 +1,3 @@
set -e
pio run --environment native
gdbserver --once localhost:2345 .pio/build/native/program "$@"
+3
View File
@@ -0,0 +1,3 @@
set -e
pio run --environment native
.pio/build/native/program "$@"
+1 -1
View File
@@ -1,3 +1,3 @@
JLinkGDBServerCLExe -if SWD -select USB -port 2331 -device NRF52840_XXAA
JLinkGDBServerCLExe -if SWD -select USB -port 2331 -device NRF52840_XXAA -SuppressInfoUpdateFW -DisableAutoUpdateFW -rtos GDBServer/RTOSPlugin_FreeRTOS
+19
View File
@@ -0,0 +1,19 @@
import subprocess
import configparser
import traceback
import sys
from readprops import readProps
Import("projenv")
prefsLoc = projenv["PROJECT_DIR"] + "/version.properties"
verStr = readProps(prefsLoc)
print("Using meshtastic platform-custom.py, firmare version " + verStr)
# print("path is" + ','.join(sys.path))
# General options that are passed to the C and C++ compilers
projenv.Append(CCFLAGS=[
"-DAPP_VERSION=" + verStr
])
+3
View File
@@ -0,0 +1,3 @@
esptool.py --baud 921600 write_flash 0x10000 release/archive/old/firmware-tbeam-EU865-1.0.0.bin
echo "Erasing the otadata partition, which will turn off flash flippy-flop and force the first image to be used"
esptool.py --baud 921600 erase_region 0xe000 0x2000
+1
View File
@@ -0,0 +1 @@
esptool.py --baud 921600 write_flash 0x10000 release/archive/old/firmware-tbeam-1.1.50.bin
+4 -2
View File
@@ -1,6 +1,8 @@
set -e
source bin/version.sh
VERSION=`bin/buildinfo.py`
FILENAME=release/latest/bins/universal/firmware-tbeam-$VERSION.bin
esptool.py --baud 921600 write_flash 0x10000 release/latest/bins/firmware-tbeam-US-$VERSION.bin
echo Installing $FILENAME
esptool.py --baud 921600 write_flash 0x10000 $FILENAME
+6
View File
@@ -0,0 +1,6 @@
set -e
source bin/version.sh
esptool.py --baud 921600 write_flash 0x10000 release/latest/bins/universal/firmware-tbeam-$VERSION.bin
+1 -1
View File
@@ -1,6 +1,6 @@
# You probably don't need this - it is a basic test of the serial flash on the TTGO eink board
nrfjprog -qspiini nrf52/ttgo_eink_qpsi.ini --qspieraseall
nrfjprog --qspiini nrf52/ttgo_eink_qpsi.ini --qspieraseall
nrfjprog --qspiini nrf52/ttgo_eink_qpsi.ini --memwr 0x12000000 --val 0xdeadbeef --verify
nrfjprog --qspiini nrf52/ttgo_eink_qpsi.ini --readqspi spi.hex
objdump -s spi.hex | less
+36
View File
@@ -0,0 +1,36 @@
import subprocess
import configparser
import traceback
import sys
def readProps(prefsLoc):
"""Read the version of our project as a string"""
config = configparser.RawConfigParser()
config.read(prefsLoc)
version = dict(config.items('VERSION'))
# Try to find current build SHA if if the workspace is clean. This could fail if git is not installed
try:
sha = subprocess.check_output(
['git', 'rev-parse', '--short', 'HEAD']).decode("utf-8").strip()
isDirty = subprocess.check_output(
['git', 'diff', 'HEAD']).decode("utf-8").strip()
suffix = sha
if isDirty:
# short for 'dirty', we want to keep our verstrings source for protobuf reasons
suffix = sha + "-d"
verStr = "{}.{}.{}.{}".format(
version["major"], version["minor"], version["build"], suffix)
except:
# print("Unexpected error:", sys.exc_info()[0])
# traceback.print_exc()
verStr = "{}.{}.{}".format(
version["major"], version["minor"], version["build"])
# print("firmare version " + verStr)
return verStr
# print("path is" + ','.join(sys.path))
+11 -2
View File
@@ -1,6 +1,15 @@
#!/bin/bash
echo "This script requires https://jpa.kapsi.fi/nanopb/download/ version 0.4.1"
set -e
echo "This script requires https://jpa.kapsi.fi/nanopb/download/ version 0.4.4 to be located in the"
echo "meshtastic-device root directory if the following step fails, you should download the correct"
echo "prebuilt binaries for your computer into nanopb-0.4.4"
# the nanopb tool seems to require that the .options file be in the current directory!
cd proto
../../nanopb-0.4.1-linux-x86/generator-bin/protoc --nanopb_out=-v:../src/mesh -I=../proto mesh.proto
../nanopb-0.4.4/generator-bin/protoc --nanopb_out=-v:../src/mesh/generated -I=../proto *.proto
echo "Regenerating protobuf documentation - if you see an error message"
echo "you can ignore it unless doing a new protobuf release to github."
bin/regen-docs.sh
+13
View File
@@ -0,0 +1,13 @@
set -e
TARG=tbeam
pio run -e $TARG
echo uploading to usb1
pio run --upload-port /dev/ttyUSB1 -t upload -e $TARG &
echo uploading to usb0
pio run --upload-port /dev/ttyUSB0 -t upload -e $TARG &
wait
+3 -2
View File
@@ -1,4 +1,5 @@
set -e
echo "Converting to uf2 for NRF52 Adafruit bootloader"
bin/uf2conv.py .pio/build/lora-relay-v2/firmware.hex -f 0xADA52840
# cp flash.uf2 /media/kevinh/FTH*BOOT/
bin/uf2conv.py .pio/build/rak4631/firmware.hex -f 0xADA52840
cp flash.uf2 /media/kevinh/FTH*BOOT/
-3
View File
@@ -1,3 +0,0 @@
export VERSION=1.1.7
+61
View File
@@ -0,0 +1,61 @@
{
"build": {
"arduino": {
"ldscript": "nrf52840_s140_v6.ld"
},
"core": "nRF5",
"cpu": "cortex-m4",
"extra_flags": "-DARDUINO_NRF52840_TTGO_EINK -DNRF52840_XXAA",
"f_cpu": "64000000L",
"hwids": [
[
"0x239A",
"0x4405"
]
],
"usb_product": "TTGO_eink",
"mcu": "nrf52840",
"variant": "eink0.1",
"variants_dir": "variants",
"bsp": {
"name": "adafruit"
},
"softdevice": {
"sd_flags": "-DS140",
"sd_name": "s140",
"sd_version": "6.1.1",
"sd_fwid": "0x00B6"
},
"bootloader": {
"settings_addr": "0xFF000"
}
},
"connectivity": [
"bluetooth"
],
"debug": {
"jlink_device": "nRF52840_xxAA",
"onboard_tools": [
"jlink"
],
"svd_path": "nrf52840.svd"
},
"frameworks": [
"arduino"
],
"name": "TTGO eink (Adafruit BSP)",
"upload": {
"maximum_ram_size": 248832,
"maximum_size": 815104,
"require_upload_port": true,
"speed": 115200,
"protocol": "jlink",
"protocols": [
"jlink",
"nrfjprog",
"stlink"
]
},
"url": "FIXME",
"vendor": "TTGO"
}
+48
View File
@@ -0,0 +1,48 @@
{
"build": {
"arduino": {
"ldscript": "nrf52832_s132_v6.ld"
},
"core": "nRF5",
"cpu": "cortex-m4",
"extra_flags": "-DNRF52832_XXAA -DNRF52",
"f_cpu": "64000000L",
"mcu": "nrf52832",
"variant": "lora_isp4520",
"bsp": {
"name": "adafruit"
},
"softdevice": {
"sd_flags": "-DS132",
"sd_name": "s132",
"sd_version": "6.1.1",
"sd_fwid": "0x00B7"
}
},
"connectivity": [
"bluetooth"
],
"debug": {
"jlink_device": "nRF52832_xxAA",
"svd_path": "nrf52.svd"
},
"frameworks": [
"arduino"
],
"name": "lora ISP4520",
"upload": {
"maximum_ram_size": 65536,
"maximum_size": 524288,
"require_upload_port": true,
"speed": 115200,
"protocol": "nrfutil",
"protocols": [
"jlink",
"nrfjprog",
"nrfutil",
"stlink"
]
},
"url": "",
"vendor": "PsiSoft"
}
+4 -4
View File
@@ -1,7 +1,7 @@
{
"build": {
"arduino": {
"ldscript": "nrf52840_s140_v6.ld"
"ldscript": "nrf52840_s113_v7.ld"
},
"core": "nRF5",
"cpu": "cortex-m4",
@@ -16,9 +16,9 @@
"name": "adafruit"
},
"softdevice": {
"sd_flags": "-DS140",
"sd_name": "s140",
"sd_version": "6.1.1",
"sd_flags": "-DS113",
"sd_name": "s113",
"sd_version": "7.2.0",
"sd_fwid": "0x00B6"
},
"bootloader": {
+71
View File
@@ -0,0 +1,71 @@
{
"build": {
"arduino": {
"ldscript": "nrf52832_s132_v6.ld"
},
"core": "nRF5",
"cpu": "cortex-m4",
"extra_flags": "-DNRF52832_XXAA -DNRF52",
"f_cpu": "64000000L",
"hwids": [
[
"0x239A",
"0x8029"
],
[
"0x239A",
"0x0029"
],
[
"0x239A",
"0x002A"
],
[
"0x239A",
"0x802A"
]
],
"usb_product": "Feather nRF52832 Express",
"mcu": "nrf52832",
"variant": "WisCore_RAK4600_Board",
"bsp": {
"name": "adafruit"
},
"softdevice": {
"sd_flags": "-DS132",
"sd_name": "s132",
"sd_version": "6.1.1",
"sd_fwid": "0x00B7"
},
"zephyr": {
"variant": "nrf52_adafruit_feather"
}
},
"connectivity": [
"bluetooth"
],
"debug": {
"jlink_device": "nRF52832_xxAA",
"svd_path": "nrf52.svd"
},
"frameworks": [
"arduino",
"zephyr"
],
"name": "Adafruit Bluefruit nRF52832 Feather",
"upload": {
"maximum_ram_size": 65536,
"maximum_size": 524288,
"require_upload_port": true,
"speed": 115200,
"protocol": "nrfutil",
"protocols": [
"jlink",
"nrfjprog",
"nrfutil",
"stlink"
]
},
"url": "https://www.adafruit.com/product/3406",
"vendor": "Adafruit"
}
+72
View File
@@ -0,0 +1,72 @@
{
"build": {
"arduino": {
"ldscript": "nrf52840_s140_v6.ld"
},
"core": "nRF5",
"cpu": "cortex-m4",
"extra_flags": "-DARDUINO_NRF52840_FEATHER -DNRF52840_XXAA",
"f_cpu": "64000000L",
"hwids": [
[
"0x239A",
"0x8029"
],
[
"0x239A",
"0x0029"
],
[
"0x239A",
"0x002A"
],
[
"0x239A",
"0x802A"
]
],
"usb_product": "WisCore RAK4631 Board",
"mcu": "nrf52840",
"variant": "WisCore_RAK4631_Board",
"bsp": {
"name": "adafruit"
},
"softdevice": {
"sd_flags": "-DS140",
"sd_name": "s140",
"sd_version": "6.1.1",
"sd_fwid": "0x00B6"
},
"bootloader": {
"settings_addr": "0xFF000"
}
},
"connectivity": [
"bluetooth"
],
"debug": {
"jlink_device": "nRF52840_xxAA",
"svd_path": "nrf52840.svd"
},
"frameworks": [
"arduino"
],
"name": "WisCore RAK4631 Board",
"upload": {
"maximum_ram_size": 248832,
"maximum_size": 815104,
"speed": 115200,
"protocol": "nrfutil",
"protocols": [
"jlink",
"nrfjprog",
"nrfutil",
"stlink"
],
"use_1200bps_touch": true,
"require_upload_port": true,
"wait_for_upload_port": true
},
"url": "https://www.rakwireless.com",
"vendor": "RAKwireless"
}
+1
View File
@@ -0,0 +1 @@
not yet supported - soon will be included in build
-277
View File
@@ -1,277 +0,0 @@
/* latin-ext */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: local('Lato Regular'), local('Lato-Regular'), url(./Google.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
*, *:before, *:after {
box-sizing: border-box;
}
body {
background: #C5DDEB;
font: 14px/20px "Lato", Arial, sans-serif;
padding: 40px 0;
color: white;
}
.grid {
display: grid;
grid-template-columns:
1fr 4fr;
grid-template-areas:
"header header"
"sidebar content";
margin: 0 auto;
width: 750px;
background: #444753;
border-radius: 5px;
}
.top {grid-area: header;}
.side {grid-area: sidebar;}
.main {grid-area: content;}
.top {
border-bottom: 2px solid white;
}
.top-text {
font-weight: bold;
font-size: 24px;
text-align: center;
padding: 20px;
}
.side {
width: 260px;
float: left;
}
.side .side-header {
padding: 20px;
border-bottom: 2px solid white;
}
.side .side-header .side-text {
padding-left: 10px;
margin-top: 6px;
font-size: 16px;
text-align: left;
font-weight: bold;
}
.channel-list ul {
padding: 20px;
height: 570px;
list-style-type: none;
}
.channel-list ul li {
padding-bottom: 20px;
}
.channel-list .channel-name {
font-size: 20px;
margin-top: 8px;
padding-left: 8px;
}
.channel-list .message-count {
padding-left: 16px;
color: #92959E;
}
.icon {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
}
.icon-map-marker {
width: 0.5714285714285714em;
}
.icon-circle {
width: 0.8571428571428571em;
}
.content {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
/* width: 490px; */
float: left;
background: #F2F5F8;
/* border-top-right-radius: 5px;
border-bottom-right-radius: 5px; */
color: #434651;
}
.content .content-header {
flex-grow: 0;
padding: 20px;
border-bottom: 2px solid white;
}
.content .content-header .content-from {
padding-left: 10px;
margin-top: 6px;
font-size: 20px;
text-align: center;
font-size: 16px;
}
.content .content-header .content-from .content-from-highlight {
font-weight: bold;
}
.content .content-header .content-num-messages {
color: #92959E;
}
.content .content-history {
flex-grow: 1;
padding: 20px 20px 20px;
border-bottom: 2px solid white;
overflow-y: scroll;
height: 375px;
}
.content .content-history ul {
list-style-type: none;
padding-inline-start: 10px;
}
.content .content-history .message-data {
margin-bottom: 10px;
}
.content .content-history .message-data-time {
color: #a8aab1;
padding-left: 6px;
}
.content .content-history .message {
color: white;
padding: 8px 10px;
line-height: 20px;
font-size: 14px;
border-radius: 7px;
margin-bottom: 30px;
width: 90%;
position: relative;
}
.content .content-history .message:after {
bottom: 100%;
left: 7%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-bottom-color: #86BB71;
border-width: 10px;
margin-left: -10px;
}
.content .content-history .my-message {
background: #86BB71;
}
.content .content-history .other-message {
background: #94C2ED;
}
.content .content-history .other-message:after {
border-bottom-color: #94C2ED;
left: 93%;
}
.content .content-message {
flex-grow: 0;
padding: 10px;
}
.content .content-message textarea {
width: 100%;
border: none;
padding: 10px 10px;
font: 14px/22px "Lato", Arial, sans-serif;
margin-bottom: 10px;
border-radius: 5px;
resize: none;
}
.content .content-message button {
float: right;
color: #94C2ED;
font-size: 16px;
text-transform: uppercase;
border: none;
cursor: pointer;
font-weight: bold;
background: #F2F5F8;
}
.content .content-message button:hover {
color: #75b1e8;
}
/* Tooltip container */
.tooltip {
color: #86BB71;
position: relative;
display: inline-block;
border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}
/* Tooltip text */
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #444753;
color: #fff;
text-align: center;
padding: 5px 0;
border-radius: 6px;
/* Position the tooltip text - see examples below! */
position: absolute;
z-index: 1;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
visibility: visible;
}
.online, .offline, .me {
margin-right: 3px;
font-size: 10px;
}
.online {
color: #86BB71;
}
.offline {
color: #E38968;
}
.me {
color: #94C2ED;
}
.align-left {
text-align: left;
}
.align-right {
text-align: right;
}
.float-right {
float: right;
}
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 B

After

Width:  |  Height:  |  Size: 532 B

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 442 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Submodule
+1
Submodule design added at 73ba05ceef
-9
View File
@@ -1,9 +0,0 @@
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.geeksville.mesh",
"sha256_cert_fingerprints":
["D0:05:E7:8B:D2:1B:FA:94:56:1D:6B:90:EB:53:07:1A:74:4F:D9:C2:6F:13:87:6A:D9:17:4F:C2:59:48:02:9D", "42:17:52:DC:57:40:38:B5:6B:86:61:1C:2F:47:DB:2B:0F:A2:EA:59:E1:18:9C:AA:90:8D:37:D6:CD:40:0E:BB", "A9:3B:45:65:68:C1:75:DB:08:00:A0:9F:06:77:7F:89:2D:81:24:32:AD:B8:A3:DF:73:BC:3E:7F:06:C8:0C:6D"]
}
}]
-1
View File
@@ -1 +0,0 @@
www.meshtastic.org
-92
View File
@@ -1,92 +0,0 @@
# What is Meshtastic?
Meshtastic™ is a project that lets you use
inexpensive (\$30 ish) GPS radios as an extensible, long battery life, secure, mesh GPS communicator. These radios are great for hiking, skiing, paragliding - essentially any hobby where you don't have reliable internet access. Each member of your private mesh can always see the location and distance of all other members and any text messages sent to your group chat.
The radios automatically create a mesh to forward packets as needed, so everyone in the group can receive messages from even the furthest member. The radios will optionally work with your phone, but no phone is required.
Note: Questions after reading this? See our new [forum](https://meshtastic.discourse.group/).
### Uses
- Outdoor sports where cellular coverage is limited. (Hiking, Skiing, Boating, Paragliding, Gliders etc..)
- Applications where closed source GPS communicators just won't cut it (it is easy to add features for glider pilots etc...)
- Secure long-range communication within groups without depending on cellular providers
- Finding your lost kids ;-)
- Through our [python API](https://pypi.org/project/meshtastic/) use these inexpensive radios to easily add mesh networking to your own projects.
[![Youtube video demo](desk-video-screenshot.png)](https://www.youtube.com/watch?v=WlNbMbVZlHI "Meshtastic early demo")
### Features
Not all of these features are fully implemented yet - see **important** disclaimers below. But they should be in by the time we decide to call this project beta (three months?)
- Very long battery life (should be about eight days with the beta software)
- Built in GPS and [LoRa](https://en.wikipedia.org/wiki/LoRa) radio, but we manage the radio automatically for you
- Long range - a few miles per node but each node will forward packets as needed
- Secure - channels are encrypted by AES256 (But see important disclaimers below wrt this feature)
- Shows direction and distance to all members of your channel
- Directed or broadcast text messages for channel members
- Open and extensible codebase supporting multiple hardware vendors - no lock in to one vendor
- Communication API for bluetooth devices (such as our Android app) to use the mesh. An iOS application is in the works. And [Meshtastic-python](https://pypi.org/project/meshtastic/) provides access from desktop computers.
- Very easy sharing of private secured channels. Just share a special link or QR code with friends and they can join your encrypted mesh
This project is currently in beta testing but it is fairly stable and feature complete - if you have questions please [join our discussion forum](https://meshtastic.discourse.group/).
This software is 100% open source and developed by a group of hobbyist experimenters. No warranty is provided, if you'd like to improve it - we'd love your help. Please post in the [forum](https://meshtastic.discourse.group/).
### Beginner's Guide
For an detailed walk-through aimed at beginners, we recommend [meshtastic.letstalkthis.com](https://meshtastic.letstalkthis.com/).
# Updates
Note: Updates are happening almost daily, only major updates are listed below. For more details see our forum.
- 09/14/2020 - 1.0.0 Now with over 1700 android users, over 2000 nodes and translated into 15 languages. This project will always be a "beta" experiment, but now quite usable. We are currently selecting 1.1 features in our discussion forum.
- 06/24/2020 - 0.7.x Now with over 1000 android users, over 600 people using the radios and translated into 22 languages. Fairly stable and we are working through bugs to get to 1.0.
- 06/04/2020 - 0.6.7 Beta releases of both the application and the device code are released. Features are fairly solid now with a sizable number of users.
- 04/28/2020 - 0.6.0 [Python API](https://pypi.org/project/meshtastic/) released. Makes it easy to use meshtastic devices as "zero config / just works" mesh transport adapters for other projects.
- 04/20/2020 - 0.4.3 Pretty solid now both for the android app and the device code. Many people have donated translations and code. Probably going to call it a beta soon.
- 03/03/2020 - 0.0.9 of the Android app and device code is released. Still an alpha but fairly functional.
- 02/25/2020 - 0.0.4 of the Android app is released. This is a very early alpha, see below to join the alpha-testers group.
- 02/23/2020 - 0.0.4 release. Still very bleeding edge but much closer to the final power management, a charged T-BEAM should run for many days with this load. If you'd like to try it, we'd love your feedback. Click [here](https://github.com/meshtastic/Meshtastic-esp32/blob/master/README.md) for instructions.
- 02/20/2020 - Our first alpha release (0.0.3) of the radio software is ready brave early people.
## Meshtastic Android app
Our Android application is available here:
[![Download at https://play.google.com/store/apps/details?id=com.geeksville.mesh](https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png)](https://play.google.com/store/apps/details?id=com.geeksville.mesh&referrer=utm_source%3Dgithub-homepage)
The link above will return older more stable releases. We would prefer if you join our alpha-test group, because the application is rapidly improving. Three steps to opt-in to the alpha- test:
1. Join [this Google group](https://groups.google.com/forum/#!forum/meshtastic-alpha-testers) with the account you use in Google Play.
2. Go to this [URL](https://play.google.com/apps/testing/com.geeksville.mesh) to opt-in to the alpha test.
3. If you encounter any problems or have questions, post in our [forum](https://meshtastic.discourse.group/) and we'll help.
If you'd like to help with development, the source code is [on github](https://github.com/meshtastic/Meshtastic-Android).
The app is also distributed for Amazon Fire devices via the Amazon appstore: [![Amazon appstore link](https://raw.githubusercontent.com/meshtastic/Meshtastic-device/master/images/amazon-fire-button.png)](https://www.amazon.com/Geeksville-Industries-Meshtastic/dp/B08CY9394Q)
## Supported hardware
We currently support two brands of radios. The [TTGO T-Beam](https://www.aliexpress.com/item/4001178678568.html) and the [Heltec LoRa 32](https://heltec.org/project/wifi-lora-32/). Most people should buy the T-Beam and a 18650 battery (total cost less than \$35). Also, the version of the T-Beam we link to is shipped with Meshtastic **preinstalled** by TTGO, so you don't have to install it yourself.
Make sure to buy the frequency range which is legal for your country. For the USA, you should buy the 915MHz version. Getting a version that include a screen is optional, but highly recommended.
Instructions for installing prebuilt firmware can be found [here](https://github.com/meshtastic/Meshtastic-esp32/blob/master/README.md).
For a nice looking cases:
- 3D printable cases
1. TTGO T-Beam V0 see this [design](https://www.thingiverse.com/thing:3773717) by [bsiege](https://www.thingiverse.com/bsiege).
2. TTGO T_Beam V1 (SMA) see this [design](https://www.thingiverse.com/thing:3830711) by [rwanrooy](https://www.thingiverse.com/rwanrooy) or this [remix](https://www.thingiverse.com/thing:3949330) by [8ung](https://www.thingiverse.com/8ung)
3. TTGO T_Beam V1 (IPEX) see this [design](https://www.thingiverse.com/thing:4587297) by [drewsed](https://www.thingiverse.com/drewsed)
4. Heltec Lora32 see this [design](https://www.thingiverse.com/thing:3125854) by [ornotermes](https://www.thingiverse.com/ornotermes).
- Laser-cut cases
1. TTGO T_Beam V1 (SMA) see this [design](https://www.thingiverse.com/thing:4552771) by [jefish](https://www.thingiverse.com/jefish)
# IMPORTANT DISCLAIMERS AND FAQ
For a listing of currently missing features and a FAQ click [here](faq.md).
-8
View File
@@ -1,8 +0,0 @@
| Vendor | Product line | Version | Board labels | Notes | URL |
|---|---|---|---|---|---|
| TTGO | T-Beam | 0.7 | T22_V07 20180711 | LoRa 433/470MHz *OR* LoRa 868/915MHz , <br/>GPS ublox NEO-6M , <br/>battery holder for Li-Ion 18650 | [buy](https://www.aliexpress.com/item/4000574335430.html) |
| TTGO | T-Beam | 1.0 | | | [buy](https://www.aliexpress.com/item/4001178678568.html) |
| TTGO | T-Beam | 1.1 | T22_V11 20191212 | LoRa 433/470MHz *OR* LoRa 868/915MHz *OR* LoRa 923MHz , <br/>GPS ublox NEO-M8N , <br/>battery holder for Li-Ion 18650 | [buy](https://www.aliexpress.com/item/4001178678568.html) |
| TTGO | Lora32 | 2.0 | *missing* | LoRa 433/470MHz *OR* LoRa 868/915MHz , <br/>OLED SSD1306 , <br/>SD card holder | [buy](https://www.aliexpress.com/item/4000211331316.html) |
| TTGO | Lora32 | 2.1 | T3_V1.6 20180606 | LoRa 32 (V2) , <br/>SD card holder | [buy](https://www.aliexpress.com/item/4000119208093.html) |
| Heltec | Lora 32 | V2 | V2 | LoRa 433/470MHz *OR* LoRa 868/915MHz | [buy](https://heltec.org/project/wifi-lora-32/) |
-8
View File
@@ -1,8 +0,0 @@
theme: jekyll-theme-cayman
title: Meshtastic
description: An opensource hiking, pilot, skiing, secure GPS mesh communicator
google_analytics: G-DRZ5H5EXHV
include: [".well-known"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 KiB

-10
View File
@@ -1,10 +0,0 @@
If you'd like to edit this website and test it locally:
Not yet implemented:
Per https://help.github.com/en/github/working-with-github-pages/testing-your-github-pages-site-locally-with-jekyll
* follow instructions here: https://jekyllrb.com/docs/installation/ubuntu/
* run "run-locally.sh"
* view webpages at localhost:4000
The template seems to come from here: https://github.com/pages-themes/cayman
-34
View File
@@ -1,34 +0,0 @@
# Disclaimers
This project is still pretty young but moving at a pretty good pace. Not all features are fully implemented in the current alpha builds.
Most of these problems should be solved by the beta release (within three months):
- We don't make these devices and they haven't been tested by UL or the FCC. If you use them you are experimenting and we can't promise they won't burn your house down ;-)
- The encryption implementation is good but see this list of [caveats](software/crypto.md#summary-of-strengthsweaknesses-of-our-current-implementation) to determine risks you might face.
- A number of (straightforward) software work items have to be completed before battery life matches our measurements, currently battery life is about three days. Join us on chat if you want the spreadsheet of power measurements/calculations.
- The Android API needs to be documented better
- No one has written an iOS app yet. But some good souls [are talking about it](https://github.com/meshtastic/Meshtastic-esp32/issues/14) ;-)
For more details see the [device software TODO](https://github.com/meshtastic/Meshtastic-esp32/blob/master/docs/software/TODO.md) or the [Android app TODO](https://github.com/meshtastic/Meshtastic-Android/blob/master/TODO.md).
# FAQ
If you have a question missing from this faq, please [ask in our discussion forum](https://meshtastic.discourse.group/). And if you are feeling extra generous send in a pull-request for this faq.md with whatever we answered ;-).
## Q: Which of the various supported radios should I buy?
Basically you just need the radio + (optional but recommended) battery. The TBEAM is usually better because it has gps and huge battery socket. The Heltec is basically the same hardware but without the GPS (the phone provides position data to the radio in that case, so the behavior is similar - but it does burn some battery in the phone). Also the battery for the Heltec can be smaller.
In addition to Aliexpress, (banggood.com) usually has stock and faster shipping, or Amazon. If buying a TBEAM, make sure to buy a version that includes the OLED screen - this project doesn't absolutely require the screen, but we use it if is installed.
@claesg has added links to various 3D printable cases, you can see them at (www.meshtastic.org).
## Q: Do you have plans to commercialize this project
Nope. though if some other person/group wanted to use this software and a more customized device we think that would be awesome (as long as they obey the GPL license).
## Q: Does this project use patented algorithms?
(Kindly borrowed from the geeks at [ffmpeg](http://ffmpeg.org/legal.html))
We do not know, we are not lawyers so we are not qualified to answer this. Also we have never read patents to implement any part of this, so even if we were qualified we could not answer it as we do not know what is patented. Furthermore the sheer number of software patents makes it impossible to read them all so no one (lawyer or not) could answer such a question with a definite no. We are merely geeks experimenting on a fun and free project.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-35
View File
@@ -1,35 +0,0 @@
# Notes on @BigCorvus boards
## Board version 1.1
variant name lora_relay_v1
### Remaining TODOs
- power hold for the ST7735
- look at example sketch
- turn on xmit boost
## Recommendations for future boards
@BigCorvus your board is **really** nice. Here's some ideas for the future:
- make the SWDIO header more standard (the small ARM 2x5 micro footprint?) or at least througholes so it is easy to solder a header
## How to program bootloader
Download from here: https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases
```
nrfjprog -f nrf52 --eraseall
Erasing user available code and UICR flash areas.
Applying system reset.
nrfjprog -f nrf52 --program feather_nrf52840_express_bootloader-0.3.2_s140_6.1.1.hex
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programming device.
```
Then reboot the board, if all went well it now shows up as a mountable filesystem on your USB bus.
-6
View File
@@ -1,6 +0,0 @@
https://heltec-automation-docs.readthedocs.io/en/latest/cubecell/index.html
https://github.com/HelTecAutomation/ASR650x-Arduino?utm_source=platformio.org&utm_medium=docs
* Either portfreertos or make not theaded versions of Lock, WorkerThread, Queue (probably the latter).
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-11
View File
@@ -1,11 +0,0 @@
# Meshtastic privacy policy
We don't collect any personal identifying information.
If you have opted-in to analytics (thank you - that helps us know what things we need to improve), we'll receive anonymized information about user behavior. i.e. which screens you used in the app etc... We never
capture usernames, the contents of your texts or your location.
This is an open-source project run by hobbyists and we try to be completely transparent. If you have questions on this policy, please file [a github issue](https://github.com/meshtastic/meshtastic-esp32/issues) and we'll reply/clarify/correct.
Keep being awesome!
-30
View File
@@ -1,30 +0,0 @@
# Radio settings
We use the same channel maps as LoRaWAN (though this is not LoRaWAN).
![freq table](images/LoRa-Frequency-Bands.jpg)
See [this site](https://www.rfwireless-world.com/Tutorials/LoRa-channels-list.html) for more information.
## LoRaWAN Europe Frequency Band
The maximum power allowed is +14dBM.
### 433 MHz
There are eight channels defined with a 0.2 MHz gap between them.
Channel zero starts at 433.175 MHz
### 870 MHz
There are eight channels defined with a 0.3 MHz gap between them.
Channel zero starts at 865.20 MHz
## LoRaWAN for North America
LoRaWAN defines 64, 125 kHz channels from 902.3 to 914.9 MHz increments.
The maximum output power for North America is +30 dBM.
The band is from 902 to 928 MHz. It mentions channel number and its respective channel frequency. All the 13 channels are separated by 2.16 MHz with respect to the adjacent channels.
Channel zero starts at 903.08 MHz center frequency.
-92
View File
@@ -1,92 +0,0 @@
# Geeksville's current work queue
You probably don't care about this section - skip to the next one.
Threading tasks:
- Use https://github.com/ivanseidel/ArduinoThread? rather than full coroutines
- clean up main loop()
- check that we are mostly asleep, show which thread is causing us to wake
-
- use tickless idle on nrf52, and sleep X msec or until an interrupt occurs or the cooperative scheduling changes. https://devzone.nordicsemi.com/f/nordic-q-a/12363/nrf52-freertos-power-consumption-tickless-idle
- BAD IDEA: use vTaskDelay and https://www.freertos.org/xTaskAbortDelay.html if scheduling changes. (define INCLUDE_xTaskAbortDelay on ESP32 and NRF52 - seems impossible to find?)
- GOOD IDEA: use xSemaphoreTake to take a semaphore using a timeout. Expect semaphore to not be set, but set it to indicate scheduling has changed.
Nimble tasks:
- readerror.txt stress test bug
- started RPA long test, jul 22 6pm
- implement nimble software update api
- update to latest bins, test OTA again (measure times) and then checkin bins
- do alpha release
* update protocol description per cyclomies email thread
* update faq with antennas https://meshtastic.discourse.group/t/range-test-ideas-requested/738/2
* update faq on recommended android version and phones
* add help link inside the app, reference a page on the wiki
* turn on amazon reviews support
* add a tablet layout (with map next to messages) in the android app
# Medium priority
Items to complete before 1.0.
# Post 1.0 ideas
- finish DSR for unicast
- check fcc rules on duty cycle. we might not need to freq hop. https://www.sunfiretesting.com/LoRa-FCC-Certification-Guide/ . Might need to add enforcement for europe though.
- make a no bluetooth configured yet screen - include this screen in the loop if the user hasn't yet paired
- if radio params change fundamentally, discard the nodedb
- re-enable the bluetooth battery level service on the T-BEAM
- provide generalized (but slow) internet message forwarding service if one of our nodes has internet connectivity (MQTT) [ Not a requirement but a personal interest ]
# Low priority ideas
Items after the first final candidate release.
- implement nimble battery level service
- Nimble implement device info service remaining fields (hw version etc)
- Turn on RPA addresses for the device side in Nimble
- Try to teardown less of the Nimble protocol stack across sleep
- dynamic frequency scaling could save a lot of power on ESP32, but it seems to corrupt uart (even with ref_tick set correctly)
- Change back to using a fixed sized MemoryPool rather than MemoryDynamic (see bug #149)
- scan to find channels with low background noise? (Use CAD mode of the RF95 to automatically find low noise channels)
- If the phone doesn't read fromradio mailbox within X seconds, assume the phone is gone and we can stop queing location msgs
for it (because it will redownload the nodedb when it comes back)
- add frequency hopping, dependent on the gps time, make the switch moment far from the time anyone is going to be transmitting
- assign every "channel" a random shared 8 bit sync word (per 4.2.13.6 of datasheet) - use that word to filter packets before even checking CRC. This will ensure our CPU will only wake for packets on our "channel"
- the BLE stack is leaking about 200 bytes each time we go to light sleep
- use fuse bits to store the board type and region. So one load can be used on all boards
- Don't store position packets in the to phone fifo if we are disconnected. The phone will get that info for 'free' when it
fetches the fresh nodedb.
- Use the RFM95 sequencer to stay in idle mode most of the time, then automatically go to receive mode and automatically go from transmit to receive mode. See 4.2.8.2 of manual.
- Use fixed32 for node IDs, packetIDs, successid, failid, and lat/lon - will require all nodes to be updated, but make messages slightly smaller.
- add "store and forward" support for messages, or move to the DB sync model. This would allow messages to be eventually delivered even if nodes are out of contact at the moment.
- use variable length Strings in protobufs (instead of current fixed buffers). This would save lots of RAM
- use BLEDevice::setPower to lower our BLE transmit power - extra range doesn't help us, it costs amps and it increases snoopability
- make a HAM build: just a new frequency list, a bool to say 'never do encryption' and use hte callsign as that node's unique id. -from Girts
- don't forward redundant pings or ping responses to the phone, it just wastes phone battery
- don't send location packets if we haven't moved significantly
- scrub default radio config settings for bandwidth/range/speed
- show radio and gps signal strength as an image
- only BLE advertise for a short time after the screen is on and button pressed - to save power and prevent people for sniffing for our BT app.
- make mesh aware network timing state machine (sync wake windows to gps time) - this can save LOTS of battery
- split out the software update utility so other projects can use it. Have the appload specify the URL for downloads.
- read the PMU battery fault indicators and blink/led/warn user on screen
- discard very old nodedb records (> 1wk)
- handle millis() rollover in GPS.getTime - otherwise we will break after 50 days
- report esp32 device code bugs back to the mothership via android
- change BLE bonding to something more secure. see comment by pSecurity->setAuthenticationMode(ESP_LE_AUTH_BOND)
Changes related to wifi support on ESP32:
- iram space: https://esp32.com/viewtopic.php?t=8460
- set https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/external-ram.html spi ram bss
- figure out if iram or bluetooth classic caused ble problems
- post bug on esp32-arduino with BLE bug findings
# Spinoff project ideas
- an open source version of https://www.burnair.ch/skynet/
- a paragliding app like http://airwhere.co.uk/
- How do avalanche beacons work? Could this do that as well? possibly by using beacon mode feature of the RF95?
-14
View File
@@ -1,14 +0,0 @@
# ANT protocol notes
SD340 terms are reasonable for NRF52
https://www.thisisant.com/developer/components/nrf52832#tab_protocol_stacks_tab
Profiles to implement:
tracker
https://www.thisisant.com/developer/ant-plus/device-profiles/#4365_tab
ebike
https://www.thisisant.com/developer/ant-plus/device-profiles/#527_tab
no profile for messaging?
-43
View File
@@ -1,43 +0,0 @@
# Build instructions
This project uses the simple PlatformIO build system. PlatformIO is an extension to Microsoft VSCode.
## GUI
1. Purchase a suitable [radio](https://github.com/meshtastic/Meshtastic-device/wiki/Hardware-Information).
2. Install [Python](https://www.python.org/downloads/).
3. Install [Git](https://git-scm.com/downloads).
4. Reboot your computer.
5. Install [PlatformIO](https://platformio.org/platformio-ide).
6. Click the PlatformIO icon on the side bar. ![platformio icon](https://user-images.githubusercontent.com/47490997/89482668-77c7ea00-d7ee-11ea-8785-5faf8ff99800.png)
7. Under `Quick Access, Miscellaneous, Clone Git Project` enter the URL of the Meshtastic repo found [here](https://github.com/meshtastic/Meshtastic-device). ![image](https://user-images.githubusercontent.com/47490997/89483047-4c91ca80-d7ef-11ea-91f4-1d53d4e8acd9.png)
8. Select a file location to save the repo.
9. Once loaded, open the `platformio.ini` file.
10. At the line `default_envs` you can change it to the board type you are building for ie. `tlora-v2, tlora-v1, tlora-v2-1-1.6, tbeam, heltec, tbeam0.7` (boards are listed further down in the file).
11. The hardware can be configured for different countries by adding a definition to the `configuration.h` file. `#define HW_VERSION_US` or `HW_VERSION_EU433, HW_VERSION_EU865, HW_VERSION_CN, HW_VERSION_JP`. Other country settings can be found in `MeshRadio.h`. The default is `HW_VERSION_US`.
12. Click the PlatformIO icon on the side bar. Under `Project Tasks` you can now build or upload.
Note - To get a clean build you may have to delete the auto-generated file `./.vscode/c_cpp_properties.json`, close and re-open Visual Studio and WAIT until the file is auto-generated before compiling again.
## Command Line
1. Purchase a suitable [radio](https://github.com/meshtastic/Meshtastic-device/wiki/Hardware-Information).
2. Install [PlatformIO](https://platformio.org/platformio-ide)
3. Download this git repo and cd into it:
```
git clone https://github.com/meshtastic/Meshtastic-device.git
cd Meshtastic-device
```
4. Run `git submodule update --init --recursive` to pull in dependencies this project needs.
5. If you are outside the USA, run "export COUNTRY=EU865" (or whatever) to set the correct frequency range for your country. Options are provided for `EU433`, `EU865`, `CN`, `JP` and `US` (default). Pull-requests eagerly accepted for other countries.
6. Plug the radio into your USB port
7. Type `pio run --environment XXX -t upload` (This command will fetch dependencies, build the project and install it on the board via USB). For XXX, use the board type you have (either `tlora-v2, tlora-v1, tlora-v2-1-1.6, tbeam, heltec, tbeam0.7`).
8. Platform IO also installs a very nice VisualStudio Code based IDE, see their [tutorial](https://docs.platformio.org/en/latest/tutorials/espressif32/arduino_debugging_unit_testing.html) if you'd like to use it.
## Decoding stack traces
If you get a crash, you can decode the addresses from the `Backtrace:` line:
1. Save the `Backtrace: 0x....` line to a file, e.g., `backtrace.txt`.
2. Run `bin/exception_decoder.py backtrace.txt` (this uses symbols from the
last `firmware.elf`, so you must be running the same binary that's still in
your `.pio/build` directory).
-51
View File
@@ -1,51 +0,0 @@
# Encryption in Meshtastic
Cryptography is tricky, so we've tried to 'simply' apply standard crypto solutions to our implementation. However,
the project developers are not cryptography experts. Therefore we ask two things:
- If you are a cryptography expert, please review these notes and our questions below. Can you help us by reviewing our
notes below and offering advice? We will happily give as much or as little credit as you wish ;-).
- Consider our existing solution 'alpha' and probably fairly secure against a not particularly aggressive adversary
(but we can't yet make a more confident statement).
## Summary of strengths/weaknesses of our current implementation
Based on comments from reviewers (see below), here's some tips for usage of these radios. So you can know the level of protection offered:
* It is pretty likely that the AES256 security is implemented 'correctly' and an observer will not be able to decode your messages.
* Warning: If an attacker is able to get one of the radios in their position, they could either a) extract the channel key from that device or b) use that radio to listen to new communications.
* Warning: If an attacker is able to get the "Channel QR code/URL" that you share with others - that attacker could then be able to read any messages sent on the channel (either tomorrow or in the past - if they kept a raw copy of those broadcast packets)
Possible future areas of work (if there is enough interest - post in our [forum](https://meshtastic.discourse.group) if you want this):
1. Optionally requiring users to provide a PIN to regain access to the mesh. This could be based on: intentionally locking the device, time since last use, or any member could force all members to reauthenticate,
2. Until a device reauthenticates, any other access via BLE or USB would be blocked (this would protect against attackers who are not prepared to write custom software to extract and reverse engineer meshtastic flash memory)
3. Turning on read-back protection in the device fuse-bits (this would extend protection in #2 to block all but **extremely** advanced attacks involving chip disassembly)
4. Time limiting keys used for message transmission and automatically cycling them on a schedule. This would protect past messages from being decoded even if an attacker learns the current key.
### Notes for reviewers
If you are reviewing our implementation, this is a brief statement of our method.
- We do all crypto at the SubPacket (payload) level only, so that all meshtastic nodes will route for others - even those channels which are encrypted with a different key.
- Mostly based on reading [Wikipedia](<https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_(CTR)>) and using the modes the ESP32 provides support for in hardware.
- We use AES256-CTR as a stream cypher (with zero padding on the last BLOCK) because it is well supported with hardware acceleration.
- Our AES key is 128 or 256 bits, shared as part of the 'Channel' specification.
- The node number concatenated with the packet number is used as the NONCE. This nonce will be stored in flash in the device and should essentially never repeat. If the user makes a new 'Channel' (i.e. picking a new random 256 bit key), the packet number will start at zero.
- The packet number is sent in cleartext with each packet. The node number can be derived from the "from" field of each packet. (Cleartext is acceptable because it merely provides IV for each encryption run)
- Each 16 byte BLOCK for a packet has an incrementing COUNTER. COUNTER starts at zero for the first block of each packet.
- The IV for each block is constructed by concatenating the NONCE as the upper 96 bits of the IV and the COUNTER as the bottom 32 bits. Since our packets are small counter portion will really never be higher than 32 (five bits).
## Comments from reviewer #1
This reviewer is a cryptography professional, but would like to remain anonymous. We thank them for their comments ;-):
I'm assuming that meshtastic is being used to hike in places where someone capable is trying to break it - like you were going to walk around DefCon using these. I spent about an hour reviewing the encryption, and have the following notes:
* The write-up isn't quite as clear as the code.
* The code is using AES-CTR mode correctly to ensure confidentiality.
* The comment for initNonce really covers the necessary information.
* I think the bigger encryption question is "what does the encryption need to do"? As it stands, an attacker who has yet to capture any of the devices cannot reasonably capture text or location data. An attacker who captures any device in the channel/mesh can read everything going to that device, everything stored on that device, and any other communication within the channel that they captured in encrypted form. If that capability basically matches your expectations, it is suitable for whatever adventures this was intended for, then, based on information publicly available or widely disclosed, the encryption is good. If those properties are distressing (like, device history is deliberately limited and you don't want a device captured today to endanger the information sent over the channel yesterday) we could talk about ways to achieve that (most likely synchronizing time and replacing the key with its own SHA256 every X hours, and ensuring the old key is not retained unnecessarily).
* Two other things to keep in mind are that AES-CTR does not itself provide authenticity (e.g. an attacker can flip bits in replaying data and scramble the resulting plaintext), and that the current scheme gives some hints about transmission in the size. So, if you worry about an adversary deliberately messing-up messages or knowing the length of a text message, it looks like those might be possible.
I'm guessing that the network behaves somewhat like a store-and-forward network - or, at least, that the goal is to avoid establishing a two-way connection to transmit data. I'm afraid I haven't worked with mesh networks much, but remember studying them briefly in school about ten years ago.
-124
View File
@@ -1,124 +0,0 @@
# Device API
The Device API is design to have only a simple stream of ToRadio and FromRadio packets and all polymorphism comes from the flexible set of Google Protocol Buffers which are sent over the wire. We use protocol buffers extensively both for the bluetooth API and for packets inside the mesh or when providing packets to other applications on the phone.
## Streaming version
This protocol is **almost** identical when it is deployed over BLE, Serial/USB or TCP (our three currently supported transports for connecting to phone/PC). Most of this document is in terms of the original BLE version, but this section describes the small changes when this API is exposed over a Streaming (non datagram) transport. The streaming version has the following changes:
- We assume the stream is reliable (though the protocol will resynchronize if bytes are lost or corrupted). i.e. we do not include CRCs or error correction codes.
- Packets always have a four byte header (described below) prefixed before each packet. This header provides framing characters and length.
- The stream going towards the radio is only a series of ToRadio packets (with the extra 4 byte headers)
- The stream going towards the PC is a stream of FromRadio packets (with the 4 byte headers), or if the receiver state machine does not see valid header bytes it can (optionally) print those bytes as the debug console from the radio. This allows the device to emit regular serial debugging messages (which can be understood by a terminal program) but also switch to a more structured set of protobufs once it sees that the PC client has sent a protobuf towards it.
The 4 byte header is constructed to both provide framing and to not look line 'normal' 7 bit ASCII.
- Byte 0: START1 (0x94)
- Byte 1: START2 (0xc3)
- Byte 2: MSB of protobuf length
- Byte 3: LSB of protobuf length
The receiver will validate length and if >512 it will assume the packet is corrupted and return to looking for START1. While looking for START1 any other characters are printed as "debug output". For small example implementation of this reader see the meshtastic-python implementation.
## MeshBluetoothService (the BLE API)
This is the main bluetooth service for the device and provides the API your app should use to get information about the mesh, send packets or provision the radio.
For a reference implementation of a client that uses this service see [RadioInterfaceService](https://github.com/meshtastic/Meshtastic-Android/blob/master/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt).
Typical flow when a phone connects to the device should be the following (if you want to watch this flow from the python app just run "meshtastic --debug --info" - the flow over BLE is identical):
- There are only three relevant endpoints (and they have built in BLE documentation - so use a BLE tool of your choice to watch them): FromRadio, FromNum (sends notifies when new data is available in FromRadio) and ToRadio
- SetMTU size to 512
- Write a ToRadio.startConfig protobuf to the "ToRadio" endpoint" - this tells the radio you are a new connection and you need the entire NodeDB sent down.
- Read repeatedly from the "FromRadio" endpoint. Each time you read you will get back a FromRadio protobuf (see Meshtatastic-protobuf). Keep reading from this endpoint until you get back and empty buffer.
- See below for the expected sequence for your initial download.
- After the initial download, you should subscribe for BLE "notify" on the "FromNum" endpoint. If a notification arrives, that means there are now one or more FromRadio packets waiting inside FromRadio. Read from FromRadio until you get back an empty packet.
- Any time you want to send packets to the radio, you should write a ToRadio packet into ToRadio.
Expected sequence for initial download:
- After your send startConfig, you will receive a series of FromRadio packets. The sequence of these packets will be as follows (but you are best not counting on this, instead just update your model for whatever packet you receive - based on looking at the type)
- Read a RadioConfig from "radio" - used to get the channel and radio settings
- Read a User from "user" - to get the username for this node
- Read a MyNodeInfo from "mynode" to get information about this local device
- Read a series of NodeInfo packets to build the phone's copy of the current NodeDB for the mesh
- Read a endConfig packet that indicates that the entire state you need has been sent.
- Read a series of MeshPackets until it returns empty to get any messages that arrived for this node while the phone was away
For definitions (and documentation) on FromRadio, ToRadio, MyNodeInfo, NodeInfo and User protocol buffers see [mesh.proto](https://github.com/meshtastic/Meshtastic-protobufs/blob/master/mesh.proto)
UUID for the service: 6ba1b218-15a8-461f-9fa8-5dcae273eafd
Each characteristic is listed as follows:
UUID
Properties
Description (including human readable name)
8ba2bcc2-ee02-4a55-a531-c525c5e454d5
read
fromradio - contains a newly received FromRadio packet destined towards the phone (up to MAXPACKET bytes per packet).
After reading the esp32 will put the next packet in this mailbox. If the FIFO is empty it will put an empty packet in this
mailbox.
f75c76d2-129e-4dad-a1dd-7866124401e7
write
toradio - write ToRadio protobufs to this characteristic to send them (up to MAXPACKET len)
ed9da18c-a800-4f66-a670-aa7547e34453
read,notify,write
fromnum - the current packet # in the message waiting inside fromradio, if the phone sees this notify it should read messages
until it catches up with this number.
The phone can write to this register to go backwards up to FIXME packets, to handle the rare case of a fromradio packet was dropped after the esp32 callback was called, but before it arrives at the phone. If the phone writes to this register the esp32 will discard older packets and put the next packet >= fromnum in fromradio.
When the esp32 advances fromnum, it will delay doing the notify by 100ms, in the hopes that the notify will never actally need to be sent if the phone is already pulling from fromradio.
Note: that if the phone ever sees this number decrease, it means the esp32 has rebooted.
Re: queue management
Not all messages are kept in the fromradio queue (filtered based on SubPacket):
- only the most recent Position and User messages for a particular node are kept
- all Data SubPackets are kept
- No WantNodeNum / DenyNodeNum messages are kept
A variable keepAllPackets, if set to true will suppress this behavior and instead keep everything for forwarding to the phone (for debugging)
### A note on MTU sizes
This device will work with any MTU size, but it is highly recommended that you call your phone's "setMTU function to increase MTU to 512 bytes" as soon as you connect to a service. This will dramatically improve performance when reading/writing packets.
### Protobuf API
On connect, you should send a want_config_id protobuf to the device. This will cause the device to send its node DB and radio config via the fromradio endpoint. After sending the full DB, the radio will send a want_config_id to indicate it is done sending the configuration.
### Other bluetooth services
This document focuses on the core device protocol, but it is worth noting that the following other Bluetooth services are also
provided by the device.
#### BluetoothSoftwareUpdate
The software update service. For a sample function that performs a software update using this API see [startUpdate](https://github.com/meshtastic/Meshtastic-Android/blob/master/app/src/main/java/com/geeksville/mesh/service/SoftwareUpdateService.kt).
SoftwareUpdateService UUID cb0b9a0b-a84c-4c0d-bdbb-442e3144ee30
Characteristics
| UUID | properties | description |
| ------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------- |
| e74dd9c0-a301-4a6f-95a1-f0e1dbea8e1e | write,read | total image size, 32 bit, write this first, then read read back to see if it was acceptable (0 mean not accepted) |
| e272ebac-d463-4b98-bc84-5cc1a39ee517 | write | data, variable sized, recommended 512 bytes, write one for each block of file |
| 4826129c-c22a-43a3-b066-ce8f0d5bacc6 | write | crc32, write last - writing this will complete the OTA operation, now you can read result |
| 5e134862-7411-4424-ac4a-210937432c77 | read,notify | result code, readable but will notify when the OTA operation completes |
| GATT_UUID_SW_VERSION_STR/0x2a28 | read | We also implement these standard GATT entries because SW update probably needs them: |
| GATT_UUID_MANU_NAME/0x2a29 | read | |
| GATT_UUID_HW_VERSION_STR/0x2a27 | read | |
#### DeviceInformationService
Implements the standard BLE contract for this service (has software version, hardware model, serial number, etc...)
#### BatteryLevelService
Implements the standard BLE contract service, provides battery level in a way that most client devices should automatically understand (i.e. it should show in the bluetooth devices screen automatically)

Some files were not shown because too many files have changed in this diff Show More