User manual - デバイス制御ライブラリリファレンスマニュアル(2014年10月10日)

124
10.3 イベント通知のメカニズム
一般的なアプリケーションプログラムは key_readkey_stringkey_num関数によってユーザーの入力を
待ちます。イベント駆動型プログラミング環境であれば、この状態からイベントに対応する個別の処理を呼
び出すことができるのですが、本環境にはこのような仕組みがありません。そのため、イベントの通知を有
効に設定すると、当該イベントの発生によって key_readkey_stringkey_num関数は入力
待ちを抜け、
呼び元であるアプリケーションプログラムに戻り値をもってイベントの発生を伝えます。他にも ref_flg関数
でイベントの発生状況を調べることや、wai_flg関数
によってイベントが発生するまで待つこともできます。
発生したイベントはアプリケーションプログラムから参照するために、システム内に確保されたイベントフラ
グと呼ばれる領域(下図参照)に保持されます。イベントフラグは下図のように、イベント種別毎に用意され
32 ビットのフラグであり、それぞれがイベントフラグ ID によって管理されます。
電源ント ( FL_LB_INT_ID ) :
キーイ ( FL_FK_INT_ID ) :
タイ1イベ ( FL_TM1_INT_ID ) :
タイ2イベ ( FL_TM2_INT_ID ) :
031
イベントフラID
イベントフラグ
各ビットがイに対応
31
31
31
0
0
0
電源ント ( FL_LB_INT_ID ) :
キーイ ( FL_FK_INT_ID ) :
タイ1イベ ( FL_TM1_INT_ID ) :
タイ2イベ ( FL_TM2_INT_ID ) :
031
イベントフラID
イベントフラグ
各ビットがイに対応
31
31
31
0
0
0
上記の 4 フラグはシステム内に用意された多数のイベントフラグのうち、アプリケーションプログラムに
解放されたものです。
イベントフラグの各ビットが詳細イベントに対応しており、下表に示す名前で定義されています。ビットを数
値の代わりに名前で定義するのは、機種間での互換性を確保するためです。
イベントが発生するとシステムは該当するイベントフラグの対応ビットを ON します。そして、このビットはア
プリケーションプログラムが後述の関数によって OFF するまで保持されます。
電源イベントの通知(FL_LB_INT_ID 用)
ビットパターン 内容
FL_LB_INT_LB0
主電池なし、または電池蓋開け(LB0)
FL_LB_INT_LB1
主電池電圧低下警告(LB1)
FL_LB_INT_LB2
副電池電圧低下警告(LB2)
FL_LB_INT_LB4 APO(LB4)
FL_LB_INT_LB5
電源 OFF キー(LB5)
FL_SET_INT_IO
クレードル接続検出/USB 接続検出