ui no
Dependencies: _sensorGen Robot omni_wheel PID jy901 solenoid IRsensor camera beep kohiMD linesSnsor lpf RCJESC
main.cpp@1:0034c2a97787, 2021-03-07 (annotated)
- Committer:
- THtakahiro702286
- Date:
- Sun Mar 07 13:55:01 2021 +0000
- Revision:
- 1:0034c2a97787
- Parent:
- 0:9ad378866e21
victoryyyyyyyyyyyyyy
Who changed what in which revision?
User | Revision | Line number | New 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 | } |