pELoad 多处完善:测量改为 FETCh 读缓存(不触发测量、修复真实设备 MEAS 查询超时失败)+ 异步查询不阻塞 100ms 控制循环;CV 优先控制路径与 FUNC:MODE FIX 防护;sqlite 增加 volt_set/cmd_volt 列并支持旧库自动迁移;页面重构为静态骨架(输入框永不重建、聚焦不被打断)+ 指令确认/步骤引导/测量诊断;deploy.sh 服务列表补 pMotor/pELoad,missions/h100.moos 补 pELoad 新配置

This commit is contained in:
zjk
2026-09-03 16:40:27 +08:00
parent 2a34b79461
commit 91be306a92
13 changed files with 640 additions and 297 deletions
+8 -3
View File
@@ -27,8 +27,10 @@ struct ELoadLogRow {
int connected;
int outp;
std::string mode; // follow / manual / current / volt
double targetPower; // 目标功率 W
double targetPower; // 目标功率 W(volt 模式为 0)
double voltSet; // 目标电压 V(volt 模式)
double cmdCurrent; // 指令电流 A
double cmdVolt; // 指令电压 V(volt 模式)
double measVoltage; // 实测电压 V
double measCurrent; // 实测电流 A
double measPower; // 实测功率 W
@@ -46,6 +48,7 @@ struct MeasRow {
double measCurrent;
double measPower;
double cmdCurrent;
double cmdVolt;
double targetPower;
int outp;
};
@@ -62,14 +65,15 @@ public:
// 运行状态快照落库(控制线程周期调用)
void insertStatus(bool connected, bool outp, const std::string& mode,
double targetPower, double cmdCurrent,
double targetPower, double voltSet,
double cmdCurrent, double cmdVolt,
double measV, double measI, double measP,
const std::string& funcMode,
unsigned long tx, unsigned long rx, unsigned long txErr);
// 高采样测量落库(每个控制周期调用,meas_log)
void insertMeas(double measV, double measI, double measP,
double cmdCurrent, double targetPower, bool outp);
double cmdCurrent, double cmdVolt, double targetPower, bool outp);
// SCPI 非常规收发落库:text 为 "CMD" 或 "CMD => RESP"(已配对)
// direction: 1=命令 0=查询应答
@@ -97,6 +101,7 @@ public:
private:
bool exec(const char* sql);
bool ensureColumn(const std::string& table, const std::string& col, const std::string& type);
bool prepareInsert();
bool prepareMeasInsert();
bool prepareScpiInsert();