• LuatOS-SOC接口文档(air780E)--lora2 - lora2驱动模块(支持多挂)


    常量

    常量

    类型

    解释

    lora2.SLEEP

    number

    SLEEP模式

    lora2.STANDBY

    number

    STANDBY模式

    lora2.init(ic, loraconfig,spiconfig)

    lora初始化

    参数

    传入值类型

    解释

    string

    lora 型号,当前支持:
    llcc68
    sx1268

    table

    lora配置参数,与具体设备有关

    返回值

    返回值类型

    解释

    userdata

    若成功会返回lora对象,否则返回nil

    例子

    spi_lora = spi.deviceSetup(spi_id,pin_cs,0,0,8,10*1000*1000,spi.MSB,1,0)
    lora_device = lora2.init("llcc68",{res = pin_reset,busy = pin_busy,dio1 = pin_dio1},spi_lora)
    

    lora_device:set_channel(freq)

    设置频道频率

    参数

    传入值类型

    解释

    number

    频率

    返回值

    例子

    lora_device:set_channel(433000000)
    

    lora_device:set_txconfig(txconfig)

    lora配置发送参数

    参数

    传入值类型

    解释

    table

    lora发送配置参数,与具体设备有关

    返回值

    例子

    lora_device:set_txconfig(
        {
            mode=1,
            power=22,
            fdev=0,
            bandwidth=0,
            datarate=9,
            coderate=4,
            preambleLen=8,
            fixLen=false,
            crcOn=true,
            freqHopOn=0,
            hopPeriod=0,
            iqInverted=false,
            timeout=3000
        }
    )
    

    lora_device:set_rxconfig(set_rxconfig)

    lora配置接收参数

    参数

    传入值类型

    解释

    table

    lora接收配置参数,与具体设备有关

    返回值

    例子

    lora_device:set_rxconfig(
        {
            mode=1,
            bandwidth=0,
            datarate=9,
            coderate=4,
            bandwidthAfc=0,
            preambleLen=8,
            symbTimeout=0,
            fixLen=false,
            payloadLen=0,
            crcOn=true,
            freqHopOn=0,
            hopPeriod=0,
            iqInverted=false,
            rxContinuous=false
        }
    )
    

    lora_device:send(data)

    发数据

    参数

    传入值类型

    解释

    string

    写入的数据

    返回值

    例子

    lora_device:send("PING")
    

    lora_device:recv(timeout)

    开启收数据

    参数

    传入值类型

    解释

    number

    超时时间,默认1000 单位ms

    返回值

    例子

    sys.subscribe("LORA_RX_DONE", function(data, size)
        log.info("LORA_RX_DONE: ", data, size)
        lora_device:send("PING")
    end)
    lora_device:recv(1000)
    

    lora_device:mode(mode)

    设置进入模式(休眠,正常等)

    参数

    传入值类型

    解释

    number

    模式 正常模式:lora.STANDBY 休眠模式:lora.SLEEP 默认为正常模式

    返回值

    例子

    lora_device:mode(lora.STANDBY)
    

    lora_device:on(cb)

    注册lora回调

    参数

    传入值类型

    解释

    function

    cb lora回调,参数包括lora_device, event, data, size

    返回值

    返回值类型

    解释

    nil

    无返回值

    例子

    lora_device:on(function(lora_device, event, data, size)
        log.info("lora", "event", event, lora_device, data, size)
        if event == "tx_done" then
            lora_device:recv(1000)
        elseif event == "rx_done" then
            lora_device:send("PING")
        elseif event == "tx_timeout" then
    
        elseif event == "rx_timeout" then
            lora_device:recv(1000)
        elseif event == "rx_error" then
    
        end
    end)
    --[[
    event可能出现的值有
        tx_done         -- 发送完成
        rx_done         -- 接收完成
        tx_timeout      -- 发送超时
        rx_timeout      -- 接收超时
        rx_error        -- 接收错误
    ]]
    
  • 相关阅读:
    K8S Calico网络插件
    在Xamarin.Android项目中调用自己写的java jar包
    【6 ElementUI Tabs控件第二个tab页签Div宽度缩小的问题】
    SPSS一对多的数据怎么进行相关分析?
    python常用进制转换
    数据库安全-Redis&Hadoop&Mysql&未授权访问&RCE
    【Unity】导航 Navigation 设置:窄桥、隧道、斜坡、台阶、坠落、跳跃
    java毕业设计—— 基于java+JavaEE+jsp的售后服务管理系统设计与实现(毕业论文+程序源码)——售后服务管理系统
    RBD块存储设备的扩容以及缩容操作(六)
    consul-template服务发现与配置
  • 原文地址:https://blog.csdn.net/l531798151/article/details/134065786