RDKBWIFI-477 Add ACS channel exclusion list support#1229
Open
santhoshg6 wants to merge 1 commit into
Open
Conversation
Reason for change: Introduce support for configuring ACS (Auto Channel Selection) channel exclusion list via RBUS and control queue. Changes: - Added RBUS API: Device.WiFi.X_RDKCENTRAL-COM_StartACS - Introduced event: wifi_event_type_command_start_acs - Implemented JSON parsing and validation for ACS exclusion list - Integrated HAL API to apply exclusion list - Trigger ACS restart if current channel is excluded - Added full RBUS → queue → HAL flow Signed-off-by: sgunasekaran@maxlinear.com
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an RBUS-triggered “StartACS” command path that carries an ACS channel exclusion list from RBUS → ctrl queue → HAL, and optionally restarts ACS when the current operating channel is excluded.
Changes:
- Introduces a new command event subtype (
wifi_event_type_command_start_acs) and wires it into the command-event dispatch path. - Adds RBUS method
Device.WiFi.X_RDKCENTRAL-COM_StartACSto enqueue a StartACS request into the control queue. - Implements JSON decoding/validation for ACS exclusion list payloads and applies the result via a HAL call, restarting ACS when required.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| source/core/wifi_events.c | Adds string mapping for the new StartACS command subtype. |
| source/core/wifi_ctrl_rbus_handlers.c | Registers the new RBUS method and enqueues the StartACS JSON payload to the control queue. |
| source/core/wifi_ctrl_queue_handlers.c | Adds JSON parsing/validation and the queue handler that applies the exclusion list via HAL and restarts ACS if needed. |
| include/wifi_events.h | Extends command subtype enum with wifi_event_type_command_start_acs. |
| include/wifi_base.h | Adds RBUS element name macro for Device.WiFi.X_RDKCENTRAL-COM_StartACS. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+4330
to
+4345
| pTmp = (char *)p_data->raw_data.bytes; | ||
| payload_len = p_data->raw_data_len; | ||
|
|
||
| if (pTmp == NULL || pTmp[0] == '\0' || payload_len == 0) { | ||
| wifi_util_error_print(WIFI_CTRL, "%s:%d payload is NULL or empty\n", | ||
| __func__, __LINE__); | ||
| return bus_error_invalid_input; | ||
| } | ||
|
|
||
| pTmp[payload_len] = '\0'; | ||
|
|
||
| wifi_util_info_print(WIFI_CTRL, "%s:%d StartACS request received: '%s'\n", | ||
| __func__, __LINE__, pTmp); | ||
|
|
||
| push_event_to_ctrl_queue(pTmp, (payload_len + 1), wifi_event_type_command, | ||
| wifi_event_type_command_start_acs, NULL); |
Comment on lines
+4565
to
+4567
| cJSON *ch_len_obj = cJSON_GetObjectItemCaseSensitive(entry, "exclude_channels_length"); | ||
| total_channels += ch_len_obj->valueint; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reason for change:
Introduce support for configuring ACS (Auto Channel Selection) channel exclusion list via RBUS and control queue.
Changes:
Signed-off-by: sgunasekaran@maxlinear.com
Dep PR: rdkcentral/rdk-wifi-hal#764 and rdkcentral/rdkb-halif-wifi#115