public String toString() { StringBuilder sb = new StringBuilder(getClass().getSimpleName()); sb .append("[macroNumber=").append(ByteUtils.getInt(getMacroNumber())).append(",stepNumber=") .append(ByteUtils.getInt(getStepNumber())).append(",delay=").append(ByteUtils.getInt(getDelay())) .append(",bidibPort=").append(getBidibPort()).append(",portstatus=").append(ByteUtils.getInt(content[5])) .append("]"); return sb.toString(); } }
/** * @return returns the initialized macro point */ public static LcMacro getMacro(byte[] data) { try { return new LcMacro(data); } catch (Exception ex) { LOGGER.warn("Convert macro data to LcMacro failed: {}", ByteUtils.bytesToHex(data), ex); throw new InvalidConfigurationException("Convert macro data to LcMacro failed."); } }
/** * Creates a new LcMacroSetMessage instance with values from provided macro step. * * @param macro * the macro step. */ public LcMacroSetMessage(LcMacro macro) { super(0, BidibLibrary.MSG_LC_MACRO_SET, macro.getContent()); }
BidibPort bidibPort = lcMacro.getBidibPort(); org.bidib.jbidibc.core.enumeration.LcOutputType outputType = bidibPort.getPortType(portModel); BidibEnum val = lcMacro.getStatus(outputType); switch (outputType) { case ACCESSORY_OKAY_NF: AnalogPortActionType analogPortAction = new AnalogPortActionType(); analogPortAction.setAction(AnalogActionType.fromValue(analogPortEnum.name())); analogPortAction.setValue(ByteUtils.getInt(lcMacro.getPortValue(outputType))); analogPortPoint.setAnalogPortActionType(analogPortAction); analogPortPoint.setOutputNumber(bidibPort.getPortNumber(portModel)); analogPortPoint.setDelay(ByteUtils.getInt(lcMacro.getDelay())); lcMacroPoint = analogPortPoint; break; BacklightPortActionType backlightPortActionType = new BacklightPortActionType(); backlightPortActionType.setAction(BacklightActionType.fromValue(backlightPortEnum.name())); backlightPortActionType.setBrightness(ByteUtils.getInt(lcMacro.getPortValue(outputType))); BacklightPortPoint backlightPortPoint = new BacklightPortPoint(); backlightPortPoint.setBacklightPortActionType(backlightPortActionType); backlightPortPoint.setOutputNumber(bidibPort.getPortNumber(portModel)); backlightPortPoint.setDelay(ByteUtils.getInt(lcMacro.getDelay())); lcMacroPoint = backlightPortPoint; break; case DELAY_FIXED: DelayPoint delayPoint = new DelayPoint(); delayPoint.setDelayActionType(ByteUtils.getInt(lcMacro.getSystemFunctionValue())); lcMacroPoint = delayPoint;
BidibEnum status = macro.getStatus(outputType); result = macro.getPortValue(outputType); result = macro.getPortValue(outputType);
final LcMacro macroStep = accessoryNode.getMacroStep(macroNumber, stepNumber++); if (macroStep.getBidibPort().getPortType(PortModelEnum.type) == LcOutputType.END_OF_MACRO || stepNumber > macroLength) { break;
public boolean isSystemFunction() { return (getDelay() == LcMacro.SYSTEM_FUNCTION); }
@Test public void prepareLcMacroPointRandomDelay() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 255 /* delay */, LcOutputType.RANDOM_DELAY, (byte) 100 /* outputnumber */, (BidibEnum) null); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof RandomDelayPoint); RandomDelayPoint randomDelayPoint = (RandomDelayPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(randomDelayPoint.getRandomDelayActionType(), 100); }
public LcMacroResponse(byte[] addr, int num, byte macroNum, byte step, LcMacro lcMacro) throws ProtocolException { this(addr, num, BidibLibrary.MSG_LC_MACRO, lcMacro.getContent()); }
@Test public void prepareLcMacroPointDelay() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 255 /* delay */, LcOutputType.DELAY_FIXED, (byte) 100 /* outputnumber */, (BidibEnum) null); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof DelayPoint); DelayPoint delayPoint = (DelayPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(delayPoint.getDelayActionType(), 100); }
@Test public void prepareLcMacroPointInputQuery1() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 255 /* delay */, LcOutputType.INPUT_QUERY1, (byte) 11 /* outputnumber */, (BidibEnum) null); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof InputPortPoint); InputPortPoint inputPortPoint = (InputPortPoint) point; Assert.assertEquals(inputPortPoint.getInputPortActionType(), InputPortActionType.QUERY_1); Assert.assertEquals(inputPortPoint.getInputNumber(), 11); }
@Test public void prepareLcMacroPointInputQuery0() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 255 /* delay */, LcOutputType.INPUT_QUERY0, (byte) 11 /* outputnumber */, (BidibEnum) null); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof InputPortPoint); InputPortPoint inputPortPoint = (InputPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(inputPortPoint.getInputPortActionType(), InputPortActionType.QUERY_0); Assert.assertEquals(inputPortPoint.getInputNumber(), 11); }
@Test public void prepareLcMacroPointLightPort() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 60 /* delay */, LcOutputType.LIGHTPORT, (byte) 1 /* outputnumber */, (BidibEnum) LightPortEnum.ON); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof LightPortPoint); LightPortPoint lightPortPoint = (LightPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(lightPortPoint.getDelay(), Integer.valueOf(60)); Assert.assertEquals(lightPortPoint.getLightPortActionType(), LightPortActionType.ON); Assert.assertEquals(lightPortPoint.getOutputNumber(), 1); }
@Test public void prepareLcMacroPointCriticalSectionBegin() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 255 /* delay */, LcOutputType.BEGIN_CRITICAL.getType(), (byte) 0 /* outputnumber */, (byte) 0); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof CriticalSectionPoint); CriticalSectionPoint criticalSectionPoint = (CriticalSectionPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(criticalSectionPoint.getCriticalSectionActionType(), CriticalSectionActionType.BEGIN); }
@Test public void prepareLcMacroPointCriticalSectionEnd() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 255 /* delay */, LcOutputType.END_CRITICAL.getType(), (byte) 0 /* outputnumber */, (byte) 0); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof CriticalSectionPoint); CriticalSectionPoint criticalSectionPoint = (CriticalSectionPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(criticalSectionPoint.getCriticalSectionActionType(), CriticalSectionActionType.END); }
@Test public void prepareLcMacroPointSwitchPortOn() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 60 /* delay */, LcOutputType.SWITCHPORT, (byte) 1 /* outputnumber */, (BidibEnum) SwitchPortEnum.ON); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof SwitchPortPoint); SwitchPortPoint switchPortPoint = (SwitchPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(switchPortPoint.getDelay(), Integer.valueOf(60)); Assert.assertEquals(switchPortPoint.getSwitchPortActionType(), SwitchPortActionType.ON); Assert.assertEquals(switchPortPoint.getOutputNumber(), 1); }
@Test public void prepareLcMacroPointSwitchPortOff() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 60 /* delay */, LcOutputType.SWITCHPORT, (byte) 1 /* outputnumber */, (BidibEnum) SwitchPortEnum.OFF); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof SwitchPortPoint); SwitchPortPoint switchPortPoint = (SwitchPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(switchPortPoint.getDelay(), Integer.valueOf(60)); Assert.assertEquals(switchPortPoint.getSwitchPortActionType(), SwitchPortActionType.OFF); Assert.assertEquals(switchPortPoint.getOutputNumber(), 1); }
@Test public void prepareLcMacroPointMotorPortForward() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 60 /* delay */, LcOutputType.MOTORPORT, (byte) 1 /* outputnumber */, (BidibEnum) MotorPortEnum.FORWARD); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof MotorPortPoint); MotorPortPoint motorPortPoint = (MotorPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(motorPortPoint.getDelay(), Integer.valueOf(60)); Assert.assertEquals(motorPortPoint.getMotorPortActionType().getAction(), MotorActionType.FORWARD); // Assert.assertEquals(motorPortPoint.getMotorPortActionType().getValue(), 123); Assert.assertEquals(motorPortPoint.getOutputNumber(), 1); }
@Test public void prepareLcMacroPointAnalogPort() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 60 /* delay */, LcOutputType.ANALOGPORT, (byte) 1 /* outputnumber */, (BidibEnum) AnalogPortEnum.START); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof AnalogPortPoint); AnalogPortPoint analogPortPoint = (AnalogPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(analogPortPoint.getDelay(), Integer.valueOf(60)); Assert.assertNotNull(analogPortPoint.getAnalogPortActionType()); Assert.assertEquals(analogPortPoint.getAnalogPortActionType().getAction(), AnalogActionType.START); Assert.assertEquals(analogPortPoint.getOutputNumber(), 1); }
@Test public void prepareLcMacroPointSoundPort() { LcMacroExporter exporter = new LcMacroExporter(); LcMacro lcMacro = new LcMacro((byte) 0 /* macronumber */, (byte) 1/* stepnumber */, (byte) 60 /* delay */, LcOutputType.SOUNDPORT, (byte) 1 /* outputnumber */, (BidibEnum) SoundPortEnum.PLAY); LcMacroPointType point = exporter.prepareLcMacroPoint(PortModelEnum.type, lcMacro); Assert.assertNotNull(point); Assert.assertTrue(point instanceof SoundPortPoint); SoundPortPoint soundPortPoint = (SoundPortPoint) point; // Assert.assertEquals(point.getIndex(), 1); Assert.assertEquals(soundPortPoint.getDelay(), Integer.valueOf(60)); Assert.assertEquals(soundPortPoint.getSoundPortActionType().getAction(), SoundActionType.PLAY); // Assert.assertEquals(soundPortPoint.getSoundPortActionType().getValue(), 12); Assert.assertEquals(soundPortPoint.getOutputNumber(), 1); }