A – Registration and execution - Register GenesisCommunication Factory in the component list. - Separate the Genesis form and sequence from iPerl communication. B – Communication activities - Restore initialization, connection, PCB reading, password and login. - Include grouped login, mode switching and disconnection. - Support processing up to 10 slots. C1 – Input calibration factors - Read three factors from Water meters / Text1–Text3. - Validate integer values in the range 1–65535. - Preserve the default of 15625 when all three fields are empty. D – Q3 calibration - Connect the Prepare Q3 → measurement → Write Q3 workflow. - Add channel processing to FlyingStart and FlyingStartMassCollection. - Reset previous measurement data and validate calculated factors. - Mark factors as stored only after StoreCalibration succeeds. E – Results and database - Store calibration factors separately for each meter and channel. - Add result entities, mappings and Q3 data. - Extend DB.cs / EnsureSchema to create and update the schema. - Preserve compatibility with the existing binary format. Validation: - Debug build and 18 tests passed. - Simulated communication runs follow the same activity sequence. - The complete Q3 workflow has not yet been verified on hardware. Known limitation: - An inherited mismatch in simulated responses and error propagation can produce an incorrect OK result; this change does not fix it.
40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
namespace Results.Entities
|
|
{
|
|
public class TestRsltCalibFactor
|
|
{
|
|
public virtual int Id { get; protected set; }
|
|
|
|
public virtual TestRslt TestRslt { get; set; }
|
|
|
|
public virtual int WaterMeterPosition { get; set; }
|
|
|
|
public virtual int CalibFactorIndex { get; set; } // 1, 2, 3
|
|
|
|
public virtual bool IsCalibFactorValid { get; set; }
|
|
|
|
public virtual int BaseCalibFactor { get; set; }
|
|
public virtual int CalculatedCalibFactor { get; set; }
|
|
|
|
public virtual bool Stored { get; set; }
|
|
|
|
public virtual string ErrorStr { get; set; } // varchar(240)
|
|
|
|
public virtual double TimeStart { get; set; }
|
|
public virtual double TimeEnd { get; set; }
|
|
|
|
public virtual double CalibRawStart { get; set; }
|
|
public virtual double CalibRawEnd { get; set; }
|
|
|
|
public virtual double Error { get; set; }
|
|
public virtual double VolumeStart { get; set; }
|
|
public virtual double VolumeEnd { get; set; }
|
|
|
|
public TestRsltCalibFactor()
|
|
{
|
|
Stored = false;
|
|
ErrorStr = string.Empty;
|
|
IsCalibFactorValid = false;
|
|
}
|
|
}
|
|
}
|