New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drivers: ieee802154: cc13xx/cc26xx_subg radio configuration #58439
drivers: ieee802154: cc13xx/cc26xx_subg radio configuration #58439
Commits on Jun 19, 2023
-
drivers: ieee802154: cc13/26xx_subg: clean up constants
The CC13xx/CC26xx Sub-GHz driver header file defined several constants that were not used in the driver. Other constants could be replaced with generic constants which were introduced in the prior commit. This change removes and/or replaces redundant definitions. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: remove redundant configuration
The low-level configuration of the chip's radio commands was mostly redundant. This change removes redundant configuration code. This is also relevant as a preparation to supporting further frequency bands and operating modes on the same SUN FSK channel page with similar but slightly different settings (center frequencies, channel spacing, modulation index as defined in the standard). The SUN FSK standard defines plenty of such variations with different physical characteristics and trade-offs. Such variations are highly relevant in industrial applications which will be targeted by TSCH. Using the correct settings is required for additional features (e.g. frequency hopping) and interoperability. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: remove dead code
The channel-to-frequency conversion had unreachable code which is removed in this change. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: fix invalid KConfig reference
The driver contained references to KConfig variables w/o the required CONFIG_ prefix. This change introduces the missing prefixes. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: readability improvements
This change introduces standard variable names used elsewhere in the stack for improved naming consistency and readability. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: fix/document non-standard CSMA/CA
The CC13xx/CC26xx Sub-GHz driver announces a hardware CSMA/CA capability which it provides only partially. This change documents the gap. The change also fixes two related issues with the current CCA implementation: - The given default ED threshold was above the allowed threshold defined in the specification. - The CCA timeout was not calculated according to the requirements defined in the standard. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: inline documentation
This change introduces inline documentation with references to the current version of the IEEE 802.15.4 standard. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: fix CCA method
The driver's CCA method had various issues and would always return an error code. This is fixed in this change. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Commits on Jun 20, 2023
-
drivers: ieee802154: cc13/26xx_subg: improve CSMA/CA compliance
Switch the driver to the soft CSMA/CA algorithm as an intermediate compromise for improved standard compliance (namely expontential backoff) until true hardware support can be implemented by chaining radio commands. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: remove unused radio commands
The CMD_CLEAR_RX and CMD_SET_TX_POWER commands are declared and initialized but not used anywhere. They are therefore removed to reduce RAM/flash footprint. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: conditional RX after set_channel
The call to radio_api->set_channel() must not switch on RX if it was previously off. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: fix header len const
The length field in the header refers to the size of the MAC so it shouldn't rely on constants describing PHY header length. While currently both constants have the same value this will no longer be true for enhanced PHYs and/or MAC frames as the number of FCS bytes may then be four. Also introduces an assertion that ensures that the given package buffer does not exceed the TX buffer's length. An assertion is enough as the package buffer is allocated at compile time. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: fix subg_start() return value
The radio API should indicate errors when the interface is started. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: fix PHY overrides
PHY overrides have been checked against the latest version of TI's SmartRF(TM) Studio. The result was regression tested (PER/performance) against LAUNCHXL-CC1352P1 boards. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
drivers: ieee802154: cc13/26xx_subg: R-to-P link workaround
A known issue exists that does not allow a CC13/26x2R device to establish a link to a CC13/26x2P device unless the capacitor array is tuned to a non-default value in the P device. See SimpleLink(TM) cc13xx_cc26xx SDK 6.20+ Release Notes, Known Issues. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
-
boards: cc1352p1_launchxl: fix antenna mux config
The antenna MUX configuration should explicitly define PULL states as giving no value will leave the GPIO register in an unspecified state. Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>