Overview
Comment: | Added README |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
e411664b882eb6139fa55b174d8b3adf |
User & Date: | rkeene on 2020-04-28 19:02:11 |
Other Links: | manifest | tags |
Context
2020-04-28
| ||
21:14 | Converted to PyPI-compliant package check-in: d304e9e5ae user: rkeene tags: trunk | |
19:02 | Added README check-in: e411664b88 user: rkeene tags: trunk | |
17:53 | Added ignores check-in: 4b8adb7187 user: rkeene tags: trunk | |
Changes
Added README.md version [e27f58af7d].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | # 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 ### instance.get\_register\_bits Low-level primitive to get a named register with bitfields expanded to names. ### instance.put\_register\_bits Low-level primitive to set a named register by bitfield value. ### instance.set\_syncword High-level interface to syncword mechanism. The syncword can be 1, 2, 3, or 4 16-bit words long and should be provided as an array. Example: instance.set_syncword([1, 2, 3, 4]) ### instance.transmit Transmit a message. If a channel is specified transmit on that channel -- otherwise the current channel is queried and then used. ### instance.multi\_transmit Transmit a message across multiple channels multiple times. This is a common pattern so this function is provided for convience. ## Example #! /usr/bin/env python3 import time import gpiozero import lt8900_spi # Need to keep this attached to drive the line high -- if the object disappears then # the GPIO port gets reconfigured as an input port # Note broadcom pin numbers are used reset_gpio = gpiozero.LED(24) 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, { '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) |