Kim GiJeong / Mbed 2 deprecated HydraulicControlBoard_LIGHT_GJ

Dependencies:   mbed FastPWM

Files at this revision

API Documentation at this revision

Comitter:
GiJeongKim
Date:
Mon Jul 20 06:58:38 2020 +0000
Parent:
67:cfc88fd0591e
Commit message:
control;

Changed in this revision

CAN/function_CAN.cpp Show annotated file Show diff for this revision Revisions of this file
SPI_EEP_ENC/SPI_EEP_ENC.cpp Show annotated file Show diff for this revision Revisions of this file
SPI_EEP_ENC/SPI_EEP_ENC.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
setting.h Show annotated file Show diff for this revision Revisions of this file
--- a/CAN/function_CAN.cpp	Wed Jun 03 08:46:45 2020 +0000
+++ b/CAN/function_CAN.cpp	Mon Jul 20 06:58:38 2020 +0000
@@ -55,9 +55,9 @@
         case CRX_SET_BNO: {
             BNO = (int16_t) msg.data[1];
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_BNO, (int16_t) BNO);
+            spi_eeprom_write(RID_BNO, (int16_t) BNO);
             CAN_ID_INIT(); // can id init
             break;
         }
@@ -70,7 +70,7 @@
             SENSING_MODE = (uint8_t) msg.data[2];
             CURRENT_CONTROL_MODE = (uint8_t) msg.data[3];
             FLAG_VALVE_DEADZONE = (uint8_t) msg.data[4];
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             break;
         }
         case CRX_SET_ENC_ZERO: {
@@ -102,7 +102,7 @@
 
         case CRX_SET_CAN_FREQ: {
             CAN_FREQ = (int16_t) (msg.data[1] | msg.data[2] << 8);
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             break;
         }
 
@@ -147,9 +147,9 @@
             else
                 DIR_JOINT_ENC = -1;
                 
-            ROM_RESET_DATA();   
+            ////ROM_RESET_DATA();   
             
-            //spi_eeprom_write(RID_JOINT_ENC_DIR, (int16_t) DIR_JOINT_ENC);
+            spi_eeprom_write(RID_JOINT_ENC_DIR, (int16_t) DIR_JOINT_ENC);
 
             break;
         }
@@ -167,9 +167,9 @@
             else
                 DIR_VALVE = -1;
                 
-            ROM_RESET_DATA();    
+            ////ROM_RESET_DATA();    
             
-            //spi_eeprom_write(RID_VALVE_DIR, (int16_t) DIR_VALVE);
+            spi_eeprom_write(RID_VALVE_DIR, (int16_t) DIR_VALVE);
 
             break;
         }
@@ -187,9 +187,9 @@
             else
                 DIR_VALVE_ENC = -1;
                 
-            ROM_RESET_DATA();
+            ////////ROM_RESET_DATA();
 
-            //spi_eeprom_write(RID_VALVE_ENC_DIR, (int16_t) DIR_VALVE_ENC);
+            spi_eeprom_write(RID_VALVE_ENC_DIR, (int16_t) DIR_VALVE_ENC);
 
             break;
         }
@@ -203,9 +203,9 @@
         case CRX_SET_VOLTAGE_SUPPLY: {
             SUPPLY_VOLTAGE = (double) ((int16_t) (msg.data[1] | msg.data[2] << 8)) / 10.0f;
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_VOLATGE_SUPPLY, (int16_t) (SUPPLY_VOLTAGE * 10.));
+            spi_eeprom_write(RID_VOLATGE_SUPPLY, (int16_t) (SUPPLY_VOLTAGE * 10.));
 
             break;
         }
@@ -219,9 +219,9 @@
         case CRX_SET_VOLTAGE_VALVE: {
             VALVE_VOLTAGE_LIMIT = (double) ((int16_t) (msg.data[1] | msg.data[2] << 8)) / 10.0f;
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_VOLTAGE_VALVE, (int16_t) (VALVE_VOLTAGE_LIMIT * 10.));
+            spi_eeprom_write(RID_VOLTAGE_VALVE, (int16_t) (VALVE_VOLTAGE_LIMIT * 10.));
 
 
             break;
@@ -245,27 +245,27 @@
                 I_GAIN_VALVE_POSITION = (int16_t) (msg.data[4] | msg.data[5] << 8);
                 D_GAIN_VALVE_POSITION = (int16_t) (msg.data[6] | msg.data[7] << 8);
                 
-                ROM_RESET_DATA();
+                ////ROM_RESET_DATA();
 
             } else if (msg.data[1] == 1) {
                 P_GAIN_JOINT_POSITION = (int16_t) (msg.data[2] | msg.data[3] << 8);
                 I_GAIN_JOINT_POSITION = (int16_t) (msg.data[4] | msg.data[5] << 8);
                 D_GAIN_JOINT_POSITION = (int16_t) (msg.data[6] | msg.data[7] << 8);
                 
-                ROM_RESET_DATA();
+                ////ROM_RESET_DATA();
                 
             } else if (msg.data[1] == 2) {
                 P_GAIN_JOINT_TORQUE = (int16_t) (msg.data[2] | msg.data[3] << 8);
                 I_GAIN_JOINT_TORQUE = (int16_t) (msg.data[4] | msg.data[5] << 8);
                 D_GAIN_JOINT_TORQUE = (int16_t) (msg.data[6] | msg.data[7] << 8);
                 
-                ROM_RESET_DATA();
+                ////ROM_RESET_DATA();
                 
             } else if (msg.data[1] == 3) {
                 K_SPRING = (float) (((float) ((int16_t) (msg.data[2] | msg.data[3] << 8))) * 0.1f);
                 D_DAMPER = (float) (((float) ((int16_t) (msg.data[4] | msg.data[5] << 8))) * 0.01f);
                 
-//                ROM_RESET_DATA();     //For Real-time changing
+//                //////ROM_RESET_DATA();     //For Real-time changing
             }
 
             break;
@@ -282,7 +282,7 @@
             VALVE_DEADZONE_PLUS = (int16_t) (msg.data[3] | msg.data[4] << 8);
             VALVE_DEADZONE_MINUS = (int16_t) (msg.data[5] | msg.data[6] << 8);
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
 
             break;
         }
@@ -296,9 +296,9 @@
         case CRX_SET_VELOCITY_COMP_GAIN: {
             VELOCITY_COMP_GAIN = (int16_t) (msg.data[1] | msg.data[2] << 8);
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_VELOCITY_COMP_GAIN, (int16_t) VELOCITY_COMP_GAIN);
+            spi_eeprom_write(RID_VELOCITY_COMP_GAIN, (int16_t) VELOCITY_COMP_GAIN);
 
             break;
         }
@@ -312,9 +312,9 @@
         case CRX_SET_COMPLIANCE_GAIN: {
             COMPLIANCE_GAIN = (int16_t) (msg.data[1] | msg.data[2] << 8);
 
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_COMPLIANCE_GAIN, (int16_t) COMPLIANCE_GAIN);
+            spi_eeprom_write(RID_COMPLIANCE_GAIN, (int16_t) COMPLIANCE_GAIN);
 
             break;
         }
@@ -328,9 +328,9 @@
         case CRX_SET_VALVE_FF: {
             VALVE_FF = (int16_t) (msg.data[1] | msg.data[2] << 8);
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_VALVE_FF, (int16_t) VALVE_FF);
+            spi_eeprom_write(RID_VALVE_FF, (int16_t) VALVE_FF);
 
             break;
         }
@@ -344,9 +344,9 @@
         case CRX_SET_BULK_MODULUS: {
             BULK_MODULUS = (int16_t) (msg.data[1] | msg.data[2] << 8);
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_BULK_MODULUS, (int16_t) BULK_MODULUS);
+            spi_eeprom_write(RID_BULK_MODULUS, (int16_t) BULK_MODULUS);
 
             break;
         }
@@ -361,10 +361,10 @@
             CHAMBER_VOLUME_A = (int16_t) (msg.data[1] | msg.data[2] << 8);
             CHAMBER_VOLUME_B = (int16_t) (msg.data[3] | msg.data[4] << 8);
 
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
     
-            //spi_eeprom_write(RID_CHAMBER_VOLUME_A, (int16_t) CHAMBER_VOLUME_A);
-            //spi_eeprom_write(RID_CHAMBER_VOLUME_B, (int16_t) CHAMBER_VOLUME_B);
+            spi_eeprom_write(RID_CHAMBER_VOLUME_A, (int16_t) CHAMBER_VOLUME_A);
+            spi_eeprom_write(RID_CHAMBER_VOLUME_B, (int16_t) CHAMBER_VOLUME_B);
 
             break;
         }
@@ -381,10 +381,10 @@
             PISTON_AREA_alpha = (double)PISTON_AREA_A/(double)PISTON_AREA_B;
             alpha3 = PISTON_AREA_alpha * PISTON_AREA_alpha*PISTON_AREA_alpha;
             
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             
-            //spi_eeprom_write(RID_PISTON_AREA_A, (int16_t) PISTON_AREA_A);
-            //spi_eeprom_write(RID_PISTON_AREA_B, (int16_t) PISTON_AREA_B);
+            spi_eeprom_write(RID_PISTON_AREA_A, (int16_t) PISTON_AREA_A);
+            spi_eeprom_write(RID_PISTON_AREA_B, (int16_t) PISTON_AREA_B);
             break;
         }
 
@@ -400,9 +400,9 @@
         case CRX_SET_PRES: {
             PRES_SUPPLY = (int16_t) (msg.data[1] | msg.data[2] << 8);
             PRES_RETURN = (int16_t) (msg.data[3] | msg.data[4] << 8);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_PRES_SUPPLY, (int16_t) PRES_SUPPLY);
-            //spi_eeprom_write(RID_PRES_RETURN, (int16_t) PRES_RETURN);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_PRES_SUPPLY, (int16_t) PRES_SUPPLY);
+            spi_eeprom_write(RID_PRES_RETURN, (int16_t) PRES_RETURN);
 
 
             break;
@@ -417,9 +417,9 @@
         case CRX_SET_ENC_LIMIT: {
             ENC_LIMIT_MINUS = (int16_t) (msg.data[1] | msg.data[2] << 8);
             ENC_LIMIT_PLUS = (int16_t) (msg.data[3] | msg.data[4] << 8);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_ENC_LIMIT_MINUS, (int16_t) ENC_LIMIT_MINUS);
-            //spi_eeprom_write(RID_ENC_LIMIT_PLUS, (int16_t) ENC_LIMIT_PLUS);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_ENC_LIMIT_MINUS, (int16_t) ENC_LIMIT_MINUS);
+            spi_eeprom_write(RID_ENC_LIMIT_PLUS, (int16_t) ENC_LIMIT_PLUS);
 
             break;
         }
@@ -431,8 +431,8 @@
 
         case CRX_SET_STROKE: {
             STROKE = (int16_t) (msg.data[1] | msg.data[2] << 8);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_STROKE, (int16_t) STROKE);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_STROKE, (int16_t) STROKE);
 
             break;
         }
@@ -446,7 +446,7 @@
         case CRX_SET_VALVE_LIMIT: {
             VALVE_MIN_POS = (int16_t) (msg.data[1] | msg.data[2] << 8);
             VALVE_MAX_POS = (int16_t) (msg.data[3] | msg.data[4] << 8);
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
 
             break;
         }
@@ -459,8 +459,8 @@
 
         case CRX_SET_ENC_PULSE_PER_POSITION: {
             ENC_PULSE_PER_POSITION = (int16_t) (msg.data[1] | msg.data[2] << 8);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_ENC_PULSE_PER_POSITION, (int16_t) ENC_PULSE_PER_POSITION);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_ENC_PULSE_PER_POSITION, (int16_t) ENC_PULSE_PER_POSITION);
 
             break;
         }
@@ -473,8 +473,8 @@
 
         case CRX_SET_TORQUE_SENSOR_PULSE_PER_TORQUE: {
             TORQUE_SENSOR_PULSE_PER_TORQUE = (float) ((int16_t) (msg.data[1] | msg.data[2] << 8) * 0.01f);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_TORQUE_SENSOR_PULSE_PER_TORQUE, (int16_t) TORQUE_SENSOR_PULSE_PER_TORQUE);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_TORQUE_SENSOR_PULSE_PER_TORQUE, (int16_t) TORQUE_SENSOR_PULSE_PER_TORQUE);
 
             break;
         }
@@ -488,8 +488,8 @@
         case CRX_SET_PRES_SENSOR_PULSE_PER_PRES: {
             PRES_SENSOR_A_PULSE_PER_BAR = (double) ((int16_t) (msg.data[1] | msg.data[2] << 8)) * 0.01f;
             PRES_SENSOR_B_PULSE_PER_BAR = (double) ((int16_t) (msg.data[3] | msg.data[4] << 8)) * 0.01f;
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_PRES_SENSOR_A_PULSE_PER_BAR, (int16_t) (PRES_SENSOR_A_PULSE_PER_BAR * 100.));
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_PRES_SENSOR_A_PULSE_PER_BAR, (int16_t) (PRES_SENSOR_A_PULSE_PER_BAR * 100.));
             //(RID_PRES_SENSOR_B_PULSE_PER_BAR, (int16_t) (PRES_SENSOR_B_PULSE_PER_BAR * 100.));
 
             break;
@@ -503,8 +503,8 @@
 
         case CRX_SET_FRICTION: {
             FRICTION = (double) ((int16_t) (msg.data[1] | msg.data[2] << 8)) / 10.0f;
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_FRICTION, (int16_t) (FRICTION * 10.));
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_FRICTION, (int16_t) (FRICTION * 10.));
 
             break;
         }
@@ -520,12 +520,12 @@
             VALVE_GAIN_LPM_PER_V[4] = (double) msg.data[3] / 50.0f;
             VALVE_GAIN_LPM_PER_V[6] = (double) msg.data[4] / 50.0f;
             VALVE_GAIN_LPM_PER_V[8] = (double) msg.data[5] / 50.0f;
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_VALVE_GAIN_PLUS_1, (int16_t) (VALVE_GAIN_LPM_PER_V[0] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_PLUS_2, (int16_t) (VALVE_GAIN_LPM_PER_V[2] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_PLUS_3, (int16_t) (VALVE_GAIN_LPM_PER_V[4] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_PLUS_4, (int16_t) (VALVE_GAIN_LPM_PER_V[6] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_PLUS_5, (int16_t) (VALVE_GAIN_LPM_PER_V[8] * 100.0f));
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_VALVE_GAIN_PLUS_1, (int16_t) (VALVE_GAIN_LPM_PER_V[0] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_PLUS_2, (int16_t) (VALVE_GAIN_LPM_PER_V[2] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_PLUS_3, (int16_t) (VALVE_GAIN_LPM_PER_V[4] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_PLUS_4, (int16_t) (VALVE_GAIN_LPM_PER_V[6] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_PLUS_5, (int16_t) (VALVE_GAIN_LPM_PER_V[8] * 100.0f));
 
             break;
         }
@@ -541,11 +541,11 @@
             VALVE_GAIN_LPM_PER_V[5] = (double) msg.data[3] / 50.0f;
             VALVE_GAIN_LPM_PER_V[7] = (double) msg.data[4] / 50.0f;
             VALVE_GAIN_LPM_PER_V[9] = (double) msg.data[5] / 50.0f;
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_VALVE_GAIN_MINUS_1, (int16_t) (VALVE_GAIN_LPM_PER_V[1] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_MINUS_2, (int16_t) (VALVE_GAIN_LPM_PER_V[3] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_MINUS_3, (int16_t) (VALVE_GAIN_LPM_PER_V[5] * 100.0f));
-            //spi_eeprom_write(RID_VALVE_GAIN_MINUS_4, (int16_t) (VALVE_GAIN_LPM_PER_V[7] * 100.0f));
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_VALVE_GAIN_MINUS_1, (int16_t) (VALVE_GAIN_LPM_PER_V[1] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_MINUS_2, (int16_t) (VALVE_GAIN_LPM_PER_V[3] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_MINUS_3, (int16_t) (VALVE_GAIN_LPM_PER_V[5] * 100.0f));
+            spi_eeprom_write(RID_VALVE_GAIN_MINUS_4, (int16_t) (VALVE_GAIN_LPM_PER_V[7] * 100.0f));
             //(RID_VALVE_GAIN_MINUS_5, (int16_t) (VALVE_GAIN_LPM_PER_V[9] * 100.0f));
 
             break;
@@ -592,8 +592,8 @@
         }
         case CRX_SET_HOMEPOS_OFFSET: {
             HOMEPOS_OFFSET = (int16_t) (msg.data[1] | msg.data[2] << 8);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_HOMEPOS_OFFSET, (int16_t) HOMEPOS_OFFSET);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_HOMEPOS_OFFSET, (int16_t) HOMEPOS_OFFSET);
             break;
         }
 
@@ -603,8 +603,8 @@
         }
         case CRX_SET_HOMEPOS_VALVE_OPENING: {
             HOMEPOS_VALVE_OPENING = (int16_t) (msg.data[1] | msg.data[2] << 8);
-            ROM_RESET_DATA();
-            //spi_eeprom_write(RID_HOMEPOS_VALVE_OPENING, (int16_t) HOMEPOS_VALVE_OPENING);
+            ////ROM_RESET_DATA();
+            spi_eeprom_write(RID_HOMEPOS_VALVE_OPENING, (int16_t) HOMEPOS_VALVE_OPENING);
             break;
         }
 
@@ -624,25 +624,25 @@
         }
         
         case CRX_SET_ROM: {
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             break;
         }
         case CRX_SET_VALVE_CENTER_OFFSET: {
             VALVE_CENTER_OFFSET = ((float) ((int16_t) (msg.data[1] | msg.data[2] << 8))) * 0.1f;
             VALVE_CENTER = VALVE_CENTER + VALVE_CENTER_OFFSET;
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             break;
         }
         case CRX_SET_VALVE_DZ_MINUS_OFFSET: {
             VALVE_DZ_MINUS_OFFSET = ((float) ((int16_t) (msg.data[1] | msg.data[2] << 8))) * 0.1f;
             VALVE_DEADZONE_MINUS = VALVE_DEADZONE_MINUS + VALVE_DZ_MINUS_OFFSET;
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             break;
         }
         case CRX_SET_VALVE_DZ_PLUS_OFFSET: {
             VALVE_DZ_PLUS_OFFSET = ((float) ((int16_t) (msg.data[1] | msg.data[2] << 8))) * 0.1f;
             VALVE_DEADZONE_PLUS = VALVE_DEADZONE_PLUS + VALVE_DZ_PLUS_OFFSET;
-            ROM_RESET_DATA();
+            ////ROM_RESET_DATA();
             break;
         }
         case CRX_SET_PID_GAIN_OPP: {
@@ -651,11 +651,11 @@
                 I_GAIN_VALVE_POSITION = (int16_t) (msg.data[4] | msg.data[5] << 8);
                 D_GAIN_VALVE_POSITION = (int16_t) (msg.data[6] | msg.data[7] << 8);
                 
-                ROM_RESET_DATA();
+                ////ROM_RESET_DATA();
                 
-                //spi_eeprom_write(RID_P_GAIN_VALVE_POSITION, (int16_t) P_GAIN_VALVE_POSITION);
-                //spi_eeprom_write(RID_I_GAIN_VALVE_POSITION, (int16_t) I_GAIN_VALVE_POSITION);
-                //spi_eeprom_write(RID_D_GAIN_VALVE_POSITION, (int16_t) D_GAIN_VALVE_POSITION);
+                spi_eeprom_write(RID_P_GAIN_VALVE_POSITION, (int16_t) P_GAIN_VALVE_POSITION);
+                spi_eeprom_write(RID_I_GAIN_VALVE_POSITION, (int16_t) I_GAIN_VALVE_POSITION);
+                spi_eeprom_write(RID_D_GAIN_VALVE_POSITION, (int16_t) D_GAIN_VALVE_POSITION);
 
 
             } else if (msg.data[1] == 1) {
@@ -663,21 +663,21 @@
                 I_GAIN_JOINT_POSITION = (int16_t) (msg.data[4] | msg.data[5] << 8);
                 D_GAIN_JOINT_POSITION = (int16_t) (msg.data[6] | msg.data[7] << 8);
                 
-                ROM_RESET_DATA();
+                ////ROM_RESET_DATA();
 
-                //spi_eeprom_write(RID_P_GAIN_JOINT_POSITION, (int16_t) P_GAIN_JOINT_POSITION);
-                //spi_eeprom_write(RID_I_GAIN_JOINT_POSITION, (int16_t) I_GAIN_JOINT_POSITION);
-                //spi_eeprom_write(RID_D_GAIN_JOINT_POSITION, (int16_t) D_GAIN_JOINT_POSITION);
+                spi_eeprom_write(RID_P_GAIN_JOINT_POSITION, (int16_t) P_GAIN_JOINT_POSITION);
+                spi_eeprom_write(RID_I_GAIN_JOINT_POSITION, (int16_t) I_GAIN_JOINT_POSITION);
+                spi_eeprom_write(RID_D_GAIN_JOINT_POSITION, (int16_t) D_GAIN_JOINT_POSITION);
             } else if (msg.data[1] == 2) {
                 P_GAIN_JOINT_TORQUE = (int16_t) (msg.data[2] | msg.data[3] << 8);
                 I_GAIN_JOINT_TORQUE = (int16_t) (msg.data[4] | msg.data[5] << 8);
                 D_GAIN_JOINT_TORQUE = (int16_t) (msg.data[6] | msg.data[7] << 8);
                 
-                ROM_RESET_DATA();
+                ////ROM_RESET_DATA();
                 
-                //spi_eeprom_write(RID_P_GAIN_JOINT_TORQUE, (int16_t) P_GAIN_JOINT_TORQUE);
-                //spi_eeprom_write(RID_I_GAIN_JOINT_TORQUE, (int16_t) I_GAIN_JOINT_TORQUE);
-                //spi_eeprom_write(RID_D_GAIN_JOINT_TORQUE, (int16_t) D_GAIN_JOINT_TORQUE);
+                spi_eeprom_write(RID_P_GAIN_JOINT_TORQUE, (int16_t) P_GAIN_JOINT_TORQUE);
+                spi_eeprom_write(RID_I_GAIN_JOINT_TORQUE, (int16_t) I_GAIN_JOINT_TORQUE);
+                spi_eeprom_write(RID_D_GAIN_JOINT_TORQUE, (int16_t) D_GAIN_JOINT_TORQUE);
             }
             break;
         }
--- a/SPI_EEP_ENC/SPI_EEP_ENC.cpp	Wed Jun 03 08:46:45 2020 +0000
+++ b/SPI_EEP_ENC/SPI_EEP_ENC.cpp	Mon Jul 20 06:58:38 2020 +0000
@@ -3,49 +3,139 @@
 #include "SPI_EEP_ENC.h"
 
 // EEPROM
-//void spi_eeprom_ready(void){
-//    int temp1, temp2;
-//    do{
-//        eeprom_cs=0;
-//        eeprom.write(0x06);  //write enable
-//        eeprom_cs=1;
-//        
-//        eeprom_cs=0;
-//        temp1 = eeprom.write(0x05);     
-//        temp2 = eeprom.write(0x00);
-//        eeprom_cs=1;
-//        temp2=(temp2&(0x03))!= 0x02;
-//    } while(temp2); // before writing or reading 
-// }
+void spi_eeprom_ready(void){
+    int temp1, temp2;
+    do{
+        eeprom_cs=0;
+        eeprom.write(0x06);  //write enable
+        eeprom_cs=1;
+        
+        eeprom_cs=0;
+        temp1 = eeprom.write(0x05);     
+        temp2 = eeprom.write(0x00);
+        eeprom_cs=1;
+        temp2=(temp2&(0x03))!= 0x02;
+    } while(temp2); // before writing or reading 
+}
+// 
+ void spi_eeprom_write(unsigned short add, unsigned int data){
+        spi_eeprom_ready();
+        add=add*4;
+        eeprom_cs=0;
+        eeprom.write(0x02);
+        eeprom.write(0xff&(add>>8));
+        eeprom.write(0xff&add);
+        eeprom.write(0xff&data);
+        eeprom.write(0xff&(data>>8));
+        eeprom.write(0xff&(data>>16));
+        eeprom.write(0xff&(data>>24));
+        eeprom_cs=1;
+}
 // 
-// void spi_eeprom_write(unsigned short add, unsigned int data){
-//        eeprom_cs=0;
-//        eeprom.write(0x02);
-//        eeprom.write(0xff&(add>>8));
-//        eeprom.write(0xff&add);
-//        eeprom.write(0xff&data);
-//        eeprom.write(0xff&(data>>8));
-//        eeprom.write(0xff&(data>>16));
-//        eeprom.write(0xff&(data>>24));
-//        eeprom_cs=1;
-//}
-// 
-//unsigned int spi_eeprom_read(unsigned short add){
-//        eeprom_cs=0;
-//        eeprom.write(0x03);
-//        eeprom.write(0xff&(add>>8));
-//        eeprom.write(0xff&add);
+unsigned int spi_eeprom_read(unsigned short add){
+        add=add*4;
+        eeprom_cs=0;
+        eeprom.write(0x03);
+        eeprom.write(0xff&(add>>8));
+        eeprom.write(0xff&add);
 //        
-//        int a1 = eeprom.write(0x00);
-//        int a2 = eeprom.write(0x00);
-//        int a3 = eeprom.write(0x00);
-//        int a4 = eeprom.write(0x00);
-//        eeprom_cs=1;
-//        //unsigned int final = (a4<<24)+(a3<<16) + (a2<<8) + a1;
-//        unsigned int final = (int32_t) (a1 | a2 << 8 | a3 << 16 | a4 << 24);
-//        return final;
-// } 
- 
+        int a1 = eeprom.write(0x00);
+        int a2 = eeprom.write(0x00);
+        int a3 = eeprom.write(0x00);
+        int a4 = eeprom.write(0x00);
+        eeprom_cs=1;
+        //unsigned int final = (a4<<24)+(a3<<16) + (a2<<8) + a1;
+        unsigned int final = (int32_t) (a1 | a2 << 8 | a3 << 16 | a4 << 24);
+        return final;
+} 
+
+void spi_eeprom_call_data(void)
+{
+    BNO = spi_eeprom_read(RID_BNO);
+    BNO = 11;
+    OPERATING_MODE = spi_eeprom_read(RID_OPERATING_MODE);
+    SENSING_MODE = spi_eeprom_read(RID_SENSING_MODE);
+    SENSING_MODE = 1;
+    CURRENT_CONTROL_MODE = spi_eeprom_read(RID_CURRENT_CONTROL_MODE);
+    CURRENT_CONTROL_MODE = 1;
+    FLAG_VALVE_DEADZONE = spi_eeprom_read(RID_FLAG_VALVE_DEADZONE);
+    CAN_FREQ = spi_eeprom_read(RID_CAN_FREQ);
+    CAN_FREQ = 500;
+    DIR_JOINT_ENC = spi_eeprom_read(RID_JOINT_ENC_DIR);
+    DIR_VALVE = spi_eeprom_read(RID_VALVE_DIR);
+    DIR_VALVE_ENC = spi_eeprom_read(RID_VALVE_ENC_DIR);
+    SUPPLY_VOLTAGE = (float) (spi_eeprom_read(RID_VOLATGE_SUPPLY)) *0.1f;
+    VALVE_VOLTAGE_LIMIT = (float) (spi_eeprom_read(RID_VOLTAGE_VALVE)) * 0.1f;
+    P_GAIN_VALVE_POSITION = spi_eeprom_read(RID_P_GAIN_VALVE_POSITION);
+    I_GAIN_VALVE_POSITION = spi_eeprom_read(RID_I_GAIN_VALVE_POSITION);
+    D_GAIN_VALVE_POSITION = spi_eeprom_read(RID_D_GAIN_VALVE_POSITION);
+    P_GAIN_JOINT_POSITION = spi_eeprom_read(RID_P_GAIN_JOINT_POSITION);
+    I_GAIN_JOINT_POSITION = spi_eeprom_read(RID_I_GAIN_JOINT_POSITION);
+    D_GAIN_JOINT_POSITION = spi_eeprom_read(RID_D_GAIN_JOINT_POSITION);
+    P_GAIN_JOINT_TORQUE = spi_eeprom_read(RID_P_GAIN_JOINT_TORQUE);
+    I_GAIN_JOINT_TORQUE = spi_eeprom_read( RID_I_GAIN_JOINT_TORQUE);
+    D_GAIN_JOINT_TORQUE = spi_eeprom_read(RID_D_GAIN_JOINT_TORQUE);
+    VALVE_DEADZONE_PLUS = (float) (spi_eeprom_read( RID_VALVE_DEADZONE_PLUS)) * 0.1f;
+    VALVE_DEADZONE_MINUS = (float) (spi_eeprom_read(RID_VALVE_DEADZONE_MINUS)) * 0.1f;
+    VELOCITY_COMP_GAIN = spi_eeprom_read(RID_VELOCITY_COMP_GAIN);
+    COMPLIANCE_GAIN = spi_eeprom_read(RID_COMPLIANCE_GAIN);
+    VALVE_CENTER = spi_eeprom_read(RID_VALVE_CNETER);
+    VALVE_FF = spi_eeprom_read(RID_VALVE_FF);
+    BULK_MODULUS = spi_eeprom_read(RID_BULK_MODULUS);
+    CHAMBER_VOLUME_A = spi_eeprom_read(RID_CHAMBER_VOLUME_A);
+    CHAMBER_VOLUME_B = spi_eeprom_read(RID_CHAMBER_VOLUME_B);
+    PISTON_AREA_A = spi_eeprom_read(RID_PISTON_AREA_A);
+    PISTON_AREA_B = spi_eeprom_read(RID_PISTON_AREA_B);
+    PISTON_AREA_alpha = (float)PISTON_AREA_A/(float)PISTON_AREA_B;
+    alpha3 = PISTON_AREA_alpha * PISTON_AREA_alpha*PISTON_AREA_alpha;
+    PRES_SUPPLY = spi_eeprom_read(RID_PRES_SUPPLY);
+    PRES_RETURN = spi_eeprom_read(RID_PRES_RETURN);
+    ENC_LIMIT_MINUS = spi_eeprom_read(RID_ENC_LIMIT_MINUS);
+    ENC_LIMIT_PLUS = spi_eeprom_read(RID_ENC_LIMIT_PLUS);
+    STROKE = spi_eeprom_read(RID_STROKE);
+    //VALVE_LIMIT_MINUS = flashReadInt(Rom_Sector, RID_VALVE_LIMIT_MINUS);
+    //VALVE_LIMIT_PLUS = flashReadInt(Rom_Sector, RID_VALVE_LIMIT_PLUS);
+    ENC_PULSE_PER_POSITION = (float) (spi_eeprom_read(RID_ENC_PULSE_PER_POSITION)) * 0.1f;
+//    ENC_PULSE_PER_POSITION = (float) 1024.0f;
+    TORQUE_SENSOR_PULSE_PER_TORQUE = (float) (spi_eeprom_read(RID_TORQUE_SENSOR_PULSE_PER_TORQUE)) * 0.0001f;
+    //TORQUE_SENSOR_PULSE_PER_TORQUE = (float) 0.41928f; //for ankle
+//    TORQUE_SENSOR_PULSE_PER_TORQUE = (float) 10000.0f/2048.0f; //for knee
+    PRES_SENSOR_A_PULSE_PER_BAR = (float) (spi_eeprom_read(RID_PRES_SENSOR_A_PULSE_PER_BAR)) * 0.01f;
+    PRES_SENSOR_A_PULSE_PER_BAR = 4096.0f * 946.0f / 3.3f / 300.0f / 210.0f;
+    PRES_SENSOR_B_PULSE_PER_BAR = (float) (spi_eeprom_read(RID_PRES_SENSOR_B_PULSE_PER_BAR)) * 0.01f;
+    PRES_SENSOR_B_PULSE_PER_BAR = 4096.0f * 946.0f / 3.3f / 300.0f / 210.0f;
+    FRICTION = (float) (spi_eeprom_read(RID_FRICTION)) * 0.1f;
+    HOMEPOS_OFFSET = spi_eeprom_read(RID_HOMEPOS_OFFSET);
+    HOMEPOS_VALVE_OPENING = spi_eeprom_read(RID_HOMEPOS_VALVE_OPENING);
+    TORQUE_VREF = (float) (spi_eeprom_read(RID_TORQUE_SENSOR_VREF)) *0.001f;
+    PRES_A_VREF = (float) spi_eeprom_read(RID_PRES_A_SENSOR_VREF) * 0.001f;
+    PRES_B_VREF = (float) spi_eeprom_read(RID_PRES_B_SENSOR_VREF) * 0.001f;
+    VALVE_GAIN_LPM_PER_V[0] = (float) (spi_eeprom_read(RID_VALVE_GAIN_PLUS_1)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[2] = (float) (spi_eeprom_read(RID_VALVE_GAIN_PLUS_2)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[4] = (float) (spi_eeprom_read(RID_VALVE_GAIN_PLUS_3)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[6] = (float) (spi_eeprom_read(RID_VALVE_GAIN_PLUS_4)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[8] = (float) (spi_eeprom_read(RID_VALVE_GAIN_PLUS_5)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[1] = (float) (spi_eeprom_read(RID_VALVE_GAIN_MINUS_1)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[3] = (float) (spi_eeprom_read(RID_VALVE_GAIN_MINUS_2)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[5] = (float) (spi_eeprom_read(RID_VALVE_GAIN_MINUS_3)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[7] = (float) (spi_eeprom_read(RID_VALVE_GAIN_MINUS_4)) * 0.01f;
+    VALVE_GAIN_LPM_PER_V[9] = (float) (spi_eeprom_read(RID_VALVE_GAIN_MINUS_5)) * 0.01f;
+    for(int i=0; i<25; i++) {
+        VALVE_POS_VS_PWM[i] = (float) (spi_eeprom_read(RID_VALVE_POS_VS_PWM_0 + i));
+    }
+    for(int i=0; i<100; i++) {
+        JOINT_VEL[i] = ( ((spi_eeprom_read( RID_VALVE_POS_VS_FLOWRATE_0 + i)) & 0xFFFF) | ((spi_eeprom_read(RID_VALVE_POS_VS_FLOWRATE_0_1 + i)) & 0xFFFF) << 16 ) ;
+    }
+    VALVE_MAX_POS = spi_eeprom_read(RID_VALVE_MAX_POS);
+    VALVE_MIN_POS = spi_eeprom_read(RID_VALVE_MIN_POS);
+    //DDV_CENTER = (float) (flashReadInt(Rom_Sector, RID_DDV_CENTER)) * 0.1f;
+    VALVE_POS_NUM = spi_eeprom_read(RID_VALVE_POS_NUM);
+    
+    K_SPRING = spi_eeprom_read(RID_K_SPRING);
+    D_DAMPER = spi_eeprom_read(RID_D_DAMPER);
+
+    
+}
  
  // ENCODER
 void spi_enc_set_clear(void){
--- a/SPI_EEP_ENC/SPI_EEP_ENC.h	Wed Jun 03 08:46:45 2020 +0000
+++ b/SPI_EEP_ENC/SPI_EEP_ENC.h	Mon Jul 20 06:58:38 2020 +0000
@@ -4,9 +4,10 @@
 #include "mbed.h"
 
 
-//void spi_eeprom_ready(void);
-//void spi_eeprom_write(unsigned short add, unsigned int data);
-//unsigned int spi_eeprom_read(unsigned short add);
+void spi_eeprom_ready(void);
+void spi_eeprom_write(unsigned short add, unsigned int data);
+unsigned int spi_eeprom_read(unsigned short add);
+void spi_eeprom_call_data(void);
 
 void spi_enc_set_clear(void);
 void spi_enc_set_init(void);
--- a/main.cpp	Wed Jun 03 08:46:45 2020 +0000
+++ b/main.cpp	Mon Jul 20 06:58:38 2020 +0000
@@ -32,8 +32,8 @@
 unsigned int value; // 10bit output of reading sensor AS5510
 
 // SPI ///////////////////////////////////////////
-//SPI eeprom(PB_15, PB_14, PB_13); // EEPROM //(SPI_MOSI, SPI_MISO, SPI_SCK);
-//DigitalOut eeprom_cs(PB_12);
+SPI eeprom(PB_15, PB_14, PB_13); // EEPROM //(SPI_MOSI, SPI_MISO, SPI_SCK);
+DigitalOut eeprom_cs(PB_12);
 //FlashWriter writer(6);//2부터 7까지 되는듯 아마 sector
 SPI enc(PC_12,PC_11,PC_10);
 DigitalOut enc_cs(PD_2);
@@ -163,7 +163,8 @@
     make_delay();
 
     //rom
-    ROM_CALL_DATA();
+    //ROM_CALL_DATA();
+    spi_eeprom_call_data();
     make_delay();
 
     // ADC init
--- a/setting.h	Wed Jun 03 08:46:45 2020 +0000
+++ b/setting.h	Mon Jul 20 06:58:38 2020 +0000
@@ -38,8 +38,8 @@
 extern unsigned int value; // 10bit output of reading sensor AS5510
 
 // SPI
-//extern SPI eeprom; //(SPI_MOSI, SPI_MISO, SPI_SCK);
-//extern DigitalOut eeprom_cs;
+extern SPI eeprom; //(SPI_MOSI, SPI_MISO, SPI_SCK);
+extern DigitalOut eeprom_cs;
 extern SPI enc;
 extern DigitalOut enc_cs;