#pragma once #include #include "user_app.h" #include "Crc16.h" #include "Util/logger.h" #include #include #include using namespace std; #define PIDS_DATA_HEAD (0xFD) // 帧头 #define PIDS_DATA_END (0xFE) // 帧尾 #define PIDS_SRC_TC1 (0x01) // 源设备车厢编号:TC1 #define PIDS_SRC_TC2 (0x02) // 源设备车厢编号:TC2 #define PIDS_SRC_TYPE_PIDS (0x03) // PIDS设备 #define PIDS_SRC_TYPE_MIVA (0x28) // 视频分析服务器设备 #define HEX2BCD(x) (((x) % 10) + ((((x) / 10) % 10) << 4)) /*20 -> 20H*/ struct CarLoadData{ int NoLoad; int DynamicLoad; }; struct CarInferData{ std::string uri; int num; }; struct CarData{ CarLoadData loadData; std::list inferData; }; struct ResultData{ int Grade; int Num; }; void getBCDTime(uint8_t *out) { time_t t; int i = 0; struct tm *tp = NULL; t = time(NULL); tp = localtime(&t); out[i++] = HEX2BCD(tp->tm_year-100); out[i++] = HEX2BCD(tp->tm_mon+1); out[i++] = HEX2BCD(tp->tm_mday); out[i++] = HEX2BCD(tp->tm_hour); out[i++] = HEX2BCD(tp->tm_min); out[i++] = HEX2BCD(tp->tm_sec); } void getDataTime(char *ctime) { time_t rawtime; struct tm *info; time(&rawtime); info = localtime(&rawtime); strftime(ctime, 80, "%Y-%m-%d %H:%M:%S", info); }