Duplex communication
[microbit.git] / radio_test / radio_send_and_receive_c.py
1 from microbit import *
2 import radio
3
4 A_IMAGE = Image('09909:'
5 '90090:'
6 '99990:'
7 '90090:'
8 '90090')
9
10 B_IMAGE = Image('99909:'
11 '90090:'
12 '99900:'
13 '90090:'
14 '99900')
15
16 C_IMAGE = Image('00009:'
17 '09990:'
18 '90000:'
19 '90000:'
20 '09990')
21
22 D_IMAGE = Image('00009:'
23 '00009:'
24 '09999:'
25 '90009:'
26 '09999')
27
28 images = {'a': A_IMAGE, 'b': B_IMAGE, 'c': C_IMAGE, 'd': D_IMAGE}
29
30 display.scroll('Press', wait=False, loop=True)
31 last_message_time = None
32
33 radio.on()
34
35 def send(message):
36 radio.send(message)
37 return running_time()
38
39 while True:
40 message = radio.receive()
41 if message:
42 last_message_time = running_time()
43 if message in images:
44 display_image = images[message]
45
46 if button_a.was_pressed():
47 display_image = C_IMAGE
48 last_message_time = send('c')
49 if button_b.was_pressed():
50 display_image = D_IMAGE
51 last_message_time = send('d')
52
53 if last_message_time:
54 dimness = (running_time() - last_message_time) / 500
55 if dimness > 9: dimness = 9
56 display.show(display_image / dimness , wait=False)
57