Using two UART-based protocols on the same UART link


Vincent Guenat <vincent.guenat@...>
 

Hello there!

I have a Zephyr-based module connected to a host via a UART connection and I would like to use two different protocols, namely Bluetooth HCI (as shown in zephyr/samples/bluetooth/hci_uart/src/main.c) and MCUmgr's SMP (as shown in zephyr/subsys/mgmt/mcumgr/smp_uart.c). From the source code I understand that each of them is registering a callback to the UART subsystem with uart_irq_callback_set and uart_irq_callback_user_data_set to be notified when new data is available, but, obviously, only one gets the data.

Is there a way to make the HCI and SMP UART drivers collaborate? I thought maybe having a different ISR that would forward the data to one or the other subsystem depending on the received bytes could be a solution.

Best regards,
Vincent Guenat

________________________________

Safran Passenger Innovations Germany GmbH, Registergericht: München HRB 141647, Vat.: DE 813396184 Geschäftsführerin: Núria Riera Díaz

________________________________

This email and any files transmitted with it are confidential & proprietary to Safran Passenger Innovations. This information is intended solely for the use of the individual or entity to which it is addressed. Access or transmittal of the information contained in this e-mail, in full or in part, to any other organization or persons is not authorized.