tbf/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.xml

1102 lines
60 KiB
XML
Raw Normal View History

2026-03-04 07:20:25 +00:00
<?xml version="1.0"?>
<doc>
<assembly>
<name>Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore</name>
</assembly>
<members>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts.LedMode">
<summary>
Streaming modes that supported by genesis meter.
Set meter to this Streaming mode means that , the meter pushes mode-specific record to port without any responses
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts.LedMode.FlowTestAndCalibData">
<summary>
Test mode with raw record to log. Should give one <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords.FlowTestRecord"/>
3 times <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords.CalibrationRecord"/> and repeat this till led mode is switch
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts.LedMode.FlowTestData">
<summary>
Test mode should give <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords.FlowTestRecord"/> out
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts.LedMode.CalibData">
<summary>
Calibration mode should give <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords.CalibrationRecord"/> out
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts.LedMode.Off">
<summary>
Deactivate streaming
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts.LedMode.Unknown">
<summary>
not set or an new not supported Streaming mode
</summary>
</member>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
<summary>
Genesis meter, main class for all action that occurs on production life of meter
one meter always have a linked port for UART communication and one for LED (even if you don't need them)
it´s has to be open for vb6 COM so don't use any record types or objects that vb6 didn't understand or
interprets differently than dotNet
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.#ctor">
<summary> Default constructor. </summary>
<remarks> R.Drabesch, 2018-Feb-16. </remarks>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.TransmitProtocol">
<summary>
Transmit protocol access for underlie objects to change response timeout
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.#ctor(System.Int32,System.Nullable{Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig},System.Nullable{Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig},System.Boolean,System.String)">
<summary>
</summary>
<param name="slot">Slot number for test-bench </param>
<param name="requestPort"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig" /> for request Port</param>
<param name="streamingPort"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig" /> for streaming Port</param>
<param name="ignoreCorruptedData">don´t send CRC error or telegrams with error flag to caller</param>
<param name="password">
If you have a password for highest access level you need, if you don't want to access the meter
(just read led record) than you can leave it null
</param>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.LoginLvl">
<summary>
Keep up the highest access level for all function in <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter" /> where used
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.LogoutLvl">
<summary>
Logout with level 0
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SerialNumber">
<inheritdoc />
<summary>
Property is redundant because is also stored in
<see cref="T:Xylem.Sensus.WaterMeter.Genesis.Logic.Domain.Genesis.DataPackages.MeterRegister" /> but never less is
is the identification of the meter it has a separate Property
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Slot">
<inheritdoc />
<summary>
Save Slot Number (position at test-bench) for logging purposes
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.PcbId">
<summary>
Represent <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.Register.Configexchange.PCBSerialNumber" />
proposed for login
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.IntermediateUpdateTimeS">
<inheritdoc />
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._password">
<summary>
Add on ctor a password and it will be used for login in if no other password is set
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._autoLogon">
<summary>
default false only enabled by <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.EnableAutoLogon"/>
when it is true, the meter will enforce the login when session is gone or access is denied
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._enableRawDataLogging">
<summary>
Enable raw record logging, if set every incoming package will be logged
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.IsDevelopmentUsage">
<summary>
Enable use of registers that are not valid (last version not match the current app)
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._configRegister">
<summary>
All parameter store in this Genesis is up in here
if you want to read them from meter use <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ReadRegister(System.String,System.Nullable{System.Int32},System.UInt16)" />
if you want to set them to meter use <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.WriteRegister``1(System.String,``0,System.Boolean,System.Boolean,System.UInt16)" />
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._configApplications">
<summary>
All applications defined by configuration.json
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestPort">
<summary>
request port assignment/info
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocol">
<summary>
request protocol assignment/info
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StreamingPort">
<summary>
streaming port assignment/info
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StreamingProtocol">
<summary>
streaming protocol assignment/info
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SkipPrepearationForTestBench">
<summary>
to reduce the IrdA communication in test bench, preparation will be done once (when SkipPrepearationForTestBench is true)
</summary>
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnRequestRecordReceived">
<summary>
Response received after request for record
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetConfigRegisterDefinitions(System.Collections.Generic.List{Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.IRegister})">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetConfigRegistersDefinitions">
<summary>
Returns meter registers
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Xylem#Common#Hardware#WaterMeter#WaterMeterRegisters#IWaterMeterWithRegisters#LoadConfiguration(System.String)">
<inheritdoc />
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._myProcessStatus">
<summary>
do not use it to set ProcessStatus
if you want to change ProcessStatus of this genesis use <see cref="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ProcessStatus" />
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._myProcessStatus" /> is just store for some routines
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ProcessStatus">
<inheritdoc />
if state is change
<see cref="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnProcessStatusChanged" />
will be invoked.
on some states other events will be invoke as well
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._myErrorState">
<summary>
do not use it to set ErrorStatus
if you want to change ErrorStatus of this genesis use <see cref="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ErrorStatus" />
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._myErrorState" /> is just store for some routines
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ErrorStatus">
<inheritdoc />
fires up
<see cref="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnErrorStatusChanged" />
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.IsLoggedOn">
<summary>
Logged in to device
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.CurrentActionText">
<summary>
Hold the current process name e.g. FlowTest, Preadjustemtn for logging
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetupFromConfigFile(System.Int32,System.Boolean)">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetupFromConfigFile(System.Int32,System.Boolean,System.Boolean,System.Boolean)">
<summary>
Setup water meter from configuration file:
-slot,
-streaming protocol,
-streaming port
-request port
</summary>
<param name="slot"></param>
<param name="ignoreCorruptedData"></param>
<param name="useRequest"></param>
<param name="useStreaming"></param>
<exception cref="T:System.ApplicationException"></exception>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetupGenesisMeter(System.Int32,System.Nullable{Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig},System.Nullable{Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig},System.Boolean,System.String)">
<summary>
just internal setup. called on ctor or from vb6 setup function
</summary>
<param name="slot">Slot Number for test-bench </param>
<param name="requestPort"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig" /> for RFID/UART/IrDA Port</param>
<param name="streamingPort"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig" /> for LED Port</param>
<param name="ignoreCorruptedData">don´t send CRC error or telegrams with error flag to caller</param>
<param name="password">
If you have a password for highest access level you need, if you don't want to access the meter
(just read led record) than you can leave it nullS
</param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ConnectMeter">
<inheritdoc />
<summary>
Start Event listening, has to be called after <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetupGenesisMeter(System.Int32,System.Nullable{Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig},System.Nullable{Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.PortConfig},System.Boolean,System.String)" />
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.LinkPortToProtocol(Xylem.Common.Hardware.Interfaces.Ports.PortCore.IPort,Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore.IProtocol)">
<summary>
Add a port to working queue
</summary>
<param name="port">On <see cref="T:Xylem.Common.Hardware.Interfaces.Ports.PortCore.IPort" /> should one once added in runtime</param>
<param name="protocol"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SyncStreamingBuffer(Xylem.Common.CommonCore.Consts.SyncMarkRecord)">
<summary>
Synchronization of the record for the streaming interface
</summary>
<param name="markRecord"></param>
<exception cref="T:System.ApplicationException"></exception>
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnCalibCompleted">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnErrorStatusChanged">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnProcessStatusChanged">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnCalibInitCompleted">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnInitCompleted">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnMeasurementInitCompleted">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnMeasurementCompleted">
<inheritdoc cref="T:Xylem.Common.Hardware.WaterMeter.WaterMeterCore.IMeter" />
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.OnAuthorizationRequired">
<summary>
call this if session is expired and you need an re-authorization
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Invoker(System.EventHandler,System.Object,System.EventArgs)">
<summary>
A helper to invoke events only if someone is listening, otherwise nothing will happen
</summary>
<param name="handler">Event handler to call</param>
<param name="sender">Sender (can be null)</param>
<param name="e">Event arguments (can be null)</param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StreamingProtocol_ApplyDecodedRecord(System.Object,Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments.BaseDataEventArgs)">
<summary>
Track all incoming led record packages (Calibration and Flow)
</summary>
<param name="sender"></param>
<param name="e">
I should be <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords.FlowTestRecord" /> or <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments.CalibDataEventArgs" />
otherwise this method does nothing
</param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocol_ApplyDecodedRecord(System.Object,Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments.BaseDataEventArgs)">
<summary>
tracking request record processing
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.QueryCaps">
<summary>
QueryCaps can send before login
arrange record for communication (e.g. Baud rate)
</summary>
<returns>
Running outgoing command
</returns>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._backupLoginLvl">
<summary>
The backup login level is needed for re-authorization
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.PrivilegeCommandToMeter(System.Int32,System.Boolean)">
<summary>
SetRegister <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.Register.Configexchange.Privilege" /> to loginLvl and wait for response
</summary>
<param name="loginLvl"></param>
<param name="runImmediately"> true = process command; false = add command to list. call
<see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocolProcess"></see> to process login command </param>
<returns> if is completed and no error occurred it is true </returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.LoginCommandToMeter(System.String,System.Boolean)">
<summary>
Set <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.Register.Configexchange.Password" />
</summary>
<param name="password"> if null , use password from initialization</param>
<param name="runImmediately"> true = process command; false = add command to list. call
<see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocolProcess"></see> to process login command </param>
<returns>
</returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ReLogin">
<summary>
Login with identical password as last time
</summary>
<returns></returns>
<remarks date="2019-Jun-23" author="Thomas Wiedebusch">
- Initial
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Login">
<inheritdoc />
<remarks date="2018JAN08" author="drabesch">
Get password from server
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Login(System.String)">
<inheritdoc />
<summary>
Starting a timer to keep session active,
starting the <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.KeepSessionThreadLoop"/>.
</summary>
<param name="password">password string to login</param>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Login(System.String,System.Boolean)">
<summary>
Starting a timer to keep session active,
starting the <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.KeepSessionThreadLoop"/>.
</summary>
<param name="password">password string to login</param>
<param name="runImmediately"> true = process command; false = add command to list. call
<see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocolProcess"></see> to process login command </param>
<returns></returns>
<remarks date="2019JAN01" author="drabesch">
pass runImmediately for auto login
</remarks>
<remarks date="2021-Feb-02" author="Thomas Wiedebusch">
- Avoid retries during login, a retry will lock the Genesis for 2s, 4s, 8s, 16s and so on.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.BuildFwVersionString(System.Byte,System.Byte)">
<summary>
Building the FW Version string out of 2 bytes of data.
REASON: FLEXNETVERSION is one application which does not follow the same rule of
decimal numbers. Instead it uses hexadecimal digits. After the conversion of this
number to a pure Uint32, needed for comparison of file versions in configuration.json,
the hexadecimal outline will be lost and the comparison with the rowproduct.txt fails.
FW-update needs this information to validate a tested package!
</summary>
<param name="msb">most significant byte</param>
<param name="lsb">last significant byte</param>
<returns>converted "msb.lsb" as string e.g. "12.34" or "2.0C" </returns>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.MeterAppListVersion">
<summary>
List of all present meter applications
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.CoreRevision">
<summary>
Core revision of boot code.
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RegionRadio">
<summary>
Region (EMEA or NA) and Radio frequency (433 or 868 or null).
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.MetrologyUpgradePermission">
<summary>
Metrology upgrade permission.
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ReadMeterFirmwareAndAssignRegisters">
<summary>
Reading all applications which can be found in the configuration.json and have been stored
to the meter register dictionary in advance.
The read process covers the FW version and the CRC.
After reading the version, all valid registers are going to be selected.
</summary>
<remarks date="2021-Mar-10" author="Thomas Wiedebusch">
- Removed "Cordonel " from CoreRevision to have the e.g. "1.64" remaining
</remarks>
<remarks date="2021-Apr15" author="Thomas Wiedebusch">
- Read radio frequency
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.EnableAutoLogon">
<summary>
Automatic login to meter enabled if logged out by lost authentication
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.KeepSessionTimerElapsed_SyncKeepSessionThread(System.Object,System.Timers.ElapsedEventArgs)">
<summary>
If the timeout timer elapsed to keep the session active, this routine will be called
awaking the <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.KeepSessionThreadLoop"/>.
</summary>
<param name="sender"></param>
<param name="eventARgs"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.KeepSessionThreadLoop">
<summary>
Thread to keep the connection to the meter open and the session alive,
because on missing communication the meter is going to logout automatically.
This thread will be started at <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Login"/> and aborted on
<see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Logout"/>
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Logout">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.CheckStateAfterMeasurement">
<summary>
Check if EMPTY_PIPE or REBOOT is set
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.HasAlarms(Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Alarm)">
<summary>
Check if alarmToCheck is set on register
</summary>
<param name="alarmToCheck">is Flags so you can use more than one alarms (like Alarm.EMPTY_PIPE | Alarm.REBOOT)</param>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetAlarms">
<summary>
Read out all AlarmStatus register and combine them to one <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Alarm"/>
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ResetAlarm(Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Alarm)">
<summary>
Reset the empty pipe alarm
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetPcbId(System.Int32,System.Int32)">
<summary>
Reads the PCB Identification, can be accessed at all login levels,
Read Privilege is always needed to BUGFIX read access to PCB ID
</summary>
<returns>PCB ID</returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetRegistersDic">
<summary>
Get the actual register dictionary
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetSerialNumber">
<summary>
Serial number of meter married with PcbId
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetLcdText(System.Boolean,System.Byte[])">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocol_MeterRegisterUpdated(System.Object,Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments.RegisterUpdatedEventArgs)">
<summary>
Event to Sync Register on MeterSide and <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._configRegister" />
Fired on Write or read register
</summary>
<param name="sender"></param>
<param name="e">Register to update with value to update</param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.WriteRegister``1(System.String,``0,System.Boolean,System.Boolean,System.UInt16)">
<summary>
Write Register, optional: wait for result and validate,
write register will ALWAYS log the data DON'T use for password write
</summary>
<typeparam name="T">Data type of Register</typeparam>
<param name="reg">Register to change</param>
<param name="value">Value to save</param>
<param name="waitForResult">wait until result is ready</param>
<param name="checkRegister">check the content of the register by read back</param>
<param name="skipRetryErrorCode">skip retries on this error code return</param>
<returns>true on successful operation</returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.ReadRegister(System.String,System.Nullable{System.Int32},System.UInt16)">
<summary>
Read Register and return byte array
</summary>
<param name="reg"></param>
<param name="expectedLength">expected length for response</param>
<param name="skipRetryErrorCode">skip retries on this error code return</param>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestProtocolProcess">
<remarks date="2020-Dec-19" author="Thomas Wiedebusch">
- Removed throw because the throw always kicks in to
the FW-Update process causing an unpredictable stop!
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Clear">
<summary>
Clear Ports
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.DisposeMeter">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.Dispose">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.WriteLog(System.String)">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.LogRawData(System.Boolean)">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetProcessState(Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts.DisplayCodes,System.Boolean)">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetLastProcessState">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.PostRegisterRead(Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Byte[])">
<summary>
Logging of register write processes to meter
ATTENTION: DON'T USE FOR PASSWORDS!
</summary>
<param name="reg"></param>
<param name="value"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.LogCalibrationData(System.UInt16,System.UInt16,System.UInt16)">
<summary>
Storage of calibration values
</summary>
<param name="calibrationFactor1"></param>
<param name="calibrationFactor2"></param>
<param name="calibrationFactor3"></param>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._calibFactor">
<summary>
Calibration factors for all channels
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._registersToStoreCalibFactor">
<summary>
Registers needed to store the calibration for the individual channel
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.InitCalibration">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StartCalibration">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StopCalibration">
<inheritdoc />
<summary>
Just stop recording without calculation
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetCalibrationState">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.BuildAndCheckCalibFactorsAllChannels(System.Double,System.Nullable{System.Double},System.Double,System.Double)">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.SetCalibFactorsAllChannels(System.Boolean)">
<inheritdoc />
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter._listOfIMeasurement">
<summary>
List of ongoing measurements, base- and calibration-measurements
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.AllChannelsRequired">
<summary>
All channels required to process
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.InitMeasurement">
<inheritdoc />
<summary>
Perpetration of Measurement
SampleRate 10 and Led mode Test
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StartMeasurement">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.StopMeasurement">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.CheckChannelFlowDirection">
<summary>
Testing the flow direction
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetMainMeasurementResult(System.Nullable{System.Double},System.Nullable{System.Double},System.Boolean)">
<inheritdoc />
<summary>
the first measurement is ALWAYS a FlowTestRecord due to the underlying<see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetAllMeasurementResults(System.Nullable{System.Double},System.Nullable{System.Double},System.Boolean,System.Nullable{System.Int32})"/> routine logic.
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetAllMeasurementResults(System.Nullable{System.Double},System.Nullable{System.Double},System.Boolean,System.Nullable{System.Int32})">
<summary>
The first measurement is ALWAYS a FlowTestRecord.
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.GetMeasurementState(System.Nullable{System.Int32})">
<inheritdoc />
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter.RequestIntermediateMeasurementState(System.Nullable{System.Int32})">
<inheritdoc />
</member>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor">
<summary>
Calibration content
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.IsCalculated">
<summary>
has been calibrated
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.Channel">
<summary>
Channel for calibration
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.RegisterToStoreCalibFactor">
<summary>
Register to store the calibration
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.#ctor(System.Int32,System.String)">
<summary>
Ctor for calibration factor
</summary>
<param name="channel"></param>
<param name="registerToStoreCalibFactor"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.BuildMeterCalibFactor(System.Double)">
<summary>
set the user readable relative (around 1.0) calibration factor
and convert it to the raw calibration factor for the meter
</summary>
<param name="relativeCalibFactor"></param>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.GetRelativeCalibFactor">
<summary>
Read the relative (around 1.0) calibration factor calculated from the actual
meter calibration factor divided by the default calibration factor
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.GetMeterRawCalibFactorDefault">
<summary>
Genesis internal raw default value (around 15625)
</summary>
<returns></returns>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.SetMeterRawCalibFactor(System.UInt16)">
<summary>
Set the meter raw calibration factor (around 15625)
</summary>
<param name="meterRawCalibFactor"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.CalibFactor.GetMeterRawCalibFactor">
<summary>
Get the meter raw calibration factor (around 15625)
</summary>
<returns></returns>
</member>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner">
<summary>
Port scanner:
using the Windows Device Manager listed ports,
tries to open the port with an exception if it cannot be accessed (very time consuming),
tries to use the request protocol to detect a Genesis device.
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner._currentGenesis">
<summary>
Genesis for test access
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.AutoDetectedPortName">
<summary>
Auto detected port name
</summary>
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.OnProcessUpdate">
<summary>
Port scan result event for message dispatcher to caller
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.StopPortScan">
<summary>
Stop the port scan
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.NumberOfPorts">
<summary>
Number of ports
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.ActualPortCtr">
<summary>
Actual Port Counter
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.GetPortScanState">
<summary>
Returns the port scan state
</summary>
<returns></returns>
<remarks date="2020-Oct-21" author="Thomas Wiedebusch">
- Initial
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.#ctor(System.String)">
<summary>
Ctor
</summary>
<returns>true if one port has been validated</returns>
<remarks date="2020-Dec-11" author="Thomas Wiedebusch">
- Initial
</remarks>
<param name="portType">type of communication port to meter like IrDA</param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.Dispose">
<inheritdoc />
<remarks date="2021-Jan-05" author="Thomas Wiedebusch">
- Initial.
</remarks>
<remarks date="2021-Mai-11" author="Thomas Wiedebusch">
- Remove all meters removed as _meterBatch.Dispose will remove all meters.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.MeterPortScanner.ScanAllSerialPorts(System.Int32,System.String)">
<summary>
Use initially the port configuration to speed up search,
If configuration file contains wrong port setup than scan all serial ports listed in
the windows device manager,
Read available ports,
Try to open port and connect to Genesis meter.
</summary>
<param name="slot">slot to search for</param>
<param name="portConfigFilePathName">configuration of port to speed up search</param>
<returns>true if port found</returns>
<returns>true if one port has been validated</returns>
<remarks date="2020-Oct-14" author="Thomas Wiedebusch">
- Initial
</remarks>
<remarks date="2020-Dec-11" author="Thomas Wiedebusch">
- Port type from Ctor,
- Event message changed:
- Overall message: ctr / counts - ongoing scan,
- Actual message: Information to log
</remarks>
<remarks date="2021-Jan-05" author="Thomas Wiedebusch">
- Changed exit of function,
- Added configuration file handling.
</remarks>
<remarks date="2021-Mai-11" author="Thomas Wiedebusch">
- Remove all meters removed as _meterBatch.Dispose will remove all meters.
</remarks>
</member>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisConfigurationReader">
<summary>
JSON filer reader for generation of register lists
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisConfigurationReader.ConfigRegistersDefinitions">
<summary>
Registers defined in configuration.json file
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisConfigurationReader.ConfigApplicationDefinitions">
<summary>
Applications defined in configuration.json file
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisConfigurationReader.#ctor(System.String)">
<summary>
Ctor
</summary>
<param name="configFilePath">the file path for configuration.json as interface description to the meter</param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisConfigurationReader.Convert(System.String)">
<summary>
Convert file content to register list
</summary>
<param name="fileContent"></param>
<returns></returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrCompareRegister">
<summary>
Looks up a localized string similar to Compare register.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrPortAccessRequest">
<summary>
Looks up a localized string similar to Access request..
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrPortFailedToOpen">
<summary>
Looks up a localized string similar to Failed to open..
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrPortListDeviceManger">
<summary>
Looks up a localized string similar to Ports listed in the Windows device manager..
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrPortScanStarted">
<summary>
Looks up a localized string similar to Automatic port scan started..
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrPortSuccessfullyAccessed">
<summary>
Looks up a localized string similar to Successfully accessed..
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrReadRegister">
<summary>
Looks up a localized string similar to Read register.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrReadRegistersAfterUpdate">
<summary>
Looks up a localized string similar to Reading registers after update.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrReadRegistersBeforeUpdate">
<summary>
Looks up a localized string similar to Reading registers before update.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrRequestPortDetectionFailed">
<summary>
Looks up a localized string similar to Cordonel not detected!.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrScanPort">
<summary>
Looks up a localized string similar to Scan port.
</summary>
</member>
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties.Resources.StrWriteRegister">
<summary>
Looks up a localized string similar to Write register.
</summary>
</member>
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer">
<summary>
Read, compare and restore if unequal al registers marked with
<see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.DataTypes.StaticType"/> equals
<see cref="!:StaticType.RestoreRequired"/>".
The reader will use the byte values as they are unmodified and
will not be rounded and therefor possibly fail the comparison.
For logging the register value will be converted its unit.
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._pcbIdPreUpdate">
<summary>
PCB ID for pre update for comparison
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._pcbIdPostUpdate">
<summary>
PCB ID for post update for comparison
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._registersPreUpdate">
<summary>
Register content before update
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._registersPostUpdate">
<summary>
Register content after update
</summary>
</member>
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.OnProcessUpdate">
<summary>
Register access event for message dispatcher to caller
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.ActualRegisterCtr">
<summary>
Actual Port Counter
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.StopRegisterAccess">
<summary>
Stop register access
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._currentGenesis">
<summary>
Genesis meter object
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._restoreRegNames">
<summary>
Extraction of registers names needed to restore after FW-Update
</summary>
</member>
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer._logRegNames">
<summary>
Extraction of registers names needed to log
</summary>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.#ctor(Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter)">
<summary>
Ctor
</summary>
<param name="currentGenesis"></param>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.AssignGenesis(Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.GenesisMeter)">
<summary>
Assign new genesis after reboot and keep the RegisterRestorer object.
</summary>
<param name="genesisMeter"></param>
<remarks date="2020-Dec-19" author="Thomas Wiedebusch">
- Initial
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.RegisterRestoreExecuted">
<summary>
Avoid doubling of register restore on subsequent FW-Update trials.
</summary>
<returns>true if registers already backed up</returns>
<remarks date="2020-Dec-21" author="Thomas Wiedebusch">
- Initial.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.RegisterBackupExecuted">
<summary>
Avoid doubling of register backup on subsequent FW-Update trials.
</summary>
<returns>true if registers already backed up</returns>
<remarks date="2020-Dec-19" author="Thomas Wiedebusch">
- Initial.
</remarks>
<remarks date="2020-Dec-21" author="Thomas Wiedebusch">
- Extended checks for Genesis is assigned and PCB ID is identical.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.RestoreRegisters">
<summary>
Restore all registers which can be restored and finalize with "safe configuration process".
</summary>
<returns>true if restoring succeeded</returns>
<remarks date="2020-Dec-17" author="Thomas Wiedebusch">
- Initial.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.CompareRegisters">
<summary>
Compare all registers which can be restored.
</summary>
<returns>true if equal</returns>
<remarks date="2020-Dec-17" author="Thomas Wiedebusch">
- Initial.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.PostUpdateReadRegisters">
<summary>
Read the registers after the update for comparision. Build the post update registers here,
because an update may have changed the registers (new or removed registers).
</summary>
<returns>true if registers could be read</returns>
<remarks date="2020-Dec-08" author="Thomas Wiedebusch">
- Initial.
</remarks>
<remarks date="2020-Dec-20" author="Thomas Wiedebusch">
- Build here the post update registers, they may have changed due to update!
</remarks>
<remarks date="2020-Dec-21" author="Thomas Wiedebusch">
- Clear pre update registers if post indicates a different PCB ID to avoid wrong overwriting of
registers to non matching new meter.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.PreUpdateReadRegisters">
<summary>
Get DEFINED registers from GenesisMeter class and read all
registers which are flagged with read write (RW) or read only (RO).
Build a list of all registers being able to restore referenced by name,
flagged with <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.DataTypes.StaticType"/>
equals <see cref="!:StaticType.RestoreRequired"/>".
The defined registers are based on the "configuration.json" and
the installed application with a specific version.
</summary>
<returns>true if registers could be read</returns>
<remarks date="2020-Dec-08" author="Thomas Wiedebusch">
- Initial.
</remarks>
<remarks date="2020-Dec-17" author="Thomas Wiedebusch">
- Stored registers before and after update.
</remarks>
<remarks date="2020-Dec-18" author="Thomas Wiedebusch">
- Extended register check.
</remarks>
<remarks date="2020-Dec-20" author="Thomas Wiedebusch">
- Removed after update registers and moved them to PostUpdateReadRegisters. They may have changed
during the update.
</remarks>
<remarks date="2020-Dec-21" author="Thomas Wiedebusch">
- Deny register pre update if _pcbIdPreUpdate indicates, that this has been already processed.
</remarks>
</member>
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.ReadRegistersSet(Xylem.Common.Hardware.WaterMeter.Genesis.Registers.MeterRegisters,System.Collections.Generic.ICollection{System.String})">
<summary>
Register read loop.
All registers needed to be read with <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.RegisterRestorer.ReadRegistersSet(Xylem.Common.Hardware.WaterMeter.Genesis.Registers.MeterRegisters,System.Collections.Generic.ICollection{System.String})"/>from the Genesis meter as they are only
prepared as template and NOT filled with the register data!
The <see cref="T:Xylem.Common.Utils.ProcessExec.EventArguments.ProcessExecEventArgs"/> uses the overall process text and value for user information process
bar and text and the actual process text for logging to the report file!
</summary>
<param name="registers">registers to read</param>
<param name="registerNames">list of registers to read</param>
<returns>true if registers could be read</returns>
<remarks date="2020-Dec-17" author="Thomas Wiedebusch">
- Initial.
</remarks>
<remarks date="2020-Dec-18" author="Thomas Wiedebusch">
- Set value to actual process message.
</remarks>
<remarks date="2020-Dec-20" author="Thomas Wiedebusch">
- Added PCB ID to logging.
</remarks>
<remarks date="2021-Mar-09" author="Thomas Wiedebusch">
- Removed PCB ID from logging.
</remarks>
</member>
</members>
</doc>