OSDN Git Service

状態遷移クラスを導入
authorkouichi <kkoba@kirari-kobayashi.(none)>
Mon, 2 Sep 2013 14:00:23 +0000 (23:00 +0900)
committerkouichi <kkoba@kirari-kobayashi.(none)>
Mon, 2 Sep 2013 14:00:23 +0000 (23:00 +0900)
Makefile
main.cpp

index 8eae5bd..7a13a1e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,11 @@
 # Target specific macros
 TARGET = tonden
 
-TARGET_CPP_SOURCES = main.cpp LineTracer.cpp LinePos.cpp Runner.cpp ETLinePos.cpp ETBalanceRunner.cpp ETLineTracer.cpp
+TARGET_CPP_SOURCES = main.cpp LineTracer.cpp LinePos.cpp Runner.cpp ETLinePos.cpp ETBalanceRunner.cpp ETLineTracer.cpp \
+context.cpp \
+runstate.cpp \
+exceptionstate.cpp \
+
 
 TARGET_SOURCES = tsprintf.c balancer_param.c
 
index e979f1c..2f1eca6 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -16,6 +16,7 @@
 #include "ETLineTracer.h"\r
 #include "ETLinePos.h"\r
 #include "ETBalanceRunner.h"\r
+#include "context.h"\r
 \r
 using namespace ecrobot;\r
 \r
@@ -44,7 +45,8 @@ Motor motorL(PORT_C);
 ETBalanceRunner runner(motorL,motorR,gyro,nxt);\r
 ETLinePos linepos(light);\r
 ETLineTracer tracer(linepos,runner);\r
-\r
+ContextStuff::Context context;\r
\r
 // nxtOSEK hook to be invoked from an ISR in category 2\r
 void user_1ms_isr_type2(void)\r
 {\r
@@ -125,20 +127,15 @@ TASK(TaskMain)
        }\r
        while(touch.isPressed()){\r
        }\r
-\r
+    \r
+    context.SetETLineTracer(&tracer);\r
        TerminateTask();\r
 }\r
 \r
 TASK(Task4ms)\r
 {\r
-       static int cnt = 0;\r
-       char str[16+1];\r
-       lcd.clear();\r
-       tsprintf(str,"cnt = %d",cnt++); // tsprintf \8eg\97p\97á\r
-       lcd.putf("s",str);\r
-       lcd.disp();\r
-\r
-       tracer.RunTrace(100);\r
+    context.Display(lcd);\r
+    context.CyclicExcute();\r
 \r
        TerminateTask();\r
 }\r