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.
Cause:
- ResultsWriter required a generic way to generate customer-specific XML result data from TBF measurement results.
- The customer reference XML contains example runtime values and repeated result structures, so it cannot be used directly as the generated output.
- TBF result variables must be explicitly mapped to destinations in the customer XML structure.
- The generated XML result data must support two output targets:
- direct creation of an XML file,
- delivery of the XML payload to a Microsoft SQL stored procedure.
- Preview generation must allow the XML structure and configured mappings to be verified without executing the production database write.
- Increase revision to 3.9.3145.100.
Solution:
1. Added XML reference analysis
- Creates a clean base XML structure.
- Extracts the repeating result prototype.
- Prevents sample runtime values from the customer reference XML from leaking into generated results.
2. Added configurable TBF-to-XML result mapping
- Allows explicit mapping of TBF result variables to customer XML destinations.
- Supports one-time and repeating XML destinations.
- Keeps the mapping independent of the semantic meaning of customer XML attribute names.
3. Added XML destination viewer and configurator
- Shows the current mapping.
- Highlights repeating destinations.
- Identifies already used one-time destinations.
4. Added runtime XML result generation
- Uses the configured TBF-to-XML mappings.
- Uses measurement procedure result data.
- Builds the output from the clean base XML and repeating XML prototype.
- Generates repeated result records according to the executed measurement procedure.
5. Added simulation-based Preview request
- Generates a complete XML payload using simulation values.
- Allows XML structure and mapping verification before production execution.
- Does not execute the production stored procedure.
6. Added direct XML file output support to UniDataStorageWriter
- Supports File / .xml as a physical output target.
- Creates the generated XML result file in the configured output directory.
7. Added Microsoft SQL stored-procedure XML output
- Supports Microsoft SQL / StoredProcedure as a physical output target.
- Passes the generated XML payload through the configured stored procedure parameter.
8. Added optional XML payload archiving
- Allows generated XML payloads to be stored in the configured Payload archive.
- Can be used together with the Microsoft SQL stored-procedure output.
9. Kept ResultsWriter independent of the physical output target
- ResultsWriter generates the result payload.
- UniDataStorageWriter decides how and where the payload is physically written.
- The same ResultsWriter XML generation mechanism is therefore used for both XML file and MSSQL outputs.
10. Increased revision
- Updated revision to 3.9.3145.100.
Refactor Flip Mode parameter type in `WMeterRsltItemSpec` to `Quantity.String` for consistency. Add `SetTestModeOpto7Str` alias to improve readability and replace legacy A0 test mode reference in `iPerlCommunicationParams`.
Add Flip Mode support across iPerl-related test methods and database schema: implement FlipMode property, update MeterTestRslt mappings, integrate schema migration logic, and refine test result handling.
This commit integrates the `IPERL` mode across multiple projects by updating the `DefineConstants` in project configurations. It also improves logging by adding a `LogCache` appender and modifying root logger settings in the `log4netConfig.xml` file.