Hello NXP team,
Is it possible to set minimum connection interval less than 7.5 MS to send data to central device.
I am using eatt peripheral and eatt central example code of KW45 EVK.
with regards
Chetan
Hello Nxp team ,
Can you tell me difference between shell and printf anc is shell uses DMA to print data in teraterm (in eatt cebtral sdk example) because I am now trying to implement dma to handle multiple device data.
I which example sdk to use for implementing dma as of now I used memory to memory transfer with shell but data printed less in teraterm.
I also have query I tried implementing lpuart with edma but it is not working i identified that Debug console I am unable to use in eatt central code.
Thanks
Chetan
To work with a Wireless MCU, the connectivity software implements its own serial manager divers, it doesn’t use the SDK debug console and therefore it doesn’t use the semihosting debug console. In addition to this the examples are implemented to work with the normal UART communication; Avoid using printf() directly to prevent blocking the BLE stack or interfering with timing-sensitive operations.
Also, will you help us confirm if you are working with the KW45-LOC or the KW45-EVK? As the EVK SDK contains examples for DMA that maybe will help you.
Could you help us confirm how are you implementing the lpuart with edma? Are you working with the example [lpuart_edma_transfer] from the KW45-EVK SDK and it is not working? or you made implementations for the eatt central code?
Best Regards
Luis
Hello,
The example [lpuart_edma_transfer] without modifications could be flashed in the KW45-LOC and execute program sending back received data echo every 8 characters. This example is dedicated for the SDK for the KW45B41Z-EVK, so please take care of your configurations made in KW45-LOC as it is not the intended board.
After flashing your board, please do a reset, then you should see a message like this for testing 8 numbers as example.
Could you help us sharing your log or give a description about what you referring with your comment on example not working please?
If you want to perform a BLE connection sending data reception and printing in teraterm with multiple devices, Could you use the Wireless UART example, this device can connect multiple devices, for your data characteristics please consider that, a short connection interval can cause congestion when multiple devices try to communicate with the same central antenna, leading to interference and potential data loss. It's important to note that the data rates advertised in Bluetooth specifications are theoretical; in real-world applications, actual throughput is much lower due to several factors
Best Regards, Luis
Hello Luis,
1.I am using wireless uart example for BLE how and when I trying to use lpuartedma example it is not printing anything in teraterm. I took reference of kw45b41zevk_lpuart_edma_transfer but not printing anything could you please guide me how to implement edma in wireless uart.
Board using KW45 LOC
2.can you please confirm whether shell use dma to store data or normal malloc is used to store and send data in teraterm.
Thanks and regards
Chetan
Hello Chetan,
To maintain a more organized support flow and ensure the conversation remains focused, could you please help me create this question in a separate NXP Community post?
Thank you for your understanding.
Best Regards
Hello,
I am sending multiple bytes using more than 180 at around 30 ms from 4 devices but as I increase number of device connected I see loss of data even I implemented 4 queue but I am receiving 65 per data only. I checked teraterm log at maximum baud rate possible.
Hello Chetan
A short connection interval can cause congestion when multiple devices try to communicate with the same central antenna, leading to interference and potential data loss. It's important to note that the data rates advertised in Bluetooth specifications are theoretical; in real-world applications, actual throughput is much lower due to several factors: a limited number of packets per connection interval, a mandatory 150-microsecond Inter Frame Space (IFS) delay between packets, transmission of empty packets to maintain the connection even when no data is sent, and protocol overhead where only part of each packet carries actual payload. These limitations become more pronounced when multiple devices are connected simultaneously to the same central device, further reducing available bandwidth and increasing the chance of data loss.
If you want to send the major number of raw data with the highest data transfer rate, NXP provides the example private profile in another MCUs SDK (QN9090) if can reorientate you with your end mission application, just take in consideration multiple devices can also cause data loss.
Best Regards
Luis
Hello,
The minimum connection interval that is allowed by the Bluetooth Core Specification is 7.5 ms.
You can check more details about this topic in the Bluetooth Core Specification, Vol 6, Part B, Section 4.5.1
So, per standard the connInterval can't be less than the 7.5 ms, would you help us with more details on what are you trying to achieve so that we can check if there is any recommendation we can provide to help you?
Regards
Hii ,
I am trying to connect 4 KW45 chip device to KW45 LOC board and sending 220 bytes data using BLE every 30ms , and I am successfully able to connect 4 devuce but while receiving data Loss observed I took log and analysed from kw45 LOC board output in uart.
Can you tell me the reason?
I am using Wireless uart to receive four device multiple device data in KW45 LOC board.
With regards
Chetan
Hello,
Could you help us confirm, what example are you using; The EATT or the Wireless Uart?
If you are using the Wireless Uart example, only modifying the number of devices without changing the data size, are you still seeing this issue?
Could you help us describe your modifications implemented?
While is it recommended to design small attribute value sizes, GATT layers as Wireless UART can only send 23 bytes of data in a radio packet setting the ATT packet default length to 23, The ATT packet length is set to maintain a logical mapping between radio packets and ATT packets.
I would recommend checking the series[1-4] of community post Bluetooth Low Energy - Working with long attributes on a GATT Server - Part 1: ATT_MTU - NXP Communi... if you need to send more bytes of data, as explains how to write long attributes involves writing queues, and modifying the ATT_MTU for both GATT client and server to support larger MTU with MTU exchange.