sys模块

状态 最后更新 API版本
Active 2019-11-14 V1.00.00

描述

此模块提供对系统数据的部分访问。

版本格式

让我们先定义一种版本格式naïve。 一个uint32的变量用于存储版本信息,更大的数字表示更新的版本, 当转化为用户可读字符串时,两个逗号分别插入到倒数第二个数字和倒数第四个数字处。例如,12345 (十进制) 转化后为 V1.23.4,V1.23.5比V1.23.4更新。

sys.gHWVer()

描述

naïve 格式获取系统的硬件版本。

参数

nil

返回值

名称 类型 范围 用途
HW_VER number 硬件版本

调用例

hwVer = sys.gHWVer()

sys.gFWVer()

描述

naïve 格式获取系统的固件版本。

参数

nil

返回值

名称 类型 范围 用途
FW_VER number 固件版本

调用例

fwVer = sys.gFaWVer()

sys.gIsUSBPowered()

描述

检查系统是否由5V独立USB电源供电。

参数

nil

返回值

名称 类型 范围 用途
connected boolean 是否

Example call

isConnected = sys.gIsUSBPowered()

sys.gTick()

描述

获取RTOS的Tick数。

参数

nil

返回值

名称 类型 范围 用途
tick number 从系统开机以来的Tick数(Tick频率为1000HZ)

调用例

tick = sys.gTick()

sys.sLuaModDebug()

描述

设置是否启用lua API的调试输出。 这用于调试lua API本身,调试输出同样被输出到用户终端。

参数

名称 类型 范围 用途
status number 1为启用,0为禁用,默认为禁用

返回值

nil

调用例

sys.sLuaModDebug(1)

sys.gLuaAPIVer()

描述

naïve格式获取lua API的版本。

参数

nil

返回值

名称 类型 范围 用途
API_VER number API版本

调用例

apiVer = sys.gLuaAPIVer()

sys.gTotalHeap()

描述

获取系统的堆的总大小。

参数

nil

返回值

名称 类型 范围 用途
size number 以字节为单位的堆大小

调用例

heapTotal = sys.gTotalHeap()

sys.gFreeHeap()

描述

获取当前空闲的堆大小。

参数

nil

返回值

名称 类型 范围 用途
size number 以字节为单位的空闲堆大小

调用例

heapFree = sys.gFreeHeap()

sys.gFreeHeapEver()

描述

获取自开机以来,最少的空闲堆大小,用于评估内存峰值使用量。

参数

nil

返回值

名称 类型 范围 用途
size number 以字节为单位的最小空闲堆大小

调用例

heapFreeEver = sys.gFreeHeapEver()

sys.gVDD()

描述

获取VDD电源轨的电压,这个值通常为3.3V

参数

nil

返回值

名称 类型 范围 用途
voltage number 以伏特为单位的VDD电压

调用例

vdd = sys.gVDD()

sys.gBoardTempK()

描述

以开尔文为单位获取板载温度传感器的读数。

参数

nil

返回值

名称 类型 范围 用途
temperature number 以开尔文为单位的温度

调用例

temp = sys.gBoardTempK()

sys.verToString()

描述

将一个naïve格式的版本转化为用户可读的字符串。

参数

名称 类型 范围 用途
<version> number naïve

返回值

名称 类型 范围 用途
readable string 经过转化的版本字符串

调用例

print(sys.verToString(10000))

sys.reset()

描述

执行一次系统复位。

参数

nil

返回值

nil

调用例

sys.reset()

sys.gByteCode()

描述

转化一个*.lua的lua源文件到*.lc的字节码文件。 输出文件在输入文件同一目录内。

参数

| 名称 | 类型 | 范围 | 用途 |

| —— | —— | —— | —— | | <path> | string| | 源文件的路径 | | [option] | number| sys.STRIP_DEBUG_INFO sys.RESERVE_DEBUG_INFO|可选参数,指定是否去掉调试信息。缺省值为sys.STRIP_DEBUG_INFO。|

返回值

nil

调用例

sys.gByteCode("0:/lua/user/UI_Demo.lua")

示例代码

--[[This is a demo for sys APIs. The output will be on the terminal.

    Version: 191111
    Author:  yanke928]]

print("Hardware Version:",sys.verToString(sys.gHWVer()))
print("Software Version:",sys.verToString(sys.gFWVer()))
print("Lua API Version: ",sys.verToString(sys.gLuaAPIVer()))
print("Is USB Powered:  ",sys.gIsUSBPowered())
print("System Tick:     ",sys.gTick())
print("Total Heap:      ",sys.gTotalHeap())
print("Free Heap:       ",sys.gFreeHeap())
print("Free Heap Ever:  ",sys.gFreeHeapEver())
print("VDD Voltage:     ",sys.gVDD())
print("Board Temp Kel:  ",sys.gBoardTempK())
--[[ call sys.reset() to reboot.]]

os.exit()