|
楼主 |
发表于 2021-10-15 15:06
|
显示全部楼层
本帖最后由 3020358247 于 2021-10-15 15:15 编辑
按键,灯适配,可以参考下面的信息
#if defined(R6800)
if(gpio_pin == 17 || gpio_pin == 5)
#endif
gpio_dir(gpio_pin, GPIO_DIR_OUT);
#endif
#if defined(RTCONFIG_WANPORT2)
/* Turn on WAN RED LED at system start-up if and only if coresponding WAN unit is enabled. */
if (is_router_mode()) {
if ((!strcmp(led_list, "led_wan_red_gpio") && get_dualwan_by_unit(0) != WANS_DUALWAN_IF_NONE) ||
(!strcmp(led_list, "led_wan2_red_gpio") && get_dualwan_by_unit(1) != WANS_DUALWAN_IF_NONE))
disable = !disable;
}
#else
#if defined(RTCONFIG_WANRED_LED)
/* If WAN RED LED is defined, keep it on until Internet connection ready in router mode. */
if (!strcmp(led_list, "led_wan_red_gpio") && is_router_mode())
disable = !disable;
#endif
#endif
#if defined(R6800)
if(gpio_pin == 17 || gpio_pin == 5)
#endif
#if !defined(RTCONFIG_CONCURRENTREPEATER)
set_gpio(gpio_pin, disable);
#endif
#ifdef RT4GAC55U // save setting value
{ int i; char led[16]; for(i=0; i<LED_ID_MAX; i++) if(gpio_pin == (led_gpio_table&0xff)){snprintf(led, sizeof(led), "led%02d", i); nvram_set_int(led, LED_OFF); break;}}
#endif
}
#if (defined(PLN12) || defined(PLAC56))
if((gpio_pin = (use_gpio = nvram_get_int("led_pwr_red_gpio")) & 0xff) != 0xff)
#elif defined(MAPAC1750)
if((gpio_pin = (use_gpio = nvram_get_int("led_blue_gpio")) & 0xff) != 0xff)
#else
if((gpio_pin = (use_gpio = nvram_get_int("led_pwr_gpio")) & 0xff) != 0xff)
#endif
{
enable = (use_gpio&GPIO_ACTIVE_LOW)==0 ? 1 : 0;
#if defined(R6800)
i2cled_control(I2CLED_WAN_WHITE, 1);
#else
#if !defined(RTCONFIG_CONCURRENTREPEATER)
set_gpio(gpio_pin, enable);
#endif
#endif
#ifdef RT4GAC55U // save setting value
{ int i; char led[16]; for(i=0; i<LED_ID_MAX; i++) if(gpio_pin == (led_gpio_table&0xff)){snprintf(led, sizeof(led), "led%02d", i); nvram_set_int(led, LED_ON); break;}}
#endif
}
// Power of USB.
if((gpio_pin = (use_gpio = nvram_get_int("pwr_usb_gpio")) & 0xff) != 0xff){
enable = (use_gpio&GPIO_ACTIVE_LOW)==0 ? 1 : 0;
set_gpio(gpio_pin, enable);
}
if((gpio_pin = (use_gpio = nvram_get_int("pwr_usb_gpio2")) & 0xff) != 0xff){
enable = (use_gpio&GPIO_ACTIVE_LOW)==0 ? 1 : 0;
set_gpio(gpio_pin, enable);
}
#if defined(R6800)
if(which == LED_WPS || which == LED_ALL)
#endif
set_gpio(gpio_nr, v);
#if defined(R6800)
if(which == LED_WAN)
i2cled_control(I2CLED_WAN_WHITE, mode);
else if (which == LED_USB)
i2cled_control(I2CLED_USB_WHITE, mode);
else if (which == LED_5G)
i2cled_control(I2CLED_5G_WHITE, mode);
else if (which == LED_2G)
i2cled_control(I2CLED_2G_WHITE, mode);
else if (which == LED_POWER)
i2cled_control(I2CLED_PWR_WHITE, mode);
#endif
#ifndef HND_ROUTER
if (mode == LED_ON) {
start_bled(use_gpio);
}
#endif
return 0;
}
|
|