Files
2020-07-18 21:44:27 -04:00

61 lines
1.5 KiB
Java

package com.eveningoutpost.dexdrip.G5Model;
import com.eveningoutpost.dexdrip.Models.JoH;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import lombok.Getter;
/**
* Created by joeginley on 3/28/16.
*/
public class TransmitterTimeRxMessage extends BaseMessage {
public static final byte opcode = 0x25;
@Getter
private TransmitterStatus status;
@Getter
private int currentTime;
@Getter
private int sessionStartTime;
public TransmitterTimeRxMessage(byte[] packet) {
if (packet.length >= 10) {
if (packet[0] == opcode && checkCRC(packet)) {
data = ByteBuffer.wrap(packet).order(ByteOrder.LITTLE_ENDIAN);
status = TransmitterStatus.getBatteryLevel(data.get(1));
currentTime = data.getInt(2);
sessionStartTime = data.getInt(6);
// TODO more bytes after this?
}
}
}
public boolean sessionInProgress() {
return sessionStartTime != -1 && currentTime != sessionStartTime;
}
public long getRealSessionStartTime(long now) {
return now - ((currentTime - sessionStartTime) * 1000);
}
public long getRealSessionStartTime() {
if (sessionInProgress()) {
return getRealSessionStartTime(JoH.tsl());
} else {
return -1;
}
}
public long getSessionDuration() {
if (sessionInProgress()) {
return JoH.msSince(getRealSessionStartTime());
} else {
return -1;
}
}
}