Package jmri.jmrix.powerline

This package handles communications for powerline adapters, such as X10.

See:
          Description

Interface Summary
SerialInterface Interface to send/receive serial information
SerialListener Listener interface to be notified about serial traffic
X10Sequence.Command Represent a single X10 command, which is either a "set address" or "do function" operation
 

Class Summary
ActiveFlag Provide a flag to indicate that the system provided by this package is active.
SerialAddress Utility Class supporting parsing and testing of addresses Two address formats are supported: Gtxxx where: t is the type code, 'T' for turnouts, 'S' for sensors, and 'L' for lights xxx is a bit number of the input or output bit (1-256) examples: PT2 (House Code A, Unit 2), PS161 (House Code K, Unit 1) Gtnxx where: t is the type code, 'T' for turnouts, 'S' for sensors, and 'L' for lights n is the house code of the input or output bit (A - P) xx is a bit number of the input or output bit (1-16) examples: PTA2 (House Code A, Unit 2), PSK1 (House Code K, Unit 1)
SerialLight Implementation of the Light Object for X10.
SerialLightManager Implement light manager for powerline serial systems System names are "PLnnn", where nnn is the bit number without padding.
SerialMessage Contains the data payload of a serial packet.
SerialNode Models a serial node.
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 systems
SerialSensorManager Manage the system-specific Sensor implementation.
SerialTrafficController Converts Stream-based I/O to/from messages.
SerialTurnout Turnout implementation for X10.
SerialTurnoutManager Implement turnout manager for powerline systems System names are "PTnnn", where nnn is the turnout number without padding.
SystemMenu Create a "Systems" menu containing the Jmri powerline-specific tools
X10Sequence Represent a sequence of one or more X10 commands (addresses and functions).
 

Package jmri.jmrix.powerline Description

This package handles communications for powerline adapters, such as X10.

The package structure has to take two kinds of variation into account:

  1. Multiple adapters, e.g. as shown on the compatibility page. Each of these has its own serial protocol, including its own message format.
  2. 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

    Since:
    2.1.1

    To Do



    Copyright © 1997 - 2008 JMRI Community.
    JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

    Additional information on copyright, trademarks and licenses is linked here.
    Site hosted by: SourceForge_Logo