public void testBytesToString() { SerialMessage m = new SerialMessage(); m.setOpCode(0x81); m.setElement(1, (byte) 0x02); m.setElement(2, (byte) 0xA2); m.setElement(3, (byte) 0x00); Assert.assertEquals("string compare ", "81 02 A2 00", m.toString()); }
public void testSetParity4() { SerialMessage m = new SerialMessage(); m.setElement(0, (byte) 226); m.setElement(1, (byte) 15); m.setElement(2, (byte) 226); m.setElement(3, (byte) 84); m.setParity(); Assert.assertEquals("string compare ", "E2 0F E2 54", m.toString()); }
public void testSetParity1() { SerialMessage m = new SerialMessage(); m.setElement(0, (byte) 129); m.setElement(1, (byte) 90); m.setElement(2, (byte) 129); m.setElement(3, (byte) (31 & 0xF0)); m.setParity(); Assert.assertEquals("string compare ", "81 5A 81 1F", m.toString()); }
public void testSetParity7() { // from doc page SerialMessage m = new SerialMessage(); m.setElement(0, (byte) 129); m.setElement(1, (byte) 90); m.setElement(2, (byte) 129); m.setElement(3, (byte) 31); m.setParity(); Assert.assertEquals("string compare ", "81 5A 81 1F", m.toString()); }
public void testSetParity6() { // special req software version SerialMessage m = new SerialMessage(); m.setElement(0, (byte) 0xE2); m.setElement(1, (byte) 119); m.setElement(2, (byte) 0xE2); m.setElement(3, (byte) 119); m.setParity(); Assert.assertEquals("string compare ", "E2 77 E2 77", m.toString()); }
public void testSetParity5() { // observed error message SerialMessage m = new SerialMessage(); m.setElement(0, (byte) 0x80); m.setElement(1, (byte) 98); m.setElement(2, (byte) 0x80); m.setElement(3, (byte) 0x10); m.setParity(); Assert.assertEquals("string compare ", "80 62 80 10", m.toString()); }
/** Handles initialization, output and polling from within the running thread */ protected synchronized AbstractMRMessage pollMessage() { // ensure validity of call if (getNumNodes() <= 0) { return null; } // move to a new node curSerialNodeIndex++; if (curSerialNodeIndex >= getNumNodes()) { curSerialNodeIndex = 0; } // ensure that each node is initialized if (getMustInit(curSerialNodeIndex)) { setMustInit(curSerialNodeIndex, false); AbstractMRMessage m = getNode(curSerialNodeIndex).createInitPacket(); if (m != null) { // SECSI boards don't need this yet log.debug("send init message: " + m); m.setTimeout(2000); // wait for init to finish (milliseconds) return m; } // else fall through to continue } // send Output packet if needed if (getNode(curSerialNodeIndex).mustSend()) { log.debug("request write command to send"); AbstractMRMessage m = getNode(curSerialNodeIndex).createOutPacket(); getNode(curSerialNodeIndex).resetMustSend(); m.setTimeout(500); return m; } // poll for Sensor input if (getNode(curSerialNodeIndex).getSensorsActive()) { // Some sensors are active for this node, issue poll SerialMessage m = SerialMessage.getPoll(getNode(curSerialNodeIndex).getNodeAddress()); if (curSerialNodeIndex >= getNumNodes()) { curSerialNodeIndex = 0; } return m; } else { // no Sensors (inputs) are active for this node return null; } }