diff --git a/baseflight.uvproj b/baseflight.uvproj index 3d5e23a4f8..e9deda99e6 100755 --- a/baseflight.uvproj +++ b/baseflight.uvproj @@ -672,6 +672,11 @@ 1 .\src\drv_bma280.c + + drv_serial.c + 1 + .\src\drv_serial.c + @@ -1518,6 +1523,11 @@ 1 .\src\drv_bma280.c + + drv_serial.c + 1 + .\src\drv_serial.c + @@ -2548,6 +2558,11 @@ 1 .\src\drv_bma280.c + + drv_serial.c + 1 + .\src\drv_serial.c + diff --git a/src/drv_serial.c b/src/drv_serial.c index 234bb55947..35c8060362 100644 --- a/src/drv_serial.c +++ b/src/drv_serial.c @@ -1,6 +1,5 @@ #include "board.h" - void serialPrint(serialPort_t *instance, const char *str) { uint8_t ch; @@ -12,4 +11,30 @@ void serialPrint(serialPort_t *instance, const char *str) inline uint32_t serialGetBaudRate(serialPort_t *instance) { return instance->baudRate; -} \ No newline at end of file +} + +inline void serialWrite(serialPort_t *instance, uint8_t ch) +{ + instance->vTable->serialWrite(instance, ch); +} + +inline uint8_t serialTotalBytesWaiting(serialPort_t *instance) +{ + return instance->vTable->serialTotalBytesWaiting(instance); +} + +inline uint8_t serialRead(serialPort_t *instance) +{ + return instance->vTable->serialRead(instance); +} + +inline void serialSetBaudRate(serialPort_t *instance, uint32_t baudRate) +{ + instance->vTable->serialSetBaudRate(instance, baudRate); +} + +inline bool isSerialTransmitBufferEmpty(serialPort_t *instance) +{ + return instance->vTable->isSerialTransmitBufferEmpty(instance); +} + diff --git a/src/drv_serial.h b/src/drv_serial.h index 8643b3b4c4..de3d674385 100644 --- a/src/drv_serial.h +++ b/src/drv_serial.h @@ -39,31 +39,10 @@ struct serialPortVTable { bool (*isSerialTransmitBufferEmpty)(serialPort_t *instance); }; -static inline void serialWrite(serialPort_t *instance, uint8_t ch) -{ - instance->vTable->serialWrite(instance, ch); -} - -static inline uint8_t serialTotalBytesWaiting(serialPort_t *instance) -{ - return instance->vTable->serialTotalBytesWaiting(instance); -} - -static inline uint8_t serialRead(serialPort_t *instance) -{ - return instance->vTable->serialRead(instance); -} - -static inline void serialSetBaudRate(serialPort_t *instance, uint32_t baudRate) -{ - instance->vTable->serialSetBaudRate(instance, baudRate); -} - -static inline bool isSerialTransmitBufferEmpty(serialPort_t *instance) -{ - return instance->vTable->isSerialTransmitBufferEmpty(instance); -} - +inline void serialWrite(serialPort_t *instance, uint8_t ch); +inline uint8_t serialTotalBytesWaiting(serialPort_t *instance); +inline uint8_t serialRead(serialPort_t *instance); +inline void serialSetBaudRate(serialPort_t *instance, uint32_t baudRate); +inline bool isSerialTransmitBufferEmpty(serialPort_t *instance); void serialPrint(serialPort_t *instance, const char *str); uint32_t serialGetBaudRate(serialPort_t *instance); - diff --git a/src/main.c b/src/main.c index 84f0997d3d..033d49c59b 100755 --- a/src/main.c +++ b/src/main.c @@ -19,7 +19,7 @@ static void _putc(void *p, char c) int fputc(int c, FILE *f) { // let DMA catch up a bit when using set or dump, we're too fast. - while (!isUartTransmitEmpty(core.mainport)); + while (!isSerialTransmitBufferEmpty(core.mainport)); serialWrite(core.mainport, c); return c; }