Selaa lähdekoodia

change some code in g23zlgchassistest.

yuchuli 4 päivää sitten
vanhempi
commit
25ba2f1ae5

+ 57 - 15
src/tool/g29zlgchassistest/mainwindow.cpp

@@ -146,29 +146,33 @@ void MainWindow::threaddata()
     a07_ecu_30_a_t can30a;
     a07_ecu_2_ca_t can2ca;
 
+    static int xieya = 50;
+
 
     while(mbthreaddatarun)
     {
-        can1b2.acc_lat_ang_req = mfWheelAngle;
-        can1b2.acc_motor_torque_max_limit_request = 10.0;
-        can1b2.acc_motor_torque_min_limit_request = -10.0;
+
+        can1b2.acc_lat_ang_req = a07_ecu_1_b2_acc_lat_ang_req_encode(mfWheelAngle);;
+        can1b2.acc_motor_torque_max_limit_request = a07_ecu_1_b2_acc_motor_torque_max_limit_request_encode(10.0);
+        can1b2.acc_motor_torque_min_limit_request = a07_ecu_1_b2_acc_motor_torque_min_limit_request_encode(-10.0);
+
         if(mbchassisactive)
         {
-            can1b2.acc_lat_ang_req_active = 1;
+            can1b2.acc_lat_ang_req_active = a07_ecu_1_b2_acc_lat_ang_req_active_encode(1.0);
         }
         else
         {
-            can1b2.acc_lat_ang_req_active = 0;
+            can1b2.acc_lat_ang_req_active = a07_ecu_1_b2_acc_lat_ang_req_active_encode(0.0);
         }
 
-        can23c.acc_acc_trq_req = mfTorque;
+        can23c.acc_acc_trq_req = a07_ecu_23_c_acc_acc_trq_req_encode(0);
         if(mbchassisactive)
         {
-            can23c.acc_acc_trq_req = 1;
+            can23c.acc_acc_trq_req = a07_ecu_23_c_acc_acc_trq_req_encode(1);
         }
         else
         {
-            can23c.acc_acc_trq_req = 0;
+            can23c.acc_acc_trq_req = a07_ecu_23_c_acc_acc_trq_req_encode(0);
         }
 
         if(mbUseAPA)
@@ -217,10 +221,10 @@ void MainWindow::threaddata()
                 }
             }
 
-            can23f.apa_steering_angle_req_protection = gnAPAstate;
-            can23f.apa_error_status = 0;
-            can23f.apa_steering_angle_req = mfWheelAngle;
-            can1b2.acc_lat_ang_req_active = 0;
+            can23f.apa_steering_angle_req_protection = a07_ecu_23_f_apa_steering_angle_req_protection_encode(gnAPAstate);
+            can23f.apa_error_status = a07_ecu_23_f_apa_error_status_encode(0);
+            can23f.apa_steering_angle_req = a07_ecu_23_f_apa_steering_angle_req_encode(mfWheelAngle);
+            can1b2.acc_lat_ang_req_active = a07_ecu_1_b2_acc_lat_ang_req_active_encode(0);
 
 
 
@@ -228,12 +232,50 @@ void MainWindow::threaddata()
         else
         {
             gnAPAstate = 0;
-            can23f.apa_steering_angle_req_protection = 0;
-            can23f.apa_error_status = 0;
-            can23f.apa_steering_angle_req = mfWheelAngle;
+            can23f.apa_steering_angle_req_protection = a07_ecu_23_f_apa_steering_angle_req_protection_encode(0);
+            can23f.apa_error_status = a07_ecu_23_f_apa_error_status_encode(0.0);
+            can23f.apa_steering_angle_req = a07_ecu_23_f_apa_steering_angle_req_encode(mfWheelAngle);
+
+
+        }
+
+        if(mfBrake<(-5.0))
+        {
+            can23c.acc_acc_target_acceleration = a07_ecu_23_c_acc_acc_target_acceleration_encode(-5.0);
+        }
+        else
+        {
+            can23c.acc_acc_target_acceleration = a07_ecu_23_c_acc_acc_target_acceleration_encode(mfBrake);
+        }
 
+        if(mfBrake>(-0.0000001))
+        {
+
+            if(xieya > 0)
+            {
+
+                can23c.acc_cdd_active = a07_ecu_23_c_acc_cdd_active_encode(1.0);
+                can23c.acc_acc_target_acceleration = a07_ecu_23_c_acc_acc_target_acceleration_encode(0.5);
+                can23c.acc_acc_trq_req = a07_ecu_23_c_acc_acc_trq_req_encode(0.0);
+                can23c.acc_acc_trq_req_active = a07_ecu_23_c_acc_acc_trq_req_active_encode(0.0);
+                can23c.acc_driveoff_request = a07_ecu_23_c_acc_driveoff_request_encode(1.0);
+                xieya--;
+                std::cout<<" xieya. now veh speed: "<<gfVehSpd<<std::endl;
+            }
+            else
+            {
 
+                can23c.acc_cdd_active = a07_ecu_23_c_acc_cdd_active_encode(0.0);
+                can23c.acc_acc_target_acceleration = a07_ecu_23_c_acc_acc_target_acceleration_encode(0.0);
+                can23c.acc_driveoff_request = a07_ecu_23_c_acc_driveoff_request_encode(0.0);
+            }
+        }
+        else
+        {
+            can23c.acc_cdd_active = a07_ecu_23_c_acc_cdd_active_encode(1.0);
+             can23c.acc_driveoff_request = a07_ecu_23_c_acc_driveoff_request_encode(0.0);
         }
+
         std::this_thread::sleep_for(std::chrono::milliseconds(10));
     }
 }

+ 2 - 0
src/tool/g29zlgchassistest/mainwindow.h

@@ -55,9 +55,11 @@ private:
     bool mbchassisactive = false;
 
     double mfWheelAngle = 0;
+    double mfBrake = 0;
     double mfTorque = 0;
     bool mbUseAPA = false;
     int gnAPAstate = 0;
+    double gfVehSpd = 0;
 
     int mnSpeedMax = 100;