Browse Source

xiuzheng jietouti mei chushihua wenti

fujiankuan 2 years ago
parent
commit
f8f33f93d6
1 changed files with 40 additions and 40 deletions
  1. 40 40
      src/controller/controller_changan_shenlan/main.cpp

+ 40 - 40
src/controller/controller_changan_shenlan/main.cpp

@@ -110,58 +110,58 @@ unsigned char byte_144[8];
 unsigned char byte_24B[8];
 unsigned char byte_36E[8];
 
-ECU_144_t* _m144;
-ECU_24B_t* _m24B;
-ECU_36E_t* _m36E;
+ECU_144_t _m144 = {0,0,0,0,0,0};
+ECU_24B_t _m24B = {0,0,0,0,0,0,0,0,0,0,0};
+ECU_36E_t _m36E = {0};
 
 
 void executeDecition(const iv::brain::decition decition)
 {
     //    std::cout<<"acc is "<<decition.torque()<<" ang is "<<decition.wheelangle()<<std::endl;
-    _m144->ACC_LatAngReq = ECU_144_ACC_LatAngReq_toS(decition.wheelangle());
-    _m144->ADS_Reqmode = 2;
-    _m144->ACC_MotorTorqueMaxLimitRequest = ECU_144_ACC_MotorTorqueMaxLimitRequest_toS(10);
-    _m144->ACC_LatAngReqActive = 1;
-    _m144->ACC_MotorTorqueMinLimitRequest = ECU_144_ACC_MotorTorqueMinLimitRequest_toS(-10);
-    _m144->ACC_ADCReqType = decition.brake_type();//ADC请求类型(制动时为1,其余情况为0)
-
-    byte_144[0] |= ((_m144->ACC_LatAngReq >> 9) & (0x1FU)) | ((_m144->ADS_Reqmode & (0x07U)) << 5);
-    byte_144[1] |= ((_m144->ACC_LatAngReq >> 1) & (0xFFU));
-    byte_144[2] |= ((_m144->ACC_LatAngReq & (0x01U)) << 7) | ((_m144->ACC_MotorTorqueMaxLimitRequest >> 5) & (0x3FU)) | ((_m144->ACC_LatAngReqActive & (0x01U)) << 6);
-    byte_144[3] |= ((_m144->ACC_MotorTorqueMaxLimitRequest & (0x1FU)) << 3) | ((_m144->ACC_MotorTorqueMinLimitRequest >> 8) & (0x07U));
-    byte_144[4] |= (_m144->ACC_MotorTorqueMinLimitRequest & (0xFFU));
-    byte_144[5] |= ((_m144->ACC_ADCReqType & (0x03U)) << 6);
+    _m144.ACC_LatAngReq = ECU_144_ACC_LatAngReq_toS(decition.wheelangle());
+    _m144.ADS_Reqmode = decition.angle_mode();
+    _m144.ACC_MotorTorqueMaxLimitRequest = ECU_144_ACC_MotorTorqueMaxLimitRequest_toS(10);
+    _m144.ACC_LatAngReqActive = decition.angle_active();
+    _m144.ACC_MotorTorqueMinLimitRequest = ECU_144_ACC_MotorTorqueMinLimitRequest_toS(-10);
+    _m144.ACC_ADCReqType = decition.brake_type();//ADC请求类型(制动时为1,其余情况为0)
+
+    byte_144[0] |= ((_m144.ACC_LatAngReq >> 9) & (0x1FU)) | ((_m144.ADS_Reqmode & (0x07U)) << 5);
+    byte_144[1] |= ((_m144.ACC_LatAngReq >> 1) & (0xFFU));
+    byte_144[2] |= ((_m144.ACC_LatAngReq & (0x01U)) << 7) | ((_m144.ACC_MotorTorqueMaxLimitRequest >> 5) & (0x3FU)) | ((_m144.ACC_LatAngReqActive & (0x01U)) << 6);
+    byte_144[3] |= ((_m144.ACC_MotorTorqueMaxLimitRequest & (0x1FU)) << 3) | ((_m144.ACC_MotorTorqueMinLimitRequest >> 8) & (0x07U));
+    byte_144[4] |= (_m144.ACC_MotorTorqueMinLimitRequest & (0xFFU));
+    byte_144[5] |= ((_m144.ACC_ADCReqType & (0x03U)) << 6);
 
     /*制动过程用的减速度,加速用扭矩*/
-    _m24B->ACC_AccTrqReq = decition.niuju_y();
-    _m24B->ACC_AccTrqReqActive = decition.acc_active();
-    _m24B->ACC_ACCTargetAcceleration = decition.accelerator();
-//    _m24B->ACC_AEBTargetDeceleration = 0;
-//    _m24B->ACC_AEBVehilceHoldReq = 0;
-//    _m24B->ADCReqMode = 0;
-//    _m24B->ACC_AEBActive = 0;
-//    _m24B->ACC_Driveoff_Request = 0;
-//    _m24B->ACC_DecToStop = 0;
-    _m24B->ACC_CDDActive = decition.brake_active();
-    _m24B->ACC_ACCMode = decition.auto_mode();
-
-    byte_24B[0] |= ((_m24B->ACC_AccTrqReq >> 7) & (0xFFU));
-    byte_24B[1] |= ((_m24B->ACC_AccTrqReq & (0x7FU)) << 1) | (_m24B->ACC_AccTrqReqActive & (0x01U));
-    byte_24B[2] |= ((_m24B->ACC_ACCTargetAcceleration >> 3) & (0x1FU));
-    byte_24B[3] |= ((_m24B->ACC_ACCTargetAcceleration & (0x07U)) << 5) | ((_m24B->ACC_AEBTargetDeceleration >> 15) & (0x01U));
-    byte_24B[4] |= ((_m24B->ACC_AEBTargetDeceleration >> 7) & (0xFFU));
-    byte_24B[5] |= ((_m24B->ACC_AEBTargetDeceleration & (0x7FU)) << 1) | (_m24B->ACC_AEBVehilceHoldReq & (0x01U));
-    byte_24B[6] |= ((_m24B->ADCReqMode & (0x03U)) << 1) | ((_m24B->ACC_AEBActive & (0x01U)) << 3) | ((_m24B->ACC_Driveoff_Request & (0x01U)) << 5) | ((_m24B->ACC_DecToStop & (0x01U)) << 6) | ((_m24B->ACC_CDDActive & (0x01U)) << 7);
-    byte_24B[7] |= (_m24B->ACC_ACCMode & (0x07U));
+    _m24B.ACC_AccTrqReq = decition.niuju_y();
+    _m24B.ACC_AccTrqReqActive = decition.acc_active();
+    _m24B.ACC_ACCTargetAcceleration = decition.accelerator();
+//    _m24B.ACC_AEBTargetDeceleration = 0;
+//    _m24B.ACC_AEBVehilceHoldReq = 0;
+//    _m24B.ADCReqMode = 0;
+//    _m24B.ACC_AEBActive = 0;
+//    _m24B.ACC_Driveoff_Request = 0;
+//    _m24B.ACC_DecToStop = 0;
+    _m24B.ACC_CDDActive = decition.brake_active();
+    _m24B.ACC_ACCMode = decition.auto_mode();
+
+    byte_24B[0] |= ((_m24B.ACC_AccTrqReq >> 7) & (0xFFU));
+    byte_24B[1] |= ((_m24B.ACC_AccTrqReq & (0x7FU)) << 1) | (_m24B.ACC_AccTrqReqActive & (0x01U));
+    byte_24B[2] |= ((_m24B.ACC_ACCTargetAcceleration >> 3) & (0x1FU));
+    byte_24B[3] |= ((_m24B.ACC_ACCTargetAcceleration & (0x07U)) << 5) | ((_m24B.ACC_AEBTargetDeceleration >> 15) & (0x01U));
+    byte_24B[4] |= ((_m24B.ACC_AEBTargetDeceleration >> 7) & (0xFFU));
+    byte_24B[5] |= ((_m24B.ACC_AEBTargetDeceleration & (0x7FU)) << 1) | (_m24B.ACC_AEBVehilceHoldReq & (0x01U));
+    byte_24B[6] |= ((_m24B.ADCReqMode & (0x03U)) << 1) | ((_m24B.ACC_AEBActive & (0x01U)) << 3) | ((_m24B.ACC_Driveoff_Request & (0x01U)) << 5) | ((_m24B.ACC_DecToStop & (0x01U)) << 6) | ((_m24B.ACC_CDDActive & (0x01U)) << 7);
+    byte_24B[7] |= (_m24B.ACC_ACCMode & (0x07U));
 
     if(decition.leftlamp() == true && decition.rightlamp() == false)
-        _m36E->ADS_UDLCTurnLightReq = 3;
+        _m36E.ADS_UDLCTurnLightReq = 3;
     else if(decition.leftlamp() == false && decition.rightlamp() == true)
-        _m36E->ADS_UDLCTurnLightReq = 4;
+        _m36E.ADS_UDLCTurnLightReq = 4;
     else
-        _m36E->ADS_UDLCTurnLightReq = 0;
+        _m36E.ADS_UDLCTurnLightReq = 0;
 
-    byte_36E[0] |= ((_m36E->ADS_UDLCTurnLightReq & (0x07U)) << 5);
+    byte_36E[0] |= ((_m36E.ADS_UDLCTurnLightReq & (0x07U)) << 5);
 
 }