static void ez_action_toggle_wifi2(void) { if (get_enabled_radio_rt()) { int i_radio_state = is_radio_on_rt(); i_radio_state = !i_radio_state; update_svc_status_wifi2(); logmessage("watchdog", "Perform ez-button toggle %s radio: %s", "2.4GHz", (i_radio_state) ? "ON" : "OFF"); control_radio_rt(i_radio_state, 1); } }
void LED_CONTROL(int gpio_led, int flag) { int front_led_x = 1; int is_soft_blink = 0; switch (gpio_led) { #if defined (BOARD_GPIO_LED_ROUTER) case BOARD_GPIO_LED_ROUTER: break; #endif #if defined (BOARD_GPIO_LED_WAN) case BOARD_GPIO_LED_WAN: front_led_x = nvram_get_int("front_led_wan"); break; #endif #if defined (BOARD_GPIO_LED_LAN) case BOARD_GPIO_LED_LAN: front_led_x = nvram_get_int("front_led_lan"); break; #endif #if defined (BOARD_GPIO_LED_WIFI) case BOARD_GPIO_LED_WIFI: front_led_x = nvram_get_int("front_led_wif"); break; #endif #if defined (BOARD_GPIO_LED_SW2G) case BOARD_GPIO_LED_SW2G: is_soft_blink = 1; front_led_x = nvram_get_int("front_led_wif"); if (front_led_x) { #if defined (BOARD_GPIO_LED_SW5G) && (BOARD_GPIO_LED_SW5G == BOARD_GPIO_LED_SW2G) flag = (is_radio_on_rt() || is_radio_on_wl()) ? LED_ON : LED_OFF; #else flag = (is_radio_on_rt()) ? LED_ON : LED_OFF; #endif } break; #endif #if defined (BOARD_GPIO_LED_SW5G) && (!defined (BOARD_GPIO_LED_SW2G) || (BOARD_GPIO_LED_SW5G != BOARD_GPIO_LED_SW2G)) case BOARD_GPIO_LED_SW5G: is_soft_blink = 1; front_led_x = nvram_get_int("front_led_wif"); if (front_led_x) { flag = (is_radio_on_wl()) ? LED_ON : LED_OFF; } break; #endif #if defined (BOARD_GPIO_LED_USB) case BOARD_GPIO_LED_USB: #if (BOARD_NUM_USB_PORTS > 0) front_led_x = nvram_get_int("front_led_usb"); #else front_led_x = 0; #endif break; #endif #if defined (BOARD_GPIO_LED_POWER) case BOARD_GPIO_LED_POWER: front_led_x = nvram_get_int("front_led_pwr"); break; #endif #if defined (BOARD_GPIO_LED_ALL) case BOARD_GPIO_LED_ALL: front_led_x = nvram_get_int("front_led_all"); break; #endif default: return; } if (front_led_x == 0) flag = LED_OFF; #if !defined (BOARD_GPIO_LED_ALL) if (nvram_get_int("front_led_all") == 0 #if defined (BOARD_GPIO_LED_POWER) && gpio_led != BOARD_GPIO_LED_POWER #endif ) flag = LED_OFF; #endif #if defined (BOARD_GPIO_LED_WIFI) && defined (CONFIG_RALINK_MT7620) && (BOARD_GPIO_LED_WIFI == 72) if (gpio_led == BOARD_GPIO_LED_WIFI) { cpu_gpio_mode_set_bit(13, (flag == LED_OFF) ? 1 : 0); // change GPIO Mode for WLED cpu_gpio_set_pin(gpio_led, LED_OFF); // always set GPIO to high } else #endif { if (is_soft_blink) cpu_gpio_led_enabled(gpio_led, (flag == LED_OFF) ? 0 : 1); cpu_gpio_set_pin(gpio_led, flag); } }