#include <stdarg.h>
#include <MKL46Z4.h>
+#include <PinNames.h>
#ifdef __cplusplus
extern "C" {
/* Port */
typedef struct sdma_t sdma_t;
+/* Open */
+sdma_t *sdma_open(sdma_uart_t uart, sdma_dma_t tx_chan, sdma_dma_t rx_chan);
+
/* Setup */
-sdma_t *sdma_open(sdma_uart_t uart, sdma_dma_t dma);
+void sdma_pinmap(sdma_t *port, PinName tx, PinName rx);
/* Write */
void sdma_write(sdma_t *port, void *data, int len);
+void sdma_read(sdma_t *port, void *data, int len);
+
+/* Flush/Wait */
+void sdma_flush(sdma_t *port, uint64_t *time);
+void sdma_wait(sdma_t *port, uint64_t *time);
/* Print */
void sdma_vprintf(sdma_t *port, const char *fmt, va_list ap);
void sdma_printf(sdma_t *port, const char *fmt, ...);
-/* Write */
-void sdma_flush(sdma_t *port);
-
#ifdef __cplusplus
}
#endif