CYW20819 LPM with UART flow control (2)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ToKo_4602001
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

 

https://community.cypress.com/t5/ModusToolbox-Bluetooth-SDK/CYW20819-LPM-and-UART/m-p/93362

On my previous thread, I got the following message.

"Please note that PUART hardware flow control has some in the current SDK. Our dev team has already fixed the issue, and the fix will be available on the next SDK."


Could I have the information whether the issue is fixed on SDK v2.9?
It seems that Hardware flow is disabled by LPM (ePDS) even if I use SDK v2.9.

 

0 Likes
1 Solution
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi,

I believe, the issue is fixed. 

May I know on which kit are you testing? If it is CYW920819EVB-02 kit, then please note that the the PUART’s RTS on the USB-Serial chip is not connected to any of the CYW20819 GPIOs.  Low power mode should not disable flow control. 

Thanks,

-Dheeraj

View solution in original post

0 Likes
4 Replies
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi,

I believe, the issue is fixed. 

May I know on which kit are you testing? If it is CYW920819EVB-02 kit, then please note that the the PUART’s RTS on the USB-Serial chip is not connected to any of the CYW20819 GPIOs.  Low power mode should not disable flow control. 

Thanks,

-Dheeraj

0 Likes

I tested this with our evaluation board that support UART hardware flow control (RTS/CTS).

It seems that the behavior about LPM is not changed. When waking-up from LPM, UART flow remains disabled.
By re-initializing in wake-up callback, UART flow control is re-initialized.

 

void lpm_post_sleep_callback(wiced_bool_t restore_configuration){

if(restore_configuration){
uart_reinit();
wiced_auth_chip_reinit();
}

return;
}

 

void uart_reinit(void){

wiced_hal_gpio_select_function(WICED_P00, WICED_UART_2_RTS);
wiced_hal_gpio_select_function(WICED_P10, WICED_UART_2_CTS);

wiced_hal_puart_flow_on();
CRITICAL_REGION_ENTER();

bt_app.flag_uart_reinit = 1;

CRITICAL_REGION_EXIT();

return;
}

 

0 Likes

Please show me whether next SDK will support the functionality to restore UART flow control automatically or we should restore it manually in wake-up callback function.

But I am facing the issue that there are the case that the callback is not generated........

0 Likes
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

As I said  in the previous thread, we have to call the platform init in the wake up call back. This is expected, not an issue

Please check https://www.cypress.com/documentation/application-notes/an225270-cyw208xx-ble-low-power-guidelines 

 

Thanks,

-Dheeraj

0 Likes