remove old unused line systems

pull/1/head
EmaMaker 2021-03-01 15:59:20 +01:00
parent ef2de95e60
commit 019831e237
7 changed files with 2 additions and 382 deletions

View File

@ -12,7 +12,6 @@
#include "behaviour_control/ds_ctrl.h"
#include "motors_movement/drivecontroller.h"
#include "motors_movement/motor.h"
#include "systems/lines/linesys_2019.h"
#include "systems/lines/linesys_camera.h"
#include "systems/position/positionsys_zone.h"
#include "systems/systems.h"
@ -29,7 +28,6 @@ void updateSensors();
s_extr vector<DataSource*> dUs;
s_extr DataSourceCtrl* usCtrl;
s_extr LineSys2019* linesCtrl;
s_extr DataSourceBNO055* compass;
s_extr DataSourceBall* ball;

View File

@ -1,32 +0,0 @@
#pragma once
#include <Arduino.h>
#include "behaviour_control/ds_ctrl.h"
#include "systems/systems.h"
#include "vars.h"
#define LINE_THRESH 90
#define EXTIME 200
#define LINES_EXIT_SPD 350
class LineSys2019 : public LineSystem{
public:
LineSys2019();
LineSys2019(vector<DataSource*> in_, vector<DataSource*> out);
void update() override;
void test() override;
void outOfBounds();
private:
vector<DataSource*> in, out;
DataSource* ds;
bool fboundsX, fboundsY, fboundsOX, fboundsOY, slow;
int inV, outV, linesensOldX, linesensOldY, value, linetriggerI[4], linetriggerO[4], i;
elapsedMillis exitTimer;
int outDir, outVel;
byte linesens;
};

View File

@ -1,40 +0,0 @@
// #pragma once
// #include <Arduino.h>
// #include "behaviour_control/ds_ctrl.h"
// #include "position/systems.h"
// #include "vars.h"
// #define S1I A14
// #define S1O A15
// #define S2I A16
// #define S2O A17
// #define S3I A20
// #define S3O A0
// #define S4I A1
// #define S4O A2
// #define LINE_THRESH_CAM 90
// #define EXTIME_CAM 75
// #define LINES_EXIT_SPD_CAM 300
// class LineSysCamera : public LineSystem{
// public:
// LineSysCamera();
// LineSysCamera(vector<DataSource*> in_, vector<DataSource*> out);
// void update() override;
// void test() override;
// void outOfBounds();
// private:
// vector<DataSource*> in, out;
// DataSource* ds;
// bool fboundsX, fboundsY, fboundsOX, fboundsOY, slow;
// int inV, outV, linesensOldX, linesensOldY, value, linetriggerI[4], linetriggerO[4], i;
// unsigned long exitTimer;
// byte linesens;
// };

View File

@ -1,7 +1,6 @@
#include <Arduino.h>
#include "behaviour_control/status_vector.h"
#include "systems/lines/linesys_2019.h"
#include "sensors/sensors.h"
#include "strategy_roles/keeper.h"
#include "strategy_roles/games.h"

View File

@ -1,188 +0,0 @@
#include "systems/lines/linesys_2019.h"
#include "sensors/sensors.h"
using namespace std;
LineSys2019::LineSys2019() {}
LineSys2019::LineSys2019(vector<DataSource*> in_, vector<DataSource*> out_){
this->in = in_;
this->out = out_;
fboundsX = false;
fboundsY = false;
slow = false;
linesensOldX = 0;
linesensOldY = 0;
tookLine = false;
for(int i = 0; i < 4; i++){
linetriggerI[i] = 0;
linetriggerO[i] = 0;
}
exitTimer = 0;
linesens = 0;
}
void LineSys2019::update(){
inV = 0;
outV = 0;
tookLine = false;
for(DataSource* d : in) d->readSensor();
for(DataSource* d : out) d->readSensor();
for(auto it = in.begin(); it != in.end(); it++){
i = it - in.begin();
ds = *it;
linetriggerI[i] = ds->getValue() > LINE_THRESH;
}
for(auto it = out.begin(); it != out.end(); it++){
i = it - out.begin();
ds = *it;
linetriggerO[i] = ds->getValue() > LINE_THRESH;
}
for(int i = 0; i < 4; i++){
inV = inV | (linetriggerI[i] << i);
outV = outV | (linetriggerO[i] << i);
}
if ((inV > 0) || (outV > 0)) {
if(exitTimer > EXTIME) {
fboundsX = true;
fboundsY = true;
}
exitTimer = 0;
}
linesens |= inV | outV;
outOfBounds();
}
void LineSys2019::outOfBounds(){
if(fboundsX == true) {
if(linesens & 0x02) linesensOldX = 2;
else if(linesens & 0x08) linesensOldX = 8;
if(linesensOldX != 0) fboundsX = false;
}
if(fboundsY == true) {
if(linesens & 0x01) linesensOldY = 1;
else if(linesens & 0x04) linesensOldY = 4;
if(linesensOldY != 0) fboundsY = false;
}
if (exitTimer <= EXTIME){
//fase di rientro
if(linesens == 15) linesens = linesensOldY | linesensOldX; //ZOZZATA MAXIMA
drive->unlockTime = millis();
if(linesens == 1) outDir = 180;
else if(linesens == 2) outDir = 270;
else if(linesens == 4) outDir = 0;
else if(linesens == 8) outDir = 90;
else if(linesens == 3) outDir = 225;
else if(linesens == 6) outDir = 315;
else if(linesens == 12) outDir = 45;
else if(linesens == 9) outDir = 135;
else if(linesens == 7) outDir = 270;
else if(linesens == 13) outDir = 90;
else if(linesens == 11) outDir = 180;
else if(linesens == 14) outDir = 0;
else if(linesens == 5){
if(linesensOldX == 2) outDir = 270;
else if(linesensOldY == 8) outDir = 90;
}
else if(linesens == 10){
if(linesensOldY == 4) outDir = 0;
else if(linesensOldY == 1) outDir = 180;
}
drive->prepareDrive(outDir, LINES_EXIT_SPD);
tookLine = true;
}else{
//fine rientro
if(linesens == 1) drive->vyp = 1;
else if(linesens == 2) drive->vxp = 1;
else if(linesens == 4) drive->vyn = 1;
else if(linesens == 8) drive->vxn = 1;
else if(linesens == 3) {
drive->vyp = 1;
drive->vxp = 1;
}
else if(linesens == 6){
drive->vxp = 1;
drive->vyn = 1;
}
else if(linesens == 12) {
drive->vyn = 1;
drive->vxn = 1;
}
else if(linesens == 9) {
drive->vyp = 1;
drive->vxn = 1;
}
else if(linesens == 7) {
drive->vyp = 1;
drive->vyn = 1;
drive->vxp = 1;
}
else if(linesens == 13){
drive->vxp = 1;
drive->vxn = 1;
drive->vyn = 1;
}
else if(linesens == 11) {
drive->vyp = 1;
drive->vxn = 1;
drive->vxp = 1;
}
else if(linesens == 14) {
drive->vyn = 1;
drive->vxn = 1;
drive->vxp = 1;
}
else if(linesens == 5){
if(linesensOldX == 2) drive->vyp = 1;
else if(linesensOldY == 8)drive->vyn = 1;
}
else if(linesens == 10){
if(linesensOldY == 4) drive->vyn = 1;
else if(linesensOldY == 1) drive->vyp = 1;
}
drive->canUnlock = true;
linesens = 0;
linesensOldY = 0;
linesensOldX = 0;
}
}
void LineSys2019::test(){
update();
DEBUG.print("In: ");
for(DataSource* d : in){
d->update();
DEBUG.print(d->getValue());
DEBUG.print(" | ");
}
DEBUG.print(" |---| ");
DEBUG.print("Out: ");
for(DataSource* d : out){
d->update();
DEBUG.print(d->getValue());
DEBUG.print(" | ");
}
DEBUG.println();
for(int i = 0; i < 4; i++){
DEBUG.print(linetriggerI[i]);
DEBUG.print(" | ");
DEBUG.println(linetriggerO[i]);
}
DEBUG.println(inV);
DEBUG.println(outV);
DEBUG.println();
}

View File

@ -1,116 +0,0 @@
// #include "sensors/linesys_camera.h"
// #include "position/positionsys_camera.h"
// #include "sensors/sensors.h"
// #include "strategy_roles/games.h"
// using namespace std;
// LineSysCamera::LineSysCamera() {}
// LineSysCamera::LineSysCamera(vector<DataSource*> in_, vector<DataSource*> out_){
// this->in = in_;
// this->out = out_;
// fboundsX = false;
// fboundsY = false;
// slow = false;
// linesensOldX = 0;
// linesensOldY = 0;
// tookLine = false;
// for(int i = 0; i < 4; i++){
// linetriggerI[i] = 0;
// linetriggerO[i] = 0;
// }
// exitTimer = 0;
// linesens = 0;
// }
// void LineSysCamera::update(){
// inV = 0;
// outV = 0;
// tookLine = false;
// for(DataSource* d : in) d->readSensor();
// for(DataSource* d : out) d->readSensor();
// for(auto it = in.begin(); it != in.end(); it++){
// i = it - in.begin();
// ds = *it;
// linetriggerI[i] = ds->getValue() > LINE_THRESH_CAM;
// }
// for(auto it = out.begin(); it != out.end(); it++){
// i = it - out.begin();
// ds = *it;
// linetriggerO[i] = ds->getValue() > LINE_THRESH_CAM;
// }
// for(int i = 0; i < 4; i++){
// inV = inV | (linetriggerI[i] << i);
// outV = outV | (linetriggerO[i] << i);
// }
// if ((inV > 0) || (outV > 0)) {
// if(millis() - exitTimer > EXTIME_CAM) {
// fboundsX = true;
// fboundsY = true;
// }
// exitTimer = millis();
// }
// linesens |= inV | outV;
// outOfBounds();
// }
// void LineSysCamera::outOfBounds(){
// if(fboundsX == true) {
// if(linesens & 0x02) linesensOldX = 2;
// else if(linesens & 0x08) linesensOldX = 8;
// if(linesensOldX != 0) fboundsX = false;
// }
// if(fboundsY == true) {
// if(linesens & 0x01) linesensOldY = 1;
// else if(linesens & 0x04) linesensOldY = 4;
// if(linesensOldY != 0) fboundsY = false;
// }
// if (millis() - exitTimer <= EXTIME_CAM){
// if(linesens > 0) ((PositionSysCamera*)goalie->ps)->goCenter();
// tookLine = true;
// }else{
// linesens = 0;
// linesensOldY = 0;
// linesensOldX = 0;
// }
// }
// void LineSysCamera::test(){
// update();
// DEBUG.print("In: ");
// for(DataSource* d : in){
// d->update();
// DEBUG.print(d->getValue());
// DEBUG.print(" | ");
// }
// DEBUG.print(" |---| ");
// DEBUG.print("Out: ");
// for(DataSource* d : out){
// d->update();
// DEBUG.print(d->getValue());
// DEBUG.print(" | ");
// }
// DEBUG.println();
// for(int i = 0; i < 4; i++){
// DEBUG.print(linetriggerI[i]);
// DEBUG.print(" | ");
// DEBUG.println(linetriggerO[i]);
// }
// DEBUG.println(inV);
// DEBUG.println(outV);
// DEBUG.println();
// }

View File

@ -4,7 +4,6 @@
#include "sensors/data_source_bt.h"
#include "sensors/data_source_camera_conicmirror.h"
#include "systems/lines/linesys_camera.h"
#include "systems/lines/linesys_2019.h"
#include "sensors/sensors.h"
#include "motors_movement/motor.h"
#include "motors_movement/drivecontroller.h"
@ -90,11 +89,11 @@ void TestMenu :: testMenu(){
delay(100);
break;
case '7':
break;
case '8':
CURRENT_DATA_READ.game->ls->test();
delay(200);
break;
case '8':
break;
case 'u':
while(Serial2.available()) DEBUG.print((char)Serial2.read());
break;