当前位置: 首页 > news >正文

LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库

rtos.receive(timeout)

接受并处理底层消息队列.

参数

传入值类型

解释

int

超时时长,通常是-1,永久等待

返回值

返回值类型

解释

msgid

如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证.

例子


rtos.timer_start(id,timeout,_repeat)

启动一个定时器

参数

传入值类型

解释

int

定时器id

int

超时时长,单位毫秒

int

重复次数,默认是0

返回值

返回值类型

解释

id

如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证.

例子

-- 用户代码请使用 sys.timerStart
-- 启动一个3秒的循环定时器
rtos.timer_start(10000, 3000, -1)

rtos.timer_stop(id)

关闭并释放一个定时器

参数

传入值类型

解释

int

定时器id

返回值

返回值类型

解释

nil

无返回值

例子

-- 用户代码请使用sys.timerStop
rtos.timer_stop(id)

rtos.reboot()

设备重启

参数

返回值

返回值类型

解释

nil

无返回值

例子


rtos.buildDate()

获取固件编译日期

参数

返回值

返回值类型

解释

string

固件编译日期

例子

-- 获取编译日期
local d = rtos.buildDate()

rtos.bsp()

获取硬件bsp型号

参数

返回值

返回值类型

解释

string

硬件bsp型号

例子

-- 获取硬件bsp型号
local bsp = rtos.bsp()

rtos.version()

获取固件版本号

参数

返回值

返回值类型

解释

string

固件版本号,例如”V0001”

例子

-- 读取版本号
local luatos_version = rtos.version()

rtos.standy(timeout)

进入待机模式, 仅部分设备可用, 本API已废弃, 推荐使用pm库

参数

传入值类型

解释

int

休眠时长,单位毫秒

返回值

返回值类型

解释

nil

无返回值

例子

-- 进入待机模式
rtos.standby(5000)

rtos.meminfo(type)

获取内存信息

参数

传入值类型

解释

type

“sys”系统内存, “lua”虚拟机内存, 默认为lua虚拟机内存

返回值

返回值类型

解释

int

总内存大小,单位字节

int

当前已使用的内存大小,单位字节

int

历史最高已使用的内存大小,单位字节

例子

-- 打印内存占用
log.info("mem.lua", rtos.meminfo())
log.info("mem.sys", rtos.meminfo("sys"))

rtos.firmware()

返回底层描述信息,格式为 LuatOS_$VERSION_$BSP,可用于OTA升级判断底层信息

参数

返回值

返回值类型

解释

string

底层描述信息

例子

-- 打印底层描述信息
log.info("firmware", rtos.firmware())

rtos.setPaths(pathA, pathB, pathC, pathD)

设置自定义lua脚本搜索路径,优先级高于内置路径

参数

传入值类型

解释

string

路径A, 例如 “/sdcard/%s.luac”,若不传值,将默认为””,另外,最大长度不能超过23字节

string

路径B, 例如 “/sdcard/%s.lua”

string

路径C, 例如 “/lfs2/%s.luac”

string

路径D, 例如 “/lfs2/%s.lua”

返回值

例子

-- 挂载sd卡或者spiflash后
rtos.setPaths("/sdcard/user/%s.luac", "/sdcard/user/%s.lua")
require("sd_user_main") -- 将搜索并加载 /sdcard/user/sd_user_main.luac 和 /sdcard/user/sd_user_main.lua

rtos.nop()

空函数,什么都不做

参数

返回值

返回值类型

解释

nil

无返回值

例子

-- 这个函数单纯就是 lua -> c -> lua 走一遍
-- 没有参数,没有返回值,没有逻辑处理
-- 在绝大多数情况下,不会遇到这个函数的调用
-- 它通常只会出现在性能测试的代码里, 因为它什么都不干.
rtos.nop()

rtos.autoCollectMem(period, warning_level, force_level)#

内存自动收集配置,是lua本身收集机制的一种补充,不是必要的,而且只在luavm空闲时触发

参数

返回值

例子

相关文章:

LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库

rtos.receive(timeout) 接受并处理底层消息队列. 参数 传入值类型 解释 int 超时时长,通常是-1,永久等待 返回值 返回值类型 解释 msgid 如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证. 例子 无 rtos.timer_start(id…...

一名技术Leader应该是创作者

今天看了一本书叫做《黑客与画家》。它里面提到一个很重要的概念就是黑客(优秀的程序员)是一名建筑师,而不是一名工程师。 传统的主管和互联网的Leader 这两者有什么区别呢?关键点在于建筑师是思考做什么,而工程师是…...

Java多线程总结

一、概念: 1、什么是多任务 多任务就是在同一时间做多件事情,如边吃饭边玩手机等。看起来是多个任务都在做,本质上我们的大脑在同一时间依旧只做了一件件事情 2、什么是程序 程序是指令和数据的有序集合,其本身没有…...

docker devicemapper: Error running DeleteDevice dm_task_run failed

docker 删除容器,遇到: devicemapper: Error running DeleteDevice dm_task_run failed 异常 [hadoophadoop02 ~]$ sudo docker rm 5ede1280f0bf Error response from daemon: container 5ede1280f0bf791e91d40038b15decd42e8923546ae578abd96e08114c76…...

第二十章总结

一.线程简介 二.创建线程 1.继承Thread类 Thread类中常用的两个构造方法如下: public Thread():创建一个新的线程对象。 public Thread(String threadName):创建一个名称为threadName的线程对象。 继承Thread类创建一个新的线程的语法如下: public …...

Linux环境安装Java,Tomcat,Mysql,

1、Java的安装 载 jdk1.8 注:此处 CentOS7 是64位,所以下载的是:Linux x64, 文件类型为 tar.gz 的文件 JDK 官网地址:https://www.oracle.com/java/ cd /usr/local/ mkdir jdk cd jdk/tar -xvf jdk-8u202-linux-x64.…...

前后端分离开发出现的跨域问题

先说说什么是跨域。 请求的URL地址中的协议、域名、端口号中的任意一个与当前URL不同就是跨域。 比如: 当前页面的URL请求的URL是否跨域原因htttp://localhost:8080htttps://localhost:8080是协议不同htttp://localhostll:8080htttp://localhost:8080是域名不同htt…...

水淼采集器-免费水淼采集器下载

在当今数字时代,随着信息的迅猛增长,许多网站管理员面临一个共同而具有挑战性的问题——如何在短时间内获取大量优质内容,以满足用户对信息的不断需求?水淼采集器,作为一个备受瞩目的解决方案,正成为许多人…...

[DASCTF 2023 0X401七月暑期挑战赛] web刷题记录

文章目录 EzFlask方法一 python原型链污染方法二 flask框架静态文件方法三 pin码计算 MyPicDisk方法一 字符串拼接执行命令方法二 phar反序列化 ez_cms EzFlask 考点:python原型链污染、flask框架理解、pin码计算 源码如下 import uuidfrom flask import Flask, re…...

Python超级详细的变量命名规则

Python 需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。 Python 语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目…...

Zabbix 6 详细安装部署教程

目录 一、安装 MySQL 数据库 二、安装 zabbix 监控平台 三、编辑配置文件 四、启动服务 五、zabbix-web 安装 zabbix web 出图展示乱码问题解决方案 zabbix 的安装部署非常简单,官方提供了四种安装途径,分别是二进制 rpm 包安装方式、源码安装方…...

如何设置带有密码的excel只读模式?

Excel只读模式大家都不陌生,那大家知道带有密码的只读模式吗?今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工具 – 常规选项 在常…...

企业人力资源公司抖音直播招聘断播怎么处理?

企业人力资源公司抖音直播招聘断播怎么处理? 最直接的处理方式就是进行抖音直播招聘报白,报白后在直播和视频中发布招聘和企业信息,不用担心被封禁和限制流量。 可以通过抖音直播进行招聘,也可以在视频中添加小程序,…...

数据治理与数据入表、数据交易有什么关系?

数据作为关键生产要素,其乘数效应的发挥离不开数据要素保有量的丰富程度、数据要素市场的发展成熟度以及数据要素应用路径的清晰度。财政部2023年8月21日发布了《企业数据资源相关会计处理暂行规定》,标志着企业数据资源入表迈出了0到1的关键一步。 与此…...

GitHub 2023排名前十的最佳开源项目

开源软件(OSS)彻底改变了当今软件开发的方式。在数百万个开源GitHub项目中,要找到最适合需求的开源项目可能会让人不知所措。 今天给大家列出2023年增长最快的前10个开源GitHub仓库。通过这些增长最快的开源项目,也可以从整体上了…...

抖音视频如何无水印下载,怎么批量保存主页所有视频没水印?

现在最火的短视频平台莫过于抖音,当我们刷到一个视频想下载下来怎么办?我们知道可以通过保存到相册的方式下载,但用这种方法下载的视频带有水印,而且有些视频不能保存到相册(这是视频作者设置了禁止下载)。…...

淘宝详情API接口:一键获取商品信息的实践探索

一、引言 淘宝作为中国最大的电商平台,拥有庞大的商品信息库。为了更好地利用这些数据,开发者可以通过淘宝提供的API接口来获取商品详情。本文将深入探讨如何使用淘宝详情API接口一键获取商品信息,通过实践操作和代码示例,带领读…...

在线陪诊系统: 医学科技的革新之路

医疗服务的数字化时代已经到来,而在线陪诊系统正是医学科技革新的杰出代表。通过巧妙的技术代码,这一系统不仅实现了患者和医生之间的远程互动,还将医疗服务推向了一个更加智能化的未来。在这篇文章中,我们将深入探讨在线陪诊系统…...

2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …...

自研基于Xilinx PCIe的高性能多路视频采集与显示控制器

1 概述 视频采集与显示子系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入队列管理和PCIe C2H DMA引擎,将采集到的视频帧实时传递到上位机采集缓冲区。在超带宽视频采集情况下,支持采集丢帧操作…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...