OSDP.Net 5.2.1
A .NET library for implementing the Open Supervised Device Protocol (OSDP)
Loading...
Searching...
No Matches
OSDP.Net.LineQuality Namespace Reference

Classes

class  BaudRateChange
 A Baud Rate Change command (Command ID 0x02) from the Line Quality Test Procedure, section 3.5. More...
class  BaudRateChangeAck
 A Baud Rate Change Acknowledgment (Reply ID 0x02) from the Line Quality Test Procedure, section 3.7. More...
class  ClearTextChannel
 A message channel that never establishes security, used to frame and parse line quality test traffic.
class  EchoRequest
 An Echo Request (Command ID 0x01) from the Line Quality Test Procedure, section 3.5. More...
class  EchoResponse
 An Echo Response (Reply ID 0x01) from the Line Quality Test Procedure, section 3.7. More...
 Details about an installation that the test cannot discover for itself, used to fill in the header of a written report. More...
class  LineQualityMarkdownReport
 Renders a LineQualityReport as the Markdown report described in section 7 of the OSDP Line Quality Test Procedure. More...
class  LineQualityOptions
 Options controlling a line quality test run. More...
class  LineQualityProgress
 A progress update from a running line quality test. More...
class  LineQualityProtocol
 Constants and helpers for the OSDP Line Quality Test Procedure. More...
class  CombinationResult
 Results for a single pattern and payload size at one baud rate. More...
class  BaudRateResult
 Results for every combination exercised at a single baud rate. More...
class  LineQualityReport
 The complete results of a line quality test run. More...
class  LineQualityResponder
 The responder side of the OSDP Line Quality Test Procedure: answers echo requests at the dedicated test address and follows the controller through baud rate changes. More...
class  LineQualityExchangeEventArgs
 Describes a completed echo exchange handled by a LineQualityResponder. More...
class  LineQualityBaudRateChangedEventArgs
 Describes a change in the rate a LineQualityResponder is answering at. More...
class  LineQualityTest
 The controller side of the OSDP Line Quality Test Procedure: sweeps baud rates, bounces test patterns off a responder, and reports what survived. More...
class  LineQualityException
 Raised when a line quality test cannot be run. More...

Enumerations

enum  LineQualityBaudRate : byte {
  Baud9600 = 0x00 , Baud19200 = 0x01 , Baud38400 = 0x02 , Baud57600 = 0x03 ,
  Baud115200 = 0x04 , Baud230400 = 0x05 , Baud460800 = 0x06
}
 Baud Rate identifiers defined by the OSDP Line Quality Test Procedure, section 3.4. More...
enum  EchoStatus : byte { Success = 0x00 , UnsupportedPattern = 0x01 , LengthError = 0x02 , Busy = 0x03 }
 Status codes returned in an Echo Response, per section 3.7 of the Line Quality Test Procedure. More...
enum  BaudRateChangeStatus : byte { Success = 0x00 , UnsupportedRate = 0x01 , SwitchFailed = 0x02 }
 Status codes returned in a Baud Rate Change Acknowledgment, per section 3.7 of the Line Quality Test Procedure. More...
enum  TestProfile { Screening , Qualification , Extended }
 Test profiles from section 3.10 of the Line Quality Test Procedure. More...
enum  LineQualityVerdict { Untested , Pass , Marginal , Fail }
 The overall assessment of a baud rate or of a whole test run. More...
enum  TestPattern : byte {
  AllZeros = 0x00 , AllOnes = 0x01 , AlternatingA = 0x02 , Alternating5 = 0x03 ,
  Sequential = 0x04 , WalkingOne = 0x05
}
 Test pattern identifiers defined by the OSDP Line Quality Test Procedure, section 3.6. More...

Enumeration Type Documentation

◆ BaudRateChangeStatus

Status codes returned in a Baud Rate Change Acknowledgment, per section 3.7 of the Line Quality Test Procedure.

Enumerator
Success 

The responder will switch to the requested rate after sending this reply.

UnsupportedRate 

The requested Baud Rate ID is not supported by the responder.

SwitchFailed 

The responder recognized the rate but could not switch to it.

Definition at line 58 of file LineQualityBaudRate.cs.

◆ EchoStatus

Status codes returned in an Echo Response, per section 3.7 of the Line Quality Test Procedure.

Enumerator
Success 

Pattern received and echoed correctly.

UnsupportedPattern 

The requested Pattern ID is not recognized by the responder.

LengthError 

The requested payload length exceeds the responder's receive buffer.

Busy 

The responder is temporarily unable to process the request.

Definition at line 39 of file LineQualityBaudRate.cs.

◆ LineQualityBaudRate

Baud Rate identifiers defined by the OSDP Line Quality Test Procedure, section 3.4.

Identifiers 0x00 through 0x05 are the six rates enumerated in OSDP section 5.2, of which a conforming device need only support one. Baud460800 is not an OSDP-defined rate; it is reserved by the line quality specification because it is in common use on short runs, and is excluded from LineQualityProtocol.DefaultBaudRates by default.

Enumerator
Baud9600 

9600 baud. Baseline rate, and the rate a responder falls back to.

Baud19200 

19200 baud.

Baud38400 

38400 baud.

Baud57600 

57600 baud.

Baud115200 

115200 baud.

Baud230400 

230400 baud, the highest rate named by OSDP section 5.2.

Baud460800 

460800 baud. An extension to OSDP, not part of the standard rate list.

Definition at line 12 of file LineQualityBaudRate.cs.

◆ LineQualityVerdict

The overall assessment of a baud rate or of a whole test run.

Enumerator
Untested 

The rate was not exercised, usually because the responder refused to switch to it.

Pass 

No failures of any kind, and every response comfortably inside the reply window.

Marginal 

Usable, but with at least one failure or a response time approaching the limit.

Fail 

Not usable at this rate.

Definition at line 10 of file LineQualityReport.cs.

◆ TestPattern

Test pattern identifiers defined by the OSDP Line Quality Test Procedure, section 3.6.

Each pattern stresses a different characteristic of the RS-485 physical layer. The patterns are only meaningful when sent in clear text; a secure channel would randomize the payload and destroy the bit structure the patterns exist to exercise.

Enumerator
AllZeros 

All bytes 0x00. Establishes a DC balance baseline.

AllOnes 

All bytes 0xFF. Produces maximum current draw.

AlternatingA 

All bytes 0xAA (10101010). Worst case for signal transitions.

Alternating5 

All bytes 0x55 (01010101). Complement of AlternatingA.

Sequential 

Byte[i] = i AND 0xFF. Covers the full range of byte values.

WalkingOne 

Byte[i] = 1 shifted left by (i MOD 8). Isolates individual bits.

Definition at line 11 of file TestPattern.cs.

◆ TestProfile

Test profiles from section 3.10 of the Line Quality Test Procedure.

The profile sets the number of iterations per pattern/size combination, which in turn determines the smallest packet loss rate the run is capable of detecting.

Enumerator
Screening 

10 iterations per combination, 160 packets per baud rate.

Detects loss above roughly 1.9%. Fast enough for interactive use, but cannot substantiate a 99.9% success claim.

Qualification 

60 iterations per combination, 960 packets per baud rate.

Detects loss above roughly 0.31%. The default for a commissioning report.

Extended 

200 iterations per combination, 3200 packets per baud rate.

Detects loss above roughly 0.094%, the only profile that can substantiate the 99.9% success criterion. Normally run once at the rate selected for the installation.

Definition at line 75 of file LineQualityBaudRate.cs.