#ifndef SERIAL_IRQ_H #define SERIAL_IRQ_H #include #include #include #ifdef __cplusplus extern "C" { #endif /* Sizes */ #define SIRQ_NUM_UART 3 /* Serial Ports */ typedef enum { SIRQ_UART0, SIRQ_UART1, SIRQ_UART2, } sirq_uart_t; /* Port */ typedef struct sirq_t sirq_t; /* Open */ sirq_t *sirq_open(sirq_uart_t uart, PinName tx, PinName rx, int baud, int buffered); /* Read/Write */ void sirq_putc(sirq_t *port, int byte); int sirq_getc(sirq_t *port); void sirq_write(sirq_t *port, void *data, int len); /* Transmit */ void sirq_transmit(sirq_t *port); /* Read In */ int sirq_ready(sirq_t *port); /* Debug print */ void sirq_debug(sirq_t *port); /* Print */ void sirq_vprintf(const char *fmt, va_list ap); void sirq_printf(const char *fmt, ...); #ifdef __cplusplus } #endif #endif