通过SPI连接到LT8900的Python接口

lt8900-spi的Python项目详细描述


Python LT8900通过SPI

这个Python模块使Python能够与连接到串行外围接口(SPI)的LT8900无线电通信。在

美国石油学会

简介

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_寄存器_位

低级原语,用于获取位字段扩展为名称的命名寄存器。在

在instance.put_寄存器_位

按位字段值设置命名寄存器的低级原语。在

在instance.set_同步字

同步字机制的高级接口。同步字可以是1、2、3或4个16位字,应该作为数组提供。在

示例:

^{pr2}$

在实例.传输

传递信息。如果指定了一个信道在该信道上传输——否则将查询当前信道,然后使用该信道。在

在instance.multi_传输

在多个信道上多次传输消息。这是一种常见的模式,因此提供此函数是为了方便起见。在

示例

#! /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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java调用Python函数作为TEID中的UDF   java Android。支持v4导入不工作   java如何影响具有静态属性的类   java如何在从glTexImage2D()分配后编辑纹理的像素颜色   javaspringboot+rediscache+@Cacheable适用于某些方法,而不适用于其他方法   java无法将动态Web模块方面从3.0更改为2.5   java如何在新选项卡中显示打印的文档?   java Google Cloud Endpoints API方法仅在删除用户参数时成功调用   java为什么我可以使用Stack<Double>但不能使用Stack<Double>?   java JDBC PreparedStatement似乎忽略了占位符   java如何设置JInternalFrame的标准图标化位置?   Java文件。copy()不复制文件   基于另一个类的java显示arraylist?   java Android Studio:错误:非法字符:'\u2028'   对象(Java)无法实例化类型映像?   javascript错误:飞行前响应的HTTP状态代码401无效   java确保泛型vararg参数具有相同的类型