Files
qrcode-reader-hardware/main_prog/Core/Inc/uart_bridge.hpp
Mysteo91 c6211b1db1 --upd
2023-08-11 16:04:03 +03:00

43 lines
1.0 KiB
C++

//
// Created by Mysteo on 14.07.2023.
//
#ifndef READER_MAIN_PROG_UART_BRIDGE_HPP
#define READER_MAIN_PROG_UART_BRIDGE_HPP
#include "circular_buffer.hpp"
#include "usart.h"
#include "reader_communication.h"
#define BUF_SIZE 1024U
#define MAX_QUEUE 16
class UartBridge{
public:
UartBridge(bool isOn, USART_TypeDef *uart1, USART_TypeDef *uart2, uint16_t baudRate1,
uint16_t baudRate2);
Circular_Buffer<std::string_view> uart1Buf;
Circular_Buffer<std::string_view> uart2Buf;
bool isTurnOn() const;
void setTurnOn(bool isTurnOn);
volatile uint8_t dataFromUart1[BUF_SIZE];
volatile uint8_t dataFromUart2[BUF_SIZE];
void init(void);
private:
protected:
void uartInit(UART_HandleTypeDef* huart);
bool turnOn;
UART_HandleTypeDef uart1Handle, uart2Handle;
public:
UART_HandleTypeDef* getHuart1() ;
bool receiveStarted;
bool receiveTimeout = true;
UART_HandleTypeDef* getHuart2() ;
protected:
USART_TypeDef *uart1, *uart2;
};
#endif //READER_MAIN_PROG_UART_BRIDGE_HPP