10. RTC
rtcオブジェクトは、RTCアラーム機能を提供する組み込みオブジェクトです。
機能概要:
- 指定した時刻にアラームイベントを発生させます。
制限事項:
- 使用可能なアラームは1本です。
rtc Global Object
Methods()/Properties | Summary | Version | Note |
---|---|---|---|
rtc.setAlarm() | アラーム発生時刻を設定します。 | 00.00.15+ | |
rtc.stopAlarm() | アラームを解除します。 | 00.00.15+ |
Details
rtc.setAlarm(rtcAlarm[,callback])
アラーム発生時刻を設定します。
アラーム発生時にコールバック処理を実行します。
アラームは解除されるまで発生します。
本メソッドは、多重使用できません。
別の時刻を設定する場合は一度解除させる必要があります。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
rtcAlarm | Object | mandatory | アラーム発生時刻設定 hour : {number} アラーム発生時刻[時] 設定範囲: 0~23 (※1) minute : {number} アラーム発生時刻[分] 設定範囲: 0~59 (※1) second : {number} アラーム発生時刻[秒] 設定範囲: 0~59 (※1) timeout : {number} 初回アラーム発生時刻のタイムアウト値[秒] 設定範囲: 1~10 (※2) | ※1: -1を設定した場合、Don't careとなります。 |
callback() | function | mandatory | アラーム発生時にコールバック処理を実行します。 | |
return | undefined | - | - | 異常が発生した時は、例外となります。 |
※2: 現在時刻と最初のアラーム発生時刻の間に余裕がない場合、内部遅延によりアラーム設定が間に合わない場合があります。このオプションは、タイマーを使用してこの状況を補完します。タイムアウトまでにアラームが発生しなかった場合、アラームの代わりにコールバック処理を実行します。アラーム発生時刻までのマージンが10秒未満の場合、このオプションを設定してください。未設定の場合は、無効となります。
rtc.stopAlarm()
アラームを解除します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
return | undefined | - | - |
オブジェクトの使用例
Sample1
アラームを発生させるサンプルです。
現在時刻を取得し、その時点から20秒後にRTCアラームを発生させます。
var MAX_COUNT = 5;
var count = MAX_COUNT;
var set_date;
var rtc_time;
var perAlarm = function() {
rtc.stopAlarm();
count--;
print('alarm: count = ' + count);
set_date = new Date();
print('Now time: ' + set_date.toString());
if(count > 0) {
set_date.setSeconds(set_date.getSeconds() + 20);
rtc_time = {
hour: set_date.getHours(),
minute: set_date.getMinutes(),
second: set_date.getSeconds()
};
rtc.setAlarm(rtc_time, perAlarm);
}
}
perAlarm();
Updated: 2020-06-29