How to design Half duplex UART (for ISO 7816) in CY20719 controller, earlier in PRoC controller this driver was part of the controller. And my second follow up question is - Whats the best alternative for debug msg exchange other than UART since there are only TWO UARTs available if we use one UART for ISO7816 then is it possible to use HCI_UART for the debug msg exchange. When I tried HCI_UART there is a delay in the msg getting populated in BtSpy tool.
Can you please explain what do you mean by half duplex UART here? Do you mean Tx only UART/Rx only UART?
You can achieve half duplex by disabling and enabling tx/rx using API wiced_hal_puart_disable_tx() and wiced_hal_puart_enable_tx(). Please refer wiced_hal_puart.h for more details.
To see the debug messages, you can use HCI UART using WICED_ROUTE_DEBUG_TO_HCI_UART in API wiced_set_debug_uart(). PUART and WICED UART are other options to see the debug messages.
We would like to use half-duplex on a UART interface to a peripheral (smart card chip) device, which has a single wire interface designed to be compatible with a UART. ISO7816 interface used by the Smart Card chip, where the host will interact using a single wire interface - by connecting UART TX and RX all together with a pullup resistor.
For more information on Half duplex click here.
As per my understanding PUART and the HCI UART are the debugging interfaces defined [ref WBT101-05-Debugging.pdf] , Using the debug UART we want to send a command/data to the CYW20719. PUART we will be using to interface with a peripheral device. HCI UART does not looks to be best choice since there is a data needs to be transmitted to the CYW20719 from the host debugging system. Let me know if there is any other options available to pass the debug msg.
For BT WICED chips, we do not have this feature tested, I am checking if hardware can support this or not.
Regarding debugging interfaces, as mentioned in WBT101-05-Debugging.pdf, you have two options: PUART and HCI UART. If I am not wrong, you want to connect CYW20719 to external host system, right? You can use HCI UART to achieve the purpose. It can be also used to send data along with commands.