void AnalyseDataBlock(vector dataBlocks) {
if (dataBlocks.size() > 0) {
for (auto dataBlock : dataBlocks) {
switch (dataBlock.Code) {
case VERSION: {
auto [year, bil, e] = ReadVersion(dataBlock);
if (!e) {
cout << "1、版本: " << dataBlock.Summary << " " << year << " " << bil << endl;
}
break;
}
case DRIVER: {
auto [lic, e] = ReadDriver(dataBlock);
if (!e) {
cout << "2、驾驶员: " << dataBlock.Summary << lic << endl;
}
break;
}
case REALTIME: {
auto [realTime, e] = ReadRealTime(dataBlock);
if (!e) {
cout << "3、当前时间: " << realTime << endl;
}
break;
}
case MILEAGE: {
auto [m, e] = ReadMileage(dataBlock);
if (!e) {
printf("4、里程信息: 安装时间:%s;当前时间:%s;初始里程:%f;累计里程:%f\n", m.InstallDataTime.c_str(), m.RealDataTime.c_str(), m.InitialMileage, m.Mileage);
}
break;
}
case PULSE: {
auto [dataTime, pulse, e] = ReadPulse(dataBlock);
if (!e) {
cout << "5、系数: 当前时间:" << dataTime << " " << pulse << endl;
}
break;
}
case VEHICLE_INFO: {
auto [vin, regNo, vType, e] = ReadVehicleInfo(dataBlock);
if (!e) {
cout << "6、车辆信息: " << vin << " " << regNo << " " << vType << endl;
}
break;
}
case SIGNAL: {
auto [signal, e] = ReadSignal(dataBlock);
if (!e) {
cout << "7、状态信号: " << signal << endl;
}
break;
}
case VDR_NO: {
auto [vdrNo, e] = ReadVdrNo(dataBlock);
if (!e) {
cout << "8、VDR编号信息: " << vdrNo << endl;
}
break;
}
case SPEED: {
ReadSpeed(dataBlock);
break;
}
case POSITION: {
ReadPosition(dataBlock);
break;
}
case TROUBLE: {
ReadTrouble(dataBlock);
break;
}
case OVERTIME: {
ReadOverTime(dataBlock);
break;
}
case DRIVER_HIS: {
ReadDriverHis(dataBlock);
break;
}
case POWER: {
ReadPower(dataBlock);
break;
}
case PARAMETER: {
ReadParameter(dataBlock);
break;
}
case SPEED_LOG: {
ReadSpeedLog(dataBlock);
break;
}
}
}
}