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
|
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
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
# Python LT8900 via SPI
This Python module enables a Python to talk to an LT8900 radio attached to an serial peripheral interface (SPI).
## API
### Synopsis
lt8900_spi.radio(spi_bus, spi_dev, config = None) -> instance
lt8900_spi.radio.put_register(reg, value) -> value
lt8900_spi.radio.put_register_bits(reg, bits_dict) -> value
lt8900_spi.radio.get_register(reg) -> value
lt8900_spi.radio.get_register_bits(reg, value = None) -> dictionary
lt8900_spi.radio.configure(config) -> None
lt8900_spi.radio.initialize() -> boolean
lt8900_spi.radio.set_channel(channel) -> dictionary
lt8900_spi.radio.set_syncword(syncword) -> None
lt8900_spi.radio.fill_fifo(message, include_length = True) -> list
lt8900_spi.radio.transmit(message, channel = None) -> boolean
lt8900_spi.radio.multi_transmit(message, channels, retries = 3, delay = 0.1) -> boolean
lt8900_spi.radio.start_listening(channel) -> boolean
lt8900_spi.radio.stop_listening() -> boolean
lt8900_spi.radio.receive(channel = None, wait = False, length = None, wait_time = 0.1) -> list
lt8900_spi.Radio(spi_bus, spi_dev, config = None) -> instance
lt8900_spi.Radio.put_register(reg, value) -> value
lt8900_spi.Radio.put_register_bits(reg, bits_dict) -> value
lt8900_spi.Radio.get_register(reg) -> value
lt8900_spi.Radio.get_register_bits(reg, value = None) -> dictionary
lt8900_spi.Radio.configure(config) -> None
lt8900_spi.Radio.initialize() -> boolean
lt8900_spi.Radio.set_channel(channel) -> dictionary
lt8900_spi.Radio.set_syncword(syncword) -> None
lt8900_spi.Radio.fill_fifo(message, include_length = True) -> list
lt8900_spi.Radio.transmit(message, channel = None) -> boolean
lt8900_spi.Radio.multi_transmit(message, channels, retries = 3, delay = 0.1) -> boolean
lt8900_spi.Radio.start_listening(channel) -> boolean
lt8900_spi.Radio.stop_listening() -> boolean
lt8900_spi.Radio.receive(channel = None, wait = False, length = None, wait_time = 0.1) -> list
### instance.get\_register\_bits
Low-level primitive to get a named register with bitfields expanded to names.
### instance.put\_register\_bits
|
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
-
+
|
reset_gpio.on()
def reset_module_via_gpio():
reset_gpio.off()
time.sleep(0.1)
reset_gpio.on()
time.sleep(0.1)
radio = lt8900_spi.radio(0, 0, {
radio = lt8900_spi.Radio(0, 0, {
'reset_command': reset_module_via_gpio
})
if not radio.initialize():
raise ValueError('Initialize failed')
radio.set_syncword([0x258B, 0x147A])
radio.multi_transmit([0xB0, 0x51, 0xF0, 0x00, 0x00, 0x01, 212], [9, 40, 71], delay = 0.5)
|