It is expected that there will be multiple CAN implementations (e.g. MERG CBUS, ATBUS, etc) each accessible through a variety of CAN adapters (e.g. CAN232 or MERG CAN-RS), but that each implementation will be based uppon basic CANbus concepts such as header (standard or extended), Normal and RTR frames and a data field.
This package is therefore organized in several subtrees:
- Specific implementations for CAN adapter hardware, e.g. MERG's CAN_RS; LAWICEL AB's CANUSB and CAN232; etc.
- Specific implementations for e.g. CBUS, NmraNet, etc:
- cbus - MERG CBUS
- atbus - ATBUS
- nmranet - NMRA NMRAnet (not yet present)
- Swing-based GUI tools.
A note on terminologyCBUS refers to a 7-bit field in the standard CAN header as the "ID", "Node ID", and "CAN ID", but occasionally refers to the entire 11-bit CAN header by the same names.
The JMRI classes use "cbusId" to refer to the 7-bit field.
Interface Summary Interface Description CanFrameBase interface for immutable messages in a CANbus based message/reply protocol. CanInterfaceDefine interface for sending and receiving CAN messages CanListenerDefines the interface for listening to CAN messages CanMutableFrameBase interface for mutable messages in a CANbus based message/reply protocol.
Class Summary Class Description AbstractCanTrafficControllerAbstract base for TrafficControllers in a CANbus based Message/Reply protocol. Bundle CanConfigurationManagerDoes configuration for CAN communications implementations. CanConnectionTypeListReturn a list of valid lenz XpressNet Connection Types. CanConstantsConstants to represent CAN protocols and adapters CanMessageBase class for messages in a CANbus based message/reply protocol. CanReplyBase class for replies in a CANbus based message/reply protocol. CanSystemConnectionMemoLightweight class to denote that a system is active, and provide general information. ConfigurationManagerDoes configuration for various CAN-based communications implementations. TrafficControllerTraffic controller for CAN access.