yei
Dependencies: interface mbed enc_1multi calPID motorout KondoServoLibrary
Fork of cat18_operate by
main.cpp
- Committer:
- shimizuta
- Date:
- 2018-09-04
- Revision:
- 28:bcfc84b481bc
- Parent:
- 26:5e292422cc08
- Child:
- 29:ea48140fc85e
File content as of revision 28:bcfc84b481bc:
#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" //debug用に追加 #include "coordinate.h" #define DEBUG_MODE const int kWait_ms = 500; int worknum = 0; int main() { GoSetup(); StartCheck(); SetupPosition(); if(PositionSetupIsInBan() == 1) return 1;//失敗したら強制終了 //スタート指示受付 DEBUG("stand by\r\n"); if(WasLoad() == 0) { wait(1); while(CanStart() == 0) {}; } DEBUG("main start\r\n"); InterruptSetup(); ControllerSetup(); while((worknum = CalPickPlace()) != 23 ) { Close(); //ワークに向かう if(Go(work[worknum]) != 0) continue; #ifdef DEBUGMODE while(ManualModeWithPc() == 0){}; DEBUG("work %d %f, %f, %f\r\n", worknum, GetNowTipLocateX(), GetNowTipLocateY(), GetNowTipLocateZ()); #endif //掴む 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); //ボックスに行く(失敗(-1)したらcontinue) if(Go(shootingbox[boxspace]) != 0) continue; //放す Open(); wait_ms(kWait_ms); //上に持ち上げる Above(BOX); wait_ms(kWait_ms); //置いたことを保存 shootingbox[boxspace].is_exist = 1; shootingbox[boxspace].color = work[worknum].color; } }