Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public static Calendar readDateTime(@NonNull final Data data, final int offset)
return null;

final Calendar calendar = Calendar.getInstance();
final int year = data.getIntValue(Data.FORMAT_UINT16, offset);
final int year = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
final int month = data.getIntValue(Data.FORMAT_UINT8, offset + 2);
final int day = data.getIntValue(Data.FORMAT_UINT8, offset + 3);
if (year > 0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
numberOfRecords = data.getIntValue(Data.FORMAT_UINT8, 2);
break;
case 2:
numberOfRecords = data.getIntValue(Data.FORMAT_UINT16, 2);
numberOfRecords = data.getIntValue(Data.FORMAT_UINT16_LE, 2);
break;
case 4:
numberOfRecords = data.getIntValue(Data.FORMAT_UINT32, 2);
numberOfRecords = data.getIntValue(Data.FORMAT_UINT32_LE, 2);
break;
default:
// Other field sizes are not supported
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
// Read measurement status if present
BPMStatus status = null;
if (measurementStatusPresent) {
final int measurementStatus = data.getIntValue(Data.FORMAT_UINT16, offset);
final int measurementStatus = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
// offset += 2;
status = new BPMStatus(measurementStatus);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
// Read measurement status if present
BPMStatus status = null;
if (measurementStatusPresent) {
final int measurementStatus = data.getIntValue(Data.FORMAT_UINT16, offset);
final int measurementStatus = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
// offset += 2;
status = new BPMStatus(measurementStatus);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int featuresValue = data.getIntValue(Data.FORMAT_UINT24, 0);
final int featuresValue = data.getIntValue(Data.FORMAT_UINT24_LE, 0);
final int typeAndSampleLocation = data.getIntValue(Data.FORMAT_UINT8, 3);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16, 4);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16_LE, 4);

final CGMFeatures features = new CGMFeatures(featuresValue);
if (features.e2eCrcSupported) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int sessionRunTime = data.getIntValue(Data.FORMAT_UINT16, 0);
final int sessionRunTime = data.getIntValue(Data.FORMAT_UINT16_LE, 0);

final boolean crcPresent = data.size() == 4;
if (crcPresent) {
final int actualCrc = CRC16.MCRF4XX(data.getValue(), 0, 2);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16, 2);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16_LE, 2);
if (actualCrc != expectedCrc) {
onContinuousGlucoseMonitorSessionRunTimeReceivedWithCrcError(device, data);
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
final boolean crcPresent = data.size() == 11;
if (crcPresent) {
final int actualCrc = CRC16.MCRF4XX(data.getValue(), 0, 9);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16, 9);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16_LE, 9);
if (actualCrc != expectedCrc) {
onContinuousGlucoseMonitorSessionStartTimeReceivedWithCrcError(device, data);
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
// Verify CRC if present
final boolean crcPresent = data.size() == 1 + expectedOperandSize + 2; // opCode + expected operand + CRC
if (crcPresent) {
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16, 1 + expectedOperandSize);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16_LE, 1 + expectedOperandSize);
final int actualCrc = CRC16.MCRF4XX(data.getValue(), 0, 1 + expectedOperandSize);
if (expectedCrc != actualCrc) {
onCGMSpecificOpsResponseReceivedWithCrcError(device, data);
Expand All @@ -127,13 +127,13 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
case OP_CODE_CALIBRATION_VALUE_RESPONSE:
final float glucoseConcentrationOfCalibration = data.getFloatValue(Data.FORMAT_SFLOAT, 1);
final int calibrationTime = data.getIntValue(Data.FORMAT_UINT16, 3);
final int calibrationTime = data.getIntValue(Data.FORMAT_UINT16_LE, 3);
final int calibrationTypeAndSampleLocation = data.getIntValue(Data.FORMAT_UINT8, 5);
@SuppressLint("WrongConstant")
final int calibrationType = calibrationTypeAndSampleLocation & 0x0F;
final int calibrationSampleLocation = calibrationTypeAndSampleLocation >> 4;
final int nextCalibrationTime = data.getIntValue(Data.FORMAT_UINT16, 6);
final int calibrationDataRecordNumber = data.getIntValue(Data.FORMAT_UINT16, 8);
final int nextCalibrationTime = data.getIntValue(Data.FORMAT_UINT16_LE, 6);
final int calibrationDataRecordNumber = data.getIntValue(Data.FORMAT_UINT16_LE, 8);
final int calibrationStatus = data.getIntValue(Data.FORMAT_UINT8, 10);
onContinuousGlucoseCalibrationValueReceived(device, glucoseConcentrationOfCalibration,
calibrationTime, nextCalibrationTime, calibrationType, calibrationSampleLocation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int timeOffset = data.getIntValue(Data.FORMAT_UINT16, 0);
final int timeOffset = data.getIntValue(Data.FORMAT_UINT16_LE, 0);
final int warningStatus = data.getIntValue(Data.FORMAT_UINT8, 2);
final int calibrationTempStatus = data.getIntValue(Data.FORMAT_UINT8, 3);
final int sensorStatus = data.getIntValue(Data.FORMAT_UINT8, 4);

final boolean crcPresent = data.size() == 7;
if (crcPresent) {
final int actualCrc = CRC16.MCRF4XX(data.getValue(), 0, 5);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16, 5);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16_LE, 5);
if (actualCrc != expectedCrc) {
onContinuousGlucoseMonitorStatusReceivedWithCrcError(device, data);
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final

final boolean crcPresent = size == dataSize + 2;
if (crcPresent) {
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16, offset + dataSize);
final int expectedCrc = data.getIntValue(Data.FORMAT_UINT16_LE, offset + dataSize);
final int actualCrc = CRC16.MCRF4XX(data.getValue(), offset, dataSize);
if (expectedCrc != actualCrc) {
onContinuousGlucoseMeasurementReceivedWithCrcError(device, data);
Expand All @@ -105,7 +105,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
offset += 2;

// Time offset (in minutes since Session Start)
final int timeOffset = data.getIntValue(Data.FORMAT_UINT16, offset);
final int timeOffset = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
offset += 2;

// Sensor Status Annunciation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int value = data.getIntValue(Data.FORMAT_UINT16, 0);
final int value = data.getIntValue(Data.FORMAT_UINT16_LE, 0);
final CSCFeatures features = new CSCFeatures(value);
onCyclingSpeedAndCadenceFeaturesReceived(device, features);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
}

if (wheelRevPresent) {
final long wheelRevolutions = data.getIntValue(Data.FORMAT_UINT32, offset) & 0xFFFFFFFFL;
final long wheelRevolutions = data.getIntValue(Data.FORMAT_UINT32_LE, offset) & 0xFFFFFFFFL;
offset += 4;

final int lastWheelEventTime = data.getIntValue(Data.FORMAT_UINT16, offset); // 1/1024 s
final int lastWheelEventTime = data.getIntValue(Data.FORMAT_UINT16_LE, offset); // 1/1024 s
offset += 2;

if (mInitialWheelRevolutions < 0)
Expand All @@ -93,10 +93,10 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
}

if (crankRevPreset) {
final int crankRevolutions = data.getIntValue(Data.FORMAT_UINT16, offset);
final int crankRevolutions = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
offset += 2;

final int lastCrankEventTime = data.getIntValue(Data.FORMAT_UINT16, offset);
final int lastCrankEventTime = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
// offset += 2;

// Notify listener about the new measurement
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int value = data.getIntValue(Data.FORMAT_UINT16, 0);
final int value = data.getIntValue(Data.FORMAT_UINT16_LE, 0);
final GlucoseFeatures features = new GlucoseFeatures(value);
onGlucoseFeaturesReceived(device, features);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int sequenceNumber = data.getIntValue(Data.FORMAT_UINT16, offset);
final int sequenceNumber = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
offset += 2;

// Optional fields
Expand Down Expand Up @@ -113,7 +113,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
Integer exerciseDuration = null;
Integer exerciseIntensity = null;
if (exercisePresent) {
exerciseDuration = data.getIntValue(Data.FORMAT_UINT16, offset); // in seconds
exerciseDuration = data.getIntValue(Data.FORMAT_UINT16_LE, offset); // in seconds
exerciseIntensity = data.getIntValue(Data.FORMAT_UINT8, offset + 2); // in percentage
offset += 3;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
}

// Required fields
final int sequenceNumber = data.getIntValue(Data.FORMAT_UINT16, offset);
final int sequenceNumber = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
offset += 2;
final Calendar baseTime = DateTimeDataCallback.readDateTime(data, 3);
offset += 7;
Expand All @@ -88,7 +88,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final

// Optional fields
if (timeOffsetPresent) {
final int timeOffset = data.getIntValue(Data.FORMAT_SINT16, offset);
final int timeOffset = data.getIntValue(Data.FORMAT_SINT16_LE, offset);
offset += 2;

baseTime.add(Calendar.MINUTE, timeOffset);
Expand All @@ -110,7 +110,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final

GlucoseStatus status = null;
if (sensorStatusAnnunciationPresent) {
final int value = data.getIntValue(Data.FORMAT_UINT16, offset);
final int value = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
// offset += 2;

status = new GlucoseStatus(value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
// Read flags
int offset = 0;
final int flags = data.getIntValue(Data.FORMAT_UINT8, offset);
final int hearRateType = (flags & 0x01) == 0 ? Data.FORMAT_UINT8 : Data.FORMAT_UINT16;
final int hearRateType = (flags & 0x01) == 0 ? Data.FORMAT_UINT8 : Data.FORMAT_UINT16_LE;
final int sensorContactStatus = (flags & 0x06) >> 1;
final boolean sensorContactSupported = sensorContactStatus == 2 || sensorContactStatus == 3;
final boolean sensorContactDetected = sensorContactStatus == 3;
Expand All @@ -88,7 +88,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final

Integer energyExpanded = null;
if (energyExpandedPresent) {
energyExpanded = data.getIntValue(Data.FORMAT_UINT16, offset);
energyExpanded = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
offset += 2;
}

Expand All @@ -97,7 +97,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
final int count = (data.size() - offset) / 2;
final List<Integer> intervals = new ArrayList<>(count);
for (int i = 0; i < count; ++i) {
intervals.add(data.getIntValue(Data.FORMAT_UINT16, offset));
intervals.add(data.getIntValue(Data.FORMAT_UINT16_LE, offset));
offset += 2;
}
rrIntervals = Collections.unmodifiableList(intervals);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int interval = data.getIntValue(Data.FORMAT_UINT16, 0);
final int interval = data.getIntValue(Data.FORMAT_UINT16_LE, 0);
onMeasurementIntervalReceived(device, interval);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
return;
}

final int value = data.getIntValue(Data.FORMAT_UINT16, 0);
final int value = data.getIntValue(Data.FORMAT_UINT16_LE, 0);
final RSCFeatures features = new RSCFeatures(value);
onRunningSpeedAndCadenceFeaturesReceived(device, features);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final
final boolean statusRunning = (flags & 0x04) != 0;
offset += 1;

final float speed = data.getIntValue(Data.FORMAT_UINT16, offset) / 256.f; // [m/s]
final float speed = data.getIntValue(Data.FORMAT_UINT16_LE, offset) / 256.f; // [m/s]
offset += 2;
final int cadence = data.getIntValue(Data.FORMAT_UINT8, offset);
offset += 1;
Expand All @@ -79,13 +79,13 @@ public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final

Integer strideLength = null;
if (instantaneousStrideLengthPresent) {
strideLength = data.getIntValue(Data.FORMAT_UINT16, offset);
strideLength = data.getIntValue(Data.FORMAT_UINT16_LE, offset);
offset += 2;
}

Long totalDistance = null;
if (totalDistancePresent) {
totalDistance = data.getLongValue(Data.FORMAT_UINT32, offset);
totalDistance = data.getLongValue(Data.FORMAT_UINT32_LE, offset);
// offset += 4;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,18 +97,18 @@ public static Data reportStoredRecordsFromRange(@NonNull final FilterType filter

public static Data reportStoredRecordsLessThenOrEqualTo(@IntRange(from = 0) final int sequenceNumber) {
return create(OP_CODE_REPORT_STORED_RECORDS, OPERATOR_LESS_THEN_OR_EQUAL,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16, sequenceNumber);
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE, sequenceNumber);
}

public static Data reportStoredRecordsGreaterThenOrEqualTo(@IntRange(from = 0) final int sequenceNumber) {
return create(OP_CODE_REPORT_STORED_RECORDS, OPERATOR_GREATER_THEN_OR_EQUAL,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16, sequenceNumber);
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE, sequenceNumber);
}

public static Data reportStoredRecordsFromRange(@IntRange(from = 0) final int startSequenceNumber,
@IntRange(from = 0) final int endSequenceNumber) {
return create(OP_CODE_REPORT_STORED_RECORDS, OPERATOR_WITHING_RANGE,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE,
startSequenceNumber, endSequenceNumber);
}

Expand Down Expand Up @@ -147,18 +147,18 @@ public static Data deleteStoredRecordsFromRange(@NonNull final FilterType filter

public static Data deleteStoredRecordsLessThenOrEqualTo(@IntRange(from = 0) final int sequenceNumber) {
return create(OP_CODE_DELETE_STORED_RECORDS, OPERATOR_LESS_THEN_OR_EQUAL,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16, sequenceNumber);
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE, sequenceNumber);
}

public static Data deleteStoredRecordsGreaterThenOrEqualTo(@IntRange(from = 0) final int sequenceNumber) {
return create(OP_CODE_DELETE_STORED_RECORDS, OPERATOR_GREATER_THEN_OR_EQUAL,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16, sequenceNumber);
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE, sequenceNumber);
}

public static Data deleteStoredRecordsFromRange(@IntRange(from = 0) final int startSequenceNumber,
@IntRange(from = 0) final int endSequenceNumber) {
return create(OP_CODE_DELETE_STORED_RECORDS, OPERATOR_WITHING_RANGE,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE,
startSequenceNumber, endSequenceNumber);
}

Expand Down Expand Up @@ -189,18 +189,18 @@ public static Data reportNumberOfStoredRecordsFromRange(@NonNull final FilterTyp

public static Data reportNumberOfStoredRecordsLessThenOrEqualTo(@IntRange(from = 0) final int sequenceNumber) {
return create(OP_CODE_REPORT_NUMBER_OF_RECORDS, OPERATOR_LESS_THEN_OR_EQUAL,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16, sequenceNumber);
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE, sequenceNumber);
}

public static Data reportNumberOfStoredRecordsGreaterThenOrEqualTo(@IntRange(from = 0) final int sequenceNumber) {
return create(OP_CODE_REPORT_NUMBER_OF_RECORDS, OPERATOR_GREATER_THEN_OR_EQUAL,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16, sequenceNumber);
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE, sequenceNumber);
}

public static Data reportNumberOfStoredRecordsFromRange(@IntRange(from = 0) final int startSequenceNumber,
@IntRange(from = 0) final int endSequenceNumber) {
return create(OP_CODE_REPORT_NUMBER_OF_RECORDS, OPERATOR_WITHING_RANGE,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16,
FilterType.SEQUENCE_NUMBER, Data.FORMAT_UINT16_LE,
startSequenceNumber, endSequenceNumber);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,21 +96,21 @@ public static Data setCalibrationValue(@FloatRange(from = 0) final float glucose
final MutableData data = new MutableData(new byte[11 + (secure ? 2 : 0)]);
data.setByte(OP_CODE_SET_CALIBRATION_VALUE, 0);
data.setValue(glucoseConcentrationOfCalibration, Data.FORMAT_SFLOAT, 1);
data.setValue(calibrationTime, Data.FORMAT_UINT16, 3);
data.setValue(calibrationTime, Data.FORMAT_UINT16_LE, 3);
final int typeAndSampleLocation = ((sampleLocation & 0xF) << 8) | (sampleType & 0xF);
data.setValue(typeAndSampleLocation, Data.FORMAT_UINT8, 5);
data.setValue(nextCalibrationTime, Data.FORMAT_UINT16, 6);
data.setValue(0, Data.FORMAT_UINT16, 8); // ignored: calibration data record number
data.setValue(nextCalibrationTime, Data.FORMAT_UINT16_LE, 6);
data.setValue(0, Data.FORMAT_UINT16_LE, 8); // ignored: calibration data record number
data.setValue(0, Data.FORMAT_UINT8, 10); // ignored: calibration status
return appendCrc(data, secure);
}

public static Data getCalibrationValue(@IntRange(from = 0) final int calibrationDataRecordNumber, final boolean secure) {
return create(OP_CODE_GET_CALIBRATION_VALUE, calibrationDataRecordNumber, Data.FORMAT_UINT16, secure);
return create(OP_CODE_GET_CALIBRATION_VALUE, calibrationDataRecordNumber, Data.FORMAT_UINT16_LE, secure);
}

public static Data getLastCalibrationValue(final boolean secure) {
return create(OP_CODE_GET_CALIBRATION_VALUE, 0xFFFF, Data.FORMAT_UINT16, secure);
return create(OP_CODE_GET_CALIBRATION_VALUE, 0xFFFF, Data.FORMAT_UINT16_LE, secure);
}

public static Data setPatientHighAlertLevel(@FloatRange(from = 0) final float level,
Expand Down Expand Up @@ -192,7 +192,7 @@ private static Data appendCrc(final MutableData data, final boolean secure) {
if (secure) {
final int length = data.size() - 2;
final int crc = CRC16.MCRF4XX(data.getValue(), 0, length);
data.setValue(crc, Data.FORMAT_UINT16, length);
data.setValue(crc, Data.FORMAT_UINT16_LE, length);
}
return data;
}
Expand Down
Loading