sys

sys

模块功能:Luat协程调度框架

sys.restart(r)

软件重启

  • 参数

传入值类型

释义

string

r 重启原因,用户自定义 ,一般是string类型,重启后的trace中会打印出此重启原因

  • 返回值

  • 例子

sys.restart('程序超时软件重启')

sys.wait(ms)

Task任务延时函数,只能用于任务函数中

  • 参数

传入值类型

释义

number

ms 整数,最大等待126322567毫秒

  • 返回值

定时结束返回nil,被其他线程唤起返回调用线程传入的参数

  • 例子

sys.wait(30)

sys.waitUntil(id, ms)

Task任务的条件等待函数(包括事件消息和定时器消息等条件),只能用于任务函数中。

  • 参数

传入值类型

释义

param

id 消息ID

number

ms 等待超时时间,单位ms,最大等待126322567毫秒

  • 返回值

result 接收到消息返回true,超时返回false data 接收到消息返回消息参数

  • 例子

result, data = sys.waitUntil("SIM_IND", 120000)

sys.waitUntilExt(id, ms)

Task任务的条件等待函数扩展(包括事件消息和定时器消息等条件),只能用于任务函数中。

  • 参数

传入值类型

释义

param

id 消息ID

number

ms 等待超时时间,单位ms,最大等待126322567毫秒

  • 返回值

message 接收到消息返回message,超时返回false data 接收到消息返回消息参数

  • 例子

result, data = sys.waitUntilExt("SIM_IND", 120000)

sys.taskInit(fun, …)

创建一个任务线程,在模块最末行调用该函数并注册模块中的任务函数,main.lua导入该模块即可

  • 参数

传入值类型

释义

param

fun 任务函数名,用于resume唤醒时调用

param

… 任务函数fun的可变参数

  • 返回值

co 返回该任务的线程号

  • 例子

sys.taskInit(task1,'a','b')

sys.init(mode, lprfnc)

Luat平台初始化

  • 参数

传入值类型

释义

param

mode 充电开机是否 启动GSM协议栈,1不启动,否则启动

param

lprfnc 用户应用脚本中定义的“低电 关机处理函数”,如果有函数名,则低 电时,本文件中的run接口不会执行任 何动作,否则,会延时1分钟自动关机

  • 返回值

  • 例子

sys.init(1,0)

sys.timerStop(val, …)

关闭定时器

  • 参数

传入值类型

释义

param

val 值为number时,识别为定时器ID,值为回调函数时,需要传参数

param

… val值为函数时,函数的可变参数

  • 返回值

  • 例子

timerStop(1)

sys.timerStopAll(fnc)

关闭同一回调函数的所有定时器

  • 参数

传入值类型

释义

param

fnc 定时器回调函数

  • 返回值

  • 例子

timerStopAll(cbFnc)

sys.timerStart(fnc, ms, …)

开启一个定时器

  • 参数

传入值类型

释义

param

fnc 定时器回调函数

number

ms 整数,最大定时126322567毫秒

param

… 可变参数 fnc的参数

  • 返回值

number 定时器ID,如果失败,返回nil

  • 例子


sys.timerLoopStart(fnc, ms, …)

开启一个循环定时器

  • 参数

传入值类型

释义

param

fnc 定时器回调函数

number

ms 整数,最大定时126322567毫秒

param

… 可变参数 fnc的参数

  • 返回值

number 定时器ID,如果失败,返回nil

  • 例子


sys.timerIsActive(val, …)

判断某个定时器是否处于开启状态

  • 参数

传入值类型

释义

param

val 有两种形式一种 是开启定时器时返回的定时器id,此 形式时不需要再传入可变参数…就能唯 一标记一个定时器另一种是开启定时 器时的回调函数,此形式时必须再传 入可变参数…才能唯一标记一个定时器

param

… 可变参数

  • 返回值

number 开启状态返回true,否则nil

  • 例子


sys.subscribe(id, callback)

订阅消息

  • 参数

传入值类型

释义

param

id 消息id

param

callback 消息回调处理

  • 返回值

  • 例子

subscribe("NET_STATUS_IND", callback)

sys.unsubscribe(id, callback)

取消订阅消息

  • 参数

传入值类型

释义

param

id 消息id

param

callback 消息回调处理

  • 返回值

  • 例子

unsubscribe("NET_STATUS_IND", callback)

sys.publish(…)

发布内部消息,存储在内部消息队列中

  • 参数

传入值类型

释义

param

… 可变参数,用户自定义

  • 返回值

  • 例子

publish("NET_STATUS_IND")

rtos.on (id, handler)

注册rtos消息回调处理函数

  • 参数

传入值类型

释义

number

id 消息类型id

param

handler 消息处理函数

  • 返回值

  • 例子

rtos.on(rtos.MSG_KEYPAD, function(param) handle keypad message end)

sys.run()

run()从底层获取core消息并及时处理相关消息,查询定时器并调度各注册成功的任务线程运行和挂起

  • 参数

  • 返回值

  • 例子

sys.run()