Click or drag to resize

Brainboxes.IO Namespace

For examples and sample code see Example Code and APIs This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Classes
  ClassDescription
Public classASCIIProtocol
The ASCII Protocol for more information on supported commands see http://www.brainboxes.com/faq/items/ascii-protocol-and-commands
Public classBBSerialPort
Encapsulates a Brainboxes Serial Port, communicates over TCP rather than using the Com port API, this means no drivers are required to be installed on the computer
Public classBBStream
Stream wrapper which adds ability to flush and check for available data on all streams which need to be accessed. Also adds ability to have a timeout on stream read and writes without the underlying connection closing on failure
Public classConnection
Abstract base Connection class
Public classDefaultSerialProtocol
Public classDeviceConn, Proto
A generic Brainboxes Device
Public classED004
ED-004: Ethernet to 4 DIO + Ethernet to RS232
Public classED008
ED-008: Ethernet to 8 Digital IO Ports
Public classED038
ED-038: Ethernet to 3 x Relay + 3 Digital Inputs
Public classED204
ED-204: Ethernet to 4 DIO + Ethernet to RS232
Public classED516
ED-516: Ethernet to DIO 16 Digital Inputs + Serial Gateway
Public classED527
ED-527: Ethernet to DIO 16 Digital Outputs + Serial Gateway
Public classED538
ED-538: Ethernet to DIO 4 Digital Relays and 8 Digital Inputs + Serial Gateway
Public classED549
ED-549: Ethernet to DIO 8 Analog Inputs + Serial Gateway
Public classED560
ED-560: Ethernet to DIO 4 Analog Outputs + Serial Gateway
Public classED582
ED-582: Ethernet to 4 RTD Inputs + Serial Gateway
Public classED588
ED-588: Ethernet to DIO 8 Digital Inputs and 8 Digital Outputs + Serial Gateway
Public classED593
ED-593: Ethernet to 8 Thermocouple Inputs + Serial Gateway
Public classEDDevice
A generic Brainboxes ED Device can be used to represent any Brainboxes Remote IO device (that is part numbers starting "ED-XXX")
Public classES246
Brainboxes ES-246 1 Port RS232 Ethernet to Serial Adapter
Public classES257
Brainboxes ES-257 2 Port RS232 Ethernet to Serial Adapter
Public classES279
Brainboxes ES-279 8 Port RS232 Ethernet to Serial Adapter
Public classES313
Brainboxes ES-313 2 Port RS422/485 Ethernet to Serial Adapter
Public classES320
Brainboxes ES-320 1 Port RS422/485 Ethernet to Serial Adapter
Public classES346
Brainboxes ES-346 4 Port RS422/485 Ethernet to Serial Adapter
Public classES357
Brainboxes ES-357 1 Port RS232 and 1 Port RS422/485 Ethernet to Serial Adapter
Public classES413
Brainboxes ES-413 2 Port RS422/485 PoE Ethernet to Serial Adapter
Public classES420
Brainboxes ES-420 1 Port RS422/485 PoE Ethernet to Serial Adapter
Public classES446
Brainboxes ES-446 1 Port RS232 PoE Ethernet to Serial Adapter
Public classES457
Brainboxes ES-457 2 Port RS232 PoE Ethernet to Serial Adapter
Public classES701
Brainboxes ES-701 4 Port RS232 Ethernet to Serial Adapter
Public classES842
Brainboxes ES-842 8 Port RS422/485 Ethernet to Serial Adapter
Public classESDevice
Brainboxes Ethernet to Serial Device
Public classExtensionMethods
Cast IEnumerable<IOLine> to IOList so that we can easy add and remove events from the list
Public classIOLine
An IOLine on a Brainboxes Remote IO Device
Public classIOListT
List to hold any number of IOLines. Provides convenience methods for register events to all lines in the list and setting values of all outputs
Public classModbusTCPProtocol
The ModBus TCP Protocol for more information on supported commands see http://www.brainboxes.com/modbus
Public classProtocol
Abstract base class which represents the communication Protocol of a Brainboxes Device
Public classSerialConnection
A Connection to a Brainboxes Devices using a serial port Note this is different to a Brainboxes device WITH a serial connection (e.g. an Ethernet to Serial Device)
Public classTCPConnection
A TCP connection to a Brainboxes Device
Interfaces
  InterfaceDescription
Public interfaceIConnection
Interface which describes a connection to a Brainboxes Device
Public interfaceIDeviceC, P
Interface to a Brainboxes Device
Public interfaceIEDDevice
Remote Ethernet IO interface These devices use a command response protocol, almost every command sent to the device receives a response
Public interfaceIESDevice
Interface to Brainboxes Device with an Ethernet to serial port(s)
Public interfaceIIOProtocol
The protocol which describes the interface to an Input Output device
Public interfaceIProtocol
Protocol Interface
Public interfaceISerialProtocol
A basic serial protocol interface which has an encoding, data-available, send and receive method It is also clonable so that it can be copied and assigned to multiple ports
Delegates
  DelegateDescription
Public delegateAIOLineChangedEventHandler
When the status of 1 or more Analog IO lines change on a device within a polling internal be notified of the lines for which there is a change: TYPES OF EVENT: DELTA: When the line has changed more than the specified delta since the previous sampled value TARGET: When the line has changed to go above or below the specified target since the previous sampled value TARGET RANGE: When the line has changed to either enter the delta range of the target value or exit the delta range of the target value since the previous sampled value
Public delegateConnectionStatusChangedEventHandler
When the status of the connection changes this event is raised e.g. when IsConnected changes from false to true or when IsAvailable changes: * for example for a TCPConnection if the IP address is goes from online to offline * or for example for a SerialConnection when the COM name is no longer present or in use by another program
Public delegateDeviceStatusChangedEventHandlerC, P
When the status of the devices' connection changes
Public delegateIOLineChangedEventHandler
When the status of an IO line changes, this can happen in 1 of 6 ways: ALL TYPES OF LINE: (1) the previous sampled value was 0 and the current sampled value is 1, RISING EDGE (2) the previous sampled value was 1 and the current sampled value is 0, FALLING EDGE ONLY INPUT LINES: (3) the previous sampled value was 1 and the current sampled value is 1, but between the 2 samplings the low latch has triggered which means the line has gone from 1 to 0 and back to 1 again, LATCHED (includes falling and rising edge) (4) the previous sampled value was 0 and the current sampled value is 0, but between the 2 samplings the high latch has triggered which means the line has gone from 0 to 1 and back to 0 again, LATCHED (includes rising and falling edge) ONLY OUTPUT LINES: (5) When the line is set changing it from a 0 to a 1, RISING EDGE (6) When the line is set changing it from a 1 to a 0, FALLING EDGE
Public delegateIOLinesChangedEventHandler
When the status of 1 or more IO lines change on a device within a polling interval be notified of all the lines for which there is a change: ALL TYPES OF LINE: (1) the previous sampled value was 0 and the current sampled value is 1, RISING EDGE (2) the previous sampled value was 1 and the current sampled value is 0, FALLING EDGE ONLY INPUT LINES: (3) the previous sampled value was 1 and the current sampled value is 1, but between the 2 samplings the low latch has triggered which means the line has gone from 1 to 0 and back to 1 again, LATCHED (includes falling and rising edge) (4) the previous sampled value was 0 and the current sampled value is 0, but between the 2 samplings the high latch has triggered which means the line has gone from 0 to 1 and back to 0 again, LATCHED (includes rising and falling edge) ONLY OUTPUT LINES: (5) When the line is set changing it from a 0 to a 1, RISING EDGE (6) When the line is set changing it from a 1 to a 0, FALLING EDGE
Enumerations
  EnumerationDescription
Public enumerationAIOChangeTypes
A type of change which can occur to a Analog IOLine
Public enumerationBBSerialPortType
The type of Serial Port
Public enumerationIOChangeTypes
A type of change which can occur to a Digital IOLine
Public enumerationIODirection
IODirection either input or output, for lines which can be both input and output the flags can be combined e.g. IODirection.Input | IODirection.Output
Public enumerationIOType
The type of IOLine