Package jmri.jmrix.powerline
The package structure has to take two kinds of variation into account:
- Multiple adapters, e.g. as shown on the compatibility page. Each of these has its own serial protocol, including its own message format.
- Multiple device families and types, starting with X10, but later including Insteon and perhaps others. Individual adapters might support one or several of these.
Our strategy is to use explicit interfaces for each device protocol, implemented by a polymorphic TrafficController for each adapter type.
For example, the primary
SerialTrafficController
abstract class has an interface for sending
X10Sequence
objects.
An X10Sequence
encapulates just the X10 commands, not
the particular message needed to send them.
When the X10Sequence
is passed
to the specific SerialTrafficController implementation,
e.g. SpecificTrafficController
,
it's encapsulated in one or more SpecificMessage
objects, queued and sent.
The setup is done in
SerialDriverAdapter
, which keys off the
adapter name in option1.
Related Documentation
Other sources of documentation- X10.com web site (consumer oriented)
- X10.com support site
- Since:
- 2.1.1
To Do
-
Interface Summary Interface Description DmxSequence.Command Represent a single Dmx command, which is a unit and intensity pairInsteonSequence.Command Represent a single Insteon command, which is either a "set address" or "do function" operationSerialInterface Interface to send/receive serial informationSerialListener Listener interface to be notified about serial trafficX10Sequence.Command Represent a single X10 command, which is either a "set address" or "do function" operation -
Class Summary Class Description Bundle DmxSequence Represent a sequence of one or more Dmx commands (unit and intensity).DmxSequence.Cmd Represent a single Dmx commandInsteonSequence Represent a sequence of one or more Insteon commands (addresses and functions).InsteonSequence.Address Represent a single "set address" Insteon commandInsteonSequence.ExtData Represent a single "Extended Data" Insteon commandInsteonSequence.Function Represent a single "do function" Insteon commandSerialAddress Utility Class supporting parsing and testing of addresses.SerialConnectionTypeList Returns a list of valid Powerline Connection TypesSerialLight Implementation of the Light Object for Powerline devices.SerialLightManager Implement LightManager for Powerline serial systems.SerialMessage Contains the data payload of a serial packet.SerialPortController Abstract base for classes representing a communications port.SerialReply Contains the data payload of a serial reply packet.SerialSensor Extend jmri.AbstractSensor for serial systemsSerialSensorManager Manage the system-specific Sensor implementation.SerialSystemConnectionMemo Lightweight class to denote that a system is active, and provide general information.SerialSystemConnectionMemo.MenuItem SerialTrafficController Converts Stream-based I/O to/from messages.SerialTurnout Turnout implementation for X10.SerialTurnoutManager Implement turnout manager for Powerline systems.SerialX10Light Implementation of the Light class for X10-based subclasses.X10Sequence Represent a sequence of one or more X10 commands (addresses and functions).X10Sequence.Address Represent a single "set address" X10 commandX10Sequence.ExtData Represent a single "Extended Data" X10 commandX10Sequence.Function Represent a single "do function" X10 command