fix recall
This commit is contained in:
@@ -817,7 +817,7 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
||||
|
||||
//提取数据
|
||||
const uint8_t* data_ptr = parser.RecvData.data() + 14;
|
||||
size_t data_size = parser.RecvData.size() - 14;
|
||||
size_t data_size = parser.RecvData.size() - 14;
|
||||
|
||||
// 如果是第一帧,记录文件名
|
||||
if (current_frame == 1) {
|
||||
@@ -873,10 +873,43 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
||||
file_data.size());
|
||||
std::cout << "File saved: " << file_path << std::endl;
|
||||
|
||||
//调试用
|
||||
// 若是 .cfg,先查看并打印内容(限长)
|
||||
{
|
||||
auto dot = file_path.find_last_of('.');
|
||||
std::string ext = (dot == std::string::npos) ? "" : file_path.substr(dot);
|
||||
// 转小写比较
|
||||
for (auto& c : ext) c = static_cast<char>(std::tolower(static_cast<unsigned char>(c)));
|
||||
if (ext == ".cfg") {
|
||||
std::ifstream fin(file_path, std::ios::binary);
|
||||
if (!fin) {
|
||||
std::cerr << "[CFG] open failed: " << file_path << " (" << std::strerror(errno) << ")\n";
|
||||
} else {
|
||||
// 读取前 8KB 作为预览,避免日志过大
|
||||
constexpr size_t kMaxPreview = 8 * 1024;
|
||||
std::string buf;
|
||||
buf.resize(kMaxPreview);
|
||||
fin.read(&buf[0], static_cast<std::streamsize>(kMaxPreview));
|
||||
std::streamsize got = fin.gcount();
|
||||
buf.resize(static_cast<size_t>(got));
|
||||
|
||||
std::cout << "================ [CFG PREVIEW BEGIN] ================\n";
|
||||
std::cout << "path=" << file_path << ", size=" << file_data.size()
|
||||
<< " bytes, preview=" << got << " bytes\n";
|
||||
// 直接打印文本预览;如果包含不可见字符,会按原样输出
|
||||
std::cout.write(buf.data(), static_cast<std::streamsize>(buf.size()));
|
||||
if (static_cast<size_t>(got) == kMaxPreview && fin.peek() != EOF) {
|
||||
std::cout << "\n...[truncated]\n";
|
||||
}
|
||||
std::cout << "\n================ [CFG PREVIEW END] ==================\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//使用接口上送文件lnk20250826
|
||||
std::string filename;
|
||||
SendFileWebAuto(id, file_path, file_path, filename);//如果是补招文件的下载,下载后也是直接上传,上传成功后更新补招状态即可
|
||||
std::cout << "File upload: " << filename << std::endl;
|
||||
//SendFileWebAuto(id, file_path, file_path, filename);//如果是补招文件的下载,下载后也是直接上传,这样单纯补招波形也可以保证传文件
|
||||
std::cout << "File download success wait for upload: " << filename << std::endl;
|
||||
|
||||
//通知文件上传
|
||||
on_device_response_minimal(static_cast<int>(ResponseCode::OK), id, 0, static_cast<int>(DeviceState::READING_FILEDATA));
|
||||
@@ -889,7 +922,7 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
||||
}
|
||||
|
||||
//当前文件下载完毕,调整为空闲处理下一项工作(如果这里后续有新文件等待下载,一般已经存入等待队列等候处理了,调成空闲状态后直接就会开始新文件的下载工作)
|
||||
ClientManager::instance().change_device_state(id, DeviceState::READING_FILEDATA);
|
||||
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2080,9 +2113,9 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
||||
<< ", 特征幅值: " << record.fMagntitude << " pu"
|
||||
<< ", 时间戳: " << record.triggerTimeMs << "ms" << std::endl;
|
||||
|
||||
//记录补招上来的暂态事件,如果需要前置自行下载波形才需要这个接口
|
||||
/*append_qvvr_event(id,event.head.name,
|
||||
record.nType,record.fPersisstime,record.fMagntitude,record.triggerTimeMs,record.phase);*/
|
||||
//记录补招上来的暂态事件
|
||||
append_qvvr_event(id,event.head.name,
|
||||
record.nType,record.fPersisstime,record.fMagntitude,record.triggerTimeMs,record.phase);
|
||||
//直接发走暂态事件
|
||||
transfer_json_qvvr_data(id,event.head.name,
|
||||
record.fMagntitude,record.fPersisstime,record.triggerTimeMs,record.nType,record.phase,"");
|
||||
@@ -2092,9 +2125,6 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
||||
|
||||
recordlist.push_back(record);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//暂时移除CRC校验相关
|
||||
//// ========== 新增 CRC 验证 ==========
|
||||
|
||||
Reference in New Issue
Block a user