1.2-legacy
geeksville 2020-05-18 17:02:51 -07:00
rodzic 19f5a5ef79
commit 53c3d9baa2
2 zmienionych plików z 6 dodań i 6 usunięć

Wyświetl plik

@ -8,13 +8,13 @@ great source of papers and class notes: http://www.cs.jhu.edu/~cs647/
reliable messaging tasks (stage one for DSR): reliable messaging tasks (stage one for DSR):
- add a 'messagePeek' hook for all messages that pass through our node. - 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. - DONE use the same 'recentmessages' array used for broadcast msgs to detect duplicate retransmitted messages.
- keep possible retries in the list with rebroadcast messages? - keep possible retries in the list with to be rebroadcast messages?
- for each message keep a count of # retries (max of three) - 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) - 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 - 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) - 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 dsr tasks

Wyświetl plik

@ -2,8 +2,6 @@
## Misc work items ## Misc work items
* on node 0x1c transmit complete interrupt never comes in - though other nodes receive the packet
## Initial work items ## Initial work items
Minimum items needed to make sure hardware is good. 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. - 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 - 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 - 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. - 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 - 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... 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. - 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 - 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 - Use nordic logging for DEBUG_MSG
@ -115,6 +114,7 @@ Nice ideas worth considering someday...
#define PIN_WIRE_SDA (26) #define PIN_WIRE_SDA (26)
#define PIN_WIRE_SCL (27) #define PIN_WIRE_SCL (27)
- customize the bootloader to use proper button bindings - customize the bootloader to use proper button bindings
- remove the MeshRadio wrapper - we don't need it anymore, just do everything in RadioInterface subclasses.
``` ```