1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-16 12:55:19 +03:00

Renamed serial port callback

This commit is contained in:
Martin Budden 2016-08-07 07:20:38 +01:00
parent 98c5e0298a
commit 53981adbb7
7 changed files with 15 additions and 16 deletions

View file

@ -55,8 +55,7 @@ typedef struct serialPort_s {
uint32_t txBufferHead; uint32_t txBufferHead;
uint32_t txBufferTail; uint32_t txBufferTail;
// FIXME rename member to rxCallback serialReceiveCallbackPtr rxCallback;
serialReceiveCallbackPtr callback;
} serialPort_t; } serialPort_t;
struct serialPortVTable { struct serialPortVTable {

View file

@ -177,7 +177,7 @@ static void resetBuffers(softSerial_t *softSerial)
softSerial->port.txBufferHead = 0; softSerial->port.txBufferHead = 0;
} }
serialPort_t *openSoftSerial(softSerialPortIndex_e portIndex, serialReceiveCallbackPtr callback, uint32_t baud, portOptions_t options) serialPort_t *openSoftSerial(softSerialPortIndex_e portIndex, serialReceiveCallbackPtr rxCallback, uint32_t baud, portOptions_t options)
{ {
softSerial_t *softSerial = &(softSerialPorts[portIndex]); softSerial_t *softSerial = &(softSerialPorts[portIndex]);
@ -199,7 +199,7 @@ serialPort_t *openSoftSerial(softSerialPortIndex_e portIndex, serialReceiveCallb
softSerial->port.baudRate = baud; softSerial->port.baudRate = baud;
softSerial->port.mode = MODE_RXTX; softSerial->port.mode = MODE_RXTX;
softSerial->port.options = options; softSerial->port.options = options;
softSerial->port.callback = callback; softSerial->port.rxCallback = rxCallback;
resetBuffers(softSerial); resetBuffers(softSerial);
@ -315,8 +315,8 @@ void extractAndStoreRxByte(softSerial_t *softSerial)
uint8_t rxByte = (softSerial->internalRxBuffer >> 1) & 0xFF; uint8_t rxByte = (softSerial->internalRxBuffer >> 1) & 0xFF;
if (softSerial->port.callback) { if (softSerial->port.rxCallback) {
softSerial->port.callback(rxByte); softSerial->port.rxCallback(rxByte);
} else { } else {
softSerial->port.rxBuffer[softSerial->port.rxBufferHead] = rxByte; softSerial->port.rxBuffer[softSerial->port.rxBufferHead] = rxByte;
softSerial->port.rxBufferHead = (softSerial->port.rxBufferHead + 1) % softSerial->port.rxBufferSize; softSerial->port.rxBufferHead = (softSerial->port.rxBufferHead + 1) % softSerial->port.rxBufferSize;
@ -455,7 +455,7 @@ void softSerialWriteByte(serialPort_t *s, uint8_t ch)
void softSerialSetBaudRate(serialPort_t *s, uint32_t baudRate) void softSerialSetBaudRate(serialPort_t *s, uint32_t baudRate)
{ {
softSerial_t *softSerial = (softSerial_t *)s; softSerial_t *softSerial = (softSerial_t *)s;
openSoftSerial(softSerial->softSerialPortIndex, s->callback, baudRate, softSerial->port.options); openSoftSerial(softSerial->softSerialPortIndex, s->rxCallback, baudRate, softSerial->port.options);
} }
void softSerialSetMode(serialPort_t *instance, portMode_t mode) void softSerialSetMode(serialPort_t *instance, portMode_t mode)

View file

@ -93,7 +93,7 @@ static void uartReconfigure(uartPort_t *uartPort)
USART_Cmd(uartPort->USARTx, ENABLE); USART_Cmd(uartPort->USARTx, ENABLE);
} }
serialPort_t *uartOpen(USART_TypeDef *USARTx, serialReceiveCallbackPtr callback, uint32_t baudRate, portMode_t mode, portOptions_t options) serialPort_t *uartOpen(USART_TypeDef *USARTx, serialReceiveCallbackPtr rxCallback, uint32_t baudRate, portMode_t mode, portOptions_t options)
{ {
uartPort_t *s = NULL; uartPort_t *s = NULL;
@ -129,7 +129,7 @@ serialPort_t *uartOpen(USART_TypeDef *USARTx, serialReceiveCallbackPtr callback,
s->port.rxBufferHead = s->port.rxBufferTail = 0; s->port.rxBufferHead = s->port.rxBufferTail = 0;
s->port.txBufferHead = s->port.txBufferTail = 0; s->port.txBufferHead = s->port.txBufferTail = 0;
// callback works for IRQ-based RX ONLY // callback works for IRQ-based RX ONLY
s->port.callback = callback; s->port.rxCallback = rxCallback;
s->port.mode = mode; s->port.mode = mode;
s->port.baudRate = baudRate; s->port.baudRate = baudRate;
s->port.options = options; s->port.options = options;

View file

@ -55,8 +55,8 @@ void uartIrqCallback(uartPort_t *s)
if (SR & USART_FLAG_RXNE && !s->rxDMAChannel) { if (SR & USART_FLAG_RXNE && !s->rxDMAChannel) {
// If we registered a callback, pass crap there // If we registered a callback, pass crap there
if (s->port.callback) { if (s->port.rxCallback) {
s->port.callback(s->USARTx->DR); s->port.rxCallback(s->USARTx->DR);
} else { } else {
s->port.rxBuffer[s->port.rxBufferHead++] = s->USARTx->DR; s->port.rxBuffer[s->port.rxBufferHead++] = s->USARTx->DR;
if (s->port.rxBufferHead >= s->port.rxBufferSize) { if (s->port.rxBufferHead >= s->port.rxBufferSize) {

View file

@ -369,8 +369,8 @@ void usartIrqHandler(uartPort_t *s)
uint32_t ISR = s->USARTx->ISR; uint32_t ISR = s->USARTx->ISR;
if (!s->rxDMAChannel && (ISR & USART_FLAG_RXNE)) { if (!s->rxDMAChannel && (ISR & USART_FLAG_RXNE)) {
if (s->port.callback) { if (s->port.rxCallback) {
s->port.callback(s->USARTx->RDR); s->port.rxCallback(s->USARTx->RDR);
} else { } else {
s->port.rxBuffer[s->port.rxBufferHead++] = s->USARTx->RDR; s->port.rxBuffer[s->port.rxBufferHead++] = s->USARTx->RDR;
if (s->port.rxBufferHead >= s->port.rxBufferSize) { if (s->port.rxBufferHead >= s->port.rxBufferSize) {

View file

@ -237,8 +237,8 @@ static uartDevice_t* uartHardwareMap[] = {
void uartIrqHandler(uartPort_t *s) void uartIrqHandler(uartPort_t *s)
{ {
if (!s->rxDMAStream && (USART_GetITStatus(s->USARTx, USART_IT_RXNE) == SET)) { if (!s->rxDMAStream && (USART_GetITStatus(s->USARTx, USART_IT_RXNE) == SET)) {
if (s->port.callback) { if (s->port.rxCallback) {
s->port.callback(s->USARTx->DR); s->port.rxCallback(s->USARTx->DR);
} else { } else {
s->port.rxBuffer[s->port.rxBufferHead] = s->USARTx->DR; s->port.rxBuffer[s->port.rxBufferHead] = s->USARTx->DR;
s->port.rxBufferHead = (s->port.rxBufferHead + 1) % s->port.rxBufferSize; s->port.rxBufferHead = (s->port.rxBufferHead + 1) % s->port.rxBufferSize;

View file

@ -357,7 +357,7 @@ void closeSerialPort(serialPort_t *serialPort) {
// TODO wait until data has been transmitted. // TODO wait until data has been transmitted.
serialPort->callback = NULL; serialPort->rxCallback = NULL;
serialPortUsage->function = FUNCTION_NONE; serialPortUsage->function = FUNCTION_NONE;
serialPortUsage->serialPort = NULL; serialPortUsage->serialPort = NULL;