From 53c3d9baa2be13efbc4af366d58661b4c227ae19 Mon Sep 17 00:00:00 2001 From: geeksville Date: Mon, 18 May 2020 17:02:51 -0700 Subject: [PATCH] doc updates --- docs/software/mesh-alg.md | 6 +++--- docs/software/nrf52-TODO.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/software/mesh-alg.md b/docs/software/mesh-alg.md index 2b55a3a34..393abce67 100644 --- a/docs/software/mesh-alg.md +++ b/docs/software/mesh-alg.md @@ -8,13 +8,13 @@ great source of papers and class notes: http://www.cs.jhu.edu/~cs647/ reliable messaging tasks (stage one for DSR): - add a 'messagePeek' hook for all messages that pass through our node. -- use the same 'recentmessages' array used for broadcast msgs to detect duplicate retransmitted messages. -- keep possible retries in the list with rebroadcast messages? +- DONE use the same 'recentmessages' array used for broadcast msgs to detect duplicate retransmitted messages. +- keep possible retries in the list with to be rebroadcast messages? - for each message keep a count of # retries (max of three) - delay some random time for each retry (large enough to allow for acks to come in) - once an ack comes in, remove the packet from the retry list and deliver the ack to the original sender - after three retries, deliver a no-ack packet to the original sender (i.e. the phone app or mesh router service) -- add a max hops parameter, use it for broadcast as well (0 means adjacent only, 1 is one forward etc...). Store as two bits in the header. +- add a max hops parameter, use it for broadcast as well (0 means adjacent only, 1 is one forward etc...). Store as three bits in the header. dsr tasks diff --git a/docs/software/nrf52-TODO.md b/docs/software/nrf52-TODO.md index 47a520c8d..ae89750dd 100644 --- a/docs/software/nrf52-TODO.md +++ b/docs/software/nrf52-TODO.md @@ -2,8 +2,6 @@ ## Misc work items -* on node 0x1c transmit complete interrupt never comes in - though other nodes receive the packet - ## Initial work items Minimum items needed to make sure hardware is good. @@ -42,7 +40,6 @@ Needed to be fully functional at least at the same level of the ESP32 boards. At - use SX126x::startReceiveDutyCycleAuto to save power by sleeping and briefly waking to check for preamble bits. Change xmit rules to have more preamble bits. - turn back on in-radio destaddr checking for RF95 -- remove the MeshRadio wrapper - we don't need it anymore, just do everythin in RadioInterface subclasses. - figure out what the correct current limit should be for the sx1262, currently we just use the default 100 - put sx1262 in sleepmode when processor gets shutdown (or rebooted), ideally even for critical faults (to keep power draw low). repurpose deepsleep state for this. - good power management tips: https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/optimizing-power-on-nrf52-designs @@ -59,6 +56,8 @@ Needed to be fully functional at least at the same level of the ESP32 boards. At Nice ideas worth considering someday... +- Use flego to me an iOS/linux app? https://felgo.com/doc/qt/qtbluetooth-index/ or +- Use flutter to make an iOS/linux app? https://github.com/Polidea/FlutterBleLib - make a Mfg Controller and device under test classes as examples of custom app code for third party devs. Make a post about this. Use a custom payload type code. Have device under test send a broadcast with max hopcount of 0 for the 'mfgcontroller' payload type. mfg controller will read SNR and reply. DOT will declare failure/success and switch to the regular app screen. - Hook Segger RTT to the nordic logging framework. https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/debugging-with-real-time-terminal - Use nordic logging for DEBUG_MSG @@ -115,6 +114,7 @@ Nice ideas worth considering someday... #define PIN_WIRE_SDA (26) #define PIN_WIRE_SCL (27) - customize the bootloader to use proper button bindings +- remove the MeshRadio wrapper - we don't need it anymore, just do everything in RadioInterface subclasses. ```