LED control support

pull/19/head
morrownr 2022-11-28 12:29:12 -06:00
parent 34c3bda2c5
commit 134272b6cd
5 changed files with 41 additions and 2 deletions

View File

@ -17,8 +17,15 @@ EXTRA_CFLAGS += -Wno-unused-variable
#EXTRA_CFLAGS += -Wno-vla
EXTRA_CFLAGS += -Wno-misleading-indentation
EXTRA_CFLAGS += -Wno-implicit-fallthrough
# Activates Concurrent Mode if uncommented
#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
# LED Control
EXTRA_CFLAGS += -DCONFIG_LED_CONTROL
EXTRA_CFLAGS += -DCONFIG_SW_LED -DCONFIG_RTW_SW_LED
EXTRA_CFLAGS += -DCONFIG_LED_ENABLE
# gcc-12
EXTRA_CFLAGS += -Wno-address
EXTRA_CFLAGS += -Wframe-larger-than=1648

View File

@ -1745,6 +1745,22 @@ void BlinkHandler(PLED_USB pLed)
return;
}
#ifdef CONFIG_SW_LED
// 1 is normal blinking
if (padapter->registrypriv.led_ctrl != 1) {
if (padapter->registrypriv.led_ctrl == 0)
{
// Set LED to off
pLed->BlinkingLedState = RTW_LED_OFF;
} else {
// Set LED to solid for 2 or greater
pLed->BlinkingLedState = RTW_LED_ON;
}
// Skip various switch cases where SwLedBlink*() is called below
pLed->CurrLedState = LED_UNKNOWN;
}
#endif
switch (ledpriv->LedStrategy) {
#if CONFIG_RTW_SW_LED_TRX_DA_CLASSIFY
case SW_LED_MODE_UC_TRX_ONLY:
@ -4287,4 +4303,4 @@ DeInitLed(
_cancel_timer_ex(&(pLed->BlinkTimer));
ResetLedStatus(pLed);
}
#endif
#endif

View File

@ -167,7 +167,7 @@
#define CONFIG_RTW_LED
#ifdef CONFIG_RTW_LED
#define CONFIG_RTW_SW_LED
// #define CONFIG_RTW_SW_LED
#ifdef CONFIG_RTW_SW_LED
/* #define CONFIG_RTW_LED_HANDLED_BY_CMD_THREAD */
#endif

View File

@ -242,6 +242,9 @@ struct registry_priv {
#ifdef CONFIG_TX_EARLY_MODE
u8 early_mode;
#endif
#ifdef CONFIG_SW_LED
u8 led_ctrl;
#endif
#ifdef CONFIG_NARROWBAND_SUPPORTING
u8 rtw_nb_config;
#endif

View File

@ -142,6 +142,10 @@ int rtw_check_fw_ps = 1;
int rtw_early_mode = 1;
#endif
#ifdef CONFIG_SW_LED
int rtw_led_ctrl = 1; // default to normal blinking
#endif
int rtw_usb_rxagg_mode = 2;/* RX_AGG_DMA=1, RX_AGG_USB=2 */
module_param(rtw_usb_rxagg_mode, int, 0644);
@ -612,6 +616,12 @@ module_param(rtw_pci_aspm_enable, int, 0644);
#ifdef CONFIG_TX_EARLY_MODE
module_param(rtw_early_mode, int, 0644);
#endif
#ifdef CONFIG_SW_LED
module_param(rtw_led_ctrl, int, 0644);
MODULE_PARM_DESC(rtw_led_ctrl,"Led Control: 0=Always off, 1=Normal blink, 2=Always on");
#endif
#ifdef CONFIG_ADAPTOR_INFO_CACHING_FILE
char *rtw_adaptor_info_caching_file_path = "/data/misc/wifi/rtw_cache";
module_param(rtw_adaptor_info_caching_file_path, charp, 0644);
@ -1307,6 +1317,9 @@ uint loadparam(_adapter *padapter)
#ifdef CONFIG_TX_EARLY_MODE
registry_par->early_mode = (u8)rtw_early_mode;
#endif
#ifdef CONFIG_SW_LED
registry_par->led_ctrl = (u8)rtw_led_ctrl;
#endif
registry_par->trx_path_bmp = (u8)rtw_trx_path_bmp;
registry_par->tx_path_lmt = (u8)rtw_tx_path_lmt;