Skip to content

Releases: dunknowcoding/ArduinoNRF-Thread

NiusThread 0.1.2

Choose a tag to compare

@dunknowcoding dunknowcoding released this 11 Jun 23:29

0.1.2 - on-mesh commissioning + critical radio ack fixes

Real Thread commissioning, hardware-verified end to end. A factory-fresh board joins with only a passphrase - no network key in the sketch:

  • Thread.commissionerStart() / Thread.commissionerAddJoiner(pskd, timeout) on the admitting side
  • Thread.joinNetwork(pskd) + Thread.joinResult() on the joining side; Thread.eraseNetwork() to forget
  • New examples: CommissionerNode and JoinerNode
  • Verified flow: discovery -> EC-JPAKE DTLS (PSKd) -> JoinerFinalize -> KEK-secured JoinerEntrust -> credentials stored to flash -> attach as child

802.15.4 radio driver fixes (found with the new SWD-readable gNiusRadioDiag counters):

  • Immediate acks are now sent at the spec aTurnaroundTime (192 us). They previously left ~70 us after the frame end - before the peer could turn its radio around - so every unicast silently rode on MAC retransmit exhaustion.
  • otPlatRadioReceive() no longer clips an in-flight ack transmission (the stack calls it right after every delivered frame).
  • Result: bidirectional MAC acks confirmed on hardware; unicast latency and airtime drop dramatically.

Other: setNetwork() now writes a complete operational dataset (ChannelMask / PSKc / SecurityPolicy - required by the Joiner Entrust path); examples moved to channel 25; mbedtls heap sized for the DTLS session.

NiusThread 0.1.1

Choose a tag to compare

@dunknowcoding dunknowcoding released this 11 Jun 01:31

Thread (OpenThread) IPv6 mesh on the ArduinoNRF nRF52840 native radio.

0.1.1

  • ThreadCli example - the full official OpenThread CLI on the serial monitor (state / dataset / ping / udp / coap, everything ot-cli-ftd can do). CLI input needs ArduinoNRF core > 0.3.3 (CDC bulk OUT fix).
  • Thread.setLinkMode() - switch a node between full router-eligible device, always-on end device (MED), and sleepy end device (SED, with poll period) at runtime.

0.1.0 (initial release)

  • Full OpenThread FTD (fa3213ec) + mbedtls 3.6.5 vendored on a register-level IEEE 802.15.4 driver for the nRF52840 RADIO - no SoftDevice, no nrfx, no external module.
  • Friendly four-call API (begin / setNetwork / start / process) + the complete official OpenThread C API via Thread.instance().
  • Built-in CoAP text layer (onCoapGet / onCoapPost / coapPost / coapGet).
  • Flash-persistent settings: dataset, key sequence and frame counters survive reboots.
  • Examples: FormNetwork, NetworkInfo, UdpBroadcast, CoapLamp.
  • Hardware-verified: two-node mesh (Leader + Child to Router), bidirectional UDP multicast, CoAP LED control, settings persistence across reset.