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 classBB400 Brainboxes BB-400 Neuron Edge Controller You can develop code to run remotely against the IO over the network or to run locally on the device itself The code remains the same, only (potentially) the IP address will change
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 classED004ED-004: Ethernet to 4 DIO + Ethernet to RS232
Public classED008ED-008: Ethernet to 8 Digital IO Ports
Public classED038ED-038: Ethernet to 3 x Relay + 3 Digital Inputs
Public classED204ED-204: Ethernet to 4 DIO + Ethernet to RS232
Public classED516ED-516: Ethernet to DIO 16 Digital Inputs + Serial Gateway
Public classED527ED-527: Ethernet to DIO 16 Digital Outputs + Serial Gateway
Public classED538ED-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 classED588ED-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 classES511 Brainboxes ES-511 1 Port RS232/422/485 Industrial Ethernet to Serial Adapter
Public classES522 Brainboxes ES-522 2 Port RS232/422/485 Industrial Ethernet to Serial Adapter
Public classES551 Brainboxes ES-551 1 Port RS232/422/485 Isolated Industrial Ethernet to Serial Adapter
Public classES571 Brainboxes ES-571 1 Port RS232/422/485 Industrial Ethernet to Serial Adapter + Switch
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 enumerationAnalogDataFormat The data format of the analog device
Public enumerationBBSerialPortType The type of Serial Port
Public enumerationCounterMode The counter mode of the digital device
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
Public enumerationTemperatureUnit The temperature unit of the analog temperature measurement device (ED-582, ED-593)