mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-10-26 05:56:57 +08:00
* 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.
|
||
|---|---|---|
| .. | ||
| README.md | ||
| uart.h | ||
| uart_posix.c | ||
| uart_win32.c | ||
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.