* @file uart.h
*/
-#ifndef _PM3_UART_H_
-#define _PM3_UART_H_
+#ifndef PM3_UART_H__
+#define PM3_UART_H__
-#include <stdio.h>
-#include <string.h>
#include <stdlib.h>
-
#include <stdint.h>
#include <stdbool.h>
-typedef unsigned char byte_t;
+/* Used to substitute for an example serial port path on each platform.
+ */
+#ifdef _WIN32
+#define SERIAL_PORT_H "com3"
+#elif __APPLE__
+#define SERIAL_PORT_H "/dev/tty.usbmodem*"
+#else
+#define SERIAL_PORT_H "/dev/ttyACM0"
+#endif
/* serial_port is declared as a void*, which you should cast to whatever type
* makes sense to your connection method. Both the posix and win32
*
* On errors, this method returns INVALID_SERIAL_PORT or CLAIMED_SERIAL_PORT.
*/
-serial_port uart_open(const char* pcPortName);
+extern serial_port uart_open(const char* pcPortName);
/* Closes the given port.
*/
-void uart_close(const serial_port sp);
+extern void uart_close(const serial_port sp);
/* Reads from the given serial port for up to 30ms.
* pbtRx: A pointer to a buffer for the returned data to be written to.
*
* Returns FALSE if there was an error reading from the device. Note that a
* partial read may have completed into the buffer by the corresponding
- * implementation, so pszRxLen should be checked to see if any data was written.
+ * implementation, so pszRxLen should be checked to see if any data was written.
*/
-bool uart_receive(const serial_port sp, byte_t* pbtRx, size_t pszMaxRxLen, size_t* pszRxLen);
+extern bool uart_receive(const serial_port sp, uint8_t* pbtRx, size_t pszMaxRxLen, size_t* pszRxLen);
/* Sends a buffer to a given serial port.
* pbtTx: A pointer to a buffer containing the data to send.
* szTxLen: The amount of data to be sent.
+ *
+ * Returns TRUE if all data could be sent within 30ms.
*/
-bool uart_send(const serial_port sp, const byte_t* pbtTx, const size_t szTxLen);
+extern bool uart_send(const serial_port sp, const uint8_t* pbtTx, const size_t szTxLen);
/* Sets the current speed of the serial port, in baud.
*/
/* Gets the current speed of the serial port, in baud.
*/
-uint32_t uart_get_speed(const serial_port sp);
+extern uint32_t uart_get_speed(const serial_port sp);
-#endif // _PM3_UART_H_
+#endif // PM3_UART_H__