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 | Class | Description |
---|
| ASCIIProtocol |
The ASCII Protocol for more information on supported commands see http://www.brainboxes.com/faq/items/ascii-protocol-and-commands
|
| BB400 |
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
|
| BBSerialPort |
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
|
| BBStream |
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
|
| Connection |
Abstract base Connection class
|
| DefaultSerialProtocol | |
| DeviceConn, Proto |
A generic Brainboxes Device
|
| ED004 | ED-004: Ethernet to 4 DIO + Ethernet to RS232
|
| ED008 | ED-008: Ethernet to 8 Digital IO Ports
|
| ED038 | ED-038: Ethernet to 3 x Relay + 3 Digital Inputs
|
| ED204 | ED-204: Ethernet to 4 DIO + Ethernet to RS232
|
| ED516 | ED-516: Ethernet to DIO 16 Digital Inputs + Serial Gateway
|
| ED527 | ED-527: Ethernet to DIO 16 Digital Outputs + Serial Gateway
|
| ED538 | ED-538: Ethernet to DIO 4 Digital Relays and 8 Digital Inputs + Serial Gateway
|
| ED549 |
ED-549: Ethernet to DIO 8 Analog Inputs + Serial Gateway
|
| ED560 |
ED-560: Ethernet to DIO 4 Analog Outputs + Serial Gateway
|
| ED582 |
ED-582: Ethernet to 4 RTD Inputs + Serial Gateway
|
| ED588 | ED-588: Ethernet to DIO 8 Digital Inputs and 8 Digital Outputs + Serial Gateway
|
| ED593 |
ED-593: Ethernet to 8 Thermocouple Inputs + Serial Gateway
|
| EDDevice |
A generic Brainboxes ED Device can be used to represent any Brainboxes Remote IO device (that is part numbers starting "ED-XXX")
|
| ES246 |
Brainboxes ES-246 1 Port RS232 Ethernet to Serial Adapter
|
| ES257 |
Brainboxes ES-257 2 Port RS232 Ethernet to Serial Adapter
|
| ES279 |
Brainboxes ES-279 8 Port RS232 Ethernet to Serial Adapter
|
| ES313 |
Brainboxes ES-313 2 Port RS422/485 Ethernet to Serial Adapter
|
| ES320 |
Brainboxes ES-320 1 Port RS422/485 Ethernet to Serial Adapter
|
| ES346 |
Brainboxes ES-346 4 Port RS422/485 Ethernet to Serial Adapter
|
| ES357 |
Brainboxes ES-357 1 Port RS232 and 1 Port RS422/485 Ethernet to Serial Adapter
|
| ES413 |
Brainboxes ES-413 2 Port RS422/485 PoE Ethernet to Serial Adapter
|
| ES420 |
Brainboxes ES-420 1 Port RS422/485 PoE Ethernet to Serial Adapter
|
| ES446 |
Brainboxes ES-446 1 Port RS232 PoE Ethernet to Serial Adapter
|
| ES457 |
Brainboxes ES-457 2 Port RS232 PoE Ethernet to Serial Adapter
|
| ES511 |
Brainboxes ES-511 1 Port RS232/422/485 Industrial Ethernet to Serial Adapter
|
| ES522 |
Brainboxes ES-522 2 Port RS232/422/485 Industrial Ethernet to Serial Adapter
|
| ES551 |
Brainboxes ES-551 1 Port RS232/422/485 Isolated Industrial Ethernet to Serial Adapter
|
| ES571 |
Brainboxes ES-571 1 Port RS232/422/485 Industrial Ethernet to Serial Adapter + Switch
|
| ES701 |
Brainboxes ES-701 4 Port RS232 Ethernet to Serial Adapter
|
| ES842 |
Brainboxes ES-842 8 Port RS422/485 Ethernet to Serial Adapter
|
| ESDevice |
Brainboxes Ethernet to Serial Device
|
| ExtensionMethods |
Cast IEnumerable<IOLine> to IOList so that we can easy add and remove events from the list
|
| IOLine |
An IOLine on a Brainboxes Remote IO Device
|
| IOListT |
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
|
| ModbusTCPProtocol |
The ModBus TCP Protocol for more information on supported commands see http://www.brainboxes.com/modbus
|
| Protocol |
Abstract base class which represents the communication Protocol of a Brainboxes Device
|
| SerialConnection |
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)
|
| TCPConnection |
A TCP connection to a Brainboxes Device
|
Interfaces | Interface | Description |
---|
| IConnection |
Interface which describes a connection to a Brainboxes Device
|
| IDeviceC, P |
Interface to a Brainboxes Device
|
| IEDDevice |
Remote Ethernet IO interface
These devices use a command response protocol, almost every command sent to the device receives a response
|
| IESDevice |
Interface to Brainboxes Device with an Ethernet to serial port(s)
|
| IIOProtocol |
The protocol which describes the interface to an Input Output device
|
| IProtocol |
Protocol Interface
|
| ISerialProtocol |
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 | Delegate | Description |
---|
| AIOLineChangedEventHandler |
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
|
| ConnectionStatusChangedEventHandler |
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
|
| DeviceStatusChangedEventHandlerC, P |
When the status of the devices' connection changes
|
| IOLineChangedEventHandler |
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
|
| IOLinesChangedEventHandler |
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 | Enumeration | Description |
---|
| AIOChangeTypes |
A type of change which can occur to a Analog IOLine
|
| AnalogDataFormat |
The data format of the analog device
|
| BBSerialPortType |
The type of Serial Port
|
| CounterMode |
The counter mode of the digital device
|
| IOChangeTypes |
A type of change which can occur to a Digital IOLine
|
| IODirection |
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
|
| IOType |
The type of IOLine
|
| TemperatureUnit |
The temperature unit of the analog temperature measurement device (ED-582, ED-593)
|