Click or drag to resize

EDDevice Class

A generic Brainboxes ED Device can be used to represent any Brainboxes Remote IO device (that is part numbers starting "ED-XXX")
Inheritance Hierarchy
SystemObject
  Brainboxes.IODeviceIConnection, IIOProtocol
    Brainboxes.IOEDDevice
      More...

Namespace:  Brainboxes.IO
Assembly:  Brainboxes.IO (in Brainboxes.IO.dll) Version: 1.5.0.0 (1.5.0.0)
Syntax
public class EDDevice : Device<IConnection, IIOProtocol>, 
	IEDDevice, IDevice<IConnection, IIOProtocol>, IDisposable

The EDDevice type exposes the following members.

Constructors
  NameDescription
Public methodEDDevice
Create a new EDDevice, connection needs to be set, protocol defaults to ASCIIProtocol
Public methodEDDevice(IConnection)
Create a new EDDevice, passing in the connection, protocol defaults to ASCIIProtocol
Public methodEDDevice(IConnection, IIOProtocol)
Create an EDDevice passing in the protocol, connection
Top
Properties
  NameDescription
Public propertyAInputs
The devices analog input lines (if it has any) index by IOLineNumber e.g AOUT0, AOUT1, AOUT2
Public propertyAOutputs
The devices analog output lines (if it has any) indexed by IOLineNumber e.g AOUT0, AOUT1, AOUT2
Public propertyConnection
The connection. If the connection is replaced and the previous connection was connected, the new connection will be connected too
(Inherited from DeviceConn, Proto.)
Public propertyInputs
The devices input Lines (if it has any) indexed by IOLineNumber e.g. DOUT0, DOUT1, DOUT2
Public propertyIOLineCacheTimeout
The time between checking the state of the IO lines for event handling, defaults to 250 ms Also the stale period, when the cached value of the IO line has to be re-queried on the device
Public propertyIOLines
IOLines indexed by their logical line number as described on the brainboxes product label
Public propertyIsAvailable
Is this Brainboxes Device currently available, e.g. on line or off line (TCP), or the connection is already in use (serial)
(Inherited from DeviceConn, Proto.)
Public propertyIsConnected
Is this Brainboxes Device currently connected
(Inherited from DeviceConn, Proto.)
Public propertyLabel
User definable label for the Device to help identify when many devices / when debugging
(Inherited from DeviceConn, Proto.)
Public propertyOutputs
The devices output Lines (if it has any) indexed by IOLineNumber e.g. DOUT0, DOUT1, DOUT2
Public propertyProtocol
Marking as virtual allows it to be overridden in the child class
(Inherited from DeviceConn, Proto.)
Top
Methods
  NameDescription
Public methodConnect
Connect to a Brainboxes Remote IO Device
(Overrides DeviceConn, ProtoConnect.)
Public methodStatic memberCode exampleCreate
Supply a connection IP address or com port and the correct ED device will be created and returned
Examples
using(EDDevice ed = EDDevice.Create("192.168.0.5")) { //the connection is opened automatically ed.Output[0] = 1; } //connection is closed and object disposed after using block
Public methodDescribe
Give a complete summary of the EDDevice
(Overrides DeviceConn, ProtoDescribe.)
Public methodDisconnect
Disconnect from a Brainboxes Remote IO Device
(Overrides DeviceConn, ProtoDisconnect.)
Public methodDispose
Dispose of this Brainboxes device
(Inherited from DeviceConn, Proto.)
Public methodEquals (Inherited from Object.)
Public methodFactoryReset
Factory resets the device, this can take some time as the current connection is broken and a new on has to be re-established the connection may not reconnect if the current IP address settings cannot be re-got be the device in default settings mode
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodRestart
Power Cycle the device this can take some time as the current connection is broken and a new on has to be re-established the function will block until the device is powered up and reconnected to
Public methodSendCommand
Send a command to the Brainboxes device using the supplied protocol.
Public methodSubscribeToDeltaEvent
Register an event with this handler to be notified when the state of an Analog line changes by larger than the limit specified
Public methodSubscribeToTargetEvent
Register an event with this handlder to be notified when the state of an Analog input goes over the limit specified
Public methodSubscribeToTargetRangeEvent
Register an event with this handler to be notified when the state of an Analog line changes to be within the specified delta range of a specified target value and also when it changes to be outside of the specified delta range
Public methodToString
ToString
(Overrides DeviceConn, ProtoToString.)
Public methodUnsubscribeToDeltaEvent
Unsubscribe a registered delta event with this handler to stop being notified when this event is triggered
Public methodUnsubscribeToTargetEvent
Unsubscribe a registered target event with this handler to stop being notified when this event is triggered
Public methodUnsubscribeToTargetRangeEvent
Unsubscribe a registered target range event with this handler to stop being notified when this event is triggered
Top
Events
  NameDescription
Public eventDeviceStatusChangedEvent
Event When the status of the devices connection changes for example goes from Disconnected to Connected or from Available to Unavailable
(Inherited from DeviceConn, Proto.)
Public eventIOLineChanged
Register an event with this handler to be notified when the state of an input or output line changes
Public eventIOLineCount
Register an event with this handler to be notified when the state of an input changes increment the count of the IOLine
Public eventIOLineFallingEdge
Register an event with this handler to be notified when the state of an input or output line goes from 1 -> 0 / high to low / open to closed
Public eventIOLineRisingEdge
Register an event with this handler to be notified when the state of an input or output line goes from 0 -> 1 / low to high / closed to open
Public eventIOLinesChanged
Register an event with this handler to be notified when the state of one or more IOLines change within a polling interval This is useful when a state in the program is dependent on 2 or more ioLine states
Top
See Also
Inheritance Hierarchy
SystemObject
  Brainboxes.IODeviceIConnection, IIOProtocol
    Brainboxes.IOEDDevice
      Brainboxes.IOED004
      Brainboxes.IOED008
      Brainboxes.IOED038
      Brainboxes.IOED204
      Brainboxes.IOED516
      Brainboxes.IOED527
      Brainboxes.IOED538
      Brainboxes.IOED549
      Brainboxes.IOED560
      Brainboxes.IOED582
      Brainboxes.IOED588
      Brainboxes.IOED593