把parse解析的数据存成csv文件
This commit is contained in:
+563
-4
@@ -1,4 +1,4 @@
|
||||
#include "Parse.h"
|
||||
#include "Parse.h"
|
||||
|
||||
Parse::Parse(QObject *parent) : QObject(parent)
|
||||
{
|
||||
@@ -99,7 +99,7 @@ void Parse::run()
|
||||
<< ins.az;
|
||||
*/
|
||||
|
||||
|
||||
saveInsDataToFile(ins); //把数据保存到文件
|
||||
emit INS_Info(ins);
|
||||
}
|
||||
|
||||
@@ -345,6 +345,7 @@ void Parse::run()
|
||||
|
||||
//qDebug() << "state" <<state1.byte << state2.byte << state3.byte;
|
||||
|
||||
saveNavDataToFile(nav);;
|
||||
emit NAV_Info(nav);
|
||||
}
|
||||
|
||||
@@ -483,7 +484,7 @@ void Parse::run()
|
||||
group.status = data[data_count++];
|
||||
|
||||
|
||||
|
||||
saveGearDataToFile(group); //把数据保存到文件中
|
||||
emit gear_Info(group);
|
||||
}
|
||||
|
||||
@@ -524,6 +525,7 @@ void Parse::run()
|
||||
group.left_brake = data[data_count++];
|
||||
group.right_brake = data[data_count++];
|
||||
|
||||
saveActuatorDataToFile(group); //把数据保存到文件
|
||||
emit actuator_info(group);
|
||||
|
||||
/*
|
||||
@@ -573,6 +575,7 @@ void Parse::run()
|
||||
|
||||
group.temp = data[data_count++];
|
||||
|
||||
saveActuator1DataToFile(group); //把数据保存到文件
|
||||
emit actuator1_info(group);
|
||||
|
||||
/*
|
||||
@@ -622,6 +625,7 @@ void Parse::run()
|
||||
|
||||
group.temp = data[data_count++];
|
||||
|
||||
saveActuator2DataToFile(group); //把数据保存到文件
|
||||
emit actuator2_info(group);
|
||||
|
||||
/*
|
||||
@@ -763,7 +767,7 @@ void Parse::run()
|
||||
group.delta_angle_z = src.F * 57.29;
|
||||
|
||||
|
||||
|
||||
saveImuDataToFile(group); //把数据保存到文件
|
||||
emit imu_info(group);
|
||||
}
|
||||
|
||||
@@ -896,6 +900,7 @@ void Parse::run()
|
||||
group.solution.depth_used = status.depth_used;
|
||||
|
||||
|
||||
saveEulerDataToFile(group); //把数据保存到文件中
|
||||
emit euler_info(group);
|
||||
}
|
||||
|
||||
@@ -910,6 +915,7 @@ void Parse::run()
|
||||
group.left_brake = data[data_count++];
|
||||
group.right_brake = data[data_count++];
|
||||
|
||||
saveActuatorDataToFile(group);
|
||||
emit actuator_info_brake(group);
|
||||
|
||||
}
|
||||
@@ -1128,6 +1134,7 @@ void Parse::run()
|
||||
src.B[1] = data[data_count++];
|
||||
eadc.coffangle_k3 = src.i[0] * 1.0/1024;//攻角侧滑角校准系数K3
|
||||
|
||||
saveEadcDataToFile(eadc); //把数据保存到文件中
|
||||
emit EADC_Info(eadc);
|
||||
|
||||
}
|
||||
@@ -1220,6 +1227,7 @@ void Parse::run()
|
||||
}
|
||||
*/
|
||||
|
||||
saveEcuDataToFile(group); //把数据保存到文件
|
||||
emit ECU_Info(group);
|
||||
}
|
||||
|
||||
@@ -1253,6 +1261,7 @@ void Parse::run()
|
||||
sspc.current_ch12 = data[16] * 0.1;
|
||||
sspc.current_ch13 = data[17] * 0.1;
|
||||
|
||||
saveSspcDataToFile(sspc); //把数据保存到文件中
|
||||
emit SSPC_Info(sspc);
|
||||
}
|
||||
|
||||
@@ -1293,6 +1302,7 @@ void Parse::run()
|
||||
group.left_brake = data[data_count++];
|
||||
group.right_brake = data[data_count++];
|
||||
|
||||
saveActuatorDataToFile(group); //把数据保存到文件中
|
||||
emit actuator_info(group);
|
||||
|
||||
}
|
||||
@@ -1333,6 +1343,7 @@ void Parse::run()
|
||||
|
||||
group.temp = data[data_count++];
|
||||
|
||||
saveActuator1DataToFile(group); //把数据保存到文件中
|
||||
emit actuator1_info(group);
|
||||
|
||||
}
|
||||
@@ -1373,6 +1384,7 @@ void Parse::run()
|
||||
|
||||
group.temp = data[data_count++];
|
||||
|
||||
saveActuator2DataToFile(group); //把数据保存到文件
|
||||
emit actuator2_info(group);
|
||||
|
||||
}
|
||||
@@ -1501,6 +1513,7 @@ void Parse::run()
|
||||
group.course_acc = src.F;
|
||||
|
||||
|
||||
saveVelDataToFile(group); // 把数据保存到文件中
|
||||
emit vel_info(group);
|
||||
}
|
||||
|
||||
@@ -1717,6 +1730,7 @@ void Parse::run()
|
||||
src.B[1] = data[data_count++];
|
||||
group.diff_age = src.I[0];
|
||||
|
||||
savePosDataToFile(group); //把数据保存到文件中
|
||||
emit pos_info(group);
|
||||
}
|
||||
|
||||
@@ -1797,6 +1811,7 @@ void Parse::run()
|
||||
quint8 err6 = data[data_count++];
|
||||
group.err6.oil_press = (err6 & 0x03) >> 0;
|
||||
|
||||
saveSspcDataToFile(group); //把数据保存到文件中
|
||||
emit SSPC_Info_state(group);
|
||||
}
|
||||
|
||||
@@ -1833,3 +1848,547 @@ void Parse::parseData(const int id, const QByteArray data)
|
||||
qDebug() << "id" << id << ":" << str;
|
||||
*/
|
||||
}
|
||||
|
||||
void Parse::saveInsDataToFile(const _ins &ins)
|
||||
{
|
||||
QFile file(ins_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
stream << ins.roll_rate << ",";
|
||||
stream << ins.yaw_rate << ",";
|
||||
stream << ins.pitch_rate << ",";
|
||||
stream << ins.yaw << ",";
|
||||
stream << ins.pitch << ",";
|
||||
stream << ins.roll << ",";
|
||||
stream << ins.ax << ",";
|
||||
stream << ins.ay << ",";
|
||||
stream << ins.az << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveNavDataToFile(const _nav &nav)
|
||||
{
|
||||
QFile file(nav_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
stream << nav.state1.navStatus << ",";
|
||||
stream << nav.state1.insStatus << ",";
|
||||
stream << nav.state1.headingSrc << ",";
|
||||
stream << nav.state1.Satellite << ",";
|
||||
stream << nav.longitude << ",";
|
||||
stream << nav.latitude << ",";
|
||||
stream << nav.altitude << ",";
|
||||
stream << nav.worktime << ",";
|
||||
stream << nav.Ve << ",";
|
||||
stream << nav.Vn << ",";
|
||||
stream << nav.Vu << ",";
|
||||
stream << nav.Gs << ",";
|
||||
stream << nav.heading << ",";
|
||||
stream << nav.Ae << ",";
|
||||
stream << nav.An << ",";
|
||||
stream << nav.Au << ",";
|
||||
stream << nav.satellite_longitude << ",";
|
||||
stream << nav.satellite_latitude << ",";
|
||||
stream << nav.satellite_altitude << ",";
|
||||
stream << nav.satellite_Ve << ",";
|
||||
stream << nav.satellite_Vn << ",";
|
||||
stream << nav.satellite_Vu << ",";
|
||||
stream << nav.state2.ins << ",";
|
||||
stream << nav.state2.altitude << ",";
|
||||
stream << nav.state2.exRTK << ",";
|
||||
stream << nav.state2.exSatellite << ",";
|
||||
stream << nav.state2.RTK << ",";
|
||||
stream << nav.state2.satellite << ",";
|
||||
stream << nav.state2.heading << ",";
|
||||
stream << nav.state2.communication << ",";
|
||||
stream << nav.state3.back7 << ",";
|
||||
stream << nav.state3.das << ",";
|
||||
stream << nav.state3.install << ",";
|
||||
stream << nav.state3.back4 << ",";
|
||||
stream << nav.state3.altitudeInfo << ",";
|
||||
stream << nav.state3.back1 << ",";
|
||||
stream << nav.state3.back0 << ",";
|
||||
stream << nav.year << ",";
|
||||
stream << nav.month << ",";
|
||||
stream << nav.day << ",";
|
||||
stream << nav.hour << ",";
|
||||
stream << nav.minute << ",";
|
||||
stream << nav.second << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveGearDataToFile(const _gear &gear)
|
||||
{
|
||||
QFile file(gear_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
for(int i = 0; i < 24; ++i)
|
||||
{
|
||||
stream << gear.SW[i] << ",";
|
||||
}
|
||||
for(int i = 0; i < 3; ++i)
|
||||
{
|
||||
stream << gear.DI[i] << ",";
|
||||
}
|
||||
|
||||
stream << gear.LeftWheel << ",";
|
||||
stream << gear.RightWheel << ",";
|
||||
stream << gear.rpm3 << ",";
|
||||
stream << gear.rpm4 << ",";
|
||||
stream << gear.fuel << ",";
|
||||
stream << gear.LeftPressure << ",";
|
||||
stream << gear.RightPressure << ",";
|
||||
stream << gear.AirPressure << ",";
|
||||
stream << gear.cpu_load << ",";
|
||||
for(int i = 0; i < 24; ++i)
|
||||
{
|
||||
stream << gear.DO[0] << ",";
|
||||
}
|
||||
|
||||
stream << gear.cmd << ",";
|
||||
stream << gear.status << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveActuatorDataToFile(const _actuator &actuator)
|
||||
{
|
||||
QFile file(actuator_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UFT-8");
|
||||
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
stream << actuator.type << ",";
|
||||
stream << actuator.id << ",";
|
||||
stream << actuator.wheel << ",";
|
||||
stream << actuator.left_trans << ",";
|
||||
stream << actuator.right_trans << ",";
|
||||
stream << actuator.status << ",";
|
||||
stream << actuator.current << ",";
|
||||
stream << actuator.temp << ",";
|
||||
stream << actuator.left_brake << ",";
|
||||
stream << actuator.right_brake << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveActuator1DataToFile(const _actuator1 &actuator1)
|
||||
{
|
||||
QFile file(actuator1_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << actuator1.type << ",";
|
||||
stream << actuator1.id << ",";
|
||||
stream << actuator1.left_ail << ",";
|
||||
stream << actuator1.right_ail << ",";
|
||||
stream << actuator1.left_rud << ",";
|
||||
stream << actuator1.right_rud << ",";
|
||||
stream << actuator1.status << ",";
|
||||
stream << actuator1.current << ",";
|
||||
stream << actuator1.temp << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveActuator2DataToFile(const _actuator2 &actuator2)
|
||||
{
|
||||
QFile file(actuator2_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << actuator2.type << ",";
|
||||
stream << actuator2.id << ",";
|
||||
stream << actuator2.left_ele << ",";
|
||||
stream << actuator2.right_ele << ",";
|
||||
stream << actuator2.left_brake << ",";
|
||||
stream << actuator2.right_brake << ",";
|
||||
stream << actuator2.status << ",";
|
||||
stream << actuator2.current << ",";
|
||||
stream << actuator2.temp << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveImuDataToFile(const _imu &imu)
|
||||
{
|
||||
QFile file(imu_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << imu.time_stamp << ",";
|
||||
stream << imu.status.com_ok << ",";
|
||||
stream << imu.status.status_bit << ",";
|
||||
stream << imu.status.accel_x_bit << ",";
|
||||
stream << imu.status.accel_y_bit << ",";
|
||||
stream << imu.status.accel_z_bit << ",";
|
||||
stream << imu.status.gyro_x_bit << ",";
|
||||
stream << imu.status.gyro_y_bit << ",";
|
||||
stream << imu.status.gyro_z_bit << ",";
|
||||
stream << imu.status.accel_in_range << ",";
|
||||
stream << imu.status.gyro_in_range << ",";
|
||||
stream << imu.accel_x << ",";
|
||||
stream << imu.accel_y << ",";
|
||||
stream << imu.accel_z << ",";
|
||||
stream << imu.gyro_x << ",";
|
||||
stream << imu.gyro_y << ",";
|
||||
stream << imu.gyro_z << ",";
|
||||
stream << imu.temp << ",";
|
||||
stream << imu.delta_vel_x << ",";
|
||||
stream << imu.delta_vel_y << ",";
|
||||
stream << imu.delta_vel_z << ",";
|
||||
stream << imu.delta_angle_x << ",";
|
||||
stream << imu.delta_angle_y << ",";
|
||||
stream << imu.delta_angle_z << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveEulerDataToFile(const _euler &euler)
|
||||
{
|
||||
QFile file(euler_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << euler.time_stamp << ",";
|
||||
stream << euler.roll << ",";
|
||||
stream << euler.pitch << ",";
|
||||
stream << euler.yaw << ",";
|
||||
stream << euler.roll_acc << ",";
|
||||
stream << euler.pitch_acc << ",";
|
||||
stream << euler.yaw_acc << ",";
|
||||
|
||||
stream << euler.solution.solutionMode << ",";
|
||||
stream << euler.solution.attitude_valid << ",";
|
||||
stream << euler.solution.heading_valid << ",";
|
||||
stream << euler.solution.velocity_valid << ",";
|
||||
stream << euler.solution.position_valid << ",";
|
||||
stream << euler.solution.vert_ref_used << ",";
|
||||
stream << euler.solution.mag_ref_used << ",";
|
||||
stream << euler.solution.gps1_vel_used << ",";
|
||||
stream << euler.solution.gps1_pos_used << ",";
|
||||
stream << euler.solution.gps1_hdt_used << ",";
|
||||
stream << euler.solution.gps2_vel_used << ",";
|
||||
stream << euler.solution.gps2_pos_used << ",";
|
||||
stream << euler.solution.gps2_hdt_used << ",";
|
||||
stream << euler.solution.odo_used << ",";
|
||||
stream << euler.solution.dvl_bt_used << ",";
|
||||
stream << euler.solution.dvl_wt_used << ",";
|
||||
stream << euler.solution.usel_used << ",";
|
||||
stream << euler.solution.air_data_used << ",";
|
||||
stream << euler.solution.zupt_used << ",";
|
||||
stream << euler.solution.align_valid << ",";
|
||||
stream << euler.solution.depth_used << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveEadcDataToFile(const _eadc &eadc)
|
||||
{
|
||||
QFile file(eadc_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << eadc.heatmode << ",";
|
||||
stream << eadc.heatstatus << ",";
|
||||
stream << eadc.heatmode_t << ",";
|
||||
stream << eadc.heatstatus_t << ",";
|
||||
stream << eadc.psi << ",";
|
||||
stream << eadc.ps << ",";
|
||||
stream << eadc.qci << ",";
|
||||
stream << eadc.qc << ",";
|
||||
stream << eadc.hp << ",";
|
||||
stream << eadc.hpr << ",";
|
||||
stream << eadc.ts << ",";
|
||||
stream << eadc.tt << ",";
|
||||
stream << eadc.mi << ",";
|
||||
stream << eadc.vi << ",";
|
||||
stream << eadc.vt << ",";
|
||||
stream << eadc.adr << ",";
|
||||
stream << eadc.aoai1 << ",";
|
||||
stream << eadc.aoai2 << ",";
|
||||
stream << eadc.aoat1 << ",";
|
||||
stream << eadc.aoat2 << ",";
|
||||
stream << eadc.aosi1 << ",";
|
||||
stream << eadc.aosi2 << ",";
|
||||
stream << eadc.faultword.ps << ",";
|
||||
stream << eadc.faultword.qc << ",";
|
||||
stream << eadc.faultword.ts << ",";
|
||||
stream << eadc.faultword.aoa1 << ",";
|
||||
stream << eadc.faultword.aoa2 << ",";
|
||||
stream << eadc.faultword.aos1 << ",";
|
||||
stream << eadc.faultword.aos2 << ",";
|
||||
stream << eadc.faultword.heat << ",";
|
||||
stream << eadc.faultword.ex_storage << ",";
|
||||
stream <<eadc.faultword.aoa_diff << ",";
|
||||
stream << eadc.faultword.aos_diff << ",";
|
||||
stream << eadc.faultword.qc_zero << ",";
|
||||
stream << eadc.faultword.back1 << ",";
|
||||
stream << eadc.faultword.back2 << ",";
|
||||
stream << eadc.faultword.overtemp << ",";
|
||||
stream << eadc.faultword.system << ",";
|
||||
stream << eadc.datavalid.psi << ",";
|
||||
stream << eadc.datavalid.ps << ",";
|
||||
stream << eadc.datavalid.qci << ",";
|
||||
stream << eadc.datavalid.qc << ",";
|
||||
stream << eadc.datavalid.hp << ",";
|
||||
stream << eadc.datavalid.hpr << ",";
|
||||
stream << eadc.datavalid.ts << ",";
|
||||
stream << eadc.datavalid.tt << ",";
|
||||
stream << eadc.datavalid.mi << ",";
|
||||
stream << eadc.datavalid.vi << ",";
|
||||
stream << eadc.datavalid.vt << ",";
|
||||
stream << eadc.datavalid.adr << ",";
|
||||
stream << eadc.datavalid.aoai1 << ",";
|
||||
stream << eadc.datavalid.aoai2 << ",";
|
||||
stream << eadc.datavalid.aoat1 << ",";
|
||||
stream << eadc.datavalid.aoat2 << ",";
|
||||
stream << eadc.datavalid.aosi1 << ",";
|
||||
stream << eadc.datavalid.aosi2 << ",";
|
||||
stream << eadc.datavalid.aost1 << ",";
|
||||
stream << eadc.datavalid.aost2 << ",";
|
||||
stream << eadc.coffpress_k0 << ",";
|
||||
stream << eadc.coffpress_k1 << ",";
|
||||
stream << eadc.coffpress_k2 << ",";
|
||||
stream << eadc.coffpress_k3 << ",";
|
||||
stream << eadc.coffangle_k0 << ",";
|
||||
stream << eadc.coffangle_k1 << ",";
|
||||
stream << eadc.coffangle_k2 << ",";
|
||||
stream << eadc.coffangle_k3 << "\n";
|
||||
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveEcuDataToFile(const _ecu &ecu)
|
||||
{
|
||||
QFile file(ecu_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << ecu.rpm_c << ",";
|
||||
stream << ecu.rpm << ",";
|
||||
stream << ecu.rpm_t << ",";
|
||||
stream << ecu.t1 << ",";
|
||||
steram << ecu.t5 << ",";
|
||||
stream << ecu.p2 << ",";
|
||||
stream << ecu.servo_current << ",";
|
||||
stream << ecu.oil_low << ",";
|
||||
stream << ecu.p2_high << ",";
|
||||
stream << ecu.states << "\n";
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Parse::saveSspcDataToFile(const _sspc &sspc)
|
||||
{
|
||||
QFile file(sspc_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << sspc.bus_voltage << ",";
|
||||
stream << sspc.battery_voltage << ",";
|
||||
stream << sspc.battery_current << ",";
|
||||
stream << sspc.main_voltage << ",";
|
||||
stream << sspc.main_current << ",";
|
||||
stream << sspc.current_ch1 << ",";
|
||||
stream << sspc.current_ch2 << ",";
|
||||
stream << sspc.current_ch3 << ",";
|
||||
stream << sspc.current_ch4 << ",";
|
||||
stream << sspc.current_ch5 << ",";
|
||||
stream << sspc.current_ch6 << ",";
|
||||
stream << sspc.current_ch7 << ",";
|
||||
stream << sspc.current_ch8 << ",";
|
||||
stream << sspc.current_ch9 << ",";
|
||||
stream << sspc.current_ch10 << ",";
|
||||
stream << sspc.current_ch11 << ",";
|
||||
stream << sspc.current_ch12 << ",";
|
||||
stream << sspc.current_ch13 << ",";
|
||||
stream << sspc.source << ",";
|
||||
stream << sspc.state1.current_ch1 << ",";
|
||||
stream << sspc.state1.current_ch2 << ",";
|
||||
stream << sspc.state1.current_ch3 << ",";
|
||||
stream << sspc.state1.current_ch4 << ",";
|
||||
stream << sspc.state1.current_ch5 << ",";
|
||||
stream << sspc.state1.current_ch6 << ",";
|
||||
stream << sspc.state1.current_ch7 << ",";
|
||||
stream << sspc.state1.current_ch8 << ",";
|
||||
stream << sspc.state2.current_ch9 << ",";
|
||||
stream << sspc.state2.current_ch10 << ",";
|
||||
stream << sspc.state2.current_ch11 << ",";
|
||||
stream << sspc.state2.current_ch12 << ",";
|
||||
stream << sspc.state2.current_ch13 << ",";
|
||||
stream << sspc.state2.current_ch14 << ",";
|
||||
stream << sspc.state2.current_ch15 << ",";
|
||||
stream << sspc.state2.current_ch16 << ",";
|
||||
stream << sspc.check.CUP_STA << ",";
|
||||
stream << sspc.check.current << ",";
|
||||
stream << sspc.check.current_10A << ",";
|
||||
stream << sspc.check.current_40A << ",";
|
||||
stream << sspc.err1.ins_sbg << ",";
|
||||
stream << sspc.err1.ins_320 << ",";
|
||||
stream << sspc.err1.dlink_l << ",";
|
||||
stream << sspc.err1.eadc << ",";
|
||||
stream << sspc.err1.rec << ",";
|
||||
stream << sspc.err1.landinggear << ",";
|
||||
stream << sspc.err1.act1 << ",";
|
||||
stream << sspc.err2.act2 << ",";
|
||||
stream << sspc.err2.act3 << ",";
|
||||
stream << sspc.err2 .computer << ",";
|
||||
stream << sspc.err3.pump << ",";
|
||||
stream << sspc.err3.ail << ",";
|
||||
stream << sspc.err3.temp_56v << ",";
|
||||
stream << sspc.err3.temp_28v << ",";
|
||||
stream << sspc.err4.computer << ",";
|
||||
stream << sspc.err4.ecu << ",";
|
||||
stream << sspc.err4.eadc << ",";
|
||||
stream << sspc.err4.temp << ",";
|
||||
stream << sspc.err5.fuel << ",";
|
||||
stream << sspc.err5.temp_56v2 << ",";
|
||||
stream << sspc.err5.v_act << ",";
|
||||
stream << sspc.err5.current56V << ",";
|
||||
stream << sspc.err6.oil_press << "\n";
|
||||
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::saveVelDataToFile(const _vel &vel)
|
||||
{
|
||||
QFile file(vel_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << vel.time_stamp << ",";
|
||||
stream << vel.status.status_value << ",";
|
||||
stream << vel.status.type_value << ",";
|
||||
stream << vel.status.vel_status << ",";
|
||||
stream << vel.status.vel_type << ",";
|
||||
stream << vel.tow << ",";
|
||||
stream << vel.vel_n << ",";
|
||||
stream << vel.vel_e << ",";
|
||||
stream << vel.vel_d << ",";
|
||||
stream << vel.vel_acc_n << ",";
|
||||
stream << vel.vel_acc_e << ",";
|
||||
stream << vel.vel_acc_d << ",";
|
||||
stream << vel.course << ",";
|
||||
stream << vel.course_acc << "\n";
|
||||
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Parse::savePosDataToFile(const _pos &pos)
|
||||
{
|
||||
QFile file(pos_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << QDateTime::currentDateTime().toString("yyyyMMddHHmmss").toUtf8() << ",";
|
||||
|
||||
stream << pos.time_stamp << ",";
|
||||
stream << pos.status.status_value << ",";
|
||||
stream << pos.status.type_value << ",";
|
||||
stream << pos.status.pos_status << ",";
|
||||
stream << pos.status.pos_type << ",";
|
||||
stream << pos.status.gps_l1_used << ",";
|
||||
stream << pos.status.gps_l2_used << ",";
|
||||
stream << pos.status.gps_l5_used << ",";
|
||||
stream << pos.status.glo_l1_used << ",";
|
||||
straem << pos.status.glo_l2_used << ",";
|
||||
stream << pos.status.glo_l2_used << ",";
|
||||
stream << pos.status.glo_l3_used << ",";
|
||||
stream << pos.status.gal_e1_used << ",";
|
||||
stream << pos.status.gal_e5a_used << ",";
|
||||
stream << pos.status.gal_e5b_used << ",";
|
||||
stream << pos.status.gal_e5alt_used << ",";
|
||||
stream << pos.status.gal_e6_used << ",";
|
||||
stream << pos.status.bds_b1_used << ",";
|
||||
stream << pos.status.bds_b2_used << ",";
|
||||
stream << pos.status.bds_b3_used << ",";
|
||||
stream << pos.status.qzss_l1_used << ",";
|
||||
stream << pos.status.qzss_l2_used << ",";
|
||||
stream << pos.status.qzss_l3_used << ",";
|
||||
stream << pos.tow << ",";
|
||||
stream << pos.lat << ",";
|
||||
stream << pos.lng << ",";
|
||||
stream << pos.alt << ",";
|
||||
stream << pos.undulation << ",";
|
||||
stream << pos.pos_acc_lat << ",";
|
||||
stream << pos.pos_acc_lng << ",";
|
||||
stream << pos.pos_acc_alt << ",";
|
||||
stream << pos.num_sv_used << ",";
|
||||
stream << pos.base_station_id << ",";
|
||||
stream << pos.diff_age << "\n";
|
||||
|
||||
|
||||
file.flush();
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
+81
-2
@@ -1,4 +1,4 @@
|
||||
#ifndef PARSE_H
|
||||
#ifndef PARSE_H
|
||||
#define PARSE_H
|
||||
|
||||
#include <QObject>
|
||||
@@ -483,6 +483,20 @@ public:
|
||||
quint16 diff_age;
|
||||
}_pos;
|
||||
|
||||
//记录数据文件的文件名
|
||||
QString ecu_file_name;
|
||||
QString ins_file_name;
|
||||
QString nav_file_name;
|
||||
QString gear_file_name;
|
||||
QString actuator_file_name;
|
||||
QString actuator1_file_name;
|
||||
QString actuator2_file_name;
|
||||
QString imu_file_name;
|
||||
QString euler_file_name;
|
||||
QString eadc_file_name;
|
||||
QString sspc_file_name;
|
||||
QString vel_file_name;
|
||||
QString pos_file_name;
|
||||
|
||||
explicit Parse(QObject *parent = nullptr);
|
||||
~Parse();
|
||||
@@ -520,7 +534,72 @@ signals:
|
||||
|
||||
void SSPC_Info_state(Parse::_sspc info);
|
||||
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief 把ins解析的数据保存到文件
|
||||
* @param ins 保存ins数据的结构体
|
||||
*/
|
||||
void saveInsDataToFile(Parse::_ins const &ins);
|
||||
/**
|
||||
* @brief 把nav解析的数据保存到文件
|
||||
* @param nav 保存nav数据的结构器
|
||||
*/
|
||||
void saveNavDataToFile(Parse::_nav const &nav);
|
||||
/**
|
||||
* @brief 把gear解析的数据保存到文件
|
||||
* @param gear 保存gear数据的结构体
|
||||
*/
|
||||
void saveGearDataToFile(Parse::_gear const &gear);
|
||||
/**
|
||||
* @brief 把actuator解析的数据保存到文件
|
||||
* @param actuator 保存actuator数据的结构体
|
||||
*/
|
||||
void saveActuatorDataToFile(Parse::_actuator const &actuator);
|
||||
/**
|
||||
* @brief 把actuator1的数据保存到文件中
|
||||
* @param actuator1 保存actuator1数据的结构体
|
||||
*/
|
||||
void saveActuator1DataToFile(Parse::_actuator1 const &actuator1);
|
||||
/**
|
||||
* @brief 把actuator2的数据保存到文件中
|
||||
* @param actuator2 保存actuator2数据的结构体
|
||||
*/
|
||||
void saveActuator2DataToFile(Parse::_actuator2 const &actuator2);
|
||||
/**
|
||||
* @brief 把imu的数据保存到文件中
|
||||
* @param imu imu数据的的结构体
|
||||
*/
|
||||
void saveImuDataToFile(Parse::_imu const &imu);
|
||||
/**
|
||||
* @brief 把euler的数据保存到文件中
|
||||
* @param euler euler数据的结构体
|
||||
*/
|
||||
void saveEulerDataToFile(Parse::_euler const &euler);
|
||||
/**
|
||||
* @brief 把eadu的数据保存到文件中
|
||||
* @param eadc 数据的结构体
|
||||
*/
|
||||
void saveEadcDataToFile(Parse::_eadc const &eadc);
|
||||
/**
|
||||
* @brief 把ecu的数据保存到文件中
|
||||
* @param ecu 数据的结构体
|
||||
*/
|
||||
void saveEcuDataToFile(Parse::_ecu const &ecu);
|
||||
/**
|
||||
* @brief 把sspc的数据保存到文件中
|
||||
* @param sspc 保存数据的结构体
|
||||
*/
|
||||
void saveSspcDataToFile(Parse::_sspc const &sspc);
|
||||
/**
|
||||
* @brief 把vel的数据保存到文件中
|
||||
* @param vel 保存数据的结构体
|
||||
*/
|
||||
void saveVelDataToFile(Parse::_vel const &vel);
|
||||
/**
|
||||
* @brief 把pos的数据保存到文件中
|
||||
* @param pos pos数据的结构体
|
||||
*/
|
||||
void savePosDataToFile(Parse::_pos const &pos);
|
||||
private:
|
||||
|
||||
QByteArray raw;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "ToolsUI.h"
|
||||
#include "ui_ToolsUI.h"
|
||||
#include <QTextStream>
|
||||
|
||||
|
||||
//消息通过广播和监听处理
|
||||
@@ -81,6 +82,8 @@ ToolsUI::ToolsUI(QWidget *parent) :
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
createRecordDataFiles(); //创建保存数据的文件
|
||||
//测试
|
||||
/*
|
||||
connect(&timer, &QTimer::timeout,
|
||||
@@ -198,6 +201,19 @@ void ToolsUI::recieveDataSlot(const int &id, const QByteArray &data)
|
||||
//qDebug() << "tools thread:" << QThread::currentThreadId();
|
||||
|
||||
Parse *parse = new Parse;
|
||||
parse->ecu_file_name = ecu_file_name;
|
||||
parse->ins_file_name = ins_file_name;
|
||||
parse->nav_file_name = nav_file_name;
|
||||
parse->gear_file_name = gear_file_name;
|
||||
parse->actuator_file_name = actuator_file_name;
|
||||
parse->actuator1_file_name = actuator1_file_name;
|
||||
parse->actuator2_file_name = actuator2_file_name;
|
||||
parse->imu_file_name = imu_file_name;
|
||||
parse->euler_file_name = euler_file_name;
|
||||
parse->eadc_file_name = eadc_file_name;
|
||||
parse->sspc_file_name = sspc_file_name;
|
||||
parse->vel_file_name = vel_file_name;
|
||||
parse->pos_file_name = pos_file_name;
|
||||
|
||||
connect(this,&ToolsUI::parseData,
|
||||
parse,&Parse::parseData);
|
||||
@@ -368,3 +384,561 @@ void ToolsUI::on_pushButton_ShowExtern_clicked()
|
||||
}
|
||||
}
|
||||
|
||||
void ToolsUI::createRecordDataFiles()
|
||||
{
|
||||
QFile file;
|
||||
|
||||
//创建保存ins数据的文件
|
||||
ins_file_name = QString("./log/other/ins_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss"));
|
||||
file.setFileName(ins_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.clear();
|
||||
data.append("time,");
|
||||
data.append("roll_rate,");
|
||||
data.append("yaw_rate,");
|
||||
data.append("pitch_rate,");
|
||||
data.append("yaw,");
|
||||
data.append("pitch,");
|
||||
data.append("roll,");
|
||||
data.append("ax,");
|
||||
data.append("ay,");
|
||||
data.append("az\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
//创建保存nav数据的文件
|
||||
nav_file_name = QString("./log/other/nav_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(nav_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
data.append("navStatus,");
|
||||
data.append("insStatus,");
|
||||
data.append("headingSrc,");
|
||||
data.append("Satellite,");
|
||||
data.append("longitude,");
|
||||
data.append("latitude,");
|
||||
data.append("altitude,");
|
||||
data.append("worktime,");
|
||||
data.append("Ve,");
|
||||
data.append("Vn,");
|
||||
data.append("Vu,");
|
||||
data.append("Gs,");
|
||||
data.append("heading,");
|
||||
data.append("Ae,");
|
||||
data.append("An,");
|
||||
data.append("Au,");
|
||||
data.append("satellite_longitude,");
|
||||
data.append("satellite_latitude,");
|
||||
data.append("satellite_altitude,");
|
||||
data.append("satellite_Ve,");
|
||||
data.append("satellite_Vn,");
|
||||
data.append("satellite_Vu,");
|
||||
data.append("ins,");
|
||||
data.append("altitude,");
|
||||
data.append("exRTK,");
|
||||
data.append("exSatellite,");
|
||||
data.append("RTK,");
|
||||
data.append("satellite,");
|
||||
data.append("heading,");
|
||||
data.append("communication,");
|
||||
data.append("back7,");
|
||||
data.append("das,");
|
||||
data.append("install,");
|
||||
data.append("back4,");
|
||||
data.append("altitudeInfo,");
|
||||
data.append("back1,");
|
||||
data.append("back0,");
|
||||
data.append("year,");
|
||||
data.append("month,");
|
||||
data.append("day,");
|
||||
data.append("hour,");
|
||||
data.append("minute,");
|
||||
data.append("second\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存gear数据的文件
|
||||
gear_file_name = QString("./log/other/gear_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(gear_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
for(int i = 0; i < 24; ++i)
|
||||
{
|
||||
data.append(QString("SW_%1,").arg(i).toLatin1().data() );
|
||||
}
|
||||
|
||||
for(int i = 0; i < 3; ++i)
|
||||
{
|
||||
data.append(QString("DI_%1,").arg(i).toLatin1().data() );
|
||||
}
|
||||
|
||||
data.append("LeftWheel,");
|
||||
data.append("RightWheel,");
|
||||
data.append("rpm3,");
|
||||
data.append("rpm4,");
|
||||
data.append("fuel,");
|
||||
data.append("LeftPressure,");
|
||||
data.append("RightPressure,");
|
||||
data.append("AirPressure,");
|
||||
data.append("cpu_load,");
|
||||
|
||||
for(int i = 0; i < 24; ++i)
|
||||
{
|
||||
data.append(QString("D0_%1,").arg(i).toLatin1().data() );
|
||||
}
|
||||
|
||||
data.append("cmd,");
|
||||
data.append("status\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存actuatorr数据的文件
|
||||
actuator_file_name = QString("./log/other/actuator_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(actuator_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("type,");
|
||||
data.append("id,");
|
||||
data.append("wheel,");
|
||||
data.append("left_trans,");
|
||||
data.append("right_trans,");
|
||||
data.append("status,");
|
||||
data.append("current,");
|
||||
data.append("temp,");
|
||||
data.append("left_brake,");
|
||||
data.append("right_brake\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存actuator1的数据
|
||||
actuator1_file_name = QString("./log/other/actuator1_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(actuator1_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("type,");
|
||||
data.append("id,");
|
||||
data.append("left_ail,");
|
||||
data.append("right_ail,");
|
||||
data.append("left_rud,");
|
||||
data.append("right_rud,");
|
||||
data.append("status,");
|
||||
data.append("current,");
|
||||
data.append("temp\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存actuator2数据的文件
|
||||
actuator2_file_name = QString("./log/other/actuator2_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(actuator2_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("type,");
|
||||
data.append("id,");
|
||||
data.append("left_ele,");
|
||||
data.append("right_ele,");
|
||||
data.append("left_brake,");
|
||||
data.append("right_brake,");
|
||||
data.append("status,");
|
||||
data.append("current,");
|
||||
data.append("temp\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存imu数据的文件
|
||||
imu_file_name = QString("./log/other/imu_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(imu_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("time_stamp,");
|
||||
data.append("com_ok,");
|
||||
data.append("status_bit,");
|
||||
data.append("accel_x_bit,");
|
||||
data.append("accel_y_bit,");
|
||||
data.append("accel_z_bit,");
|
||||
data.append("gyro_x_bit,");
|
||||
data.append("gyro_y_bit,");
|
||||
data.append("gyro_z_bit,");
|
||||
data.append("accel_in_range,");
|
||||
data.append("gyro_in_range,");
|
||||
data.append("accel_x,");
|
||||
data.append("accel_y,");
|
||||
data.append("accel_z,");
|
||||
data.append("gyro_x,");
|
||||
data.append("gyro_y,");
|
||||
data.append("gyro_z,");
|
||||
data.append("temp,");
|
||||
data.append("delta_vel_x,");
|
||||
data.append("delta_vel_y,");
|
||||
data.append("delta_vel_z,");
|
||||
data.append("delta_angle_x,");
|
||||
data.append("delta_angle_y,");
|
||||
data.append("delta_angle_z\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存euler数据的文件
|
||||
euler_file_name = QString("./log/other/euler_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(euler_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("time_stamp,");
|
||||
data.append("roll,");
|
||||
data.append("pitch,");
|
||||
data.append("yaw,");
|
||||
data.append("roll_acc,");
|
||||
data.append("pitch_acc,");
|
||||
data.append("yaw_acc,");
|
||||
data.append("solutionMode,");
|
||||
data.append("attitude_valid,");
|
||||
data.append("heading_valid,");
|
||||
data.append("velocity_valid,");
|
||||
data.append("position_valid,");
|
||||
data.append("vert_ref_used,");
|
||||
data.append("mag_ref_used,");
|
||||
data.append("gps1_vel_used,");
|
||||
data.append("gps1_pos_used,");
|
||||
data.append("gps1_hdt_used,");
|
||||
data.append("gps2_vel_used,");
|
||||
data.append("gps2_pos_used,");
|
||||
data.append("gps2_hdt_used,");
|
||||
data.append("odo_used,");
|
||||
data.append("dvl_bt_used,");
|
||||
data.append("dvl_wt_used,");
|
||||
data.append("usel_used,");
|
||||
data.append("air_data_used,");
|
||||
data.append("zupt_used,");
|
||||
data.append("align_valid,");
|
||||
data.append("depth_used\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存eadc数据的文件
|
||||
eadc_file_name = QString("./log/other/eadc_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(eadc_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("heatmode,");
|
||||
data.append("heatstatus,");
|
||||
data.append("heatmode_t,");
|
||||
data.append("heatstatus_t,");
|
||||
data.append("psi,");
|
||||
data.append("ps,");
|
||||
data.append("qci,");
|
||||
data.append("qc,");
|
||||
data.append("hp,");
|
||||
data.append("hpr,");
|
||||
data.append("ts,");
|
||||
data.append("tt,");
|
||||
data.append("mi,");
|
||||
data.append("vi,");
|
||||
data.append("vt,");
|
||||
data.append("adr,");
|
||||
data.append("aoai1,");
|
||||
data.append("aoai2,");
|
||||
data.append("aoat1,");
|
||||
data.append("aoat2,");
|
||||
data.append("aosi1,");
|
||||
data.append("aosi2,");
|
||||
data.append("aost1,");
|
||||
data.append("aost2,");
|
||||
data.append("faultword_ps,");
|
||||
data.append("faultword_qc,");
|
||||
data.append("faultword_ts,");
|
||||
data.append("faultword_aoa1,");
|
||||
data.append("faultword_aoa2,");
|
||||
data.append("faultword_aos1,");
|
||||
data.append("faultword_aos2,");
|
||||
data.append("faultword_heat,");
|
||||
data.append("faultword_ex_storage,");
|
||||
data.append("faultword_aoa_diff,");
|
||||
data.append("faultword_aos_diff,");
|
||||
data.append("faultword_qc_zero,");
|
||||
data.append("faultword_back1,");
|
||||
data.append("faultword_back2,");
|
||||
data.append("faultword_overtemp,");
|
||||
data.append("faultword_system,");
|
||||
data.append("datavalid_psi,");
|
||||
data.append("datavalid_ps,");
|
||||
data.append("datavalid_qci,");
|
||||
data.append("datavalid_qc,");
|
||||
data.append("datavalid_hp,");
|
||||
data.append("datavalid_hpr,");
|
||||
data.append("datavalid_ts,");
|
||||
data.append("datavalid_tt,");
|
||||
data.append("datavalid_mi,");
|
||||
data.append("datavalid_vi,");
|
||||
data.append("datavalid_vt,");
|
||||
data.append("datavalid_adr,");
|
||||
data.append("datavalid_aoai1,");
|
||||
data.append("datavalid_aoai2,");
|
||||
data.append("datavalid_aoat1,");
|
||||
data.append("datavalid_aoat2,");
|
||||
data.append("datavalid_aosi1,");
|
||||
data.append("datavalid_aosi2,");
|
||||
data.append("datavalid_aost1,");
|
||||
data.append("datavalid_aost2,");
|
||||
data.append("coffpress_k0,");
|
||||
data.append("coffpress_k1,");
|
||||
data.append("coffpress_k,");
|
||||
data.append("coffpress_k3,");
|
||||
data.append("coffangle_k0,");
|
||||
data.append("coffangle_k1,");
|
||||
data.append("coffangle_k2,");
|
||||
data.append("coffangle_k3\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存ecu数据的文件
|
||||
ecu_file_name = QString("./log/other/ecu_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(ecu_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("rpm_c,");
|
||||
data.append("rpm,");
|
||||
data.append("rpm_t,");
|
||||
data.append("t1,");
|
||||
data.append("t5,");
|
||||
data.append("p2,");
|
||||
data.append("servo_current,");
|
||||
data.append("oil_low,");
|
||||
data.append("p2_high,");
|
||||
data.append("states\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存sspc数据的文件
|
||||
sspc_file_name = QString("./log/other/sspc_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(sspc_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("bus_voltage,");
|
||||
data.append("battery_voltage,");
|
||||
data.append("battery_current,");
|
||||
data.append("main_voltage,");
|
||||
data.append("main_current,");
|
||||
data.append("current_ch1,");
|
||||
data.append("current_ch2,");
|
||||
data.append("current_ch3,");
|
||||
data.append("current_ch4,");
|
||||
data.append("current_ch5,");
|
||||
data.append("current_ch6,");
|
||||
data.append("current_ch7,");
|
||||
data.append("current_ch8,");
|
||||
data.append("current_ch9,");
|
||||
data.append("current_ch10,");
|
||||
data.append("current_ch11,");
|
||||
data.append("current_ch12,");
|
||||
data.append("current_ch13,");
|
||||
data.append("source,");
|
||||
data.append("state1_current_ch1,");
|
||||
data.append("state1_current_ch2,");
|
||||
data.append("state1_current_ch3,");
|
||||
data.append("state1_current_ch4,");
|
||||
data.append("state1_current_ch5,");
|
||||
data.append("state1_current_ch6,");
|
||||
data.append("state1_current_ch7,");
|
||||
data.append("state1_current_ch8,");
|
||||
data.append("state2_current_ch9,");
|
||||
data.append("state2_current_ch10,");
|
||||
data.append("state2_current_ch11,");
|
||||
data.append("state2_current_ch12,");
|
||||
data.append("state2_current_ch13,");
|
||||
data.append("state2_current_ch14,");
|
||||
data.append("state2_current_ch15,");
|
||||
data.append("state2_current_ch16,");
|
||||
data.append("check_CUP_STA,");
|
||||
data.append("check_current,");
|
||||
data.append("check_current_10A,");
|
||||
data.append("check_current_40A,");
|
||||
data.append("err1_ins_sbg,");
|
||||
data.append("err1_ins_320,");
|
||||
data.append("err1_dlink_l,");
|
||||
data.append("err1_dlink_u,");
|
||||
data.append("err1_eadc,");
|
||||
data.append("err1_rec,");
|
||||
data.append("err1_landinggear,");
|
||||
data.append("err1_act1,");
|
||||
data.append("err2_act2,");
|
||||
data.append("err2_act3,");
|
||||
data.append("err2_computer,");
|
||||
data.append("err3_pump,");
|
||||
data.append("err3_ail,");
|
||||
data.append("err3_temp_56v,");
|
||||
data.append("err3_temp_28v,");
|
||||
data.append("err4_computer,");
|
||||
data.append("err4_ecu,");
|
||||
data.append("err4_eadc,");
|
||||
data.append("err4_temp,");
|
||||
data.append("err5_fuel,");
|
||||
data.append("err5_temp_56v2,");
|
||||
data.append("err5_v_act,");
|
||||
data.append("err5_current56V,");
|
||||
data.append("err6_oil_press\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存vel数据的文件
|
||||
vel_file_name = QString("./log/other/vel_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(vel_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("time_stamp,");
|
||||
data.append("status_status_value,");
|
||||
data.append("status_type_value,");
|
||||
data.append("status_vel_status,");
|
||||
data.append("status_vel_type,");
|
||||
data.append("tow,");
|
||||
data.append("vel_n,");
|
||||
data.append("vel_e,");
|
||||
data.append("vel_d,");
|
||||
data.append("vel_acc_n,");
|
||||
data.append("vel_acc_e,");
|
||||
data.append("vel_acc_d,");
|
||||
data.append("course,");
|
||||
data.append("course_acc\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
|
||||
//创建保存pos数据的文件
|
||||
pos_file_name = QString("./log/other/pos_%1.csv").arg(QDateTime::currentDateTime().toString("yyyyMMddHHmmss") );
|
||||
file.setFileName(pos_file_name);
|
||||
if(file.open(QIODevice::WriteOnly) )
|
||||
{
|
||||
QByteArray data;
|
||||
data.append("time,");
|
||||
|
||||
data.append("time_stamp,");
|
||||
data.append("status_status_value,");
|
||||
data.append("status_type_value,");
|
||||
data.append("status_pos_status,");
|
||||
data.append("status_pos_type,");
|
||||
data.append("status_gps_l1_used,");
|
||||
data.append("status_gps_l2_used,");
|
||||
data.append("status_gps_l5_used,");
|
||||
data.append("status_glo_l1_used,");
|
||||
data.append("status_glo_l2_used,");
|
||||
data.append("status_glo_l3_used,");
|
||||
data.append("status_gal_e1_used,");
|
||||
data.append("status_gal_e5a_used,");
|
||||
data.append("status_gal_e5b_used,");
|
||||
data.append("status_gal_e5alt_used,");
|
||||
data.append("status_gal_e6_used,");
|
||||
data.append("status_bds_b1_used,");
|
||||
data.append("status_bds_b2_used,");
|
||||
data.append("status_bds_b3_used,");
|
||||
data.append("status_qzss_l1_used,");
|
||||
data.append("status_qzss_l2_used,");
|
||||
data.append("status_qzss_l3_used,");
|
||||
data.append("tow,");
|
||||
data.append("lat,");
|
||||
data.append("lng,");
|
||||
data.append("alt,");
|
||||
data.append("undulation,");
|
||||
data.append("pos_acc_lat,");
|
||||
data.append("pos_acc_lng,");
|
||||
data.append("pos_acc_alt,");
|
||||
data.append("num_sv_used,");
|
||||
data.append("base_station_id,");
|
||||
data.append("diff_age\n");
|
||||
|
||||
QTextStream stream(&file);
|
||||
stream.setCodec("UTF-8");
|
||||
stream << data;
|
||||
file.flush(); //将数据刷新到文件中
|
||||
file.close(); //关闭文件
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -109,6 +109,13 @@ signals:
|
||||
void SSPC_Info_state(Parse::_sspc info);
|
||||
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief 创建记录数据的文件
|
||||
*/
|
||||
void createRecordDataFiles();
|
||||
|
||||
|
||||
private:
|
||||
// QTimer timer;
|
||||
Ui::ToolsUI *ui;
|
||||
@@ -119,6 +126,20 @@ private:
|
||||
QMap<int,QPushButton *> btnList;
|
||||
QMap<int,ToolsWidget *> ToolsList;
|
||||
|
||||
//记录数据文件的文件名
|
||||
QString ecu_file_name;
|
||||
QString ins_file_name;
|
||||
QString nav_file_name;
|
||||
QString gear_file_name;
|
||||
QString actuator_file_name;
|
||||
QString actuator1_file_name;
|
||||
QString actuator2_file_name;
|
||||
QString imu_file_name;
|
||||
QString euler_file_name;
|
||||
QString eadc_file_name;
|
||||
QString sspc_file_name;
|
||||
QString vel_file_name;
|
||||
QString pos_file_name;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user