GadgetSeed
0.9.6
|
GadgetSeed のシステムイベントは FIFO 構造のバッファにより管理されます。
標準的なモデルのユーザアプリケーションは get_event() よりシステム イベントを取得し、取得したシステムイベントに応じた処理を実行します。
キーボード等のデバイスドライバは、システムイベントとして set_event() で検知したイベントを登録します。
割り込みハンドラからシステムイベントを登録する場合、 set_event_interrupt() を使用して下さい。
システムイベントは最大 GSC_KERNEL_MAX_SYSTEMEVENT_COUNT までバッファすることが出来ます。
システムイベントには時間的寿命があります。
登録されたシステムイベントは、取得されるまで GSC_KERNEL_SYSTEMEVENT_LIFE_TIME (ms)経過すると寿命切れイベントと して取得されます。
システムイベントデータ構造体は st_sysevent で定義されています。
include ファイル : sysevent.h
API名 | 機能 |
---|---|
set_event() | システムイベントを登録する |
push_event_interrupt() | 割り込みハンドラからシステムイベントを登録する |
set_event_interrupt() | 割り込みハンドラからシステムイベント待ちタスクを起床する |
create_event() | システムイベントを作成し、追加する |
get_event() | システムイベントを待つ |
システムイベントデータ構造体のメンバ what は、発生したイベントの種類を示します。 what は以下のマクロが定義済みです。
include ファイル : sysevent.h
イベント名(マクロ定義) | イベント説明 |
---|---|
EVT_NULL | イベント無し |
EVT_KEYDOWN | キーを押した |
EVT_KEYUP | キーを離した |
EVT_KEYDOWN_REPEAT | キーを押した(リピート) |
EVT_TOUCHSTART | (画面に)タッチした |
EVT_TOUCHMOVE | (画面に)タッチしたまま動かした |
EVT_TOUCHEND | (画面に)タッチした状態から離した |