| .. zephyr:code-sample:: uart-passthrough |
| :name: UART Passthrough |
| :relevant-api: uart_interface |
| |
| Pass data directly between the console and another UART interface. |
| |
| Overview |
| ******** |
| |
| This sample will virtually connect two UART interfaces together, as if Zephyr |
| and the processor were not present. Data read from the console is transmitted |
| to the "*other*" interface, and data read from the "*other*" interface is |
| relayed to the console. |
| |
| The source code for this sample application can be found at: |
| :zephyr_file:`samples/drivers/uart/passthrough`. |
| |
| Requirements |
| ************ |
| |
| #. One UART interface, identified as Zephyr's console. |
| #. A second UART connected to something interesting (e.g: GPS), identified as |
| the chosen ``uart,passthrough`` device - the pins and baudrate will need to |
| be configured correctly. |
| |
| Building and Running |
| ******************** |
| |
| Build and flash the sample as follows, changing ``nucleo_l476rg`` for your |
| board: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/drivers/uart/passthrough |
| :board: nucleo_l476rg |
| :goals: build flash |
| :compact: |
| |
| Sample Output |
| ============= |
| |
| .. code-block:: console |
| |
| *** Booting Zephyr OS build zephyr-v3.5.0-2988-gb84bab36b941 *** |
| Console Device: 0x8003940 |
| Other Device: 0x800392c |
| $GNGSA,A,3,31,29,25,26,,,,,,,,,11.15,10.66,3.29,1*06 |
| $GNGSA,A,3,,,,,,,,,,,,,11.15,10.66,3.29,2*0F |
| $GNGSA,A,3,,,,,,,,,,,,,11.15,10.66,3.29,3*0E |
| $GNGSA,A,3,,,,,,,,,,,,,11.15,10.66,3.29,4*09 |
| $GNGSA,A,3,,,,,,,,,,,,,11.15,10.66,3.29,5*08 |