Skip to content

Instantly share code, notes, and snippets.

@eggman
Last active May 29, 2017 22:56
Show Gist options
  • Select an option

  • Save eggman/9f82b194264c1bae260d13182ccd44d2 to your computer and use it in GitHub Desktop.

Select an option

Save eggman/9f82b194264c1bae260d13182ccd44d2 to your computer and use it in GitHub Desktop.

eloop の RTOS

eloop_run()

while()の中のイベント待ち。

P: イベントフラグ待ち

twai_flg(flagid, flagptn, EVT_OR, timeout);

flagidはeloop_init()で生成 flagptnは32個までのイベントを管理可能 flagptnは、read と eventのregister の際に空いているbitを探して割りあてる。

flagptnのbitを取り出す。 リクエストされていたbitを再設定。

flag

wpa_supplicant hostaped eloop

task

wpa_supplicant_main wpa_cli_main hostapd

que

IFACE WPACTL CTLIF CLISND CLIMON SWEVT HAPD

FF: セマフォ待ち

グローバル変数でイベントフラングを管理

twai_sem(ID_SEM_Event, 10);
handler(eloop_data, user_data);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment