This commit is contained in:
Mysteo91
2023-08-11 16:04:03 +03:00
parent e40a82a218
commit c6211b1db1
7 changed files with 134 additions and 30 deletions

View File

@@ -20,14 +20,14 @@ extern "C" void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t S
if (Size < 4)
return;
std::string_view stringView{(const char *) bridgePnt->dataFromUart1, Size};
bridgePnt->uart1Buf->enqueue(stringView);
bridgePnt->uart1Buf.enqueue(stringView);
} else if (huart == bridgePnt->getHuart2()) {
HAL_UARTEx_ReceiveToIdle_IT(bridgePnt->getHuart2(), (uint8_t *) bridgePnt->dataFromUart2, BUF_SIZE);
if (Size < 4)
return;
std::string_view stringView{(const char *) bridgePnt->dataFromUart2, Size};
bridgePnt->uart2Buf->enqueue(stringView);
bridgePnt->uart2Buf.enqueue(stringView);
}
@@ -36,10 +36,10 @@ extern "C" void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t S
UartBridge::UartBridge(bool isOn, USART_TypeDef *uart1, USART_TypeDef *uart2, uint16_t baudRate1,
uint16_t baudRate2) : turnOn(isOn),
uart1(uart1),
uart2(uart2) {
uart2(uart2),
uart1Buf(Circular_Buffer<std::string_view>(MAX_QUEUE)),
uart2Buf(Circular_Buffer<std::string_view>(MAX_QUEUE)){
bridgePnt = this;
UartBridge::uart1Buf = new Circular_Buffer<std::string_view>(MAX_QUEUE);
UartBridge::uart2Buf = new Circular_Buffer<std::string_view>(MAX_QUEUE);
uart1Handle.Instance = uart1;
uart1Handle.Init.BaudRate = baudRate1;
uart1Handle.Init.WordLength = UART_WORDLENGTH_8B;