LuatOS V0005 发布了,Cat.1/NbIot/Wifi 都有了

栏目: 软件资讯 · 发布时间: 3年前

内容简介:LuatOS V0005 发布了, Cat.1/NbIot/Wifi 都有了 Cat.1 -> Air724,Air722/展锐RDA8910 NBIOT -> Air302/移芯EC616 Wifi -> Air640W/联盛德W600 LuatOS固件特点 完全抛弃AT的底层设计 没有虚拟AT接口, 没有ril库, 没...

LuatOS V0005 发布了, Cat.1/NbIot/Wifi 都有了

  • Cat.1 -> Air724,Air722/展锐RDA8910
  • NBIOT -> Air302/移芯EC616
  • Wifi -> Air640W/联盛德W600

LuatOS固件特点

完全抛弃AT的底层设计

没有虚拟AT接口, 没有ril库, 没有AT命令的解析与回调, 不用在系统队列与用户队列中反复绕圈

设计之初就秉着替代并超越AT的信仰, 绕过sdk的AT框架, 实现一整套与AT engine平行的LuatOS engine.

API调用更快捷高效, 内存更省, 逻辑更清晰, 扩展性更好

基于 Lua 5.3, 支持原生位运算符

local newval = val ^ 0xFF
local newval2 = val2 << 3

数值类型扩展到64位, 支持更大的数据范围

local val = 1 << 63
local val2 = 0xFFFFFFFF

利用率更高的Lua专属内存

最低内存需求仅16k, 提供64k内存足以满足低复杂度的应用.

在资源紧缺的wifi/nbiot模块,默认提供64kb内存, 也能满足紧凑型应用的内存需求, 后续还有提高内存使用率的方案.

内置墨水屏驱动

无需复杂的调试,内置驱动从1寸到2.9寸均为默认支持, 更大尺寸可通过自行编译固件开启. 内置中文字体, 显示无忧.

Cat.1固件的额外特性

本次发布的V0005是针对Cat.1模组的第一个版本,涵盖一般的外设功能和联网功能外,还有一些知道关注的特性

可调整的串口缓冲区大小

默认16k, 最高128k, 避免极端场景下uart出现overflow的可能性

可回滚的脚本升级机制

脚本区与脚本OTA区,均为256kb, 前者为线刷, 后者为OTA写入, 没有繁琐的AT解析, LuatOS提供的lua库文件很小,用户脚本占大头

后续还支持SD卡升级,敬请期待

连续性内存

Air724(RDA8910系列)固件默认提供1.5mb的Lua VM独占内存, 最高可容纳512kb的单一长字符串,字符串拼接不再惧怕内存溢出.

NBIOT固件的额外更新

释放uart0供用户使用

虽然它不是很纯(有点脏数据),但胜在波特率可以很高很高(最高6M)

ctiot库优化

紧跟sdk的升级, 对ctiot库进行改进

那下个版本V0006, 会带来什么?

预期会增加或实现的功能有:

Lua脚本调试

当前仅Air640w固件得以实现, V0006将覆盖全部模块!!

https://gitee.com/openLuat/vscode-luatos-debug

zbuff库

高性能的C风格缓冲区库, 提供丝滑的char[]操作体验

-- 创建zbuff
local buff = zbuff.create(1024) -- 空白的
-- local buff = zbuff.create(1024, "123321456654") -- 创建,并填充一个已有字符串的内容

-- 类file的读写操作
buff:write("123") -- 写入数据, 指针相应地往后移动
buff:seek(0, zbuff.SEEK_SET) -- 把指针设置到指定位置
local str = buff:read(3) -- 把刚才那3个字节读出来,内容是字符串,指针也往后移动了

-- 按数据类型读写
local n = buff:readInt8() -- 支持int8~int64,uint8~uint64,float32,double64
-- buff:writeInt8(0x32)   -- 同时也支持写入上述整型/浮点数

-- 支持pack/unpack操作
local _, a, b, c = buff:unpack("IIH") -- 支持unpack解码
-- buff:pack("IIH", 0x1234, 0x4567, 0x12) -- 也支持pack打包
log.info("buff", str, n)

-- 类数组操作
buff:seek(0, zbuff.SEEK_SET) -- 又回到开头
local b = buff[2] -- 直接按数组来读取, 得到ASCII码, 0x32, 注意,这里按C的标准来
buff[3] = 0x33 -- 直接赋值可还行

还有很多想法,等待一步步实现

  • Air724固件的文件浏览器 - 像资源管理器那样操作模块的里面文件, 如何怎样的体验?
  • 云刷机 - 在页面编辑,按一下远程下载,模块自行下载脚本,自动开始运行, 很流畅呀
  • 压榨内存 - 既然code是固定的,那岂不是能放在flash上吗?那调试信息也可以嘛
  • spi flash也挂文件系统 - w25q挺便宜的呀, 扩容杠杠的

版本列表

  • air302 72kb noui noctiot
  • air302 64kb disp/u8g2 ctiot
  • air302 64kb eink noctiot
  • air640w wifi
  • air640w wifi noui
  • air640w mcu
  • air724ug ALL

以上所述就是小编给大家介绍的《LuatOS V0005 发布了,Cat.1/NbIot/Wifi 都有了》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程风格

编程风格

[美] Cristina Videira Lopes / 顾中磊 / 人民邮电出版社 / 2017-8 / 55.00元

本书对一个常见的编程问题定义了不同的约束,分别使用33种方法实现了同一个词频统计任务,从而形成了风格迥异的编程风格。作者以惯用的计算机语言与简单的任务为画笔,描绘了一次生动难忘的编程之旅,帮助读者加深了对语言的理解,也提供了崭新的编程思路。一起来看看 《编程风格》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具