Hello, I’m working on the SL8080 FW 2.52.2.A5
I’m encountering problems entering W32K sleep mode and I’m 90% confident it has to do with data accumulating in the UART1 buffer. The data is a combination of unsolicited FW commands (+WIND, +CREG, etc) and my own application outputs from adl_atSendResponse().
While the serial cable is attached the device enters W32K sleep mode without issue because the UART1 buffer is able to clear. But with no serial cable attached the device is unable to enter sleep if any data has been sent to UART1 since removal of the cable. As soon as the cable is attached I see a small amount of data spit out onto my terminal and then the device enters sleep. Essentially I’m preventing the serial port from entering its own sleep state which is delaying the module sleep mode (at least how I see it - correct me if I’m wrong).
It is possible that I simply remove all outputs to UART1 in my application, but this is not ideal for debugging… I require visibility on the terminal side
Is there any way I can adjust the buffer settings on UART1 to not buffer data ?
OR
Is there any way to clear the buffer of data before entering sleep mode?
I’ve been working with the FCM APIs to subscribe to UART1, and then using the adl_fcmFlushV24TxData function to flush port before issuing the W32K command virtually. I’m not even sure if this flush function is what I want to be using.
Here is a similar topic in regards to the SL6087 and UART2, which I found very helpful BTW:
https://forum.sierrawireless.com/t/w32k-mode-and-unsolicited-messages/7631/3
Thanks in advance