-
Notifications
You must be signed in to change notification settings - Fork 8.2k
stm32wba : ble-802.15.4 concurrent mode integration #97773
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
base: main
Are you sure you want to change the base?
stm32wba : ble-802.15.4 concurrent mode integration #97773
Conversation
|
The following west manifest projects have changed revision in this Pull Request:
Additional metadata changed:
⛔ DNM label due to: 1 project with PR revision, 1 project with metadata changes and 2 blob changes Note: This message is automatically posted and updated by the Manifest GitHub Action. |
37cc906 to
17625f4
Compare
6bb9f3c to
1c54b5e
Compare
etienne-lms
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For commit "soc: stm32: add parameter in link_layer_register_isr() function", suggested commit header line:
-soc: stm32: add parameter in link_layer_register_isr() function
+soc: st: stm32wba: hci_if: allow forcing ISR registrationI think the 3 first commits should be squashed unless what build would fail on the 1st commit and on the 2nd commits. Suggestion commit message:
soc: st: stm32wba: hci_if: allow forcing ISR registration
Add parameter to the link_layer_register_isr() ...
Update Bluetooth hci_stm32wba.c and IEEE 802.15.4 ieee802154_stm32wba.c
drivers accordingly.
Signed-off-by: ...
Can the west manifest be updated independently (in a specific commit), or is it needed regarding changes in the 3 first commits?
samples/boards/st/ble_802154/ble_hr_802154_echo_client/README.rst
Outdated
Show resolved
Hide resolved
samples/boards/st/ble_802154/ble_hr_802154_echo_client/README.rst
Outdated
Show resolved
Hide resolved
samples/boards/st/ble_802154/ble_hr_802154_echo_client/sample.yaml
Outdated
Show resolved
Hide resolved
samples/boards/st/ble_802154/ble_hr_802154_echo_client/src/app_ble.c
Outdated
Show resolved
Hide resolved
samples/boards/st/ble_802154/ble_hr_802154_echo_client/src/app_ble.c
Outdated
Show resolved
Hide resolved
1c54b5e to
0bf002f
Compare
The first three commits have been squashed as suggested |
0bf002f to
da83d2c
Compare
etienne-lms
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the sonarqubecloud reports are worth to be addressed IMHO. See the few comments below.
| if (ret < 0) { | ||
| LOG_ERR("Failed to set TLS_SEC_TAG_LIST option (%s): %d", | ||
| data->proto, errno); | ||
| ret = -errno; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As noticed by sonarqubecloud, error here is discarded. return ret seems missing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure that the fact that 'set TLS_SEC_TAG_LIST option' fails is critical:
If yes, I agree 'return ret' seems missing.
Else, we could just remove 'ret = -errno;'
| { | ||
| /* This means that we did not receive response in time. */ | ||
| struct udp_control *ctrl = CONTAINER_OF(timer, struct udp_control, rx_timer); | ||
| struct sample_data *data = (ctrl == conf.ipv4.udp.ctrl) ? &conf.ipv4 : &conf.ipv6; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| struct sample_data *data = (ctrl == conf.ipv4.udp.ctrl) ? &conf.ipv4 : &conf.ipv6; | |
| struct sample_data __maybe_unused *data = (ctrl == conf.ipv4.udp.ctrl) ? &conf.ipv4 : &conf.ipv6; |
da83d2c to
615a0b8
Compare
615a0b8 to
91907f2
Compare
d05cda2 to
219c50a
Compare
etienne-lms
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments.
| #define _STM32WBA_LINK_LAYER_PLAT_LOCAL_H_ | ||
|
|
||
| void link_layer_register_isr(void); | ||
| void link_layer_register_isr(bool force); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An line description comment would be nice to explicitly tell what force is about.
| set(gen_dir ${ZEPHYR_BINARY_DIR}/include/generated/) | ||
|
|
||
| generate_inc_file_for_target( | ||
| app |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nitpicking: I'd suggest 2 space char indentation, for consistency across the CMake script files.
| @@ -0,0 +1,62 @@ | |||
| # Private config options for ble HR - Networking echo-client sample app | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| # Private config options for ble HR - Networking echo-client sample app | |
| # Private config options for BLE HR - Networking echo-client sample app |
| .. zephyr:code-sample:: stm32_ble_hr_802154_echo_client | ||
| :name: BLE HR - 802154 Echo client (advanced) | ||
|
|
||
| Implement a Bluetooth |reg| Energy Heart Rate - ieee 802154 client. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Implement a Bluetooth |reg| Energy Heart Rate - ieee 802154 client. | |
| Implement a Bluetooth |reg| Energy Heart Rate - IEEE 802154 client. |
|
|
||
| Building and Running | ||
| ******************** | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you remove 1 of these empty lines?
| #define STATE_CONNECTED 1U | ||
| #define STATE_DISCONNECTED 2U | ||
|
|
||
| static void process_ble_hr(void); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add an empty line below.
| #define HAS_LED 1 | ||
| static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios); | ||
| #define BLINK_ONOFF K_MSEC(500) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| #define HAS_LED 1 | |
| static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios); | |
| #define BLINK_ONOFF K_MSEC(500) | |
| #define HAS_LED 1 | |
| #define BLINK_ONOFF K_MSEC(500) | |
| static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios); |
|
|
||
| static void process_ble_hr(void) | ||
| { | ||
| int err; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An empty line below is welcome.
| @@ -0,0 +1,465 @@ | |||
| /* ble-hr-802154-echo-client.c - Ble Heart Rate - Networking echo client */ | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| /* ble-hr-802154-echo-client.c - Ble Heart Rate - Networking echo client */ | |
| /* ble-hr-802154-echo-client.c - BLE Heart Rate - Networking echo client */ |
| } | ||
| #endif /* defined(CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) */ | ||
| #endif /* defined(CONFIG_NET_SOCKETS_SOCKOPT_TLS) */ | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could remove the extra empty line.
Yes, if it can be done in a generic (non-platform specific) way. Do we actually have abstractions in place for 2.4 GHz radio sharing, not just for Bluetooth and 802.15.4, but any 2.4GHz protocol (either standard or proprietary)? Not sure about the placement app, however. |
219c50a to
eb1b593
Compare
|
There is no test part in the sample.yaml of the concurrent mode sample because the KConfig BUILD_ONLY_NO_BLOBS is not supported for stm32 board. |
Add parameter to the link_layer_register_isr() to force or not the link layer isr registration in case of multiple function calls Update Bluetooth hci_stm32wba.c driver and IEEE 802.15.4 ieee802154_stm32wba.c driver accordingly. Signed-off-by: Vincent Tardy <[email protected]>
Integration of the BLE-802.15.4 concurrent mode on stm32wba. Signed-off-by: Vincent Tardy <[email protected]>
eb1b593 to
33d57f2
Compare
Add sample Bluetooth Heart Rate - 802154 Echo Client Signed-off-by: Vincent Tardy <[email protected]>
33d57f2 to
f49cb30
Compare
|
|
sample.yaml files has been removed |



Integration of the BLE-802.15.4 concurrent mode on stm32wba based on CubeWBA release 1.7.0
Add new sample application ble-802.15.4 echo_client concurrent mode