Module sys

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

Info:

  • Copyright: openLuat
  • Release: 2017.9.13
  • License: MIT
  • Author: openLuat

Functions

restart (r) 软件重启
wait (ms) Task任务延时函数,只能用于任务函数中
waitUntil (id, ms) Task任务的条件等待函数(包括事件消息和定时器消息等条件),只能用于任务函数中。
waitUntilExt (id, ms) Task任务的条件等待函数扩展(包括事件消息和定时器消息等条件),只能用于任务函数中。
taskInit (fun, ...) 创建一个任务并且运行该任务
init (mode, lprfnc) Luat平台初始化
timerStop (val, ...) 关闭定时器
timerStopAll (fnc) 关闭同一回调函数的所有定时器
timerStart (fnc, ms, ...) 开启一个定时器
timerLoopStart (fnc, ms, ...) 开启一个循环定时器
timerIsActive (val, ...) 判断某个定时器是否处于开启状态
subscribe (id, callback) 订阅消息
unsubscribe (id, callback) 取消订阅消息
publish (...) 发布内部消息,存储在内部消息队列中
rtos.on (id, handler) 注册rtos消息回调处理函数


Functions

restart (r)
软件重启

Parameters:

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

Returns:

Usage:

  • sys.restart('程序超时软件重启')
wait (ms)
Task任务延时函数,只能用于任务函数中

Parameters:

  • ms number
      整数,最大等待126322567毫秒

Returns:

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

Usage:

  • sys.wait(30)
waitUntil (id, ms)
Task任务的条件等待函数(包括事件消息和定时器消息等条件),只能用于任务函数中。

Parameters:

  • id
     消息ID
  • ms number
     等待超时时间,单位ms,最大等待126322567毫秒

Returns:

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

Usage:

  • result, data = sys.waitUntil("SIM_IND", 120000)
waitUntilExt (id, ms)
Task任务的条件等待函数扩展(包括事件消息和定时器消息等条件),只能用于任务函数中。

Parameters:

  • id
     消息ID
  • ms number
     等待超时时间,单位ms,最大等待126322567毫秒

Returns:

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

Usage:

  • result, data = sys.waitUntilExt("SIM_IND", 120000)
taskInit (fun, ...)
创建一个任务并且运行该任务

Parameters:

  • fun
     任务主函数,激活task时使用
  • ...
     任务主函数fun的可变参数

Returns:

  • co  返回该任务的线程ID

Usage:

  • sys.taskInit(task1,'a','b')
init (mode, lprfnc)
Luat平台初始化

Parameters:

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

Returns:

Usage:

  • sys.init(1,0)
timerStop (val, ...)
关闭定时器

Parameters:

  • val
     值为number时,识别为定时器ID,值为回调函数时,需要传参数
  • ...
     val值为函数时,函数的可变参数

Returns:

Usage:

  • timerStop(1)
timerStopAll (fnc)
关闭同一回调函数的所有定时器

Parameters:

  • fnc
     定时器回调函数

Returns:

Usage:

  • timerStopAll(cbFnc)
timerStart (fnc, ms, ...)
开启一个定时器

Parameters:

  • fnc
     定时器回调函数
  • ms number
     整数,最大定时126322567毫秒
  • ...
     可变参数 fnc的参数

Returns:

  • number 定时器ID,如果失败,返回nil
timerLoopStart (fnc, ms, ...)
开启一个循环定时器

Parameters:

  • fnc
     定时器回调函数
  • ms number
     整数,最大定时126322567毫秒
  • ...
     可变参数 fnc的参数

Returns:

  • number 定时器ID,如果失败,返回nil
timerIsActive (val, ...)
判断某个定时器是否处于开启状态

Parameters:

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

Returns:

  • number 开启状态返回true,否则nil
subscribe (id, callback)
订阅消息

Parameters:

  • id
     消息id
  • callback
     消息回调处理

Usage:

  • subscribe("NET_STATUS_IND", callback)
unsubscribe (id, callback)
取消订阅消息

Parameters:

  • id
     消息id
  • callback
     消息回调处理

Usage:

  • unsubscribe("NET_STATUS_IND", callback)
publish (...)
发布内部消息,存储在内部消息队列中

Parameters:

  • ...
     可变参数,用户自定义

Returns:

Usage:

  • publish("NET_STATUS_IND")
rtos.on (id, handler)
注册rtos消息回调处理函数

Parameters:

  • id number
     消息类型id
  • handler
     消息处理函数

Returns:

Usage:

  • rtos.on(rtos.MSG_KEYPAD, function(param) handle keypad message end)
generated by LDoc 1.4.6 Last updated 2021-01-27 10:12:38