アラーム ― tAlarm
¶
アラームは繰り返し処理用のオブジェクトです。 アラームはカウンタに接続して、カウンタの起動によって動作します。
課題
to be filled in
使用方法¶
アラームの生成¶
アプリケーション開発者は tAlarm
セルタイプのセルを生成することにより、アラームを生成することができます。次の例では MyAlarm
という名前のアラームセルを生成し、 MyCell
の eAlarmHandlerBody
をメインルーチンとして結合しています。
celltype tMyCellType {
entry sHandlerBody eAlarmHandlerBody;
};
cell tMyCellType MyCell {};
cell tAlarm MyAlarm {
alarmTime = 10;
cycleTime = 10;
cBody = MyCell.eAlarmHandlerBody;
};
void eAlarmHandlerBody_main()
{
}
リファレンス¶
セルタイプ¶
-
celltype
tAlarm
¶ アラームの生成を行うココンポーネントです。
-
attr char_t *
name
= C_EXP("$cell$")¶ アラームの名前を指定します。 指定しない場合、セルの名前が使用されます。
-
attr uint8_t
id
= C_EXP("$ID$")¶ アラームのIDを指定します。
-
attr char_t *
counter
¶ アラームに接続するカウンタを指定します。
-
attr char_t *
action
¶ アラームアクションを指定します。
-
SETEVENT
¶ イベントのセット。
-
ACTIVATETASK
¶ タスクの起動。
-
ALARMCALLBACK
¶ コールバックの呼び出し。
-
-
attr char_t *
task
= "OMISSIBLE"¶ アラームのアクションで起動するタスクを指定します。
-
attr char_t *
event
= "OMISSIBLE"¶ アラームのアクションでセットするイベントを指定します。
-
attr char_t *
callbackName
= "OMISSIBLE"¶ アラームのアクションで呼び出すコールバックを指定します。
-
attr uint32_t
alarmTime
= 0¶ アラーム自動起動時の初回満了時刻を指定します。
-
attr uint32_t
cycleTime
= 0¶ アラーム自動起動時の周期時間を指定します。0の場合は単発アラームとなります。
-
attr char_t *
appMode
[] = { "OMISSIBLE" }¶ 自動起動するアプリケーションモードを指定します。
-
attr char_t *
シグニチャ¶
-
signature
sAlarm
¶ アラームを操作するためのシグニチャ(Task,ISR2用)。
-
StatusType
getBase
([out]AlarmBaseRefType p_info)¶ アラームの情報を取得する。 アラーム情報は p_info で示す構造体(AlarmBaseRefType)に格納される。
-
StatusType
setRelative
([in]TickType incr, [in]TickType cycle)¶ アラームが現在のティックから incr で指定された相対時刻が経過した後に満了するよう設定する。 初回の満了後、cycle が 0 でない場合は、cycle の周期でアラームを満了させる。
-
StatusType
setAbsolute
([in]TickType start, [in]TickType cycle)¶ アラームが start で指定された絶対時刻に達した際に満了するよう設定する。 初回の満了後、cycle が 0 でない場合は cycle の周期でアラームを満了させる。
-
StatusType