// -------------------------------------------------------------------------------------------------------------------- /// \file uart.h /// \brief File description // -------------------------------------------------------------------------------------------------------------------- // // vbchaos software design // // -------------------------------------------------------------------------------------------------------------------- /// $Revision: $ /// $Author: $ /// $Date: $ // (c) 2023 vbchaos // -------------------------------------------------------------------------------------------------------------------- #ifndef MAIN_HAL_INC_UART_H_ #define MAIN_HAL_INC_UART_H_ /** * uart implementation * \defgroup uart * \brief {group_description} * \addtogroup {Layer} * * Detailed description * @{ */ // -------------------------------------------------------------------------------------------------------------------- // Include files // -------------------------------------------------------------------------------------------------------------------- // CompilerIncludes // All include files that are provided by the compiler directly #include // ProjectIncludes // All include files that are provided by the project #include "ISerialBus.h" #include "driver/uart.h" // -------------------------------------------------------------------------------------------------------------------- // Constant and macro definitions // -------------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------------- // Type definitions. // -------------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------------- // Function declarations // -------------------------------------------------------------------------------------------------------------------- class uart : public ISerialBus { // ----------------------------------------------------------------------------------------------------------------- // Public Section // ----------------------------------------------------------------------------------------------------------------- public: // Class Constructor uart(uart_port_t* uartPort); ~uart(); FunctionStatus read(uint8_t deviceAddress, uint8_t registerAddress, uint8_t* buffer, uint32_t length, uint32_t* actualLength); FunctionStatus write(uint8_t deviceAddress, uint8_t registerAddress, uint8_t* buffer, uint32_t length); // ----------------------------------------------------------------------------------------------------------------- // Protected Section // ----------------------------------------------------------------------------------------------------------------- protected: // ----------------------------------------------------------------------------------------------------------------- // Private Section // ----------------------------------------------------------------------------------------------------------------- private: uart_port_t* port; }; /** @} */ #endif /* MAIN_HAL_INC_UART_H_ */