yei
Dependencies: interface mbed enc_1multi calPID motorout KondoServoLibrary
Fork of cat18_operate by
main.cpp
- Committer:
- shimizuta
- Date:
- 2018-09-05
- Revision:
- 37:d4b711619962
- Parent:
- 36:b8171eeefcd0
- Child:
- 38:9bed85d32c97
File content as of revision 37:d4b711619962:
#include <mbed.h> #include "debug.h"//DEBUG("",変数);でデバッグ。 #include "state.h" #include "go.h" #include "servo.h" #include "interrupt.h" #include "workinfo.h" #include "controller.h" #include "calplace.h" #include "check.h" #include "discoveryboard.h" //debug用に追加 #include "coordinate.h" //#define DEBUG_MODE const int kWait_ms = 500; const double kServoOffsetDegreeInBox = 10; int worknum = 0; int main() { GoSetup(); GoToFirstPosition(); SetupPosition(); if(PositionSetupIsInBan() == 1) return 1;//失敗したら強制終了 //スタート指示受付 DEBUG("stand by\r\n"); while(CanStart() == 0) {}; DEBUG("main start\r\n"); InterruptSetup(); ControllerSetup(); while((worknum = CalPickPlace()) != 23 ) { Close(); //ワークに向かう if(Go(work[worknum]) == -1) { work[worknum].is_exist = 0; continue; } //掴む wait_ms(kWait_ms); Close(); wait_ms(kWait_ms); //上に持ち上げる Above(work[worknum].areaname); wait_ms(kWait_ms); //取り上げたことを保存 work[worknum].is_exist = 0; //シュート位置計算 int boxspace = CalPutPlace(work[worknum].color); OriginDegree[0] = kOriginDegree[0] - kServoOffsetDegreeInBox; //ボックスに行く(失敗(-1)したらcontinue) //3のときだけ特別に速度下げる if(worknum == 3) kServoVelocity_mm = 100; if(Go(shootingbox[boxspace]) != 0) continue; ManualPutPlace(shootingbox[boxspace]); kServoVelocity_mm = 300; //放す Open(); wait_ms(kWait_ms); OriginDegree[0] = kOriginDegree[0]; //上に持ち上げる Above(BOX); wait_ms(kWait_ms); //置いたことを保存 shootingbox[boxspace].is_exist = 1; shootingbox[boxspace].color = work[worknum].color; } }