ME 507 Romi++
Cylindrical Differential Drive Robot created for ME 507 at Cal Poly in Spring 2025
Loading...
Searching...
No Matches
motor_task.h File Reference

Motor control task with feedback and coordination logic. More...

#include "motor_driver.h"
#include "encoder.h"
#include "bluetooth.h"
#include "command_parser.h"
#include "heading.h"
#include "balance.h"
#include "time_utils.h"
#include <stdint.h>
#include <algorithm>

Go to the source code of this file.

Classes

class  MOTOR_TASK
 Finite State Machine for low-level motor control. More...

Variables

TIM_HandleTypeDef htim1
 Timer handle for PWM generation on motor 1.
TIM_HandleTypeDef htim3
 Timer handle for encoder 1 (e.g., left wheel).
TIM_HandleTypeDef htim4
 Timer handle for encoder 2 (e.g., right wheel).
TIM_HandleTypeDef htim5
 Timer handle for motor 2 PWM generation.
BLUETOOTH bluetooth
 Global reference to Bluetooth control FSM.
COMMAND_PARSER parser
 Global reference to UART command parser.
HEADING heading
 Global reference to heading control task.
BALANCE balance
 Global reference to balance control task.
int32_t AR
 Global auto-reload value for timers.

Detailed Description

Motor control task with feedback and coordination logic.

Defines the MOTOR_TASK class, which uses encoder feedback and setpoints from various control modules (Bluetooth, Heading, Balance) to regulate motor speed and direction using PID control.

Variable Documentation

◆ parser

COMMAND_PARSER parser
extern

Global reference to UART command parser.

Global reference to UART command parser.

BNO055 data structure definition which hold euler, quaternion, linearaccel, gyro etc. parameters