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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user