2014 sift / Mbed 2 deprecated TVDctrller2017_brdRev1_PandA

Dependencies:   mbed

Fork of TVDctrller2017_brdRev1_ver6 by 2014 sift

Revision:
25:c21d35c7f0de
Parent:
24:1de0291bc5eb
Child:
26:331e77bb479b
--- a/main.cpp	Thu Jun 29 01:58:49 2017 +0000
+++ b/main.cpp	Sat Jul 01 00:26:28 2017 +0000
@@ -2,6 +2,7 @@
 #include "TVDCTRL.h"
 #include "Steering.h"
 #include "MCP4922.h"
+#include "Global.h"
 
 Serial pc(USBTX, USBRX); // tx, rx
 
@@ -13,7 +14,7 @@
 DigitalOut indicatorLed(p10);
 DigitalOut shutDown(p11);
 DigitalOut brakeSignal(p12);
-DigitalOut sdState(p13);
+DigitalIn sdState(p13);
 DigitalIn RTDSW(p14);
 AnalogIn apsS(p15);         //"S"econdary
 AnalogIn apsP(p16);         //"P"rimary
@@ -43,11 +44,22 @@
 {
     indicatorLed = 0;
     shutDown = 0;
+    brakeSignal = 0;
     LED[0] = LED[1] = LED[2] = LED[3] = 0;
 
-    RTDSW.mode(PullUp);
-    SDState.mode(PullUp);
-
+    sdState.mode(PullNone);
+    RTDSW.mode(PullNone);
+    SLCTSW[0].mode(PullNone);
+    SLCTSW[1].mode(PullNone);
+    SLCTSW[2].mode(PullNone);
+    
+    rightMotorPulse.mode(PullNone);
+    leftMotorPulse.mode(PullNone);
+    rightTirePulse1.mode(PullNone);
+    rightTirePulse2.mode(PullNone);
+    leftTirePulse1.mode(PullNone);
+    leftTirePulse2.mode(PullNone);
+    
     indicateSystem(1);
     bootSystem();
 }
@@ -55,9 +67,13 @@
 int main(void)
 {
     int f_whatchdog=0;
-    pc.baud(115200);
+    
+    wait(1);
 
-    printf("\r\nVersion:TVDctrller_ALPHA...start!!!!!\r\n");
+    pc.baud(115200);
+    printf("\033[2J");
+    printf("\033[1;1H");        //teratermの画面クリア
+    printf("\r\nVersion:TVDctrller2017_brdRev1...start!!!!!\r\n");
 
     initIO();       //IOポート初期化
 
@@ -67,14 +83,13 @@
 
     timer.start();
 
-    wait(1);
-
     float time;
 
     struct errCounter_t eCounter= {0,0,0,0,0,0,0,0};
+    
     while(1) {
-        f_whatchdog = ~f_whatchdog;
-        WDT.write(f_whatchdog);
+        //f_whatchdog = ~f_whatchdog;
+        //WDT.write(f_whatchdog);
         //getCurrentErrCount(&eCounter);
         
         timer.reset();
@@ -87,11 +102,9 @@
         //printf("%1.6f\r\n", time);
         //printf("%d\r\n", eCounter.brakeOverRide);
         time = timer.read();
-        while(timer.read_ms() < 10);
-
+        while(timer.read_ms() < CONTROL_CYCLE_MS);      //制御周期管理 関数内処理時間より短い時間の制御周期の設定は禁止
+        
         //printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t\r\n", eCounter.apsUnderVolt, eCounter.apsExceedVolt, eCounter.apsErrorTolerance, eCounter.apsStick, eCounter.brakeUnderVolt, eCounter.brakeExceedVolt, eCounter.brakeFuzzyVolt, eCounter.brakeOverRide);
-        //printf("apsP:%f, apsS:%f, brake:%f\r", 3.3f/65535 * getRawSensor(APS_PRIMARY), 3.3f/65535 * getRawSensor(APS_SECONDARY), 3.3f/65535 * getRawSensor(BRAKE));
-
-        //wait(0.05);
+        //printf("apsP:%1.2f, apsS:%1.2f, brake:%1.2f\r", 3.3f/65535 * getRawSensor(APS_PRIMARY), 3.3f/65535 * getRawSensor(APS_SECONDARY), 3.3f/65535 * getRawSensor(BRAKE));
     }
 }