ArduinoNRF 0.3.4
ArduinoNRF 0.3.4
Faster uploads — 6.2× (217 s → 35 s)
Root-caused the multi-minute uploads on busy Windows hosts: Win32_SerialPort's
WMI provider was blocking ~90 s per call (it probes every COM device and
stalls on Bluetooth / virtual COM ports), and the pre-touch port resolvers hit
it several times per upload. The serial inventory now derives the COM-name ↔
USB-instance mapping from Win32_PnPEntity (~1.4 s) and never touches the
Serial provider. Measured on real hardware: identity phase 124 s → 3.8 s,
connect→deploy 62 s → 4.4 s. Remaining time is the physical 1200-touch + DFU
transfer.
SoftDevice-aware, safe bare-metal core
This core is deliberately SoftDevice-free (NimBLE and Thread own the radio
bare-metal; Zigbee uses an external CC2530). 0.3.4 makes that explicit,
detectable and safe rather than implicit:
- new
NrfSoftDevicemodule:isPresent()/status()/appStartAddress()/
firmwareId()/versionRaw()— detects an MBR + SoftDevice image in flash
(e.g. the nice!nano S140) without starting it, - a persistent boot-time presence marker readable over SWD,
- a guarded opt-in
requestEnable()hook (off by default, requires
-DNRF_ENABLE_SOFTDEVICE+ a vendored Nordic SDK) for users who want the
certified BLE stack instead of NimBLE/Thread, NordicHardware.softDeviceInfo(), aSoftDeviceInfoexample, and
docs/platform/SOFTDEVICE.md.
Verified on a ProMicro clone over J-Link: detection correctly reports "no
SoftDevice, application at 0x1000" and the opt-in enable hook stays blocked.
Also in this release
- Host-wide DFU serialization so concurrent multi-board uploads no longer
cross-kill each other'snrfutil. - Same-PID clone layout / misflash upload guards + INFO_UF2 documentation.
- USB fix: read the OUT packet length from
SIZE.EPOUT, not the unreliable
EPOUT.AMOUNTon these clones. - CC310 shim:
sha512forwarding + smoke KAT.
Install / upgrade: Boards Manager → ArduinoNRF (index served from main).