modified 0511

Dependencies:   mbed-dev FastPWM3

Revision:
59:d53a7ccaae9a
Parent:
58:636e46484432
Child:
60:f009e39e913e
--- a/main.cpp	Fri Jun 18 15:58:03 2021 +0000
+++ b/main.cpp	Tue Dec 14 13:12:16 2021 +0000
@@ -65,6 +65,7 @@
     can.read(rxMsg);  
     if((rxMsg.id == CAN_ID)){
         controller.timeout = 0;
+        //printf("%X\n\r",0x55);
         if(((rxMsg.data[0]==0xFF) & (rxMsg.data[1]==0xFF) & (rxMsg.data[2]==0xFF) & (rxMsg.data[3]==0xFF) & (rxMsg.data[4]==0xFF) & (rxMsg.data[5]==0xFF) & (rxMsg.data[6]==0xFF) & (rxMsg.data[7]==0xFC))){
             state = MOTOR_MODE;
             state_change = 1;
@@ -262,6 +263,7 @@
 void serial_interrupt(void){
     while(pc.readable()){
         char c = pc.getc();
+        printf("%c\n\r",c);
         if(c == 27){
                 state = REST_MODE;
                 state_change = 1;
@@ -325,11 +327,9 @@
                     case 't':
                         CAN_TIMEOUT = atoi(cmd_val);
                         break;
-                    /*
                     case 'p':
                         MOTOR_KP = fmaxf(fminf(atof(cmd_val), KP_MAX), KP_MIN);;
                         break;
-                    */
                     case 'i':
                         MOTOR_KI = fmaxf(fminf(atof(cmd_val), KI_MAX), KI_MIN);;
                         break;
@@ -346,7 +346,7 @@
                 prefs.close();    
                 prefs.load();
                 /*----- change new pid controller parameter -----*/
-                //controller.kp = MOTOR_KP;
+                controller.kp = MOTOR_KP;
                 controller.ki = MOTOR_KI;
                 controller.kd = MOTOR_KD;
                                                               
@@ -442,8 +442,8 @@
     if(isnan(CAN_MASTER) || CAN_MASTER==-1){CAN_MASTER = 0;}
     if(isnan(CAN_TIMEOUT) || CAN_TIMEOUT==-1){CAN_TIMEOUT = 0;}
     //if(isnan(MOTOR_KP) || MOTOR_KP==-1){MOTOR_KP = 50;}
-    if(isnan(MOTOR_KI) || MOTOR_KI==-1){MOTOR_KI = 0;}
-    if(isnan(MOTOR_KD) || MOTOR_KD==-1){MOTOR_KD = 1.25;}
+    //if(isnan(MOTOR_KI) || MOTOR_KI==-1){MOTOR_KI = 0;}
+    //if(isnan(MOTOR_KD) || MOTOR_KD==-1){MOTOR_KD = 1.25;}
     spi.SetElecOffset(E_OFFSET);                                                // Set position sensor offset
     spi.SetMechOffset(M_OFFSET);
     int lut[128] = {0};
@@ -451,7 +451,7 @@
     spi.WriteLUT(lut);                                                          // Set potision sensor nonlinearity lookup table
     init_controller_params(&controller);
 
-    pc.baud(921600);                                                            // set serial baud rate
+    pc.baud(115200);                                                            // set serial baud rate
     wait(.01);
     pc.printf("\n\r\n\r HobbyKing Cheetah\n\r\n\r");
     wait(.01);
@@ -464,11 +464,11 @@
     
     /*----- set controller parameters -----*/
     //controller.kp = MOTOR_KP;
-    controller.ki = MOTOR_KI;
-    controller.kd = MOTOR_KD;
-    printf("PID controller parameters \n\r");
+    //controller.ki = MOTOR_KI;
+    //controller.kd = MOTOR_KD;
+    //printf("PID controller parameters \n\r");
     //printf("KP: %.3f, KI: %.3f, KD: %.3f \n\r", controller.kp, controller.ki, controller.kd);
-    printf("KI: %.3f, KD: %.3f \n\r", controller.ki, controller.kd);
+    //printf("KI: %.3f, KD: %.3f \n\r", controller.ki, controller.kd);
 
     //printf(" %d\n\r", drv.read_register(DCR));
     //wait_us(100);
@@ -484,8 +484,8 @@
 
     int counter = 0;
     while(1) {
-        drv.print_faults();
-        wait(.1);
+        //drv.print_faults();
+        //wait(.1);
        //printf("%.4f\n\r", controller.v_bus);
        /*
         if(state == MOTOR_MODE)