fix tool bug
This commit is contained in:
		
							parent
							
								
									259dc968aa
								
							
						
					
					
						commit
						01c3c71516
					
				@ -298,6 +298,10 @@ void Channels::DoImuTrack() {
 | 
				
			|||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (res_packet.packets.back().count == 0) {
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  VLOG(2) << "Imu req sn: " << imu_sn_ << ", res count: " << []() {
 | 
					  VLOG(2) << "Imu req sn: " << imu_sn_ << ", res count: " << []() {
 | 
				
			||||||
    std::size_t n = 0;
 | 
					    std::size_t n = 0;
 | 
				
			||||||
    for (auto &&packet : res_packet.packets) {
 | 
					    for (auto &&packet : res_packet.packets) {
 | 
				
			||||||
 | 
				
			|||||||
@ -51,15 +51,22 @@ void Motions::SetMotionCallback(motion_callback_t callback) {
 | 
				
			|||||||
        imu->flag = seg.flag;
 | 
					        imu->flag = seg.flag;
 | 
				
			||||||
        imu->temperature = seg.temperature / 326.8f + 25;
 | 
					        imu->temperature = seg.temperature / 326.8f + 25;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if((imu->flag) & 0x01 != 0) {
 | 
					        if(imu->flag == 1) {
 | 
				
			||||||
          imu->accel[0] = seg.aceel_or_gyro[0] * 8.f / 0x10000;
 | 
					          imu->accel[0] = seg.aceel_or_gyro[0] * 8.f / 0x10000;
 | 
				
			||||||
          imu->accel[1] = seg.aceel_or_gyro[1] * 8.f / 0x10000;
 | 
					          imu->accel[1] = seg.aceel_or_gyro[1] * 8.f / 0x10000;
 | 
				
			||||||
          imu->accel[2] = seg.aceel_or_gyro[2] * 8.f / 0x10000;
 | 
					          imu->accel[2] = seg.aceel_or_gyro[2] * 8.f / 0x10000;
 | 
				
			||||||
        } 
 | 
					          imu->gyro[0] = 0;
 | 
				
			||||||
        if((imu->flag) & 0x02 != 0) {
 | 
					          imu->gyro[1] = 0;
 | 
				
			||||||
 | 
					          imu->gyro[2] = 0;
 | 
				
			||||||
 | 
					        } else if(imu->flag == 2) {
 | 
				
			||||||
 | 
					          imu->accel[0] = 0;
 | 
				
			||||||
 | 
					          imu->accel[1] = 0;
 | 
				
			||||||
 | 
					          imu->accel[2] = 0;
 | 
				
			||||||
          imu->gyro[0] = seg.aceel_or_gyro[0] * 1000.f / 0x10000;
 | 
					          imu->gyro[0] = seg.aceel_or_gyro[0] * 1000.f / 0x10000;
 | 
				
			||||||
          imu->gyro[1] = seg.aceel_or_gyro[1] * 1000.f / 0x10000;
 | 
					          imu->gyro[1] = seg.aceel_or_gyro[1] * 1000.f / 0x10000;
 | 
				
			||||||
          imu->gyro[2] = seg.aceel_or_gyro[2] * 1000.f / 0x10000;
 | 
					          imu->gyro[2] = seg.aceel_or_gyro[2] * 1000.f / 0x10000;
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          imu->Reset();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        std::lock_guard<std::mutex> _(mtx_datas_);
 | 
					        std::lock_guard<std::mutex> _(mtx_datas_);
 | 
				
			||||||
 | 
				
			|||||||
@ -79,12 +79,11 @@ void Dataset::SaveStreamData(
 | 
				
			|||||||
void Dataset::SaveMotionData(const device::MotionData &data) {
 | 
					void Dataset::SaveMotionData(const device::MotionData &data) {
 | 
				
			||||||
  auto &&writer = GetMotionWriter();
 | 
					  auto &&writer = GetMotionWriter();
 | 
				
			||||||
  auto seq = motion_count_;
 | 
					  auto seq = motion_count_;
 | 
				
			||||||
  writer->ofs << seq << ", " << data.imu->frame_id << ", "
 | 
					  writer->ofs << seq << ", " << data.imu->timestamp << ", "
 | 
				
			||||||
              << data.imu->timestamp << ", " << data.imu->accel[0] << ", "
 | 
					              << data.imu->accel[0] << ", " << data.imu->accel[1] << ", "
 | 
				
			||||||
              << data.imu->accel[1] << ", " << data.imu->accel[2] << ", "
 | 
					              << data.imu->accel[2] << ", " << data.imu->gyro[0] << ", "
 | 
				
			||||||
              << data.imu->gyro[0] << ", " << data.imu->gyro[1] << ", "
 | 
					              << data.imu->gyro[1] << ", " <<  data.imu->gyro[2] << ", "
 | 
				
			||||||
              << data.imu->gyro[2] << ", " << data.imu->temperature
 | 
					              << data.imu->temperature << std::endl;           
 | 
				
			||||||
              << std::endl;
 | 
					 | 
				
			||||||
  ++motion_count_;
 | 
					  ++motion_count_;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user