diff options
Diffstat (limited to 'flash/uart_boot/uart.h')
-rw-r--r-- | flash/uart_boot/uart.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/flash/uart_boot/uart.h b/flash/uart_boot/uart.h new file mode 100644 index 0000000000..46b082c497 --- /dev/null +++ b/flash/uart_boot/uart.h @@ -0,0 +1,56 @@ +// A general definition for the required UART functionality. +// This will be used to gain platform abstraction. + +#ifndef _UART_H +#define _UART_H + +// data types + +typedef void* tUartHandle; +#define INVALID_UART_HANDLE (tUartHandle)-1 + +typedef enum +{ + eNOPARITY, + eODDPARITY, + eEVENPARITY, + eMARKPARITY, + eSPACEPARITY, +} tParity; + +typedef enum +{ + eONESTOPBIT, + eONE5STOPBITS, + eTWOSTOPBITS, +} tStopBits; + + +// prototypes + +tUartHandle UartOpen( // returns NULL on error + char* szPortName); // COMx for windows + +bool UartConfig( // returns true on success, false on error + tUartHandle handle, // the handle returned from UartOpen() + long lBaudRate, // must be one of the "standard" baudrates + tParity nParity, // what kind of parity + tStopBits nStopBits, // how many stop bits + int nByteSize); // size of the "payload", can be 5 to 8 + +long UartWrite( // returns how much data was actually transmitted + tUartHandle handle, // the handle returned from UartOpen() + unsigned char* pData, // pointer to the data to be transmitted + long lSize); // how many bytes + +long UartRead( // returns how much data was actually received + tUartHandle handle, // the handle returned from UartOpen() + unsigned char* pBuffer, // pointer to the destination + long lSize); // how many bytes to read (pBuffer must have enough room) + + +void UartClose(tUartHandle handle); + + + +#endif // _UART_H
\ No newline at end of file |