package org.yamcs.simulator.launchland; import java.nio.ByteBuffer; import org.yamcs.simulator.CCSDSPacket; class PowerData { float timestamp; int busStatus; float busVoltage, busCurrent, systemCurrent; float batteryVoltage1, batteryTemp1, batteryCapacity1; float batteryVoltage2, batteryTemp2, batteryCapacity2; float batteryVoltage3, batteryTemp3, batteryCapacity3; PowerData(CCSDSPacket packet) { ByteBuffer buffer = packet.getUserDataBuffer(); busStatus = buffer.get(0); busVoltage = (float)buffer.get(1); busCurrent = (float)buffer.get(2); systemCurrent = (float)buffer.get(3); batteryVoltage1 = (float)buffer.get(4); batteryTemp1 = (float)buffer.get(5); batteryCapacity1 = (float)buffer.getShort(6); batteryVoltage2 = (float)buffer.get(8); batteryTemp2 = (float)buffer.get(9); batteryCapacity2 = (float)buffer.getShort(10); batteryVoltage3 = (float)buffer.get(12); batteryTemp3 = (float)buffer.get(13); batteryCapacity3 = (float)buffer.getShort(14); } PowerData() { } @Override public String toString() { return String.format("[PowerData]"); } void fillPacket(CCSDSPacket packet, int bufferOffset) { ByteBuffer buffer = packet.getUserDataBuffer(); buffer.position(bufferOffset); buffer.put((byte)busStatus); buffer.put((byte)busVoltage); buffer.put((byte)busCurrent); buffer.put((byte)systemCurrent); buffer.put((byte)batteryVoltage1); buffer.put((byte)batteryTemp1); buffer.putShort((short)batteryCapacity1); buffer.put((byte)batteryVoltage2); buffer.put((byte)batteryTemp2); buffer.putShort((short)batteryCapacity2); buffer.put((byte)batteryVoltage3); buffer.put((byte)batteryTemp3); buffer.putShort((short)batteryCapacity3); } }