- 博客(245)
- 资源 (6)
- 收藏
- 关注
原创 LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库
require("sd_user_main") -- 将搜索并加载 /sdcard/user/sd_user_main.luac 和 /sdcard/user/sd_user_main.lua。路径A, 例如 “/sdcard/%s.luac”,若不传值,将默认为””,另外,最大长度不能超过23字节。如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证.如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证.
2023-11-28 21:02:52
1598
原创 LuatOS-SOC接口文档(air780E)--rtc - 实时时钟
-目前只有Air101/Air103/Air105/EC618系列支持时间戳方式。-- 注意: 无论设置时区是多少, rtc.get/set总是UTC时间。时区值,注意单位是1/4时区.例如东八区是 32,而非8. 可以不传。-- 只有部分模块支持设置时区, 且默认值一般为32, 即东八区。-- 时区影响的是 os.date/os.time 函数。-- 使用前建议先rtc.set设置为正确的时间。成功返回true,否则返回nil或false。成功返回true,否则返回nil或false。
2023-11-28 21:01:06
1190
原创 LuatOS-SOC接口文档(air780E)--rsa - RSA加密解密
- 请在电脑上生成私钥和公钥, 当前最高支持4096bit, 一般来说2048bit就够用了-- privkey.pem 是私钥, public.pem 是公钥-- 私钥用于 加密 和 签名, 通常保密, 放在服务器端-- 公钥用于 解密 和 验签, 一般可公开,放在设备端-- 为了演示API使用, 这里把私钥也放在设备上-- 打印结果-- 下面是解密, 通常不会在设备端进行, 这里主要是演示用法, 会很慢-- 读取私钥, 然后解码数据end-- 演示签名和验签。
2023-11-27 20:48:42
1444
原创 LuatOS-SOC接口文档(air780E)--repl - “读取-求值-输出” 循环
-[[本功能支持的模块及对应的端口模块/芯片 端口 波特率及其他参数ESP32C3 UART0 921600 8 None 1 -- 注意, 简约版(无CH343)不支持Air780E 虚拟串口 任意 -- 暂不支持从物理UART调用使用方法:1. 非Air780E系列可以使用任意串口工具, 打开对应的串口, 记得勾选"回车换行"
2023-11-27 20:46:52
891
原创 LuatOS-SOC接口文档(air780E)--pwm - PWM模块
分频精度, 100/256/1000, 默认为100, 若设备不支持会有日志提示。输出周期 0为持续输出, 1为单次输出, 其他为指定脉冲数输出。-- 打开PWM5, 频率10kHz, 分频为 31/256。-- 打开PWM5, 频率1kHz, 占空比50%处理结果,成功返回true,失败返回false。处理结果,成功返回true,失败返回false。频率, 1-1000000hz。开启指定的PWM通道。占空比 0-分频精度。关闭指定的PWM通道。
2023-11-25 20:11:10
1111
原创 LuatOS-SOC接口文档(air780E)--protobuf - ProtoBuffs编解码
- 加载 pb 文件, 这个是从pbtxt 转换得到的-- 转换命令: protoc.exe -operson.pb --cpp_out=cpp person.pbtxt-- protoc.exe 下载地址: https://github.com/protocolbuffers/protobuf/releasesid = 123,-- 用 protobuf 编码数据-- 打印数据长度. 编码后的数据含不可见字符, toHex是方便显示end。
2023-11-25 20:10:16
1575
原创 LuatOS-SOC接口文档(air780E)--pm - 电源管理
-[[休眠模式简介-- IDLE 正常运行模式-- LIGHT 轻睡眠模式:CPU暂停RAM保持供电定时器/网络事件/IO中断均可自动唤醒唤醒后程序继续运行GPIO保持电平-- DEEP 深睡眠模式CPU暂停核心RAM掉电, 保留RAM维持供电普通GPIO掉电,外设驱动掉电AON_GPIO保持休眠前的电平dtimer定时器可唤醒wakeup脚可唤醒唤醒后程序从头运行,休眠前的运行时数据全丢-- HIB 休眠模式CPU暂停RAM掉电, 保留RAM也掉电。
2023-11-23 17:16:48
1132
原创 LuatOS-SOC接口文档(air780E)--pin - 管脚命名映射
- 这个库是为了解决文本形式的PIN脚命名与GPIO编号的映射问题-- 功能实现上, pin.PA01 就对应数值 1, 代表GPIO 1, 丝印上对应 PA01-- PA12, GPIO12, 设置为输出, 而且低电平.gpio.setup(pin.PA12, 0) -- 推荐使用gpio.setup(pin.get("PA12"), 0) -- 不推荐, 太长^_^-- 只有部分BSP有这个库, ESP系列就没这个库。
2023-11-23 17:15:08
395
原创 LuatOS-SOC接口文档(air780E)--pack - 打包和解包格式串
格式化符号 ‘<’:设为小端编码 ‘>’:设为大端编码 ‘=’:大小端遵循本地设置 ‘z’:空字符串 ‘p’:byte字符串 ‘P’:word字符串 ‘a’:size_t字符串 ‘A’:指定长度字符串 ‘f’:float ‘d’:double ‘n’:Lua number ‘c’:char ‘b’:byte = unsigned char ‘h’:short ‘H’:unsigned short ‘i’:int ‘I’:unsigned int ‘l’:long ‘L’:unsigned long。
2023-11-15 10:15:26
634
原创 LuatOS-SOC接口文档(air780E)--otp - OTP操作库
锁定OTP区域. 特别注意!一旦加锁即无法解锁,OTP变成只读!读取长度, 单位字节, 必须是4的倍数, 不能超过4096字节。区域, 通常为0/1/2/3, 与具体硬件相关。区域, 通常为0/1/2/3, 与具体硬件相关。区域, 通常为0/1/2/3, 与具体硬件相关。成功返回true,否则返回false。成功返回true,否则返回false。成功返回true,否则返回false。成功返回字符串, 否则返回nil。读取指定OTP区域读取数据。数据, 长度必须是4个倍数。往指定OTP区域写入数据。
2023-11-15 10:14:20
567
原创 LuatOS-SOC接口文档(air780E)--os - os操作
Y-%m-%d %H:%M:%S", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0})))log.info("自定义时间戳", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0}))log.info("本地时间字符串", os.date("%Y-%m-%d %H:%M:%S"))log.info("本地时间字符串", json.encode(os.date("*t")))
2023-11-14 13:50:01
646
原创 LuatOS-SOC接口文档(air780E)--nimble - 蓝牙BLE库(nimble版)
- 本库当前支持Air101/Air103/ESP32/ESP32C3/ESP32S3-- 用法请查阅demo, API函数会归于指定的模式-- 名称解释:-- peripheral 外设模式, 或者成为从机模式, 是被连接的设备-- central 中心模式, 或者成为主机模式, 是扫描并连接其他设备-- ibeacon 周期性的beacon广播。
2023-11-14 13:48:42
950
原创 LuatOS-SOC接口文档(air780E)--nes - nes模拟器
成功返回true,否则返回false。成功返回true,否则返回false。file_path 文件路径。val 状态 1按下 0抬起。
2023-11-03 22:05:26
286
原创 LuatOS-SOC接口文档(air780E)--nbiot - NB-IOT操作库
模式,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3。可选值, 0或者5. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5。读取返回PDN_TYPE,Auth_User_Name,Auth_Password,设置返回bool。
2023-11-03 22:02:31
1607
1
原创 LuatOS-SOC接口文档(air780E)--mqtt - mqtt客户端
recv -- 接收到数据,由服务器下发, data为topic值(string), payload为业务数据(string).metas是元数据(table), 一般不处理.适配器序号, 只能是socket.ETH0, socket.STA, socket.AP,如果不填,会选择平台自带的方式,然后是最后一个注册的适配器。sent -- 发送完成, qos0会马上通知, qos1/qos2会在服务器应答会回调, data为消息id。-- 加密TCPTCP链接,单服务器证书验证, 但可选认证。
2023-11-01 21:14:47
1005
原创 LuatOS-SOC接口文档(air780E)--mlx90640 - 红外测温(MLX90640)
mlx90640.draw2lcd(0, 0 ,1)-- 需提前把lcd初始化好。mlx90640.feed() -- 取一帧数据。sys.wait(250) -- 默认是4HZ。放大倍数,必须为2的指数倍(1,2,4,8,16…传感器所在的i2c总线id或者软i2c对象,默认为0。sys.wait(500) -- 稍等片刻。成功返回true, 否则返回nil或者false。浮点数数据,768个像素对应的温度值。传感器的测量速率,默认为4Hz。获取底层裸数据,浮点数矩阵。索引值(0-767)
2023-10-31 19:36:23
604
原创 LuatOS-SOC接口文档(air780E)--miniz - 简易zlib压缩
- 准备好数据-- 压缩之, 压缩得到的数据是zlib兼容的,其他语言可通过zlib相关的库进行解压-- lua 的 字符串相当于有长度的char[],可存放包括0x00的一切数据-- 检查压缩前后的数据大小-- 解压, 得到原文end。
2023-10-31 19:34:45
417
原创 LuatOS-SOC接口文档(air780E)--mcu - 封装mcu一些特殊操作
外设类型,目前有mcu.UART,mcu.I2C,mcu.SPI,mcu.PWM,mcu.GPIO,mcu.I2S,mcu.LCD,mcu.CAM,具体需要看平台。mcu.iomux(mcu.UART, 2, 1) -- Air780E的UART2复用到gpio12和gpio13(Air780EG默认是这个复用,不要动)mcu.iomux(mcu.I2C, 0, 1) -- Air780E的I2C0复用到gpio12和gpio13。总线序号,0~N,如果是mcu.GPIO,则是GPIO号。
2023-10-27 21:41:19
1469
原创 LuatOS-SOC接口文档(air780E)--max30102 - 心率模块
成功返回true, 否则返回nil或者false。成功返回true, 否则返回nil或者false。获取心率血氧(大概需要10s时间测量)传感器所在的i2c总线id,默认为0。初始化MAX30102传感器。关闭max30102。
2023-10-27 21:38:24
787
原创 LuatOS-SOC接口文档(air780E)--lvgl - LVGL图像库
原函数:lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)主题名称,可选值有 default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus。释放一个lv_draw_mask_radius_param_t。
2023-10-26 22:04:00
921
原创 LuatOS-SOC接口文档(air780E)--lora2 - lora2驱动模块(支持多挂)
模式 正常模式:lora.STANDBY 休眠模式:lora.SLEEP 默认为正常模式。cb lora回调,参数包括lora_device, event, data, size。rx_done -- 接收完成。tx_timeout -- 发送超时。rx_timeout -- 接收超时。lora发送配置参数,与具体设备有关。lora接收配置参数,与具体设备有关。lora配置参数,与具体设备有关。设置进入模式(休眠,正常等)lora配置发送参数。lora配置接收参数。
2023-10-26 22:02:22
850
原创 LuatOS-SOC接口文档(air780E)--lora - lora驱动模块
cs = pin.PB04, -- SPI 片选的GPIO号,如果没有pin库,填GPIO数字编号就行。res = pin.PB00, -- 复位脚连接的GPIO号,如果没有pin库,填GPIO数字编号就行。lora_init = true -- 是否发送初始化命令. 如果是唤醒后直接读取, 就传false。模式 正常模式:lora.STANDBY 休眠模式:lora.SLEEP 默认为正常模式。-- 老版本没有recv, 可以改成 lora.recive。lora配置参数,与具体设备有关。
2023-10-25 19:56:09
776
原创 LuatOS-SOC接口文档(air780E)--log - 日志库
level 日志级别,可用字符串或数值, 字符串为(SILENT,DEBUG,INFO,WARN,ERROR,FATAL), 数值为(0,1,2,3,4,5)-- 以 log.info("ABC", "DEF", 123) 为例, 假设该代码位于main.lua的12行。-- 调试风格2, 添加额外的调试信息, 位置有所区别。-- 日志输出 D/onenet connect ok。log.style(1) -- 调试风格1。-- 调试风格1, 添加额外的调试信息。日志级别对应0,1,2,3,4,5。
2023-10-25 19:54:22
555
原创 LuatOS-SOC接口文档(air780E)--libgnss - NMEA数据处理
- 提醒: 本库输出的坐标,均为 WGS84 坐标系-- 如需要在国内地图使用, 要转换成对应地图的坐标系, 例如 GCJ02 BD09-- 相关链接: https://lbsyun.baidu.com/index.php?-- 相关链接: https://www.openluat.com/GPS-Offset.html-- 方案1, 经lua层进行数据中转while 1 doelsebreakendendend)-- 方案2, 适合2022.12.26之后编译固件,效率更高一些。
2023-10-24 20:56:37
1121
原创 LuatOS-SOC接口文档(air780E)--libcoap - coap数据处理
coap的code, 例如libcoap.GET/libcoap.POST/libcoap.PUT/libcoap.DELETE。获取coap数据包的http code, 比coap原始的code要友好。coap数据包的http code,例如200,205,404。-- 解析服务器传入的数据包。-- 解析服务器传入的数据包。-- 解析服务器传入的数据包。-- 解析服务器传入的数据包。获取coap数据包的code。-- 解析服务器传入的数据包。-- 解析服务器传入的数据包。-- 解析服务器传入的数据包。
2023-10-24 20:55:01
407
原创 LuatOS-SOC接口文档(air780E)--lcdseg - 段式lcd
seg启用与否的掩码, 默认为0xFFFFFFFF,即全部启用. 若只启用前16个, 0xFFFF。电压, 单位100mV, 例如2.7v写27. air103支持的值有 27/29/31/33。COM启用与否的掩码, 默认为0xFF,全部启用.若只启用COM0/COM1, 则0x03。duty值,通常为 1/4 duty, 对应 lcdseg.DUTY_ONEFOURTH。bias值,通常为 1/3 bias, 对应 lcdseg.BIAS_ONETHIRD。1/4占空比(duty)
2023-10-22 22:13:02
494
原创 LuatOS-SOC接口文档(air780E)--lcd - lcd驱动模块
显示大小 (注意:二维码生成大小与要显示内容和纠错等级有关,生成版本为1-40(对应 21x21 - 177x177)的不定大小,如果和设置大小不同会自动在指定的区域中间显示二维码,如二维码未显示请查看日志提示)port:spi端口,例如0,1,2…lcd.drawGtfontGb2312Gray("啊啊啊",32,4,0,40)lcd.drawGtfontUtf8Gray("啊啊啊",32,4,0,40)-- 4. 四参数形式, 红/绿/蓝, 各8bit, 增加swap的设置。
2023-10-22 22:11:41
1187
原创 LuatOS-SOC接口文档(air780E)--keyboard - 键盘矩阵
keyboard管脚方向映射, 其中输入为0,输出为1, 按位设置. 例如 keyboard0~3作为输入, keyboard4~7为输入, 则 0xF0。-- 做一个 4*4 键盘矩阵, 使用 keyboard0~7, 其中0~3做输入, 4~7做输出。-- 做一个 2*3 键盘矩阵, 使用 keyboard0~4, 其中0~1做输入, 2~4做输出。-- 其中0~1做输入, 2~4做输出, 二进制为 11100 对应map 为 0x14。-- state, 1 为按下, 0 为 释放。
2023-10-21 19:03:22
219
原创 LuatOS-SOC接口文档(air780E)-- json - json生成和解析库
浮点数精度和模式,这项不存在的时候,为默认值”7g”,数字只支持”0~14”,模式只支持”f/g”json.encode(obj,"12f")-->浮点数用%.12f的方式转换为字符串。json.encode(obj)-->浮点数用%.7g的方式转换为字符串。反序列化后的对象(通常是table), 失败的话返回nil。序列化后的json字符串, 失败的话返回nil。将对象序列化为json字符串。需要反序列化的json字符串。将字符串反序列化为对象。反序列化失败的报错信息。序列化失败的报错信息。
2023-10-21 19:01:07
594
原创 LuatOS-SOC接口文档(air780E)-- ir - 红外遥控
用户码(大于0xff则采用Extended NEC模式)可选,引导码发送次数(110ms一次),默认0次。可选,是否禁止直接发送pwm波,默认false。--外接了38K的PWM载波,只控制电平。使用的GPIO引脚编号。
2023-10-20 22:13:01
398
原创 LuatOS-SOC接口文档(air780E)--iotauth - IoT鉴权库, 用于生成各种云平台的参数
method 加密方式,”hmacmd5” “hmacsha1” “hmacsha256” 可选,默认”hmacmd5”cur_timestamp 可选 默认为 32472115200(2999-01-01 0:0:0)method 加密方式,”md5” “sha1” “sha256” 可选,默认”md5”method 加密方式,”sha1” “sha256” 可选,默认”sha256”method 加密方式,”MD5” “SHA256” 可选,默认”MD5”mqtt三元组 client_id。
2023-10-20 22:11:52
1200
原创 LuatOS-SOC接口文档(air780E)-- ioqueue - io序列操作
ioqueue.setdelay(0,9,15,true) --延时9us+15个tick,在之后遇到delay命令时,会延时9us+15个tick。ioqueue.setgpio(0,pin.PB01,true,gpio.PULLUP,0) --PB01设置成上拉输入。ioqueue.setgpio(0,pin.PB01,false,0,1)--PB01设置成默认上下拉输出高电平。中断模式,只能是gpio.BOTH,gpio.RISING,gpio.FALLING。
2023-10-19 21:57:22
755
原创 LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)
- io模块是lua原生模块,LuatOS增加了一些API-- 请配合os模块一起使用-- 只读模式, 打开文件-- 读写默认,打开文件-- 写入文件,且截断为0字节-- 追加模式-- 若文件打开成功, fd不为nil,否则就是失败了-- 注意, 刷机时所添加的文件, 均在 /luadb 目录下, 只读if fd then-- 读取指定字节数,如果数据不足,就只返回实际长度的数据-- 按行读取-- 全部读取-- 数据写入, 仅w或a模式可调用。
2023-10-19 21:55:58
998
原创 LuatOS-SOC接口文档(air780E)-- iconv - iconv操作
fromcode$源编码格式$gb2312/ucs2/ucs2be/utf8。tocode$目标编码格式$gb2312/ucs2/ucs2be/utf8。number$result$返回编码转换后的结果$0成功,-1失败。--unicode大端编码 转化为 utf8编码。--unicode大端编码 转化为 utf8编码。--unicode大端编码 转化为 utf8编码。--unicode大端编码 转化为 utf8编码。table$cd$编码转换函数的转换句柄$取值:0成功,-1失败。--关闭字符编码转换。
2023-10-13 18:31:49
923
原创 LuatOS-SOC接口文档(air780E)-- i2c - I2C操作
local result, _ = i2c.transfer(0, 0x11, "\x01\x02\x03", nil, 1) --发送0x01, 0x02,0x03,不接收数据,如果是eeprom,就是往0x01的地址写02和03,或者往0x0102的地址写03,看具体芯片了。local result, rxdata = i2c.transfer(0, 0x11, "\x01\x02", nil, 1) --发送0x01, 0x02,然后接收1个字节,典型应用就是eeprom。
2023-10-11 22:13:32
1057
原创 LuatOS-SOC接口文档(air780E)-- httpsrv - http服务端
- 情况2: /abc.html , 先查找 /abc.html, 不存在的话查找 /abc.html.gz。-- 若gz存在, 会自动以压缩文件进行响应, 绝大部分浏览器支持.-- 返回值的约定 code, headers, body。-- 当前默认查找 /luadb/xxx 下的文件,暂不可配置。-- uri 也是字符串 例如 / /api/abc。-- 若没有返回值, 则默认 404, {} ,""-- 情况1: / , 映射为 /index.html。-- headers table类型。
2023-10-11 22:12:02
999
原创 LuatOS-SOC接口文档(air780E)-- http - http 客户端
- 使用http库,需要引入sysplus库, 且需要在task内使用end)
2023-10-10 20:22:43
718
原创 LuatOS-SOC接口文档(air780E)--hmeta - 硬件元数据
- 本库开发中--[[这个库的作用是展示当前硬件的能力, 例如:1. 有多少GPIO, 各GPIO默认模式是什么, 是否支持上拉/下拉2. 有多少I2C,支持哪些速率3. 有多少SPI,支持哪些速率和模式4. 扩展属性, 例如区分Air780E和Air600E]]
2023-10-10 20:21:39
138
RK3399[Android7.1] 学习笔记 - Linux内核的设备树DTS详解
2023-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人