11"""Test for nrf24l01 module."""
22
33import struct
4- import pyb
5- from pyb import Pin , SPI
4+ import utime
5+ from machine import Pin , SPI
66from nrf24l01 import NRF24L01
77
88pipes = (b'\xf0 \xf0 \xf0 \xf0 \xe1 ' , b'\xf0 \xf0 \xf0 \xf0 \xd2 ' )
@@ -24,7 +24,7 @@ def master():
2424 while num_successes < num_needed and num_failures < num_needed :
2525 # stop listening and send packet
2626 nrf .stop_listening ()
27- millis = pyb . millis ()
27+ millis = utime . ticks_ms ()
2828 led_state = max (1 , (led_state << 1 ) & 0x0f )
2929 print ('sending:' , millis , led_state )
3030 try :
@@ -36,10 +36,10 @@ def master():
3636 nrf .start_listening ()
3737
3838 # wait for response, with 250ms timeout
39- start_time = pyb . millis ()
39+ start_time = utime . ticks_ms ()
4040 timeout = False
4141 while not nrf .any () and not timeout :
42- if pyb . elapsed_millis ( start_time ) > 250 :
42+ if utime . ticks_diff ( utime . ticks_ms (), start_time ) > 250 :
4343 timeout = True
4444
4545 if timeout :
@@ -51,11 +51,11 @@ def master():
5151 got_millis , = struct .unpack ('i' , nrf .recv ())
5252
5353 # print response and round-trip delay
54- print ('got response:' , got_millis , '(delay' , pyb . millis () - got_millis , 'ms)' )
54+ print ('got response:' , got_millis , '(delay' , utime . ticks_diff ( utime . ticks_ms (), got_millis ) , 'ms)' )
5555 num_successes += 1
5656
5757 # delay then loop
58- pyb . delay (250 )
58+ utime . sleep_ms (250 )
5959
6060 print ('master finished sending; successes=%d, failures=%d' % (num_successes , num_failures ))
6161
@@ -69,18 +69,19 @@ def slave():
6969 print ('NRF24L01 slave mode, waiting for packets... (ctrl-C to stop)' )
7070
7171 while True :
72- pyb . wfi ()
72+ machine . idle ()
7373 if nrf .any ():
7474 while nrf .any ():
7575 buf = nrf .recv ()
7676 millis , led_state = struct .unpack ('ii' , buf )
7777 print ('received:' , millis , led_state )
78- for i in range ( 4 ) :
79- if led_state & ( 1 << i ) :
80- pyb . LED ( i + 1 ) .on ()
78+ for led in leds :
79+ if led_state & 1 :
80+ led .on ()
8181 else :
82- pyb .LED (i + 1 ).off ()
83- pyb .delay (15 )
82+ led .off ()
83+ led_state >>= 1
84+ utime .sleep_ms (15 )
8485
8586 nrf .stop_listening ()
8687 try :
@@ -90,6 +91,12 @@ def slave():
9091 print ('sent response' )
9192 nrf .start_listening ()
9293
94+ try :
95+ import pyb
96+ leds = [pyb .LED (i + 1 ) for i in range (4 )]
97+ except :
98+ leds = []
99+
93100print ('NRF24L01 test module loaded' )
94101print ('NRF24L01 pinout for test:' )
95102print (' CE on Y4' )
0 commit comments