proxmark3/uart
Michael Farrell 067bfc8b76 Refactoring uart interface (#341)
* uart: Major cleanups
- Adds documentation to the uart API.
- Fixes a buffer overflow issue in `uart_receive`, where the maximum parameter was ignored.
- Splits the maximum length and bytes recieved variables in `uart_receive`.
- Downsizes the receive buffer to the minimum required, saving 16MiB of RAM at runtime.
- Refactors the POSIX and Win32 implementations of uart into separate files.
- Removes the unused `uart_{get,set}_parity` functions, which were not implemented on Win32.
2017-07-05 20:22:02 +02:00
..
README.md Refactoring uart interface (#341) 2017-07-05 20:22:02 +02:00
uart.h Refactoring uart interface (#341) 2017-07-05 20:22:02 +02:00
uart_posix.c Refactoring uart interface (#341) 2017-07-05 20:22:02 +02:00
uart_win32.c Refactoring uart interface (#341) 2017-07-05 20:22:02 +02:00

uart

This contains functionality for talking to UART/Serial devices on different platforms. The official client will build either uart_posix.c and uart_win32.c. Build targets for these files are contained in client/Makefile.

If you want to implement support for other platforms, you need to implement the methods provided in uart.h.

Implementing a new driver

Each driver is called with a string, typically containing a path or other reference to a serial port on the host. The methods outlined in uart.h need to be implemented.

The hardware uses common/usb_cdc.c to implement a USB CDC endpoint exposed by the Atmel MCU.