int wps_led_init() { int ret; int val; ret = wps_hal_led_init(); if (ret == 0) { /* sync wps led */ wps_prevstatus = WPS_INIT; val = wps_getProcessStates(); if (val != -1) { wps_prevstatus = val; } /* off all wps multi-color led */ if (val == WPS_INIT) wps_hal_led_blink(WPS_BLINKTYPE_STOP_MULTI); /* set wps led blink */ wps_led(wps_prevstatus); } return ret; }
static int wps_led(int status) { switch (status) { case WPS_INIT: wps_hal_led_blink(WPS_BLINKTYPE_STOP); break; case WPS_ASSOCIATED: case WPS_SENDM2: case WPS_SENDM7: case WPS_MSGDONE: wps_hal_led_blink(WPS_BLINKTYPE_INPROGRESS); break; case WPS_OK: wps_hal_led_blink(WPS_BLINKTYPE_SUCCESS); break; case WPS_TIMEOUT: case WPS_MSG_ERR: wps_hal_led_blink(WPS_BLINKTYPE_ERROR); break; case WPS_PBCOVERLAP: wps_hal_led_blink(WPS_BLINKTYPE_OVERLAP); break; default: wps_hal_led_blink(WPS_BLINKTYPE_STOP); break; } return 0; }