合宙Air105

2023-11-07

基础资料

基于Air105开发板:Air105 - LuatOS 文档

上手:开发上手 - LuatOS 文档

探讨重点

官方fonts库函数介绍以及利用mcu.ticks()计算程序运行周期相关内容的学习及探讨。

 软件版本

AIR105:LuatOS@AIR105 base 22.12 bsp V0014 32bit

硬件准备

  • air105开发板

软件使用

接口文档可参考:

https://wiki.luatos.com/api/fonts.html

主函数体:

sys.taskInit(function()
    sys.wait(2000)

    local i = 0
    while 1 do
        local start = mcu.ticks()
        local data =json.encode(fonts.list("u8g2"))
        local gtime = mcu.ticks() - start
        -- API新增于2022-07-12
        if fonts.list then
            log.info("fonts", "u8g2", data)
        end
        oppo_8 = fonts.get("opposansm8_chinese", "u8g2")
        --oppo_8 = fonts.get("opposansm8_chinese", "u8g2")
        if oppo_8 then
            u8g2.SetFont(oppo_8)
        else
            log.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 then
            u8g2.SetFont(oppo_8)
        else
            log.warn("fonts", "no such font opposansm8_chinese")
        end

        local ltime = mcu.ticks() - start - gtime
        log.info("ticks", start, gtime, ltime)
        sys.wait(1000)
        i = i + 1
        break
    end

end)

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 LuatOS@AIR105 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

PS:fonts - 字体库

已适配 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 then
    u8g2.SetFont(oppo_8)
else
    log.warn("fonts", "no such font opposansm8_chinese")
end
-- 若使用云编译的自定义字库, 使用方式如下
oppo_8 = fonts.get("oppo_bold_8", "u8g2") -- oppo_bold_8 是云编译界面的字库命名
if oppo_8 then
    u8g2.SetFont(oppo_8)
else
    log.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 then
    u8g2.SetFont(oppo12)
else
    log.warn("fonts", "no such font file oppo12.bin")
end

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合宙Air105 的相关文章

  • JTextArea 中控制字符的 Java 图像

    我正在编写一个由 2 个面板组成的应用程序 一个 JTextArea 用于输入文本 另一个用于显示文本 In these texts I have two special characters namely STX ETX 0x02 0x0
  • 在 Eclipse 中编辑代码时如何禁用粗体字体?

    我不希望 Eclipse 以粗体显示任何关键字 我浏览了 首选项 窗口中的很多选项 但找不到执行此操作的方法 是否可以 这取决于您正在编辑的文件类型 例如 在 Java 中 窗口菜单 gt 首选项 gt Jave gt 编辑器 gt 语法着
  • Windows 字体安装后无法立即在应用程序中使用?

    每当我在 Windows 2003 服务器上安装新字体时 我都无法立即在我的 asp net Web 应用程序中使用它 应用程序通过以下方式获取字体CreateFontIndirectgdi32 dll win api 然后使用此字体在我的
  • 导出为 pdf 在 ggplot2 中无法正确显示

    我有一个由 Fig NPK 和 Barchart fert 组成的复杂图形 P 它们是使用数据表 Fert 制作的 列包括 Vil N P 和 K 我的目标是创建一个pdf文件并使用ghostscript在pdf文件中嵌入 Times Ne
  • 将字体传递给 JPanel 上的组件

    我有一个扩展 JPanel 的类 上面有几个按钮 我希望能够通过一次调用 setFont Font font 来设置所有按钮上的字体我在 JPanel 类中定义了 setFont 方法 如下所示 public class MyPanel e
  • android 将自定义字体设置为油漆

    我想在油漆上绘制文字 如何用自定义字体绘制它 前 Helvetica 并且还粗体 我更愿意使用系统字体而不是从资源创建它 谢谢 如果 自定义字体 是指作为资源提供的字体 则以下代码应该有效 Typeface plain Typeface c
  • Pygame:居中文本系统字体文本

    我读过这篇关于居中文本的文章 Pygame 如何使文本居中 https stackoverflow com questions 23982907 python library pygame centering text 但是 不是从文件导入
  • Android:向系统添加自定义字体

    我知道如何在应用程序中使用自定义字体 但我想做的是在系统范围内添加自定义字体 就像在 Windows 上添加新字体一样 如果没有官方的方法 我应该阅读android源代码的哪个模块 我必须更改 android 源代码并构建它以支持自定义字体
  • 更改 Visual Studio 2013 IDE 中选项卡的字体颜色

    我找不到如何更改 Visual Studio 2013 IDE 中选项卡的字体颜色 环境 gt 字体和颜色没有任何允许这样做的内容 我看不出有什么其他的帮助 我的问题是 所选页面在相对较暗的背景上有粗体黑色字体 我必须睁大眼睛才能看到选择了
  • 将字体导入 React 应用程序

    我正在尝试在我的应用程序中使用 Roboto 字体 但遇到了困难 I did npm install save typeface roboto并添加了import typeface roboto 到我的 React 组件 但仍然无法改变我的
  • 如何使用 rel=preload 预加载材质图标?

    我正在尝试使用谷歌灯塔优化我的网页 该报告指出 在导入 Material Design 图标的链接上使用 rel preloads 我尝试使用语法预加载它们 我也尝试过使用字体进行预加载 类型为 woff woff2 和 ttf 它们似乎都
  • 如何调试@font-face问题?

    我有以下 CSS 代码 theMixPlainSemiBold font face font family theMixPlainSemiBold src url css fonts eot src url css fonts eot ie
  • 如何将 OTF/TTF 文件转换为 EOT 格式?

    我需要使用 font face 功能 并且我的字体是 OTF TTF 格式 而 Microsoft 浏览器仅支持 EOT 格式 我尝试使用微软工具WEFT 但它不起作用或者我不明白它是如何工作的 还有其他方法可以将我的字体转换为 EOT 格
  • 没有窗口的 GetFontUnicodeRanges

    有机会打电话吗GetFontUnicodeRanges没有窗户 例如 它可能是不允许与桌面交互的 Windows 服务 目前我正在使用控制台应用程序对此进行测试 program UnicodeConsoleOutput APPTYPE CO
  • 如何在不修改以前的文本的情况下更改 WPF RichTextBox 中的 FontFamily

    当您使用 RichTextBox 的 FontFamily 属性时 它会更改 FlowDocument 内整个内容的 FontFamily 就像执行 EditingCommands ToggleBold 这样的命令一样 它仅更改插入符号下的
  • Graphics2D setfont() 严重减慢了 java 应用程序的启动速度

    我正在用java制作一个游戏 它每秒刷新60次 每次执行循环时 我都会使用 g2d 来绘制图像和字符串 如果我这样做的话一切都会很好g2d setFont new Font Arial Font PLAIN 8 和抽绳 这将是正常的 但如果
  • 在 TVML 中设置字体系列

    在我的 TVML 应用程序中 我可以使用 tv text style none 设置字体样式属性 例如字体大小和字体粗细 但是我无法设置 font family 属性 该属性似乎被忽略 var Template function retur
  • 如何更改 .NET MAUI Blazor 项目中的默认字体?

    我有一个用于 NET MAUI Blazor 应用程序的默认 Visual Studio 项目 针对 Windows x64 构建 我尝试了两种不同的更改字体的方法 在MauiProgram cs中有一个字体的配置ConfigureFont
  • 如何在 flutter/dart 中使用设定大小的自定义字体?

    我正在尝试使用color fontWeight and fontFamily with style style copyWith 我尝试使用的自定义字体是Vonique 我已经将它像这样导入到pubspec yaml fonts famil
  • TCPDF/PHP 和字体:大写数字(血统数字?旧样式?)

    我得到了一种特殊的字体 上面有这样的数字 例如 正如您在 3 上看到的 一些数字下降到基线以下 我想要实现的是 这些数字不会低于该线 并且看起来像这样 在 Word 中 可以在相同字体的字符设置中轻松设置 如何在 TCPDF 中呈现数字 我

随机推荐

  • 3d点云处理--特征点提取

    特征点提取思路 Handcrafted Harris family Harris 3D Harris 5D ISS Deep Learning USIP 特征点的描述方法较多 直接的icp ndt方法可能不好 寻找特征点 进行描述 匹配 I
  • 软工导论知识框架(九)软件项目管理

    通过计划 组织 控制一系列活动 合理配置使用资源 达到既定目标的活动 项目管理优先于任何技术之前 并且贯穿于整个软件生命周期全过程 一 软件规模度量 1 代码行技术 估计每个功能需要源代码 参考类似项目的历史数据 累计 估计整个软件源程序行
  • Java do while循环语句如何使用呢?

    转自 Java do while循环语句如何使用呢 下文笔者讲述java中do while循环语句的用法详解 如下所示 do while循环 当程序运行时 先运行do中的代码一次 然后进行while条件判断 条件程序 再此运行do中的代码
  • cnpm —— 淘宝 npm 镜像

    大家都知道国内直接使用 npm 的官方镜像是非常慢的 这里推荐使用淘宝 NPM 镜像 淘宝 NPM 镜像是一个完整 npmjs org 镜像 你可以用此代替官方版本 只读 同步频率目前为 10分钟 一次以保证尽量与官方服务同步 你可以使用淘
  • 热传导方程的差分格式原理与matlab实现

    function ParabolicEquation h k 求解抛物型方程中的一种 热传导方程 h x轴步长 k t轴步长 r k h h 网格比 Mx floor 1 0 h 1 网格在x轴上的节点个数 算上0 Nt floor 1 0
  • Laravel5.3 注册监听器--实时打印SQL语句

    创建监听器 php artisan make listener QueryListener event Illuminate Database Events QueryExecuted 打开 app ProvidersEventServic
  • Pyqt5 装饰器@pyqtSlot() 和 connect()使用

    Pyqt5 装饰器 pyqtSlot 和 connect 使用 1 pyqtSlot 的使用 需要引入 pyqtSlot 库函数 from PyQt5 QtCore import pyqtSlot pyqtSlot 装饰器 此函数没有con
  • visio画图-去掉visio中多余的连接点

    有时候visio保存图片 或pdf 的时候 无论怎么弄图片 或pdf 一直会有空白区域 这有可能是因为空白处还有隐藏的东西 比如连接点 删掉多余的连接点就好了 那么 如何删除visio图中的连接点呢 1 点击开始栏中 连接线 图标 然后点击
  • 第21次CCF计算机软件能力认证【期末预测之最佳阈值】【期末预测之安全指数】

    期末预测之安全指数 题目描述 首先 顿顿选取了如 课堂表现 自习时长 作业得分 社团活动参与度 等 项指标作为预测的依据 然后 顿顿根据自己平日里对小菜的暗中观察 以百分制给每一项指标打分 即小菜同学第 1 项指标的得分 是一个 0 100
  • Thinkpad E450个性化设置:F1~F12恢复正常按键;Fn与Ctrl按键互换

    一 F1 F12恢复正常按键 联想Thinkpad E450的 F1 F12键 功能与其他笔记本是相反的 也就是说 如果不按着Fn 在那几个功能键 实现的是属性设置的功能 比如直接按下F1键是静音 F2键是音量降低 F3是音量增加等等 如果
  • 关于彻底删除 Mysql和Mysql Connector Net..卸载不掉或不能更新(超详细)

    最近用Mysql时发现版本太低了 有些功能用不了 就把MySQL给卸载 具体步骤 卸载原有的MySQL软件 删除跟原来的MySQL有关的数据 文件夹 清理注册表 具体如下 卸载Mysql软件 先停掉MySQL的服务 右键我的电脑找到管理 在
  • 三. Hystrix Dashboard 服务监控

    目录 一 创建 Hystrix Dashboard 监控服务 二 被监控服务 三 启动项目查看 Hystrix Dashboard 图形化界面 一 创建 Hystrix Dashboard 监控服务 Hystrix 除了可以实现服务隔离降级
  • 在项目中巧用JdbcTemplate,提高开发效率与运行速度

    目前基于框架的开发 大部分都是分层明确的 控制层 controller 逻辑层 Service 数据操作层 Mapper层 但是程序就相当于一个马拉松运动员 总路程越长 耗费的时间也就越长 所以 我们可以在一些代码复用率比较低的接口上 比如
  • LVM(逻辑卷管理)与磁盘配额设置和测试

    一 LVM 1 1 物理卷 卷组 逻辑卷的概述 物理卷PV 物理卷是 LVM 机制的基本存储设备 通常对应为一个普通分区或整个硬盘 创建物理卷时 会在分区或硬盘的头部创建一个保留区块 用于记录 LVM 的属性 并把存储空间分割成默认大小为
  • openssl evp 对称加密(AES_ecb,ccb)

    openssl evp 对称加密 AES ecb ccb evp h 封装了openssl常用密码学工具 以下主要说对称加密的接口 1 如下使用 aes 256 ecb 模式的加密解密测试代码 unsigned char key 32 1
  • ADADELTA

    1 现状 大多数的梯度下降算法都需要选择学习率的超参数 设置学习率通常要不断调整 而较好的学习率一般是手动设置的 学习率设置的过高会使得系统发散 但选择的过小又会使学习过程变慢 对于很多问题而言 选择一个好的学习率更像是艺术而不是科学 2
  • 倒置单链表

    倒置链表 一道被出烂的题目 完整实现如下 include
  • 51单片机:在2位数码管上循环显示00-99,间隔0.5秒

    原理图 include
  • 基于Sqli-Labs靶场的SQL注入-23~24关

    目录 Less23 注释符被过滤的情况下注入 爆破数据库名 爆破表名 爆破列名 爆破字段值 23关小结 Less24 二次注入 二次注入理解及原理 修改管理员账户密码 总结 Less23 注释符被过滤的情况下注入 首先我们进入23关 可以发
  • 合宙Air105

    基础资料 基于Air105开发板 Air105 LuatOS 文档 上手 开发上手 LuatOS 文档 探讨重点 官方fonts库函数介绍以及利用mcu ticks 计算程序运行周期相关内容的学习及探讨 软件版本 AIR105 LuatOS