1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
codegen:
instance: nrf24l01
includes: ['driver/nrf24l01.h']
flags: ['drivers=nrf24l01', 'arch_drivers=spi_b']
parameters:
- auto_ack!
- payload_size
- dynamic_payloads_enabled!
- max_retry_count
- retry_count
- retry_delay
- tx_power
- datarate
- channel
parameter_normalization:
tx_power:
unit: dBm
enum:
Nrf24l01::RF24_PA_MIN: 0
Nrf24l01::RF24_PA_LOW: 6
Nrf24l01::RF24_PA_HIGH: 12
Nrf24l01::RF24_PA_MAX: 18
datarate:
unit: 'kbit/s'
enum:
Nrf24l01::RF24_1MBPS: 1000
Nrf24l01::RF24_2MBPS: 2000
Nrf24l01::RF24_250KBPS: 250
retry_delay:
unit: us
formula: '250 * param + 250'
states:
- UNINITIALIZED
- POWEROFF
- STANDBY1
- TX
- RX
transition:
setup:
src: [UNINITIALIZED, POWEROFF, STANDBY1]
dst: STANDBY1
set_param:
'auto_ack!': 1
'dynamic_payloads_enabled!': 0
max_retry_count: 10
retry_delay: 5
datarate: 'Nrf24l01::RF24_1MBPS'
tx_power: 'Nrf24l01::RF24_PA_MAX'
channel: 76
setAutoAck:
src: [STANDBY1]
dst: STANDBY1
arguments:
- name: enable
values: [0, 1]
parameter: 'auto_ack!'
setPALevel:
src: [STANDBY1]
dst: STANDBY1
arguments:
- name: palevel
values: ['Nrf24l01::RF24_PA_MIN', 'Nrf24l01::RF24_PA_LOW', 'Nrf24l01::RF24_PA_HIGH', 'Nrf24l01::RF24_PA_MAX']
parameter: tx_power
startListening:
src: [STANDBY1]
dst: RX
stopListening:
src: [RX]
dst: STANDBY1
setDynamicPayloads:
src: [STANDBY1]
dst: STANDBY1
arguments:
- name: enabled
values: [0, 1]
parameter: 'dynamic_payloads_enabled!'
setRetries:
src: [STANDBY1]
dst: STANDBY1
arguments:
- name: delay
values: [0, 5, 10, 15]
parameter: retry_delay
- name: count
values: [0, 5, 10, 15]
parameter: max_retry_count
write:
src: [STANDBY1]
dst: STANDBY1
arguments:
- name: buf
values: ['"foo"', '"foo"', '"foofoofoo"', '"foofoofoo"', '"123456789012345678901234567890"', '"123456789012345678901234567890"']
- name: len
values: [3, 3, 9, 9, 30, 30]
parameter: payload_size
- name: await_ack
values: [0, 1, 0, 1, 0, 1]
- name: blocking
values: [1, 1, 1, 1, 1, 1]
argument_combination: zip
|