Browse Source

door and light

nvidia 3 năm trước cách đây
mục cha
commit
adf06f1183

+ 1 - 1
src/controller/controller_hapo/main.cpp

@@ -108,7 +108,7 @@ void executeDecition(const iv::brain::decition decition)
     }*/
 
 
-
+qDebug("door is %d",decition.door());
 
 
 

+ 19 - 5
src/decition/decition_brain_sf/decition/adc_adapter/hapo_adapter.cpp

@@ -143,8 +143,8 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
 
         if(((now_gps_ins.ins_pitch_angle<-2.5 && ServiceCarStatus.daocheMode)||
             (now_gps_ins.ins_pitch_angle>2.5 && !ServiceCarStatus.daocheMode))
-                && abs(realSpeed)<1.0){
-            controlSpeed=max((float)20.0,controlSpeed);
+                && (dSpeed-realSpeed)>3.0){
+            controlSpeed=max((float)30.0,controlSpeed);
             controlSpeed=min((float)40.0,controlSpeed);
         }
         // 斜坡加大油门  end
@@ -263,15 +263,29 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
     (*decition)->home_light=0;
     (*decition)->roof_light=0;
 
-
+     static int64_t DoorTimeStart=-1;
+     static int32_t door=0;
      if(ServiceCarStatus.has_mbdoor){
          if(ServiceCarStatus.mbdoor){
-             (*decition)->door=2;
+             door=2;
+             //(*decition)->door=2;
+             DoorTimeStart=QDateTime::currentSecsSinceEpoch();
+             ServiceCarStatus.has_mbdoor=0;
          }else{
-             (*decition)->door=3;
+             door=3;
+            // (*decition)->door=3;
+             DoorTimeStart=QDateTime::currentSecsSinceEpoch();
+             ServiceCarStatus.has_mbdoor=0;
          }
      }
 
+     if((QDateTime::currentSecsSinceEpoch()-DoorTimeStart)>10)
+             (*decition)->door=0;
+     else
+              (*decition)->door=door;
+     givlog->debug("decition_brain_bool","DoorTimeStart: %d,current: %d",
+                     DoorTimeStart,QDateTime::currentSecsSinceEpoch());
+
      if(ServiceCarStatus.has_mbjinguang){
          if(ServiceCarStatus.mbjinguang){
              (*decition)->nearLight=1;

+ 7 - 1
src/decition/decition_brain_sf/decition/brain.cpp

@@ -1203,7 +1203,8 @@ void iv::decition::BrainDecition::ShareDecition(iv::decition::Decition decition)
     xdecition.set_air_worktime(decition->air_worktime);
     xdecition.set_air_offtime(decition->air_offtime);
     xdecition.set_air_on(decition->air_on);
-
+    xdecition.set_door(decition->door);
+    xdecition.set_dippedlight(decition->nearLight);
 
     std::cout<<"===================shareDecition========================"<<std::endl;
          std::cout<<"  torque_st:"<<ServiceCarStatus.torque_st
@@ -1297,12 +1298,17 @@ void iv::decition::BrainDecition::UpdateHMI(const char *pdata, const int ndatasi
     ServiceCarStatus.has_mbdoor = xhmimsg.has_mbchemen();
     if(ServiceCarStatus.has_mbdoor){
         ServiceCarStatus.mbdoor = xhmimsg.mbchemen();
+
     }
+
     ServiceCarStatus.has_mbjinguang = xhmimsg.has_mbjinguang();
     if(ServiceCarStatus.has_mbjinguang){
         ServiceCarStatus.mbjinguang = xhmimsg.mbjinguang();
     }
 
+    givlog->debug("decition_brain_bool","mbdoor: %d,mbjinguang: %d",
+                    ServiceCarStatus.mbdoor,ServiceCarStatus.mbjinguang);
+
 
 }