17 void init_eventqueue(
void)
19 DKFPRINTF(0x01,
"done\n");
21 init_queue(&event_queue_list.
list);
38 DKFPRINTF(0x01,
"\"%s\", args = %p, size = %d, count = %d\n",
39 name, args, arg_size, arg_count);
44 evtque->
size = arg_size;
48 add_queue(&event_queue_list.
list, (
struct st_queue *)evtque);
60 DKFPRINTF(0x01,
"evtque = %p\n", evtque);
67 del_queue((
struct st_queue *)evtque);
75 DKFPRINTF(0x01,
"Wait_Event PID=%d \"%s\"\n", tcb->
id, tcb->
name);
87 struct st_tcb *wup_tcb = 0;
89 DKFPRINTF(0x01,
"name = \"%s\"\n", evtque->
name);
92 if(check_queue(&evtque->
proc_head) == 0) {
104 DKPRINTF(0x02,
"Event wakeup PID=%d \"%s\"\n", wup_tcb->
id, wup_tcb->
name);
105 DKPRINTF(0x02,
" wup = %ld\n", wup_tcb->
wup_time);
void eventqueue_unregister_ISR(struct st_event *evtque)
イベントキューを登録解除する
struct st_tcb * _eventqueue_wakeup(struct st_event *evtque)
イベント待ちタスクを返す
struct st_fifo event
イベントデータバッファ
void _eventqueue_wait(struct st_event *evtque, struct st_tcb *tcb)
タスクをイベント待ちキューに登録する
char name[TASK_NAME_LEN+1]
タスク名
struct st_queue proc_head
イベント待ちタスクキュー
void eventqueue_register_ISR(struct st_event *evtque, const char *name, void *args, unsigned int arg_size, int arg_count)
イベントキューを登録する
unsigned int wup_time
スリープタイムアウト時間
struct st_queue list
イベントキューのキュー
const char * name
イベント名文字列
void init_fifo(struct st_fifo *fp, unsigned char *buf, unsigned int size)
fifoを初期化する
unsigned int size
1イベントのサイズ