698 lines
41 KiB
XML
698 lines
41 KiB
XML
<?xml version="1.0"?>
|
||
<doc>
|
||
<assembly>
|
||
<name>Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol</name>
|
||
</assembly>
|
||
<members>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands">
|
||
<summary>
|
||
Commands that the genesis meter support over the request protocol.
|
||
Functional Specification Breeze Core and Applications Revision:3.03(12748DOC11 - functional spec ICOE472.pdf)
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.Nop">
|
||
<summary>
|
||
9.2.5
|
||
Command 0x00 (NOP)
|
||
This command will do nothing, and will have no response.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.QueryCaps">
|
||
<summary>
|
||
9.2.6
|
||
Command 0x01 (Query capabilities)
|
||
This command will be used by the external computer to discover the protocol parameters that may be varied.
|
||
These can then be compared with the external computer’s capabilities and the best match selected.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.QueryCapsReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.QueryCaps"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.SetCaps">
|
||
<summary>
|
||
9.2.7
|
||
Command 0x03 (Set capabilities)
|
||
Used to finalize the baud rate and packet settings after negotiation.
|
||
The reply will be sent at the currently selected baud rate and packet length,
|
||
after which the settings will take effect
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.SetCapsReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.SetCaps"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.Train">
|
||
<summary>
|
||
9.2.8
|
||
Command 0x05 (Train)
|
||
This command will perform target driven data training, that is, where the target is in control of the data flow.
|
||
See also command 0x11.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.TrainReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.Train"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.RepeatLast">
|
||
<summary>
|
||
9.2.9
|
||
Command 0x07 (Repeat last)
|
||
Used by the external computer to request the last response to be resent, for example if it was found to be corrupted.
|
||
Note that the response 0x08 will never be sent, the reply to command 0x07 will be a verbatim resend of the last response.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.RepeatLastReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.RepeatLast"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.ReadData">
|
||
<summary>
|
||
9.2.10
|
||
Command 0x09 (Read data)
|
||
This command makes reads of any random selection of configuration registers, up to the maximum packet size negotiated.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.ReadDataReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.ReadData"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.WriteData">
|
||
<summary>
|
||
9.2.11
|
||
Command 0x0B (Write data)
|
||
This command makes writes to any random selection of configuration registers, up to the maximum packet size negotiated.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.WriteDataReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.WriteData"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleReadData">
|
||
<summary>
|
||
9.2.12
|
||
Command 0x0D (Multiple read data)
|
||
This command makes reads of one register multiple times, which will be more efficient than performing successive reads using command 0x09.
|
||
This command will be available from protocol version 0.40, for earlier protocol versions command 0x09 should be used.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleReadDataReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleReadData"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleWriteData">
|
||
<summary>
|
||
9.2.13
|
||
Command 0x0F (Multiple write data)
|
||
This command makes writes to one register multiple times, which will be more efficient than performing successive reads using command 0x0B.
|
||
This command will be available from protocol version 0.40, for earlier protocol versions command 0x0B should be used.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleWriteDataReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleWriteData"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.SetLevel">
|
||
<summary>
|
||
9.2.14
|
||
Command 0x11 (Set level)
|
||
This command will perform external driven data training, that is, where the external computer is in control of the data flow.
|
||
This command will be available from protocol version 0.42, for earlier protocol versions command 0x05 should be used.
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.SetLevelReply">
|
||
<summary>
|
||
response on <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.SetLevel"/>
|
||
</summary>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.ConfigExErrors">
|
||
<summary>
|
||
Config Exchange error codes.
|
||
</summary>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.HighLevelErrors">
|
||
<summary>
|
||
Transport errors for request protocol
|
||
</summary>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors">
|
||
<summary>
|
||
List of constance for error codes from genesis meter
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.NoError">
|
||
<summary>
|
||
everything is fine
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.SerialPortClosed">
|
||
<summary>
|
||
Port is not open
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.SerialPortWriteFailure">
|
||
<summary>
|
||
fails to write to serial port
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.SerialPortReadFailure">
|
||
<summary>
|
||
fails to read from serial port
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.MaxDataLength">
|
||
<summary>
|
||
Command is to long
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.Exception">
|
||
<summary>
|
||
deeper exception, check out log if this happen
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.CrcCalcError">
|
||
<summary>
|
||
wrong CRC
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.Unknown">
|
||
<summary>
|
||
something strange
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.LowLevelErrors.Timeout">
|
||
<summary>
|
||
Timeout occur
|
||
</summary>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState">
|
||
<summary>
|
||
Acknowledge feedback from meter after communication
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.CommandNotAssigned">
|
||
<summary>
|
||
Acknowledge code for unassigned command
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.Unsent">
|
||
<summary>
|
||
Will be used initially as the record is not sent
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.NoResponse">
|
||
<summary>
|
||
Response missing
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.CommandError">
|
||
<summary>
|
||
Response command not match the required command
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.AuthorizationRequired">
|
||
<summary>
|
||
Lost connection (logged out from meter), a re-authorization is required
|
||
to access this command and/or register
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.MeterError">
|
||
<summary>
|
||
Meter error received, a retry may be useful
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.DecodingError">
|
||
<summary>
|
||
The response record couldn't be decoded
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.WakeupMessage">
|
||
<summary>
|
||
The meter sent a wakeup message instead of the required data
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.RequestAcknowledgeState.Ok">
|
||
<summary>
|
||
Valid meter response record
|
||
</summary>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException">
|
||
<summary>
|
||
Holds all errors can occur on the request protocol
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.Command">
|
||
<summary>
|
||
Exception occurred on this command
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.ReceivedData">
|
||
<summary>
|
||
Exception occurred while receiving this data
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.ConfigExErrorCode">
|
||
<summary>
|
||
Error is interpreted and has a define error code
|
||
if its not null is Genesis.Protocols.Request.Const.ConfigExErrors
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.HighLevelErrorCode">
|
||
<summary>
|
||
Error is interpreted and has a define error code
|
||
if its not null is Genesis.Protocols.Request.Const.HighLevelError
|
||
</summary>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.#ctor(System.String)">
|
||
<summary>
|
||
Ctor with only message
|
||
</summary>
|
||
<param name="message">error message</param>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.#ctor(System.String,System.Object)">
|
||
<summary>
|
||
Ctor with message and <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.Command"/>
|
||
</summary>
|
||
<param name="message">error message</param>
|
||
<param name="command"><see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.Command"/></param>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.#ctor(System.String,System.Object,System.Object)">
|
||
<summary>
|
||
Ctor with message, <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.Command"/> and <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.ReceivedData"/>
|
||
</summary>
|
||
<param name="message">error message</param>
|
||
<param name="command"><see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.Command"/></param>
|
||
<param name="receivedData"><see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Exceptions.RequestProtocolException.ReceivedData"/> </param>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord">
|
||
<summary>
|
||
Holds request commands with detail parameters to see processing state
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseCommand">
|
||
<summary>
|
||
Indicates the base command <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands" />
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.Register">
|
||
<summary>
|
||
the register the command refers to.
|
||
needed to set Register dictionary to link response with dictionary key
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.Acknowledge">
|
||
<summary>
|
||
Command acknowledged
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.RetryCtr">
|
||
<summary>
|
||
Retry counter
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.WakeupMessageRetryCtr">
|
||
<summary>
|
||
Wakeup-message retry counter
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorBase">
|
||
<summary>
|
||
indicates error base on <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorReason">
|
||
<summary>
|
||
indicates error reason on <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord"/>
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorCode">
|
||
<summary>
|
||
Combined error code of base and reason
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorPosition">
|
||
<summary>
|
||
Chunk position of error on multiple read/write access
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.RequestProtocolData">
|
||
<summary>
|
||
Data containing the request protocol
|
||
</summary>
|
||
</member>
|
||
<member name="P:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.EncodedRequestData">
|
||
<summary>
|
||
Encoded with transmit protocol, ready to stream to port as is
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponsePayload">
|
||
<summary>
|
||
Extracted payload of response
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseTimeoutMs">
|
||
<summary>
|
||
Extracted payload of response
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.HideDataInLog">
|
||
<summary>
|
||
avoid logging for e.g. password
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.SkipRetryErrorCode">
|
||
<summary>
|
||
error mask to skip retries for functional errors <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorCode"/>
|
||
</summary>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.#ctor(System.Byte,System.Collections.Generic.List{System.Byte},System.Collections.Generic.List{System.Byte},System.Int32,Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Boolean,System.UInt16)">
|
||
<summary>
|
||
Ctor for an base command <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands" />
|
||
</summary>
|
||
<param name="command"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands" /> as an byte</param>
|
||
<param name="requestProtocolData">Request protocol data for logging</param>
|
||
<param name="encodedRequestData"> Ready to send data encoded with transmit protocol retries</param>
|
||
<param name="responseTimeoutMs">Timeout for response</param>
|
||
<param name="register"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition"/> to do command with</param>
|
||
<param name="hideDataInLog">hiding data in log file to avoid spying of passwords</param>
|
||
<param name="skipRetryErrorCode">error mask to skip retries <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorCode"/></param>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.EventArguments.AuthorizationRequiredEventArgs">
|
||
<inheritdoc />
|
||
<summary>
|
||
if session is gone and a re authorization is necessary
|
||
</summary>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.EventArguments.AuthorizationRequiredEventArgs.#ctor(Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord)">
|
||
<inheritdoc />
|
||
<summary>
|
||
Ctor
|
||
</summary>
|
||
<param name="command">this command will be resend after authorization</param>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.EventArguments.AuthorizationRequiredEventArgs.Command">
|
||
<summary>
|
||
Command to resend
|
||
</summary>
|
||
</member>
|
||
<member name="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol">
|
||
<summary>
|
||
a bidirectional protocol support read and write genesis meter registers
|
||
needed for
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol._recordsSendFifo">
|
||
<summary>
|
||
FIFO of records to be send next
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol._recordInProcess">
|
||
<summary>
|
||
This is the actual record in the send loop
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.LastCommTime">
|
||
<summary>
|
||
Last communication time for session refresh
|
||
</summary>
|
||
</member>
|
||
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.OnRecordReadyToSend">
|
||
<inheritdoc />
|
||
</member>
|
||
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.OnRecordIsDecoded">
|
||
<inheritdoc />
|
||
</member>
|
||
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.OnAuthorizationGrant">
|
||
<summary>
|
||
Occurs when a meter Response for write password is good
|
||
</summary>
|
||
</member>
|
||
<member name="E:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.OnMeterRegisterUpdated">
|
||
<summary>
|
||
Event after a register entries changed
|
||
</summary>
|
||
</member>
|
||
<member name="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.AdditionalRetryTimeoutMs">
|
||
<summary>
|
||
User adjustable additional retry timeout. This is 0 ms for standard operation.
|
||
</summary>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.#ctor(System.String)">
|
||
<inheritdoc />
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.ProcessRecordList">
|
||
<summary>
|
||
Process all records needed to be sent, this routine has to be called
|
||
to kick-off the communication of all RequestRecords saved to the send
|
||
FIFO <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.AddRecordToSendFifo(System.Byte,System.Byte[],Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Boolean,System.UInt16)"/>
|
||
</summary>
|
||
<remarks date="2018-Dec-07" author="T.Wiedebusch">
|
||
- Initial
|
||
</remarks>
|
||
<remarks date="2018-Dec-09" author="T.Wiedebusch">
|
||
- Logging of raw RequestProtocol at time of sending,
|
||
- Logging of retries.
|
||
</remarks>
|
||
<remarks date="2018-Dec-12" author="T.Wiedebusch">
|
||
- Added timeout from transmit protocol.
|
||
</remarks>
|
||
<remarks date="2019-Jan-02" author="Drabesch">
|
||
- Added reorder FIFO to bring login at first position
|
||
</remarks>
|
||
<remarks date="2019-Apr-11" author="T.Wiedebusch">
|
||
- Hide data in logging for e.g. passwords
|
||
</remarks>
|
||
<remarks date="2019-Jun-06" author="T.Wiedebusch">
|
||
- Retry counter reset if authorization required and this record will be put back into FIFO,
|
||
- Retry delay corrected for all errors.
|
||
</remarks>
|
||
<remarks date="2019-Jun-12" author="T.Wiedebusch">
|
||
- Dynamic retry delay: ResponseTimeoutMs * Retry counter.
|
||
</remarks>
|
||
<remarks date="2019-Jun-28" author="T.Wiedebusch">
|
||
- Skip retries on specific error mask to speed up communication on functional errors
|
||
or informational feed backs (e.g FW not installed 0x0004)
|
||
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorCode"/>
|
||
</remarks>
|
||
<remarks date="2019-Aug-29" author="T.Wiedebusch">
|
||
- User adjustable additional retry timeout.
|
||
</remarks>
|
||
<remarks date="2020-Jan-17/18" author="T.Wiedebusch">
|
||
- Response timeout message output,
|
||
- Initialize acknowledge code before communication to NoResponse.
|
||
</remarks>
|
||
<remarks date="2020-Jan-22" author="T.Wiedebusch">
|
||
- Response timeout deviated from system time.
|
||
</remarks>
|
||
<remarks date="2021-Feb-02" author="T.Wiedebusch">
|
||
- Avoid enqueue of _recordInProcess if retry counter is 0.
|
||
</remarks>
|
||
<remarks date="2022-Nov-04" author="T.Wiedebusch">
|
||
- Additional DEBUG information included about FIFO and loops.
|
||
</remarks>
|
||
<remarks date="2022-Nov-07" author="T.Wiedebusch">
|
||
- Command not assigned response for recordInProcess == null.
|
||
</remarks>
|
||
<remarks date="2024-Apr-22" author="T.Wiedebusch">
|
||
- Initial request acknowledge state changed from NotDecoded to NoResponse.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.AddRecordToSendFifo(System.Byte,System.Byte[],Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Boolean,System.UInt16)">
|
||
<summary>
|
||
Assemble record with transmit protocol and put it to record-send-FIFO,
|
||
backup the ready-to-send, which is the dataEncodedWithTransmitProtocol,
|
||
to the RequestRecord object for sending including the retry capability.
|
||
</summary>
|
||
<param name="payload">Data package with all details like CRC, etc</param>
|
||
<param name="cmd">Command identifier <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands" /></param>
|
||
<param name="register"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition" /> which is intend</param>
|
||
<param name="hideDataInLog">hiding data in log file to avoid spying of passwords</param>
|
||
<param name="skipRetryErrorCode">error mask to skip retries</param>
|
||
<returns>the assembled record for the send FIFO</returns>
|
||
<remarks date="2018-Dec-08" author="T.Wiedebusch">
|
||
- Initial
|
||
</remarks>
|
||
<remarks date="2018-Dec-09" author="T.Wiedebusch">
|
||
- Logging of raw data (RequestProtocol) moved to ProcessRecordList.
|
||
</remarks>
|
||
<remarks date="2018-Dec-12" author="T.Wiedebusch">
|
||
- Added timeout from transmit protocol.
|
||
</remarks>
|
||
<remarks date="2019-Apr-11" author="T.Wiedebusch">
|
||
- Hide data in logging for e.g. passwords
|
||
</remarks>
|
||
<remarks date="2019-Jun-28" author="T.Wiedebusch">
|
||
- Skip retries on specific error mask to speed up communication on functional errors
|
||
or informational feed backs (e.g FW not installed 0x0004)
|
||
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorCode"/>
|
||
</remarks>
|
||
<remarks date="2020-Jan-18" author="T.Wiedebusch">
|
||
- Initial skip retry error code set to 0x0004 (e.g FW not installed 0x0004).
|
||
</remarks>
|
||
<remarks date="2023-Mai-16" author="T.Wiedebusch">
|
||
- Hide data in log forwarded to DecodeDateForPhysicalLayer to hide passwords in log files.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.AddRecordToSendFifoUI1236(System.String,System.Byte[],Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Boolean,System.UInt16)">
|
||
<summary>
|
||
Record dispatcher to send FIFO of UI1236 command
|
||
</summary>
|
||
<remarks date="2022-Aug-24" author="R.Drabesch">
|
||
- Initial
|
||
</remarks>
|
||
<param name="ident">string for logging of slot</param>
|
||
<param name="payload">Data package with all details like CRC, etc</param>
|
||
<param name="register"><see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition" /> which is intend</param>
|
||
<param name="hideDataInLog">hiding data in log file to avoid spying of passwords</param>
|
||
<param name="skipRetryErrorCode">error mask to skip retries</param>
|
||
<returns>the assembled record for the send FIFO</returns>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.DecodeRecord(Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments.IPortDataEventArgs)">
|
||
<summary>
|
||
Called after successful response.
|
||
Decode and check record, handle Errors and dispatch result.
|
||
Invokes <see cref="E:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.OnRecordIsDecoded" />if somebody is listening
|
||
</summary>
|
||
<remarks date="2018-Mar-15" author="R.Drahbesch">
|
||
- Initial
|
||
</remarks>
|
||
<remarks date="2018-Dec-08" author="T.Wiedebusch">
|
||
- First part reworked to extract the response protocol information
|
||
</remarks>
|
||
<remarks date="2019-Apr-11" author="T.Wiedebusch">
|
||
- Hide data in logging for e.g. passwords
|
||
</remarks>
|
||
<remarks date="2019-Jun-28" author="T.Wiedebusch">
|
||
- Error code extraction changed for <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.SkipRetryErrorCode"/>
|
||
</remarks>
|
||
<remarks date="2019-Dec-12/16" author="T.Wiedebusch">
|
||
- Wakeup-message will avoid further timeout (during FW update this is in the range
|
||
of 15000ms).
|
||
- Allow one additional retry on decoding error, which is often the wakeup-message.
|
||
</remarks>
|
||
<remarks date="2019-Jan-17" author="T.Wiedebusch">
|
||
- Send time reminder for timeout time calculation as output in log-file,
|
||
- OnRecordIsDecoded?.Invoke moved before return to assure that the Acknowledge status is set.
|
||
</remarks>
|
||
<remarks date="2019-Jan-22" author="T.Wiedebusch">
|
||
- Avoid activation of wakeup retry if record is meanwhile acknowledged.
|
||
</remarks>
|
||
<remarks date="2022-Jul-19" author="T.Wiedebusch">
|
||
- Wakeup message handling changed,
|
||
- Multiple replies on wakeup message allowed.
|
||
</remarks>
|
||
<remarks date="2022-Oct-02" author="T.Wiedebusch">
|
||
- On wakeup message 5 retires are allowed to avoid an infinite loop.
|
||
</remarks>
|
||
<remarks date="2022-Oct-04" author="T.Wiedebusch">
|
||
- On wakeup message exit this routine.
|
||
</remarks>
|
||
<remarks date="2023-Feb-13" author="T.Wiedebusch">
|
||
- Early exit on _recordInProcess == null,
|
||
- Wakeup message retries from 5 to 2,
|
||
- Removed error base from error code decision as error base is only the AppId
|
||
</remarks>
|
||
<remarks date="2023-Sep-01" author="T.Wiedebusch">
|
||
- HideDataInLog.
|
||
</remarks>
|
||
<remarks date="2024-Jan-24" author="T.Wiedebusch">
|
||
- Ignore wakeup if message already acknowledged (avoid to set
|
||
"_recordInProcess.Acknowledge = RequestAcknowledgeState.NotDecoded"),
|
||
- Avoid to overwrite "_recordInProcess.Acknowledge = RequestAcknowledgeState.Acknowledge" with
|
||
"RequestAcknowledgeState.WakeupMessage".
|
||
</remarks>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.CommandToMeter(System.Byte,Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Byte[],System.Nullable{System.Int32},System.Boolean,System.UInt16)">
|
||
<summary>
|
||
Method to send basic Commands to Meter. Creates an integer of 4 bytes for the payload.
|
||
Supported Commands are: <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.ReadData" />,<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleReadData" />,
|
||
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.WriteData" />, <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleWriteData" /> and <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.QueryCaps" />.
|
||
Calculate CRCs and Command length and check if command is valid.
|
||
Use <see cref="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.AddRecordToSendFifo(System.Byte,System.Byte[],Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition,System.Boolean,System.UInt16)" /> to push data to Port/Meter.
|
||
</summary>
|
||
<param name="command">
|
||
Supported <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.ReadData" />,<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleReadData" />,
|
||
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.WriteData" />, <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleWriteData" /> and <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.QueryCaps" />.
|
||
</param>
|
||
<param name="meterRegister">Register to Read or Write, null for <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.QueryCaps" /></param>
|
||
<param name="payload">
|
||
Data to push into the <see cref="T:Xylem.Common.Hardware.WaterMeter.Genesis.Registers.RegisterDefinition" />.
|
||
must be null on Read Commands ( <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.ReadData" />,<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleReadData" />)
|
||
and not null on WriteData (<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.WriteData" /> and <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts.Commands.MultipleWriteData" />)
|
||
</param>
|
||
<param name="expectedLength"></param>
|
||
<param name="hideDataInLog">hiding data in log file to avoid spying of passwords</param>
|
||
<param name="skipRetryErrorCode">mask to skip reties on error</param>
|
||
<returns>an new command just send to port/meter </returns>
|
||
<remarks date="2018-Mar-15" author="R.Drahbesch">
|
||
- Initial
|
||
</remarks>
|
||
<remarks date="2018-Dec-08" author="T.Wiedebusch">
|
||
- Reworked to zero pad payload with chunks of 4 bytes, the caller needn't take care of the size
|
||
</remarks>
|
||
<remarks date="2018-Dec-09" author="T.Wiedebusch">
|
||
- Corrected payload content in request protocol
|
||
</remarks>
|
||
<remarks date="2019-Apr-11" author="T.Wiedebusch">
|
||
- Hide data in logging for e.g. passwords
|
||
</remarks>
|
||
<remarks date="2019-Jun-28" author="T.Wiedebusch">
|
||
- Skip retries on specific error mask to speed up communication on functional errors
|
||
or informational feed backs (e.g FW not installed 0x0004)
|
||
<see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestRecord.ResponseErrorCode"/>
|
||
</remarks>
|
||
<remarks date="2019-Aug-28" author="R.Drabesch">
|
||
- Multiple read for string split to simple reads.
|
||
</remarks>
|
||
<remarks date="2019-Jan-18" author="T.Wiedebusch">
|
||
- Default <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.CommunicationConfig.SkipRetryErrorCode"/> set.
|
||
</remarks>
|
||
<remarks date="2023-Sep-06" author="T.Wiedebusch">
|
||
- MultipleReadData based on data size.
|
||
</remarks>
|
||
<remarks date="2023-Nov-24" author="T.Wiedebusch">
|
||
- Exit multiple read date if retries exceeded.
|
||
</remarks>
|
||
<remarks date="2024-Apr-11" author="T.Wiedebusch">
|
||
- Exit multiple read date if retries exceeded increased to <see cref="F:Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.CommunicationConfig.MaxRequestRetries"/>.
|
||
</remarks>
|
||
<remarks date="2024-Apr-11 Version 2" author="T.Wiedebusch">
|
||
- Rewound to version from 06.09.2023 14:44:33 before Commit 8c9d7704.
|
||
</remarks>
|
||
<remarks date="2024-Apr-15" author="T.Wiedebusch">
|
||
- Removed useless too short comments as every string is going to be delimited by a 0 and usually won't match
|
||
to a 4 byte chunk.
|
||
</remarks>
|
||
<remarks date="2026-Jan-06" author="T.Wiedebusch">
|
||
- Removed redundant 'return cRecord'.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.CheckErrorCode">
|
||
<summary>
|
||
Analyzes the error code
|
||
</summary>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.ReorderRecordList(System.String)">
|
||
<summary>
|
||
Reorders the record list so that first entry is the defined topRegister
|
||
</summary>
|
||
<param name="topRegister"></param>
|
||
</member>
|
||
<member name="M:Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.RequestProtocol.ContainsRegisterIdent(System.String)">
|
||
<summary>
|
||
Checks the active register to access
|
||
</summary>
|
||
<param name="registerName"></param>
|
||
<returns></returns>
|
||
</member>
|
||
</members>
|
||
</doc>
|