Initial project commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package com.eveningoutpost.dexdrip.G5Model;
|
||||
|
||||
import com.eveningoutpost.dexdrip.Models.UserError;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Created by jamorham on 25/11/2016.
|
||||
*/
|
||||
|
||||
|
||||
public class BatteryInfoRxMessage extends BaseMessage {
|
||||
|
||||
private final static String TAG = G5CollectionService.TAG; // meh
|
||||
|
||||
public static final byte opcode = 0x23;
|
||||
|
||||
public int status;
|
||||
public int voltagea;
|
||||
public int voltageb;
|
||||
public int resist;
|
||||
public int runtime;
|
||||
public int temperature;
|
||||
|
||||
public BatteryInfoRxMessage(byte[] packet) {
|
||||
if (packet.length >= 10) {
|
||||
data = ByteBuffer.wrap(packet).order(ByteOrder.LITTLE_ENDIAN);
|
||||
if (data.get() == opcode) {
|
||||
status = data.get();
|
||||
voltagea = getUnsignedShort(data);
|
||||
voltageb = getUnsignedShort(data);
|
||||
resist = getUnsignedShort(data);
|
||||
runtime = getUnsignedByte(data);
|
||||
if (packet.length == 10) {
|
||||
runtime = -1; // this byte isn't runtime on rev2
|
||||
}
|
||||
temperature = data.get(); // not sure if signed or not, but <0c or >127C seems unlikely!
|
||||
} else {
|
||||
UserError.Log.wtf(TAG, "Invalid opcode for BatteryInfoRxMessage");
|
||||
}
|
||||
} else {
|
||||
UserError.Log.wtf(TAG, "Invalid length for BatteryInfoMessage: " + packet.length);
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return String.format(Locale.US, "Status: %s / VoltageA: %d / VoltageB: %d / Resistance: %d / Run Time: %d / Temperature: %d",
|
||||
TransmitterStatus.getBatteryLevel(status).toString(), voltagea, voltageb, resist, runtime, temperature);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user