Robot
The embedded systems for UTRA's autonomous humanoid soccer-playing robot
UART Handler (header)

Header for UART event processor, showing the public content. More...

Collaboration diagram for UART Handler (header):

Classes

struct  UARTcmd_t
 The container type for motor commands. The control thread sends these to the various UART handlers through the UART queues. The container provides all the information needed to generate the appropriate motor action (reading from or writing to motor command registers) More...
 
struct  IMUStruct
 The data structure which represents the data of the IMU, which is sent in queues between tasks. More...
 
struct  TXData_t
 This is the data structure copied into the sensor queue, and read by the thread that sends data to the PC. It includes 2 fields: one that indicates the type of data it encapsulates, and the other pointing to the data. More...
 

Enumerations

enum  eUARTcmd_t { cmdReadPosition, cmdWritePosition, cmdWriteTorque }
 Enumerates the types of motor commands that can be sent to the UART handlers. More...
 
enum  eTXData_t { eMotorData, eIMUData }
 Enumerates the types of data that can be sent to the sensor queue. This is used so that the reader of the queue will know how to typecast the void pointer so that the data can be interpreted correctly. See TXData_t for more details. More...
 

Functions

void UART_ProcessEvent (UARTcmd_t *cmdPtr, TXData_t *DataToSend)
 The UART event processor calls the low-level libraries to execute reads and writes for motors. More...
 

Detailed Description

Header for UART event processor, showing the public content.

Enumeration Type Documentation

◆ eTXData_t

enum eTXData_t

Enumerates the types of data that can be sent to the sensor queue. This is used so that the reader of the queue will know how to typecast the void pointer so that the data can be interpreted correctly. See TXData_t for more details.

Enumerator
eMotorData 

Indicates that the pointer is a Dynamixel_HandleTypeDef

eIMUData 

Indicates that the pointer is a MPU6050_HandleTypeDef

Definition at line 73 of file UART_Handler.h.

◆ eUARTcmd_t

enum eUARTcmd_t

Enumerates the types of motor commands that can be sent to the UART handlers.

Enumerator
cmdReadPosition 

Command to read motor position

cmdWritePosition 

Command to set new motor goal position

cmdWriteTorque 

Command to refresh the motor torque enable

Definition at line 43 of file UART_Handler.h.

Function Documentation

◆ UART_ProcessEvent()

void UART_ProcessEvent ( UARTcmd_t cmdPtr,
TXData_t DataToSend 
)

The UART event processor calls the low-level libraries to execute reads and writes for motors.

Parameters
cmdPtrthe handle for the command structure containing all relevant data fields
DataToSendthe handle for the data structure to copy into the sensor queue if a read is executed
Returns
None

Definition at line 43 of file UART_Handler.c.

Here is the call graph for this function:
Here is the caller graph for this function: