runState.cpp
00001
00002
00003
00004
00005
00006
00007 #if !MONITOR
00008 #include <runCtrl.h>
00009 #else
00010 #include <mRunCtrl.h>
00011 #endif
00012 #include <stdio.h>
00013 #include <stdlib.h>
00014
00015 using namespace VXV;
00016
00017
00018
00019 static void subAction(RunInterface& run) {
00020 run.stop();
00021 while (!run.isStable()) {
00022 VXV::Delay(100);
00023 }
00024
00025 run.rotateAngle(deg(-360));
00026 while (!run.isStable()) {
00027 VXV::Delay(100);
00028 }
00029 }
00030
00031
00032 int main(int argc, char *argv[]) {
00033 try {
00034 #if !MONITOR
00035 RunCtrl run;
00036 #else
00037 mRunCtrl run;
00038 vmonitor::show();
00039 #endif
00040 if (run.connect(argc, argv) < 0) {
00041 printf("RunCtrl::connect: %s\n", run.what());
00042 exit(1);
00043 }
00044
00045
00046 run.followCircle(Grid(0, 0), 500);
00047 for (int i = 0; i < 3; ++i) {
00048 VXV::Delay(2000);
00049
00050
00051 run.push_runState();
00052
00053 subAction(run);
00054
00055
00056 run.pop_runState();
00057
00058
00059 run.lastMoveCommand();
00060 }
00061
00062 } catch (std::exception& e) {
00063 printf("exception: %s\n", e.what());
00064 }
00065 return 0;
00066 }
00067