1#ifndef RENSSELAERMOTORSPORT_CONTROLLER_SYSTEM_H
2#define RENSSELAERMOTORSPORT_CONTROLLER_SYSTEM_H
10#include "../Utils/Constants.h"
11#include "../Utils/Updateable.h"
12#include "../Scheduler/Task.h"
int c_defaultRemoveMonitor(ControllerSystem *controller, MonitorSystem *monitor)
Removes a monitor from the controller.
void initControllerSystem(ControllerSystem *controller, const char *name, int hz, ControllerType type, int(*updateController)(ControllerSystem *controller), void *child)
Initializes the Controller System with initial settings.
int c_defaultAddMonitor(ControllerSystem *controller, MonitorSystem *monitor)
Adds a monitor to the controller.
int c_defaultUpdate(Updateable *updateable)
Default update function for ControllerSystem objects.
int c_defaultSafety(ControllerSystem *controller)
Default safety function for ControllerSystem objects.
MonitorSystem * monitors[MAX_MONITORS]
int(* addMonitor)(struct ControllerSystem *controller, MonitorSystem *monitor)
int(* safety)(struct ControllerSystem *controller)
int(* updateController)(struct ControllerSystem *controller)
int(* removeMonitor)(struct ControllerSystem *controller, MonitorSystem *monitor)