Class BaseRobot

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class BaseRobot : public fang::robot::IRobot

All a robot does is manage subsystems and commands

  • extra specific stuff too sometimes

Subclassed by fang::robot::Pierce

Public Types

using Subsystems = std::vector<std::unique_ptr<tap::control::Subsystem>>
using CommandPacks = std::vector<std::unique_ptr<command::CommandPack>>

Public Functions

BaseRobot(tap::control::CommandScheduler &commandScheduler, Subsystems &&subsystems, CommandPacks &&commandPacks)

The base robot will take ownership of the information

BaseRobot(BaseRobot &&baseRobot)

This will make it a lot easier to utilize maker functions

virtual void initialize() override
inline virtual void update()

Not virtual so that it can be passed around in maker functions.

Protected Functions

void registerSubsystems()
void initializeSubsystems()
void initializeCommandPacks()