LuatOS

LuatOS -- Powerful embedded Lua Engine for IoT devices, with many components and low memory requirements (16K RAM, 128K Flash)

MIT License

Stars
432
Committers
76

Bot releases are visible (Hide)

LuatOS - LuatOS-SoC@EC618 V1106 - 适用于Air780E/Air780EG/Air600E Latest Release

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@EC618 V1106

  1. 新增: mobile库添加网络特殊配置功能
  2. 新增: 获取当前服务小区的cellid,不需要重新搜索
  3. 新增: websocket库添加sent/disconnect事件
  4. 新增: http支持fota
  5. 新增: 腾讯云demo
  6. 新增: fota.file(path)
  7. 新增: 云编译支持设置lua内存到256k
  8. 新增: mobile增加一个网络搜索中的常量mobile.SEARCH
  9. 新增: mqtt库支持qos2的消息下发
  10. 新增: mqtt增加verify参数,可选是否强制校验证书
  11. 新增: luatos usb串口增加sent事件回调,但是仅代表数据写入底层缓存
  12. 新增: 添加httpsrv
  13. 新增: TF卡上电控制
  14. 新增: 域名解析,socket.connect里remote_port设置成0则只进行DNS,不做连接,DNS完成后直接返回ON_LINE
  15. 优化: 优化云编译配置,增加uart0释放、字体等
  16. 优化: 调整luat_uart_setup的缓冲区默认大小,设置最小值2k, 最大值8k,解决大数量场景下uart缓冲区不够的问题, 尤其是Air780EG的uart2
  17. 优化: 增大UART的RX DMA缓存区数量,并可以随用户的RX缓存做调节
  18. 优化: string.fromhex()过滤掉非法字符
  19. 优化: 更均匀的使用socket id
  20. 优化: lcd默认清屏为黑色更合理一些,主要作用避免初始化后显示时有花屏
  21. 优化: gnss处理转到lua任务里
  22. 优化: 在加载内置库和require前后执行gc,对内存消耗进行削峰
  23. 优化: 允许cid1设置用户的apn,用于无法用公网APN激活的专网卡
  24. 优化: lpuart异常处理
  25. 优化: luatos开机打印完整硬件版本号
  26. 优化: luatos uart rs485如果转换超时设置小于1ms会强制改成1ms
  27. 优化: luat_websocket_ping先判断一下连接状态再发
  28. 优化:优化luatos音量调节
  29. 优化: 改进task的mailbox减少内存消耗
  30. 优化: mp3解码器重新封装
  31. 优化: 加快硬件协议的网卡本地端口的分配
  32. 优化: 减少ftp的ram消耗
  33. 修复: lwip小概率会对同一个tcp释放两次
  34. 修复: luatos wdt重新初始化失效
  35. 修复: 修复gc9306 90°方向设置错误
  36. 修复: zbuff:unpack、pack.unpack添加lua虚拟栈检测
  37. 修复: luatos 获取cellinfo有时候会失败
  38. 修复: json库在浮点数0.0的时候会变成科学计数法
  39. 修复: libgnss.clear()未能正确清除历史定位数据
  40. 修复: I2C读写失败后,内部硬件状态机不能自动恢复
  41. 修复: 修复i2c1默认引脚错误
  42. 修复: 开启低功耗串口后,再关闭仍然会有中断,串口关闭会死机
  43. 修复: uart0输出EPAT log时,如果rx上有杂波,可能会死机
  44. 修复: http库的timeout_timer存在多次free的可能性
  45. 修复: mqtt库设置will应允许payload为空
  46. 修复: http Content-Length=0时异常问题
  47. 修复: sntp_connect的判断不正确
LuatOS - LuatOS-SoC@Air103 V0016 正式固件

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@Air103 V0016

  1. 新增: 国密gmssl库
  2. 新增: 添加max30102
  3. 新增: nimble库添加ibeacon模式
  4. 新增: 支持fatfs库
  5. 修正: rtc库返回值异常
  6. 修正: 修复温度获取异常
  7. 优化: adc兼容id:10 11
  8. 优化: freertos升级至10.4.1
LuatOS - LuatOS-SoC@Air101 V0016 正式固件

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@Air101 V0016

  1. 新增: 国密gmssl库
  2. 新增: 添加max30102
  3. 新增: nimble库添加ibeacon模式
  4. 新增: 支持fatfs库
  5. 修正: rtc库返回值异常
  6. 修正: 修复温度获取异常
  7. 优化: adc兼容id:10 11
  8. 优化: freertos升级至10.4.1
LuatOS - LuatOS-SoC@ESP32S3 V1004 正式固件

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@ESP32S3 V0014

  1. 新增: 添加WLAN_AP_CONNECTED WLAN_AP_DISCONNECTED事件
  2. 新增: sntp
  3. 新增: 添加引脚唤醒
  4. 新增: 添加rtc唤醒
  5. 新增: 串口回调添加接收长度
  6. 新增: 添加max30102
  7. 新增: 添加luat_wlan_set_mac函数,但仅能设置mac基地址, 即STA的地址
  8. 新增: nimble库添加ibeacon模式
  9. 新增: 支持i2c tools
  10. 修正: wifi重连后, network层有概率无法恢复. 优化setopts/getopts实现
  11. 修正: 解决TIME_WAIT太长,导致lwip的tcp_pcb很久才释放,请求频繁的情况下耗尽内存
  12. 修正: f:read("l")失败
  13. 修正: 尝试修复tls启用后崩溃的问题,扩大lwip线程的栈大小到8k
  14. 修正: 因为主库task内存计算的问题多分配了32k内存
  15. 修正: http库获取128k的大文件时报错
  16. 修正: i2c通讯失败存在内存泄漏
  17. 优化: 调整网络层实现lwip,使用tcpip_cb方式实现
  18. 优化: http/mqtt均切换到主库实现
LuatOS - LuatOS-SoC@ESP32C3 V1004 正式固件

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@ESP32C3 V0014

  1. 新增: 添加WLAN_AP_CONNECTED WLAN_AP_DISCONNECTED事件
  2. 新增: sntp
  3. 新增: 添加引脚唤醒
  4. 新增: 添加rtc唤醒
  5. 新增: 串口回调添加接收长度
  6. 新增: 添加max30102
  7. 新增: 添加luat_wlan_set_mac函数,但仅能设置mac基地址, 即STA的地址
  8. 新增: nimble库添加ibeacon模式
  9. 新增: 支持i2c tools
  10. 修正: wifi重连后, network层有概率无法恢复. 优化setopts/getopts实现
  11. 修正: 解决TIME_WAIT太长,导致lwip的tcp_pcb很久才释放,请求频繁的情况下耗尽内存
  12. 修正: f:read("l")失败
  13. 修正: 尝试修复tls启用后崩溃的问题,扩大lwip线程的栈大小到8k
  14. 修正: 因为主库task内存计算的问题多分配了32k内存
  15. 修正: http库获取128k的大文件时报错
  16. 修正: i2c通讯失败存在内存泄漏
  17. 优化: 调整网络层实现lwip,使用tcpip_cb方式实现
  18. 优化: http/mqtt均切换到主库实现
LuatOS - LuatOS-SoC@Air105 V0015 正式固件

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@Air105 V0015

  1. 新增: 添加iconv库
  2. 新增: 适配软件串口
  3. 新增: 国密gmssl库
  4. 新增: 添加max30102
  5. 新增: TF卡上电控制
  6. 新增: mp3解码增加debug接口
  7. 新增: w5500和mobile的IP_READY/IP_LOSE消息增强,以便区分不同的网络设备
  8. 新增: mqtt添加断开事件
  9. 修正: 修复硬件cs始终使能的问题
  10. 修正: pm没有适配新的规则
  11. 修正: http库的timeout_timer存在多次free的可能性
  12. 修正: mqtt库设置will允许payload为空
  13. 修正: 自定义域名为3个时候处理异常
  14. 修正: websocket库在conack完成前,禁止用户上传数据
  15. 修正: miniz库有个常量重复了,导致pairs时死循环
  16. 修正: tls握手完成后,如果一段时间无数据交互会超时
  17. 优化: mp3解码接口重新适配
  18. 优化: I2C的hold时间拉长
  19. 优化: spi的传输优化
  20. 优化: 加快硬件协议的网卡本地端口的分配
  21. 优化: http忽略自定义Content-Length
  22. 优化: dns_client打印解析到的ip地址
  23. 优化: http库实现url长度无限制
LuatOS - LuatOS-SoC@EC618 V1105 - 适用于Air780E/Air780EG/Air600E

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@EC618 V1105

  1. 新增: 添加软件DAC (PWM音频输出) 注意:现有版本开发板不支持此功能

  2. 修复: 回滚V1103升级到V1104的fskv库读写整型/浮点型数据的差异

    此版本同样包含V1104修改所有更新

LuatOS - [暂不可用]LuatOS-SoC@EC618 V1104 - 适用于Air780E/Air780EG/Air600E

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@EC618 V1104

  1. 新增: 新增gmssl库,支持国密sm2/sm3/sm4
  2. 新增: 软件uart
  3. 新增: 支持w5500,可以外挂以太网模块了
  4. 新增: uart1在600,1200,2400,4800,9600波特率情况下,自动启用LPUART功能,休眠时,数据接收不丢失
  5. 新增: luatos增加amr编码功能
  6. 新增: 支持iconv库
  7. 新增: sd/tf卡挂载 (spi接口)
  8. 新增: luatos可以选择开启powerkey防抖
  9. 新增: luatos增加cam_vcc控制
  10. 新增: audio.config增加设置音频播放完毕后关闭pa和dac的时间间隔,消除可能存在的pop音
  11. 新增: 添加基站+wifi定位demo lcsLoc.lua
  12. 新增: mqtt添加断开事件
  13. 新增: 如果未刷入脚本则进行打印提示
  14. 新增: 添加fdb/fskv库的iter和next函数
  15. 新增: 免boot下载脚本
  16. 优化: adc的id兼容一下老的10/11配置
  17. 优化: 解除了用户log单次并发条数的限制
  18. 优化: 优化usb串口输出
  19. 优化: 优化RRC释放的时机
  20. 优化: 动态ram分配优化
  21. 优化: 将中断服务函数,高实时性函数和一些常用函数全部放到ram中,提升运行效率
  22. 优化: uart rx在正常模式下用DMA接收,大幅度提升高波特率下大数据接收的稳定性
  23. 优化: luatos的fota防御内存不足无法初始化的情况
  24. 优化: 遇到伪基站时,快速切换到正常基站
  25. 优化: SPI开启内部上下拉提高稳定性
  26. 优化: http忽略自定义Content-Length
  27. 优化: 网络遇到致命错误时可以自动重启协议栈来恢复,需要手动开启
  28. 优化: 完善apn激活的操作
  29. 优化: http库 url长度无限制
  30. 优化: audio任务优先级提升,提高播放的稳定性
  31. 修复: luatos socket dtls模式下死机问题
  32. 修复: audio_play_stop判断不完整
  33. 修复: 修复弱网环境下,dns查询接口阻塞无返回的问题
  34. 修复: 修复luat_fs_fopen打开包含不存在目录的路径时会崩溃问题
  35. 修复: tls握手完成后,如果一段时间无数据交互会超时
  36. 修复: sntp自定义域名为3个时候处理异常
  37. 修复: protobuf库无法正确解码64bit的数据
  38. 修复: miniz库常量重复导致pairs时死循环
  39. 修复: 深度休眠唤醒后无法识别模块类型
LuatOS - LuatOS-SoC@EC618 V1103 - 适用于Air780E/Air780EG/Air600E

Published by Dozingfiretruck over 1 year ago

LuatOS-SoC@EC618 V1103 - 适用于Air780E/Air780EG/Air600E
5607411 dozingfiretruck 1596190037 Dozingfiretruck
注意:因socket接口返回值与之前不兼容,特此版本号由v1002升至v1103以作提醒

此版本已完整支持Air780EG

新增: 支持ipv6,需调用mobile.ipv6开启,默认不开启,前提开卡时需要支持ipv6 (对此有什么应用场景的好点子可以和我们反馈呦)
新增: 支持ftp
新增: 支持fskv
新增: libfota.lua封装库,fota更简单
新增: mobile 添加IP_LOSE消息
新增: mobile允许开机优先使用SIM0
新增: lbsLoc.lua封装库,基站定位更简单
新增: sms库支持清理长短信片段 sms.clearLong()
新增: http添加超时参数
新增: 添加rtc.timezone函数
新增: 录音功能
新增: sms库支持禁用长短信的自动合并
新增: i2s回调和异步接收功能
新增: 添加mlx90614驱动
新增: 添加新的ram文件系统
新增: pm.lastReson()更详细的开机原因可用
新增: 支持gtfont
新增: 支持用户自定义APN并激活使用
优化: 485等待发送完成
优化: USB虚拟串口单次发送长度不再限制512
优化: SPI底层驱动优化,启用DMA
优化: I2C底层驱动优化
优化: UART底层驱动优化
优化: 调整iotauth库的代码,使其不使用静态内存,调整默认时间戳,修正输出秘钥长度
修改: GPIO14/15 映射到PAD 13/14的ALT 4, 从而避免与UART0冲突
修改:socket接口规范返回值(与之前版本不兼容,重要!!!!!)
修复: udp接收会有内存泄露
修复: http库未支持自定义Host
修复: sntp自定义地址table处理异常
修复: fota只更新脚本且很小时候有概率失败
修复: sms库在修正多条长短信合并时判断错误
修复: sms库连续收到多条长短信,且顺序混乱时,短信内容合并错误
修复: 虚拟UART的rx回调
修复: mqtt库在publish消息时,若qos=0,返回的pkgid不合理,应该固定为0
修复: UDP接收数据不全
修复: rtc库未正确实现
修复: http chunk编码异常
core_V1103.zip 就是固件文件, 其余两个是底层源码,无需下载.
** Air780EG测试定位效果_搭配公众号文章.zip** 是用于测Air780EG定位效果的

LuatOS - LuatOS-SoC@Air101 V0015 正式固件

Published by Dozingfiretruck over 1 year ago

新增: 新增新的文件系统ram
新增: fskv库
修正: 开机auth unique_id打印不全
修正: u8g2无法使用4pin spi模式
优化: i2c tools使用低速探测
优化: 更新adc CH_CPU CH_VBAT常量

LuatOS - LuatOS-SoC@Air103 V0015 正式固件

Published by Dozingfiretruck over 1 year ago

新增: 新增新的文件系统ram
新增: fskv库
修正: 开机auth unique_id打印不全
修正: u8g2无法使用4pin spi模式
优化: i2c tools使用低速探测
优化: 更新adc CH_CPU CH_VBAT常量

LuatOS - LuatOS-SoC@Air105 V0014 正式固件

Published by Dozingfiretruck over 1 year ago

新增: 新增 websocket
新增: spi fatfs支持2G以下的TF卡
新增: 如果未刷入脚本则进行提示
新增: 新增fdb/fskv库的iter和next函数
新增: libfota库
新增: w5500增加获取mac的API
新增: sfd库现在支持onchip
新增: http支持超时设置,默认10分钟
新增: 阿里云添加是否tls选项
修正: task删除异常
修正: fatfs升级至15
修正: fdb/fskv库的迭代器运行异常
修正: vfs_lfs2创建和删除文件夹时,如果带/结尾会失败
修正: ntp自定义服务器异常
修正: iotauth 生成三元组概率出错问题
优化: 优化qrcodegen二维码显示
优化: 支持获取/luadb/的已使用空间. 在尝试写入/luadb/下的文件时做出日志提醒
优化: iotauth 所有云平台默认时间戳均为2999年或者不校验

LuatOS - LuatOS-SoC@ESP32S3 V1003 正式固件

Published by Dozingfiretruck over 1 year ago

新增: 新增 socket
新增: socket适配支持DNS了
新增: 新增 websocket
新增: 如果未刷入脚本则进行提示
新增: 新增fdb/fskv库的iter和next函数
新增: sfd库现在支持onchip
新增: 阿里云添加是否tls选项
修正: s3启用psram的时候内存不会回收
修正: fdb/fskv库的迭代器运行异常
修正: vfs_lfs2创建和删除文件夹时,如果带/结尾会失败
修正: iotauth 生成三元组概率出错问题
修正: 启用sfud库时,挂载flash为文件系统会失败
修正: 增加spi device cs控制判断
修正: spi半双工与全双工判断
修正: spi接收大数据不全问题
优化: 优化qrcodegen二维码显示
优化: 支持获取/luadb/的已使用空间. 在尝试写入/luadb/下的文件时做出日志提醒
优化: iotauth 所有云平台默认时间戳均为2999年或者不校验

LuatOS - LuatOS-SoC@ESP32C3 V1003 正式固件

Published by Dozingfiretruck over 1 year ago

新增: 新增 socket
新增: socket适配支持DNS了
新增: 新增 websocket
新增: 如果未刷入脚本则进行提示
新增: 新增fdb/fskv库的iter和next函数
新增: sfd库现在支持onchip
新增: 阿里云添加是否tls选项
修正: fdb/fskv库的迭代器运行异常
修正: vfs_lfs2创建和删除文件夹时,如果带/结尾会失败
修正: iotauth 生成三元组概率出错问题
修正: 启用sfud库时,挂载flash为文件系统会失败
修正: 增加spi device cs控制判断
修正: spi半双工与全双工判断
修正: spi接收大数据不全问题
优化: 优化qrcodegen二维码显示
优化: 支持获取/luadb/的已使用空间. 在尝试写入/luadb/下的文件时做出日志提醒
优化: iotauth 所有云平台默认时间戳均为2999年或者不校验

LuatOS - LuatOS@w600 v0.1.6

Published by wendal over 4 years ago

更多模块, 更稳定的输出, 对应git版本号 8e80c0

LuatOS - LuatOS 全功能测试版 v0.1.3

Published by wendal over 4 years ago

主力适配设备W60x, 其他设备qemu/stm32辅助支持.

W60x的支持情况:

  1. 片内flash空间, 40kb, 文件系统为lifftefs
  2. lua专属内存空间,64k
  3. 系统剩余内存空间60k
  4. 支持大部分Lua原生库
  5. 支持GPIO, 输入/输出/中断 3种模式
  6. 支持UART, 暂不支持流控. UART0为调试刷机专有,UART1可供使用.
  7. 支持I2C并提供disp显示库,直接驱动SSD1306. 暂不支持中文字体.
  8. 支持WLAN, 支持airkiss配网
  9. 支持SOCKET,全异步操作,带ntp对时
  10. 提供日志库LOG
  11. 提供传感器sensor,直接读取ds18b20温度传感器的数据
  12. 提供json库, 支持json序列化/反序列化

感谢: 晨旭,稀饭,黄洵,刘乐安,snail,及群内各位大佬的鼎力支持

附件为W600刷机包.

LuatOS - v0.1.1 第二预览版

Published by wendal over 4 years ago

gpio可用了

LuatOS - v0.1.0 功能验证版

Published by wendal over 4 years ago

提供测试固件和测试脚本, 发送温度数据到服务器

  1. luatos_w600_rtt_v0.1.0.FLS 刷机用, 适合任何基于W600的板子
  2. main.lua 脚本, 实现入网/读取温度/发送数据
  3. luac.exemain.lua进行字节码编译, 减少内存消耗
  4. putty_ymodem.zip 支持ymodem协议, 通过串口发送脚本到板子
LuatOS - 概念验证(W60x/Stm32f1)*

Published by wendal almost 5 years ago

放一下概念验证的固件

gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2是编译用的文件

还有一些杂文件,编译时要用到的,暂存在这里