/* (non-Javadoc) * @see tuwien.auto.calimero.link.event.LinkListener#indication * (tuwien.auto.calimero.FrameEvent) */ public void indication(FrameEvent e) { assertNotNull(e); assertTrue(e instanceof MonitorFrameEvent); assertEquals(mon, e.getSource()); ind = (CEMIBusMon) e.getFrame(); raw = ((MonitorFrameEvent) e).getRawFrame(); assertEquals(CEMIBusMon.MC_BUSMON_IND, ind.getMessageCode()); System.out.println("indication"); Debug.printMonData(ind); if (raw != null) Debug.printTP1Frame(lmon.raw); }
public void frameReceived(final FrameEvent e) { try { final CEMI frame = e.getFrame(); final CEMIBusMon mon; if (frame == null) mon = (CEMIBusMon) CEMIFactory.fromEmiBusmon(e.getFrameBytes()); else if (frame instanceof CEMIBusMon) mon = (CEMIBusMon) frame; else { logger.warn( "received unsupported frame type with msg code 0x" + Integer.toHexString(frame.getMessageCode())); return; } logger.trace("received monitor indication"); final AbstractMonitor netmon = (AbstractMonitor) source; MonitorFrameEvent mfe = new MonitorFrameEvent(netmon, mon); if (decode) { try { final RawFrame rf = RawFrameFactory.create(netmon.medium.getMedium(), mon.getPayload(), 0, extBusmon); mfe = new MonitorFrameEvent(netmon, mon, rf); } catch (final KNXFormatException ex) { logger.error("decoding raw frame", ex); mfe = new MonitorFrameEvent(netmon, mon, ex); // workaround for PL, BCU might not have switched to ext. busmonitor if (extBusmon) { extBusmon = false; logger.warn("disable extended busmonitor mode, maybe this helps"); } } } addEvent(new Indication(mfe)); } catch (final KNXFormatException kfe) { logger.warn("unspecified frame event - ignored", kfe); } catch (final RuntimeException rte) { logger.warn("unspecified frame event - ignored", rte); } }