Wykres commitów

5 Commity (d71b53ef1dff464b52dc819606938c32adce258b)

Autor SHA1 Wiadomość Data
Angus Gratton 68e0dfce0a all: Apply Ruff 0.11.6 reformatting changes.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
2025-04-24 16:54:10 +10:00
marcsello c7103bb464 nrf24l01: Optimize status reading.
The value of the STATUS register is always transmitted by the chip when
reading any command.  So a R_REGISTER command and the turnaround time can
be spared by issuing a NOP command instead.

This implementation suggested by the datasheet.

This operation is compatible with both nRF24L01 and nRF24L01+.

Signed-off-by: Marcell Pünkösd <punkosdmarcell@rocketmail.com>
2025-04-10 22:31:47 +10:00
marcsello bd1ab77324 nrf24l01: Properly handle timeout.
The timeout condition was not handled before.  Upon timeout, this caused
the chip to stay active until another send command changed it's state.

Sometimes when it was unable to transmit the data, it got stuck in the tx
fifo causing it to fill up over time, which set the TX_FULL flag in the
STATUS register.

Since there was no exceptions raised, the user code could not differentiate
a successful send or a timeout condition.

Signed-off-by: Marcell Pünkösd <punkosdmarcell@rocketmail.com>
2025-04-10 22:29:46 +10:00
marcsello 3e859d2118 nrf24l01: Increase startup delay.
According to the datasheet of the NRF240L1 chip, 150 μs startup time is
only acceptable when the chip is clocked externally.  Most modules use a
crystal, which require 1.5 ms to settle.  It should be okay to wait more in
both cases, for a reliable startup.

Signed-off-by: Marcell Pünkösd <punkosdmarcell@rocketmail.com>
2025-04-10 22:25:40 +10:00
Jim Mussared c1c0eb0c39 micropython/drivers: Move "nrf24l01" radio driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:52 +10:00