| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- --- 模块功能:闹钟功能测试(支持开机闹钟和关机闹钟,同时只能存在一个闹钟,如果想实现多个闹钟,等当前闹钟触发后,再次调用闹钟设置接口去配置下一个闹钟).
- -- @author openLuat
- -- @module alarm.testAlarm
- -- @license MIT
- -- @copyright openLuat
- -- @release 2018.03.14
- require"ntp"
- require "sys"
- require"misc"
- module(...,package.seeall)
- sys.taskInit(function()
- sys.wait(10000)
- log.info("alarm test start")
- misc.setClock({year=2020,month=5,day=1,hour=12,min=12,sec=12})
- sys.wait(2000)
- local onTimet = os.date("*t",os.time() + 60) --下次要开机的时间为60秒后
- log.info("alarm restart time", 60)
- rtos.set_alarm(1,onTimet.year,onTimet.month,onTimet.day,onTimet.hour,onTimet.min,onTimet.sec) --设定闹铃
- --如果要测试关机闹钟,打开下面这2行代码
- --sys.wait(2000)
- --rtos.poweroff()
- end)
- --[[
- 函数名:alarMsg
- 功能 :开机闹钟事件的处理函数
- 参数 :无
- 返回值:无
- ]]
- local function alarMsg()
- print("alarMsg")
- end
- --如果是关机闹钟开机,则需要软件主动重启一次,才能启动GSM协议栈
- if rtos.poweron_reason()==rtos.POWERON_ALARM then
- sys.restart("ALARM")
- end
- --注册闹钟模块
- rtos.init_module(rtos.MOD_ALARM)
- --注册闹钟消息的处理函数(如果是开机闹钟,闹钟事件到来时会调用alarmsg)
- rtos.on(rtos.MSG_ALARM,alarMsg)
|