[Ver 1.0] The code was given by Seunghoon shin, used for hydraulic quadrupedal robot. Buyoun Cho will revise the code for Post-LIGHT (the robot name is not determined yet).

Dependencies:   mbed FastPWM

Revision:
64:6f1caa0993d0
Parent:
63:3c6869477483
Child:
65:a2d7c63419c2
diff -r 3c6869477483 -r 6f1caa0993d0 main.cpp
--- a/main.cpp	Fri Apr 03 12:48:42 2020 +0000
+++ b/main.cpp	Fri Apr 03 14:53:53 2020 +0000
@@ -8,7 +8,8 @@
 #include "function_utilities.h"
 #include "stm32f4xx_flash.h"
 #include "FlashWriter.h"
-#include "Eigen/Dense.h"
+#include "Eigen/Dense.h"        
+#include "ST_F401_84MHZ.h"
 
 using namespace std;
 using namespace Eigen;
@@ -158,6 +159,7 @@
 
 int main()
 {
+    F401_init84 myinit(1);
     /*********************************
     ***     Initialization
     *********************************/
@@ -235,6 +237,9 @@
             ID_index_array[i] =  (i+1) * 0.5f;
     }
     
+    printf("systemcoreclock  = %d Hz\n", SystemCoreClock);
+    
+    
     Input <<
        0.052414,0.066907,0.085407,0.109023,0.139169,0.177651,0.052414,0.066907,0.085407,0.109023,0.139169,0.177651,0.052414,0.066907,0.085407,0.109023,0.139169,0.177651,0.052414,0.066907,0.085407,0.109023;
 
@@ -476,22 +481,22 @@
     ***     Program is operating!
     *************************************/
     while(1) {
-        if(timer_while==1000 && OPERATING_MODE==5) {
-            //i2c
-            read_field(i2c_slave_addr1);
-            if(DIR_VALVE_ENC < 0) value = 1023 - value;
-            //            if(LED==1) {
-            //                LED=0;
-            //            } else
-            //                LED = 1;
-            timer_while = 0;
-        }
-        timer_while ++;
+//        if(timer_while==1000 && OPERATING_MODE==5) {
+//            //i2c
+//            read_field(i2c_slave_addr1);
+//            if(DIR_VALVE_ENC < 0) value = 1023 - value;
+//            //            if(LED==1) {
+//            //                LED=0;
+//            //            } else
+//            //                LED = 1;
+//            timer_while = 0;
+//        }
+//        timer_while ++;
         
-        //t.reset();
-        //t.start();
+        t.reset();
+        t.start();
         
-        
+        //X = (((Input*h1+b1.transpose())*h2+b2.transpose())*h3+b3.transpose())*hout+bout.transpose();
         
 //        Input <<
 //        input_array[0],input_array[1],input_array[2],input_array[3],input_array[4];
@@ -514,14 +519,14 @@
         X = X*hout+bout.transpose();
         NNoutput=1.0f/(1.0f+exp(-X(0,0)));
         
-        //t.stop();
+        t.stop();
         
         printf("NNoutput : %f\n", NNoutput);
         printf("time : %f\n", t.read());
         
-        //wait(1);
+        wait(1);
         
-        CAN_TX_PWM((int16_t) 78); //1500
+        //CAN_TX_PWM((int16_t) (t.read() * 1000000.0f)); //1500
         
 //        PWM_out = NNoutput * 24000.0f - 12000.0f;
 //