Files
DexcomBluetoothUploader/lib/nightscout/com/eveningoutpost/dexdrip/G5Model/SessionStopRxMessage.java
2020-07-18 21:44:27 -04:00

62 lines
1.6 KiB
Java

package com.eveningoutpost.dexdrip.G5Model;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import lombok.Getter;
// created by jamorham
public class SessionStopRxMessage extends BaseMessage {
public static final byte opcode = 0x29;
final byte length = 17;
@Getter
private byte status = (byte)0xFF;
private byte received = (byte)0xFF;
final String transmitterId;
int sessionStartTime=0;
int sessionStopTime =0;
int transitterTime=0;
boolean valid = false;
public SessionStopRxMessage(byte[] packet,String transmitterId) {
this.transmitterId = transmitterId;
if (packet.length == length) {
data = ByteBuffer.wrap(packet).order(ByteOrder.LITTLE_ENDIAN);
if ((data.get() == opcode) && checkCRC(packet)) {
valid = true;
status = data.get();
received = data.get();
sessionStopTime = data.getInt();
sessionStartTime = data.getInt();
transitterTime = data.getInt();
}
}
}
boolean isValid() {
return valid;
}
boolean isOkay() {
return isValid() && status == 0x00;
}
long getSessionStart() {
if (isOkay() && sessionStartTime > 0) {
return DexTimeKeeper.fromDexTime(transmitterId, sessionStartTime);
} else {
return 0;
}
}
long getSessionStop() {
if (isOkay() && sessionStopTime > 0) {
return DexTimeKeeper.fromDexTime(transmitterId, sessionStopTime);
} else {
return 0;
}
}
}