ui no

Dependencies:   _sensorGen Robot omni_wheel PID jy901 solenoid IRsensor camera beep kohiMD linesSnsor lpf RCJESC

Committer:
THtakahiro702286
Date:
Sun Mar 07 13:55:01 2021 +0000
Revision:
1:0034c2a97787
Parent:
0:9ad378866e21
victoryyyyyyyyyyyyyy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
THtakahiro702286 0:9ad378866e21 1 #include "main.h"
THtakahiro702286 0:9ad378866e21 2 #include "robot.h"
THtakahiro702286 0:9ad378866e21 3 //#include "ui.h"
THtakahiro702286 0:9ad378866e21 4
THtakahiro702286 0:9ad378866e21 5 Robot robo;
THtakahiro702286 0:9ad378866e21 6 //UI ui;
THtakahiro702286 0:9ad378866e21 7 //Thread displaythread;
THtakahiro702286 0:9ad378866e21 8 sensorgen sensor;
THtakahiro702286 0:9ad378866e21 9 BufferedSerial pc(USBTX, USBRX, 115200);
THtakahiro702286 0:9ad378866e21 10 //KohiMD *md[4] = {new KohiMD(PA_15), new KohiMD(PA_6), new KohiMD(PA_7), new KohiMD(PB_6)};
THtakahiro702286 0:9ad378866e21 11
THtakahiro702286 0:9ad378866e21 12
THtakahiro702286 0:9ad378866e21 13 //void main2ui()
THtakahiro702286 0:9ad378866e21 14 //{
THtakahiro702286 0:9ad378866e21 15 // char lcdname1[4] = {}, lcdname2[4] = {};
THtakahiro702286 0:9ad378866e21 16 // int lcdvalue[2] = {};
THtakahiro702286 0:9ad378866e21 17 // double temp[2] = {};
THtakahiro702286 0:9ad378866e21 18 // while(1){
THtakahiro702286 0:9ad378866e21 19 //// printf("test\r\n");
THtakahiro702286 0:9ad378866e21 20 // if(ui.displayst == 0){
THtakahiro702286 0:9ad378866e21 21 // strcpy(lcdname1, "gyr");
THtakahiro702286 0:9ad378866e21 22 // strcpy(lcdname2, "bal");
THtakahiro702286 0:9ad378866e21 23 // if(sensor.angle >= 0)lcdvalue[0] = sensor.angle;
THtakahiro702286 0:9ad378866e21 24 // else lcdvalue[0] = 360+sensor.angle;
THtakahiro702286 0:9ad378866e21 25 // } else if(ui.displayst == 1) {
THtakahiro702286 0:9ad378866e21 26 // strcpy(lcdname1, "bar");
THtakahiro702286 0:9ad378866e21 27 // strcpy(lcdname2, "bax");
THtakahiro702286 0:9ad378866e21 28 // if(sensor.ballAngle >= 0)lcdvalue[0] = sensor.ballAngle;
THtakahiro702286 0:9ad378866e21 29 // else lcdvalue[0] = 360+sensor.ballAngle;
THtakahiro702286 0:9ad378866e21 30 // lcdvalue[1] = sensor.ballRange;
THtakahiro702286 0:9ad378866e21 31 // } else if(ui.displayst == 2) {
THtakahiro702286 0:9ad378866e21 32 // strcpy(lcdname1, "ylr");
THtakahiro702286 0:9ad378866e21 33 // strcpy(lcdname2, "ylx");
THtakahiro702286 0:9ad378866e21 34 // if(sensor.yellowAngle >= 0)lcdvalue[0] = sensor.yellowAngle;
THtakahiro702286 0:9ad378866e21 35 // else lcdvalue[0] = 360+sensor.yellowAngle;
THtakahiro702286 0:9ad378866e21 36 // lcdvalue[1] = sensor.yellowRange;
THtakahiro702286 0:9ad378866e21 37 // } else if(ui.displayst == 3) {
THtakahiro702286 0:9ad378866e21 38 // strcpy(lcdname1, "blr");
THtakahiro702286 0:9ad378866e21 39 // strcpy(lcdname2, "blx");
THtakahiro702286 0:9ad378866e21 40 // if(sensor.blueAngle >= 0)lcdvalue[0] = sensor.blueAngle;
THtakahiro702286 0:9ad378866e21 41 // else lcdvalue[0] = 360+sensor.blueAngle;
THtakahiro702286 0:9ad378866e21 42 // lcdvalue[1] = sensor.yellowRange;
THtakahiro702286 0:9ad378866e21 43 // } else if(ui.displayst == 4) {
THtakahiro702286 0:9ad378866e21 44 // strcpy(lcdname1, "mt0");
THtakahiro702286 0:9ad378866e21 45 // strcpy(lcdname2, "mt1");
THtakahiro702286 0:9ad378866e21 46 //// temp[0] = robo.omni.wheel[0];
THtakahiro702286 0:9ad378866e21 47 //// temp[1] = robo.omni.wheel[1];
THtakahiro702286 0:9ad378866e21 48 //// lcdvalue[0] = temp[0] * 100;
THtakahiro702286 0:9ad378866e21 49 //// lcdvalue[1] = temp[1] * 100;
THtakahiro702286 0:9ad378866e21 50 // lcdvalue[0] = 0;
THtakahiro702286 0:9ad378866e21 51 // lcdvalue[1] = 0;
THtakahiro702286 0:9ad378866e21 52 // } else if(ui.displayst == 5) {
THtakahiro702286 0:9ad378866e21 53 // strcpy(lcdname1, "mt2");
THtakahiro702286 0:9ad378866e21 54 // strcpy(lcdname2, "mt3");
THtakahiro702286 0:9ad378866e21 55 //// temp[0] = robo.omni.wheel[2];
THtakahiro702286 0:9ad378866e21 56 //// temp[1] = robo.omni.wheel[3];
THtakahiro702286 0:9ad378866e21 57 //// lcdvalue[0] = temp[0] * 100;
THtakahiro702286 0:9ad378866e21 58 //// lcdvalue[1] = temp[1] * 100;
THtakahiro702286 0:9ad378866e21 59 // lcdvalue[0] = 0;
THtakahiro702286 0:9ad378866e21 60 // lcdvalue[1] = 0;
THtakahiro702286 0:9ad378866e21 61 // /*} else if(ui.displayst == 6) {
THtakahiro702286 0:9ad378866e21 62 // strcpy(lcdname1, "
THtakahiro702286 0:9ad378866e21 63 // ln1");
THtakahiro702286 0:9ad378866e21 64 // strcpy(lcdname2, "ln2");
THtakahiro702286 0:9ad378866e21 65 // lcdvalue[2] = sensor.;
THtakahiro702286 0:9ad378866e21 66 // lcdvalue[3] = sensor.;
THtakahiro702286 0:9ad378866e21 67 // break;
THtakahiro702286 0:9ad378866e21 68 // } else if(ui.displayst == 7) {
THtakahiro702286 0:9ad378866e21 69 // strcpy(lcdname1, "ln3");
THtakahiro702286 0:9ad378866e21 70 // strcpy(lcdname2, "ln4");
THtakahiro702286 0:9ad378866e21 71 // lcdvalue[2] = sensor.;
THtakahiro702286 0:9ad378866e21 72 // lcdvalue[3] = sensor.;
THtakahiro702286 0:9ad378866e21 73 // break;*/
THtakahiro702286 0:9ad378866e21 74 // }
THtakahiro702286 0:9ad378866e21 75 // ui.change(lcdname1, lcdname2, lcdvalue);
THtakahiro702286 0:9ad378866e21 76 // thread_sleep_for(3);
THtakahiro702286 0:9ad378866e21 77 // }
THtakahiro702286 0:9ad378866e21 78 //}
THtakahiro702286 0:9ad378866e21 79
THtakahiro702286 0:9ad378866e21 80 int main(){
THtakahiro702286 0:9ad378866e21 81
THtakahiro702286 0:9ad378866e21 82 // displaythread.start(main2ui);
THtakahiro702286 0:9ad378866e21 83 uint8_t motorChecknum, uibt[4];
THtakahiro702286 0:9ad378866e21 84 bool startflag;
THtakahiro702286 0:9ad378866e21 85 // robo.pidtest();
THtakahiro702286 0:9ad378866e21 86 while(1){
THtakahiro702286 0:9ad378866e21 87 // printf("%d ",ui._tgl[0]);
THtakahiro702286 0:9ad378866e21 88 // ui.updatebt();
THtakahiro702286 0:9ad378866e21 89 // main2ui();
THtakahiro702286 0:9ad378866e21 90 // printf("ball: x %5d,r %6d | yellow: x %5d,r %6d | blue: x %5d,r %6d gyro %4d | \r\n"
THtakahiro702286 0:9ad378866e21 91 // , (int)(sensor.ballRange), (int)(sensor.ballAngle), (int)(sensor.yellowRange), (int)(sensor.yellowAngle), (int)(sensor.blueRange), (int)(sensor.blueAngle), (int)(sensor.tempAngle));
THtakahiro702286 0:9ad378866e21 92 // printf("gyro : %d\r\n",(int)sensor.angle);
THtakahiro702286 0:9ad378866e21 93
THtakahiro702286 0:9ad378866e21 94 // ui.returnbt(uibt);
THtakahiro702286 0:9ad378866e21 95 // printf("%d %d %d %d %d\r\n", ui.flag[0], ui.flag[1], ui.flag[2], ui.flag[3], ui.start);
THtakahiro702286 0:9ad378866e21 96 // if(ui.mode == 0){
THtakahiro702286 0:9ad378866e21 97 // printf("ball: x %d,r %d | yellow: x %d,r %d | blue: x %d,r %d gyro %d | \r\n"
THtakahiro702286 0:9ad378866e21 98 // , (int)(100*sensor.ballRange), (int)(100*sensor.ballAngle), (int)(100*sensor.yellowRange), (int)(100*sensor.yellowAngle), (int)(100*sensor.blueRange), (int)(100*sensor.blueAngle), (int)(sensor.rawAngle));
THtakahiro702286 0:9ad378866e21 99 // if(!(ui._tgl[0])) robo.moveTest();//robo.pidtest();//robo.start(ui.team, ui.algorithm);
THtakahiro702286 0:9ad378866e21 100 // else robo.motorStop(0.0);
THtakahiro702286 0:9ad378866e21 101 // } else if(ui.mode == 1){
THtakahiro702286 0:9ad378866e21 102 // motorChecknum = (8*ui.b[3])+(4*ui.b[2])+(2*ui.b[1])+(ui.b[0]);
THtakahiro702286 0:9ad378866e21 103 // if(ui.b[0]){
THtakahiro702286 0:9ad378866e21 104 // robo.motorCheck(0, 0.3);
THtakahiro702286 0:9ad378866e21 105 // }else if(ui.b[1]){
THtakahiro702286 0:9ad378866e21 106 // robo.motorCheck(1, 0.3);
THtakahiro702286 0:9ad378866e21 107 // }else if(ui.b[2]){
THtakahiro702286 0:9ad378866e21 108 // robo.motorCheck(2, 0.3);
THtakahiro702286 0:9ad378866e21 109 // }else if(ui.b[3]){
THtakahiro702286 0:9ad378866e21 110 // robo.motorCheck(3, 0.3);
THtakahiro702286 0:9ad378866e21 111 // }else{
THtakahiro702286 0:9ad378866e21 112 // robo.motorStop(0.0);
THtakahiro702286 0:9ad378866e21 113 // }
THtakahiro702286 0:9ad378866e21 114 //// } else if(ui.mode == 2){
THtakahiro702286 0:9ad378866e21 115 // if(ui.start){
THtakahiro702286 0:9ad378866e21 116 // robo.kickCheck();
THtakahiro702286 0:9ad378866e21 117 // }
THtakahiro702286 0:9ad378866e21 118 // robo.motorStop(0.0);
THtakahiro702286 0:9ad378866e21 119 //// } else if(ui.mode == 3){
THtakahiro702286 0:9ad378866e21 120 // if(ui.start){
THtakahiro702286 0:9ad378866e21 121 // robo.dribbleCheck(0.4);
THtakahiro702286 0:9ad378866e21 122 // } else {
THtakahiro702286 0:9ad378866e21 123 // robo.dribbleCheck(0);
THtakahiro702286 0:9ad378866e21 124 // }
THtakahiro702286 0:9ad378866e21 125 // robo.motorStop(0.0);
THtakahiro702286 0:9ad378866e21 126 //// } else if(ui.mode == 4){
THtakahiro702286 0:9ad378866e21 127 // if(ui.flag[3]){
THtakahiro702286 0:9ad378866e21 128 // sensor.jy.yawcalibrate();
THtakahiro702286 0:9ad378866e21 129 //// }
THtakahiro702286 0:9ad378866e21 130 // }
THtakahiro702286 0:9ad378866e21 131 // printf("e \r\n");
THtakahiro702286 0:9ad378866e21 132 if(!sensor.start) robo.moveTest();
THtakahiro702286 0:9ad378866e21 133 if(sensor.b0)
THtakahiro702286 0:9ad378866e21 134 {
THtakahiro702286 0:9ad378866e21 135 if(sensor.test) robo.dribbleCheck(0.6);
THtakahiro702286 0:9ad378866e21 136 else robo.kickCheck();
THtakahiro702286 0:9ad378866e21 137 }
THtakahiro702286 0:9ad378866e21 138 else robo.dribbleCheck(0.0);
THtakahiro702286 0:9ad378866e21 139 }
THtakahiro702286 0:9ad378866e21 140 }