Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
fang::communication::CoolSerialUart< kPort, kBaudrate > Class Template Reference

#include <cool_serial_uart.hpp>

Public Types

using DataHandlerRef = std::reference_wrapper< coolSerial::IDataHandler >
 
using HandlerMap = std::unordered_map< coolSerial::Byte, DataHandlerRef >
 

Public Member Functions

 CoolSerialUart (tap::Drivers &drivers, const HandlerMap &handlerMap)
 
 CoolSerialUart (tap::Drivers &drivers)
 
void initialize ()
 
void update ()
 
void addHandler (coolSerial::Byte dataType, DataHandlerRef handler)
 

Detailed Description

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
class fang::communication::CoolSerialUart< kPort, kBaudrate >

TODO: Create a better UART interface than taproot that adapts to modm's UART For testing reasons, we are using the hardcoded modm.

Or at least decouple the uart from taproots UartTerminalDevice to allow custom ports and baudrates.

921600 is the default baudrate for CV Chip

Member Typedef Documentation

◆ DataHandlerRef

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
using fang::communication::CoolSerialUart< kPort, kBaudrate >::DataHandlerRef = std::reference_wrapper<coolSerial::IDataHandler>

◆ HandlerMap

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
using fang::communication::CoolSerialUart< kPort, kBaudrate >::HandlerMap = std::unordered_map<coolSerial::Byte, DataHandlerRef>

Constructor & Destructor Documentation

◆ CoolSerialUart() [1/2]

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
fang::communication::CoolSerialUart< kPort, kBaudrate >::CoolSerialUart ( tap::Drivers drivers,
const HandlerMap handlerMap 
)
inline

◆ CoolSerialUart() [2/2]

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
fang::communication::CoolSerialUart< kPort, kBaudrate >::CoolSerialUart ( tap::Drivers drivers)
inline

Member Function Documentation

◆ addHandler()

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
void fang::communication::CoolSerialUart< kPort, kBaudrate >::addHandler ( coolSerial::Byte  dataType,
DataHandlerRef  handler 
)
inline

HINT: DataHandlerRef{handler} where handler inherits and implements IDataHandler's functions

◆ initialize()

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
void fang::communication::CoolSerialUart< kPort, kBaudrate >::initialize ( )
inline

◆ update()

template<tap::communication::serial::Uart::UartPort kPort, int kBaudrate>
void fang::communication::CoolSerialUart< kPort, kBaudrate >::update ( )
inline

The documentation for this class was generated from the following file: