Releases: dunknowcoding/ArduinoNRF-Thread
Releases · dunknowcoding/ArduinoNRF-Thread
Release list
NiusThread 0.1.2
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 sideThread.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
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.