Skip to content

Commit 437b540

Browse files
author
Tom Lazar
committed
gvjvhk
1 parent a47fad9 commit 437b540

File tree

4 files changed

+65
-124
lines changed

4 files changed

+65
-124
lines changed

src/Autonomous/CommandListMaker.cpp

Lines changed: 46 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,9 @@
44
* Created on: Feb 16, 2016
55
* Author: lazar
66
*/
7-
#define RAMPARTS 0
8-
#define LOWBAR 1
9-
#define ROCKWALL 2
10-
#define DEBRIS 3
11-
#define MOAT 4
12-
#define DRAW 5
13-
#define CHEVAL 6
14-
#define SALLY 7
15-
#define PORTI 8
16-
177
#include <Autonomous/CommandListMaker.h>
188
#include "WPILib.h"
199

20-
namespace AutoConstants{
21-
const std::string pos1 = "Position One";
22-
const std::string pos2 = "Position Two";
23-
const std::string pos3 = "Position Three";
24-
const std::string pos4 = "Position Four";
25-
const std::string pos5 = "Position Five";
26-
27-
const std::string ram = "Ramparts";
28-
const std::string low = "Low Bar";
29-
const std::string rock = "Rock Wall";
30-
const std::string port = "Portculis";
31-
const std::string chev = "Cheval de Frise";
32-
const std::string sall = "Sally Port";
33-
const std::string deb = "Rough Terrain";
34-
const std::string moat = "Moat";
35-
const std::string draw = "Drawbridge";
36-
37-
38-
}
39-
4010
CommandListMaker::CommandListMaker(IProfile *p) {
4111
profile = p;
4212
storage = new std::vector<stepBase*>();
@@ -47,33 +17,29 @@ CommandListMaker::CommandListMaker(IProfile *p) {
4717
CommandListMaker::~CommandListMaker()
4818
{
4919
delete storage;
50-
// TODO Auto-generated destructor stub
5120
}
5221

5322
void CommandListMaker::RobotInit()
5423
{
55-
56-
5724
autoPosition = new SendableChooser();
58-
autoPosition->AddObject(AutoConstants::pos1, (void*)1);
59-
autoPosition->AddObject(AutoConstants::pos2, (void*)2);
60-
autoPosition->AddObject(AutoConstants::pos3, (void*)3);
61-
autoPosition->AddObject(AutoConstants::pos4, (void*)4);
62-
autoPosition->AddObject(AutoConstants::pos5, (void*)5);
25+
autoPosition->AddDefault(low, (void*)&low);
26+
autoPosition->AddObject(ram, (void*)&ram);
27+
autoPosition->AddObject(rock, (void*)&rock);
28+
autoPosition->AddObject(port, (void*)&port);
29+
autoPosition->AddObject(chev, (void*)&chev);
30+
autoPosition->AddObject(sall, (void*)&sall);
31+
autoPosition->AddObject(deb, (void*)&deb);
32+
autoPosition->AddObject(moat, (void*)&moat);
33+
autoPosition->AddObject(draw, (void*)&draw);
34+
SmartDashboard::PutData("Position", autoPosition);
6335

6436
autoDefence = new SendableChooser();
65-
autoDefence->AddObject(AutoConstants::rock,(void*)ROCKWALL);
66-
autoDefence->AddObject(AutoConstants::low, (void*)LOWBAR);
67-
autoDefence->AddObject(AutoConstants::ram, (void*)RAMPARTS);
68-
autoDefence->AddObject(AutoConstants::port, (void*)PORTI);
69-
autoDefence->AddObject(AutoConstants::chev, (void*)CHEVAL);
70-
autoDefence->AddObject(AutoConstants::sall, (void*)SALLY);
71-
autoDefence->AddObject(AutoConstants::deb, (void*)DEBRIS);
72-
autoDefence->AddObject(AutoConstants::moat, (void*)MOAT);
73-
autoDefence->AddObject(AutoConstants::draw, (void*)DRAW);
74-
75-
SmartDashboard::PutData("Auto Defence", autoDefence);
76-
SmartDashboard::PutData("Auto Position", autoPosition);
37+
autoDefence->AddDefault(pos1, (void*)&pos1);
38+
autoDefence->AddObject(pos2, (void*)&pos2);
39+
autoDefence->AddObject(pos3, (void*)&pos3);
40+
autoDefence->AddObject(pos4, (void*)&pos4);
41+
autoDefence->AddObject(pos5, (void*)&pos5);
42+
SmartDashboard::PutData("Defence", autoDefence);
7743
}
7844

7945
void CommandListMaker::makeBasic()
@@ -112,57 +78,71 @@ void CommandListMaker::makeBasic()
11278

11379

11480
void CommandListMaker::makeDefenceBreaker() {
115-
int def = (int)autoDefence->GetSelected();
116-
int pos = (int)autoPosition->GetSelected();
81+
void* temp = autoPosition->GetSelected();
82+
std::string* dt = static_cast<std::string*>(temp);
83+
std::string defence = *dt;
84+
85+
temp = autoDefence->GetSelected();
86+
dt = static_cast<std::string*>(temp);
87+
std::string position = *dt;
88+
89+
delete dt;
90+
delete temp;
11791

11892
driveStep* drive = new driveStep();
119-
switch (def) {
120-
case DEBRIS:
93+
94+
if(defence.compare(deb) == 0) //DEBRIS
95+
{
12196
drive->stepNum = 0;
12297
drive->command = stepBase::driveStraight;
12398
drive->distance = 2.0;
12499
drive->speed = .75;
125100
storage->push_back(drive);
126-
break; //TODO
127-
case RAMPARTS:
101+
}
102+
else if (defence.compare(ram)) //RAMPARTS
103+
{
128104
drive->stepNum = 0;
129105
drive->command = stepBase::driveStraight;
130106
drive->distance = 2.0;
131107
drive->speed = .75;
132108
storage->push_back(drive);
133-
break; //TODO
134-
case LOWBAR:
109+
}
110+
else if(defence.compare(rock)) //ROCK WALL
111+
{
135112
drive->stepNum = 0;
136113
drive->command = stepBase::driveStraight;
137114
drive->distance = 2.0;
138115
drive->speed = .75;
139116
storage->push_back(drive);
140-
break; //TODO
141-
case MOAT:
117+
}
118+
else if(defence.compare(low)) // LOW BAR
119+
{
142120
drive->stepNum = 0;
143121
drive->command = stepBase::driveStraight;
144122
drive->distance = 2.0;
145123
drive->speed = .75;
146124
storage->push_back(drive);
147-
break; //TODO
148-
case ROCKWALL:
125+
}
126+
else if(defence.compare(moat) == 0) // DRAWBRIDGE
127+
{
149128
drive->stepNum = 0;
150129
drive->command = stepBase::driveStraight;
151130
drive->distance = 2.0;
152131
drive->speed = .75;
153132
storage->push_back(drive);
154-
break; //TODO
155-
case PORTI:
133+
}
134+
else //THE OTHERS
135+
{
156136
drive->stepNum = 0;
157137
drive->command = stepBase::driveStraight;
158138
drive->distance = 2.0;
159139
drive->speed = .75;
160140
storage->push_back(drive);
161-
break; //TODO
162141
}
163142

164-
turnStep *turn = new turnStep();
165143

144+
turnStep *turn = new turnStep();
145+
int pos = position[position.length()-1] - '0';
166146
switch (pos) {
167147
case 1:
168148
turn->stepNum = 1;

src/Autonomous/CommandListMaker.h

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,27 @@ class CommandListMaker {
2626

2727
vector<stepBase*>* getList();
2828

29-
SendableChooser *autoPosition;
30-
SendableChooser *autoDefence;
29+
3130

3231
private:
32+
const std::string ram = "Ramparts";
33+
const std::string low = "Low Bar";
34+
const std::string rock = "Rock Wall";
35+
const std::string port = "Portculis";
36+
const std::string chev = "Cheval de Frise";
37+
const std::string sall = "Sally Port";
38+
const std::string deb = "Rough Terrain";
39+
const std::string moat = "Moat";
40+
const std::string draw = "Drawbridge";
41+
42+
const std::string pos1 = "Position 1";
43+
const std::string pos2 = "Position 2";
44+
const std::string pos3 = "Position 3";
45+
const std::string pos4 = "Position 4";
46+
const std::string pos5 = "Position 5";
47+
48+
SendableChooser *autoPosition;
49+
SendableChooser *autoDefence;
3350

3451

3552

src/Robot.cpp

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,5 @@
11
#include "targetGiver.h"
22

3-
#define RAMPARTS 0
4-
#define LOWBAR 1
5-
#define ROCKWALL 2
6-
#define DEBRIS 3
7-
#define MOAT 4
8-
#define DRAW 5
9-
#define CHEVAL 6
10-
#define SALLY 7
11-
#define PORTI 8
12-
13-
14-
namespace AutoConstants{
15-
const std::string pos1 = "Position One";
16-
const std::string pos2 = "Position Two";
17-
const std::string pos3 = "Position Three";
18-
const std::string pos4 = "Position Four";
19-
const std::string pos5 = "Position Five";
20-
21-
const std::string ram = "Ramparts";
22-
const std::string low = "Low Bar";
23-
const std::string rock = "Rock Wall";
24-
const std::string port = "Portculis";
25-
const std::string chev = "Cheval de Frise";
26-
const std::string sall = "Sally Port";
27-
const std::string deb = "Rough Terrain";
28-
const std::string moat = "Moat";
29-
const std::string draw = "Drawbridge";
30-
31-
32-
}
33-
34-
353
class Robot: public IterativeRobot {
364
public:
375
unsigned int x = 0;
@@ -47,9 +15,6 @@ class Robot: public IterativeRobot {
4715
CommandListMaker *clMaker;
4816
RelayController* rc;
4917

50-
SendableChooser *autoPosition;
51-
SendableChooser *autoDefence;
52-
5318
bool DEBUG = false;
5419

5520
Shooter *shooter;
@@ -131,27 +96,6 @@ class Robot: public IterativeRobot {
13196
x = 0;
13297
SmartDashboard::PutString("State", "Autonomous Init");
13398

134-
autoPosition = new SendableChooser();
135-
autoPosition->AddObject("ROCKASD", (void*)1);
136-
autoPosition->AddObject(AutoConstants::pos2, (void*)2);
137-
autoPosition->AddObject(AutoConstants::pos3, (void*)3);
138-
autoPosition->AddObject(AutoConstants::pos4, (void*)4);
139-
autoPosition->AddObject(AutoConstants::pos5, (void*)5);
140-
141-
autoDefence = new SendableChooser();
142-
autoDefence->AddObject(AutoConstants::rock,(void*)ROCKWALL);
143-
autoDefence->AddObject(AutoConstants::low, (void*)LOWBAR);
144-
autoDefence->AddObject(AutoConstants::ram, (void*)RAMPARTS);
145-
autoDefence->AddObject(AutoConstants::port, (void*)PORTI);
146-
autoDefence->AddObject(AutoConstants::chev, (void*)CHEVAL);
147-
autoDefence->AddObject(AutoConstants::sall, (void*)SALLY);
148-
autoDefence->AddObject(AutoConstants::deb, (void*)DEBRIS);
149-
autoDefence->AddObject(AutoConstants::moat, (void*)MOAT);
150-
autoDefence->AddObject(AutoConstants::draw, (void*)DRAW);
151-
152-
SmartDashboard::PutData("Auto Defence", autoDefence);
153-
SmartDashboard::PutData("Auto Position", autoPosition);
154-
15599
clMaker->makeBasic();
156100
auton = clMaker->getList();
157101

sysProps.xml

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)