Initial project commit
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
package com.eveningoutpost.dexdrip.G5Model;
|
||||
|
||||
import com.eveningoutpost.dexdrip.UtilityModels.PersistentStore;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
public class G6CalibrationParameters {
|
||||
|
||||
public static final String PREF_CURRENT_CODE = "G6-Current-Sensor-Code";
|
||||
|
||||
@Getter
|
||||
private final String code;
|
||||
@Getter
|
||||
private final int paramA;
|
||||
@Getter
|
||||
private final int paramB;
|
||||
|
||||
|
||||
public G6CalibrationParameters(String code) {
|
||||
|
||||
this.code = code;
|
||||
|
||||
switch (code) {
|
||||
|
||||
// special null code
|
||||
case "0000":
|
||||
paramA = 1;
|
||||
paramB = 0;
|
||||
break;
|
||||
|
||||
case "5915":
|
||||
paramA = 3100;
|
||||
paramB = 3600;
|
||||
break;
|
||||
|
||||
case "5917":
|
||||
paramA = 3000;
|
||||
paramB = 3500;
|
||||
break;
|
||||
|
||||
case "5931":
|
||||
paramA = 2900;
|
||||
paramB = 3400;
|
||||
break;
|
||||
|
||||
case "5937":
|
||||
paramA = 2800;
|
||||
paramB = 3300;
|
||||
break;
|
||||
|
||||
case "5951":
|
||||
paramA = 3100;
|
||||
paramB = 3500;
|
||||
break;
|
||||
|
||||
case "5955":
|
||||
paramA = 3000;
|
||||
paramB = 3400;
|
||||
break;
|
||||
|
||||
case "7171":
|
||||
paramA = 2700;
|
||||
paramB = 3300;
|
||||
break;
|
||||
|
||||
case "9117":
|
||||
paramA = 2700;
|
||||
paramB = 3200;
|
||||
break;
|
||||
|
||||
case "9159":
|
||||
paramA = 2600;
|
||||
paramB = 3200;
|
||||
break;
|
||||
|
||||
case "9311":
|
||||
paramA = 2600;
|
||||
paramB = 3100;
|
||||
break;
|
||||
|
||||
case "9371":
|
||||
paramA = 2500;
|
||||
paramB = 3100;
|
||||
break;
|
||||
|
||||
case "9515":
|
||||
paramA = 2500;
|
||||
paramB = 3000;
|
||||
break;
|
||||
|
||||
case "9551":
|
||||
paramA = 2400;
|
||||
paramB = 3000;
|
||||
break;
|
||||
|
||||
case "9577":
|
||||
paramA = 2400;
|
||||
paramB = 2900;
|
||||
break;
|
||||
|
||||
case "9713":
|
||||
paramA = 2300;
|
||||
paramB = 2900;
|
||||
break;
|
||||
|
||||
default:
|
||||
paramA = -1;
|
||||
paramB = -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
return paramA > 0;
|
||||
}
|
||||
|
||||
public boolean isNullCode() {
|
||||
return isValid() && paramB == 0;
|
||||
}
|
||||
|
||||
public static boolean checkCode(String code) {
|
||||
return new G6CalibrationParameters(code).isValid();
|
||||
}
|
||||
|
||||
public static String getCurrentSensorCode() {
|
||||
final String code = PersistentStore.getString(PREF_CURRENT_CODE);
|
||||
return code.equals("") ? null : code;
|
||||
}
|
||||
|
||||
public static void setCurrentSensorCode(String code) {
|
||||
if (checkCode(code)) {
|
||||
PersistentStore.setString(PREF_CURRENT_CODE, code);
|
||||
} else {
|
||||
PersistentStore.setString(PREF_CURRENT_CODE, "");
|
||||
throw new RuntimeException("Invalid sensor code: " + code);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user