/* * CBus.c * * Created on: Jun 14, 2021 * Author: angoosh */ #include "CBus.h" void ReadRxBuffer(); void SendPacket(); uint8_t ptr = 0; uint8_t RX[1]; uint8_t WholeRxBuffer[RX_BUFFER_SIZE]; CBusPacket RxPacket; CBusPacket TxPacket; uint8_t CBusBufTx[64]; uint8_t CBusBufTxSize; void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){ WholeRxBuffer[ptr] = RX[0]; ptr++; //CLEAR_BIT(huart->Instance->ISR,USART_ISR_RXNE); HAL_UART_Receive_IT(&huart3, RX, 1); } void CBusBA(uint8_t byte){ #ifdef PREFIXINPACKETACTION if(byte == PREFIX){ CBusBufTx[CBusBufTxSize++] = 0xBB; CBusBufTx[CBusBufTxSize++] = 0xBC; } else if(byte == 0xBB){ CBusBufTx[CBusBufTxSize++] = 0xBB; CBusBufTx[CBusBufTxSize++] = 0xBB; } else{ CBusBufTx[CBusBufTxSize++] = byte; } #else CBusBufTx[CBusBufTxSize++] = byte; #endif } void ReadRxBuffer(){ uint8_t packtStart = 0; for(int l = 0; l