diff --git a/src/auto/FiveBallRoutine.cpp b/src/auto/FiveBallRoutine.cpp new file mode 100644 index 0000000..dd6301f --- /dev/null +++ b/src/auto/FiveBallRoutine.cpp @@ -0,0 +1,20 @@ +#include "FiveBallRoutine.h" + +FiveBallRoutinePickup::FiveBallRoutinePickup() : COREAuton("Three Ball Routine") {} + +void FiveBallRoutinePickup::AddNodes() { + delayNode = new Node(5, new DelayAction()); + launcherOnNode = new Node(5, new LaunchBallsAction(LAUNCHER_ON)); + intakeOnNode = new Node(5, new IntakePowerCellsAction(INTAKE)); + driveNode1 = new Node(5, new DriveAction(BACKWARD)); //replace with pathfinder + driveNode2 = new Node(5, new DriveAction(FORWARD)); //replace with pathfinder + conveyorOnNode = new Node(5, new ConveyorAction(CONVEYOR_ON)); + AddFirstNode(delayNode); + delayNode->AddNext(launcherOnNode); + launcherOnNode->AddNext(intakeOnNode); + intakeOnNode->AddNext(driveNode1); + driveNode1->AddNext(driveNode2); + driveNode2->AddNext(conveyorOnNode); + conveyorOnNode->AddNext(intakeOnNode); + intakeOnNode->AddNext(driveNode1); +} diff --git a/src/auto/FiveBallRoutine.h b/src/auto/FiveBallRoutine.h new file mode 100644 index 0000000..d37d828 --- /dev/null +++ b/src/auto/FiveBallRoutine.h @@ -0,0 +1,26 @@ +#pragma once + +#include +#include +#include "LaunchBallsAction.h" +#include "ConveyorAction.h" +#include "DriveAction.h" +#include "DelayAction.h" +#include "IntakePowerCellsAction.h" +// #include "AutonActionTest.h" + +using namespace CORE; +using namespace std; + +class FiveBallRoutinePickup: public COREAuton { +public: + FiveBallRoutinePickup(); + void AddNodes() override; +private: + Node * delayNode; + Node * launcherOnNode; + Node * conveyorOnNode; + Node * intakeOnNode; + Node * driveNode1; + Node * driveNode2; +}; diff --git a/src/auto/ThreeBallRoutinePickup.cpp b/src/auto/ThreeBallRoutinePickup.cpp new file mode 100644 index 0000000..501ae08 --- /dev/null +++ b/src/auto/ThreeBallRoutinePickup.cpp @@ -0,0 +1,16 @@ +#include "ThreeBallRoutinePickup.h" + +ThreeBallRoutinePickup::ThreeBallRoutinePickup() : COREAuton("Three Ball Routine") {} + +void ThreeBallRoutinePickup::AddNodes() { + delayNode = new Node(5, new DelayAction()); + launcherOnNode = new Node(5, new LaunchBallsAction(LAUNCHER_ON)); + conveyorOnNode = new Node(5, new ConveyorAction(CONVEYOR_ON)); + intakeOnNode = new Node(5, new IntakePowerCellsAction(INTAKE)); + driveNode = new Node(5, new DriveAction(FORWARD)); //replace with pathfinder + AddFirstNode(delayNode); + delayNode->AddNext(launcherOnNode); + launcherOnNode->AddNext(conveyorOnNode); + conveyorOnNode->AddNext(intakeOnNode); + intakeOnNode->AddNext(driveNode); +} diff --git a/src/auto/ThreeBallRoutinePickup.h b/src/auto/ThreeBallRoutinePickup.h new file mode 100644 index 0000000..2ff5b62 --- /dev/null +++ b/src/auto/ThreeBallRoutinePickup.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include +#include "LaunchBallsAction.h" +#include "ConveyorAction.h" +#include "DriveAction.h" +#include "DelayAction.h" +#include "IntakePowerCellsAction.h" +// #include "AutonActionTest.h" + +using namespace CORE; +using namespace std; + +class ThreeBallRoutinePickup: public COREAuton { +public: + ThreeBallRoutinePickup(); + void AddNodes() override; +private: + Node * delayNode; + Node * launcherOnNode; + Node * conveyorOnNode; + Node * intakeOnNode; + Node * driveNode; +};