Răsfoiți Sursa

fix(driver_ultrasonic_valeo):fix a decode bug about payloadsize

sunjiacheng 3 ani în urmă
părinte
comite
6ad0e61ff1

+ 4 - 4
src/driver/driver_ultrasonic_valeo_GUMK_HP/canrecv_consumer.cpp

@@ -76,8 +76,8 @@ void CANRecv_Consumer::run()
                 {
                     uint8_t tempPayload_L = SDI_payload_size & 0x00FF;
                     uint8_t tempPayload_H = (SDI_payload_size >> 8) & 0x00FF;
-                    SDI_data[SDI_data_ptr] = tempPayload_L;
-                    SDI_data[SDI_data_ptr + 1] = tempPayload_H;
+                    SDI_data[SDI_data.size() - 2] = tempPayload_L;
+                    SDI_data[SDI_data.size() - 1] = tempPayload_H;
                     SDI_data_fine_lock.lock();
                     SDI_data_fine.swap(SDI_data);
                     SDI_data_fine_lock.unlock();
@@ -118,8 +118,8 @@ void CANRecv_Consumer::run()
                 {
                     uint8_t tempPayload_L = freeSpace_payload_size & 0x00FF;
                     uint8_t tempPayload_H = (freeSpace_payload_size >> 8) & 0x00FF;
-                    freeSpace_data[freeSpace_data_ptr] = tempPayload_L;
-                    freeSpace_data[freeSpace_data_ptr + 1] = tempPayload_H;
+                    freeSpace_data[freeSpace_data.size() - 2] = tempPayload_L;
+                    freeSpace_data[freeSpace_data.size() - 1] = tempPayload_H;
                     freeSpace_data_fine_lock.lock();
                     freeSpace_data_fine.swap(freeSpace_data);
                     freeSpace_data_fine_lock.unlock();

+ 12 - 1
src/driver/driver_ultrasonic_valeo_GUMK_HP/sdi_datarecv_consumer.cpp

@@ -8,7 +8,6 @@ SDI_DataRecv_Consumer::SDI_DataRecv_Consumer(Byte_Qvector_Producer_Consumer *pBu
 {
     pBuffer = pBuf;
 
-
 }
 
 SDI_DataRecv_Consumer::~SDI_DataRecv_Consumer()
@@ -678,6 +677,18 @@ void SDI_DataRecv_Consumer::ResultFilterAndPublish(void)
             xmsg.set_sigsensor_rear_ls(false);
         }
     }
+    std::cout<<"sensor 0 dist is "<<xmsg.sigobjdist_flside() << "mm" <<std::endl;
+    std::cout<<"sensor 1 dist is "<<xmsg.sigobjdist_flcorner() << "mm" <<std::endl;
+    std::cout<<"sensor 2 dist is "<<xmsg.sigobjdist_flmiddle() << "mm" <<std::endl;
+    std::cout<<"sensor 3 dist is "<<xmsg.sigobjdist_frmiddle() << "mm" <<std::endl;
+    std::cout<<"sensor 4 dist is "<<xmsg.sigobjdist_frcorner() << "mm" <<std::endl;
+    std::cout<<"sensor 5 dist is "<<xmsg.sigobjdist_frside() << "mm" <<std::endl;
+    std::cout<<"sensor 6 dist is "<<xmsg.sigobjdist_rrside() << "mm" <<std::endl;
+    std::cout<<"sensor 7 dist is "<<xmsg.sigobjdist_rrcorner() << "mm" <<std::endl;
+    std::cout<<"sensor 8 dist is "<<xmsg.sigobjdist_rrmiddle() << "mm" <<std::endl;
+    std::cout<<"sensor 9 dist is "<<xmsg.sigobjdist_rlmiddle() << "mm" <<std::endl;
+    std::cout<<"sensor 10 dist is "<<xmsg.sigobjdist_rlcorner() << "mm" <<std::endl;
+    std::cout<<"sensor 11 dist is "<<xmsg.sigobjdist_rlside() << "mm" <<std::endl;
 
     xmsg.set_timestamp(QDateTime::currentMSecsSinceEpoch());
     int ndatasize = xmsg.ByteSize();