use of jmri.jmrix.can.CanListener in project JMRI by JMRI.
the class OlcbConfigurationManager method createOlcbCanInterface.
public static CanInterface createOlcbCanInterface(NodeID nodeID, TrafficController tc) {
final CanInterface olcbIf = new CanInterface(nodeID, frame -> tc.sendCanMessage(convertToCan(frame), null));
tc.addCanListener(new CanListener() {
@Override
public void message(CanMessage m) {
// ignored -- loopback is handled by the olcbInterface.
}
@Override
public void reply(CanReply m) {
if (!m.isExtended() || m.isRtr()) {
return;
}
olcbIf.frameInput().send(convertFromCan(m));
}
});
return olcbIf;
}
use of jmri.jmrix.can.CanListener in project JMRI by JMRI.
the class OlcbConfigurationManager method configureManagers.
@Override
public void configureManagers() {
// create our NodeID
getOurNodeID();
// do the connections
tc = adapterMemo.getTrafficController();
olcbCanInterface = createOlcbCanInterface(nodeID, tc);
// create JMRI objects
InstanceManager.setSensorManager(getSensorManager());
InstanceManager.setTurnoutManager(getTurnoutManager());
InstanceManager.setThrottleManager(getThrottleManager());
InstanceManager.setProgrammerManager(getProgrammerManager());
// start alias acquisition
new StartUpHandler().start();
OlcbInterface iface = getInterface();
loaderClient = new LoaderClient(iface.getOutputConnection(), iface.getMemoryConfigurationService(), iface.getDatagramService());
iface.registerMessageListener(loaderClient);
iface.registerMessageListener(new SimpleNodeIdentInfoHandler());
aliasMap = new AliasMap();
tc.addCanListener(new CanListener() {
@Override
public void message(CanMessage m) {
if (!m.isExtended() || m.isRtr()) {
return;
}
aliasMap.processFrame(convertFromCan(m));
}
@Override
public void reply(CanReply m) {
if (!m.isExtended() || m.isRtr()) {
return;
}
aliasMap.processFrame(convertFromCan(m));
}
});
messageBuilder = new MessageBuilder(aliasMap);
}
Aggregations