中石化第四建设有限公司网站,网站备案为什么这么慢,企业网站开发市场,小程序推广代理商基础资料
基于Air105开发板#xff1a;Air105 - LuatOS 文档
上手#xff1a;开发上手 - LuatOS 文档
探讨重点
官方fonts库函数介绍以及利用mcu.ticks()计算程序运行周期相关内容的学习及探讨。 软件版本
AIR105#xff1a;LuatOSAIR105 base 22.12 bsp V0014 32bit
…
基础资料
基于Air105开发板Air105 - LuatOS 文档
上手开发上手 - LuatOS 文档
探讨重点
官方fonts库函数介绍以及利用mcu.ticks()计算程序运行周期相关内容的学习及探讨。 软件版本
AIR105LuatOSAIR105 base 22.12 bsp V0014 32bit
硬件准备
air105开发板
软件使用
接口文档可参考
https://wiki.luatos.com/api/fonts.html
主函数体
sys.taskInit(function()sys.wait(2000)local i 0while 1 dolocal start mcu.ticks()local data json.encode(fonts.list(u8g2))local gtime mcu.ticks() - start-- API新增于2022-07-12if fonts.list thenlog.info(fonts, u8g2, data)endoppo_8 fonts.get(opposansm8_chinese, u8g2)--oppo_8 fonts.get(opposansm8_chinese, u8g2)if oppo_8 thenu8g2.SetFont(oppo_8)elselog.warn(fonts, no such font opposansm8_chinese)end-- 若使用云编译的自定义字库, 使用方式如下oppo_8 fonts.get(oppo_bold_8, u8g2) -- oppo_bold_8 是云编译界面的字库命名--oppo_8 fonts.get(oppo_bold_8, u8g2)if oppo_8 thenu8g2.SetFont(oppo_8)elselog.warn(fonts, no such font opposansm8_chinese)endlocal ltime mcu.ticks() - start - gtimelog.info(ticks, start, gtime, ltime)sys.wait(1000)i i 1breakendend)LOG:
[2023-02-13 22:37:27.532] no bl encrypt[2023-02-13 22:37:27.532] main 672:bootloader build release Feb 1 2023 20:19:29![2023-02-13 22:37:27.532] Jump_AppRun 76:jump to 0x01010400 ![2023-02-13 22:37:27.532] main 188:APP Build release Feb 9 2023 22:01:02![2023-02-13 22:37:27.532] I/main LuatOSAIR105 base 22.12 bsp V0014 32bit[2023-02-13 22:37:27.532] I/main ROM Build: Feb 10 2023 20:58:08[2023-02-13 22:37:27.564] D/main loadlibs luavm 204792 15376 15376[2023-02-13 22:37:27.564] D/main loadlibs sys 406456 51032 51616[2023-02-13 22:37:27.564] I/user.main fontdemo 1.0.0[2023-02-13 22:37:27.564] D/lcd ic support: st7735[2023-02-13 22:37:27.891] I/user.lcd.init true[2023-02-13 22:37:27.891] I/user.lcd.drawLine true[2023-02-13 22:37:27.891] I/user.lcd.drawRectangle true[2023-02-13 22:37:27.891] I/user.lcd.drawCircle true[2023-02-13 22:37:29.920] I/user.fonts u8g2 [unifont_t_symbols,open_iconic_weather_6x_t,opposansm8,opposansm10,opposansm12,opposansm16,opposansm20,opposansm24,opposansm32,opposansm12_chinese][2023-02-13 22:37:29.920] W/user.fonts no such font opposansm8_chinese[2023-02-13 22:37:29.920] W/user.fonts no such font opposansm8_chinese[2023-02-13 22:37:29.920] I/user.ticks 2364 0 1
PSfonts - 字体库
已适配 Air101/Air103 Air105 ESP32C3 Air780
备注
本页文档由这个文件自动生成。如有错误请提交issue或帮忙修改后pr谢谢
fonts.list(tp)
返回固件支持的字体列表
参数 传入值类型 解释 string 类型, 默认 u8g2, 还可以是lvgl
返回值 返回值类型 解释 table 字体列表
例子
-- API新增于2022-07-12
if fonts.list then log.info(fonts, u8g2, json.encode(fonts.list(u8g2)))
end fonts.get(name, tp)
获取字体
参数 传入值类型 解释 string 字体名称, 例如opposansm8_chinese unifont_t_symbols string 类型, 默认 u8g2, 还可以是lvgl
返回值 返回值类型 解释 userdata 若字体存放,返回字体指针, 否则返回nil
例子
oppo_8 fonts.get(opposansm8_chinese, u8g2)
if oppo_8 thenu8g2.SetFont(oppo_8)
elselog.warn(fonts, no such font opposansm8_chinese)
end
-- 若使用云编译的自定义字库, 使用方式如下
oppo_8 fonts.get(oppo_bold_8, u8g2) -- oppo_bold_8 是云编译界面的字库命名
if oppo_8 thenu8g2.SetFont(oppo_8)
elselog.warn(fonts, no such font opposansm8_chinese)
end fonts.load(path, path)
从文件加载字体
参数 传入值类型 解释 string 字体路径, 例如 /luadb/abc.bin string 类型, 默认 u8g2. 也支持lvgl
返回值 返回值类型 解释 userdata 若字体存放,返回字体指针, 否则返回nil
例
-- API新增于2022-07-11
-- 提醒: 若文件位于/luadb下, 不需要占用内存
-- 若文件处于其他路径, 例如tf/sd卡, spi flash, 会自动加载到内存, 消耗lua vm的内存空间
-- 加载后请适当引用, 不必反复加载同一个字体文件
oppo12 fonts.load(/luadb/oppo12.bin)
if oppo12 thenu8g2.SetFont(oppo12)
elselog.warn(fonts, no such font file oppo12.bin)
end