Merge pull request #153 from AAPS-Omnipod/omnipod_eros_dev_rl_cleanup

Some RileyLink cleanup
This commit is contained in:
bartsopers 2020-08-21 23:05:00 +02:00 committed by GitHub
commit 155460c8c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 124 additions and 278 deletions

View file

@ -19,8 +19,6 @@ public abstract class PumpStatus {
public long previousConnection = 0L; // here should be stored last connection of previous session (so needs to be
// read before lastConnection is modified for first time).
public long lastErrorConnection = 0L;
// last bolus
public Date lastBolusTime;
public Double lastBolusAmount;
@ -63,26 +61,11 @@ public abstract class PumpStatus {
public abstract void initSettings();
public void setLastCommunicationToNow() {
this.lastDataTime = DateUtil.now();
this.lastConnection = System.currentTimeMillis();
}
public void setLastFailedCommunicationToNow() {
this.lastErrorConnection = System.currentTimeMillis();
}
public abstract String getErrorInfo();
public abstract <E> E getCustomData(String key, Class<E> clazz);
public String getCustomDataAsString(String key) {
return getCustomData(key, String.class);
}
}

View file

@ -36,7 +36,6 @@ import info.nightscout.androidaps.data.Profile;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.db.TemporaryBasal;
import info.nightscout.androidaps.events.EventRefreshOverview;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.interfaces.CommandQueueProvider;
@ -55,9 +54,11 @@ import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract;
import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpInfo;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ResetRileyLinkConfigurationTask;
@ -81,7 +82,6 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicUIRespons
import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus;
import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpConfigurationChanged;
import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged;
import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState;
import info.nightscout.androidaps.plugins.pump.medtronic.service.RileyLinkMedtronicService;
import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst;
import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil;
@ -236,21 +236,6 @@ public class MedtronicPumpPlugin extends PumpPluginAbstract implements PumpInter
}
@Override
public void resetRileyLinkConfiguration() {
rileyLinkMedtronicService.resetRileyLinkConfiguration();
}
@Override
public boolean hasTuneUp() {
return true;
}
@Override
public void doTuneUpDevice() {
rileyLinkMedtronicService.doTuneUpDevice();
}
@Override
public void triggerPumpConfigurationChangedEvent() {
rxBus.send(new EventMedtronicPumpConfigurationChanged());
@ -339,6 +324,22 @@ public class MedtronicPumpPlugin extends PumpPluginAbstract implements PumpInter
return rileyLinkMedtronicService;
}
@Override public RileyLinkPumpInfo getPumpInfo() {
String pumpDescription = pumpType.getDescription();
String frequency = resourceHelper.gs(medtronicPumpStatus.pumpFrequency.equals("medtronic_pump_frequency_us_ca") ? R.string.medtronic_pump_frequency_us_ca : R.string.medtronic_pump_frequency_worldwide);
String model = medtronicPumpStatus.medtronicDeviceType == null ? "???" : "Medtronic " + medtronicPumpStatus.medtronicDeviceType.getPumpModel();
String serialNumber = medtronicPumpStatus.serialNumber;
return new RileyLinkPumpInfo(pumpDescription, frequency, model, serialNumber);
}
@Override public long getLastConnectionTimeMillis() {
return medtronicPumpStatus.lastConnection;
}
@Override public void setLastCommunicationToNow() {
medtronicPumpStatus.setLastCommunicationToNow();
}
@Override
public boolean isInitialized() {
if (displayConnectionMessages)
@ -348,8 +349,8 @@ public class MedtronicPumpPlugin extends PumpPluginAbstract implements PumpInter
@Override
public void setIsBusy(boolean isBusy_) {
isBusy = isBusy_;
public void setBusy(boolean busy) {
isBusy = busy;
}
@Override
@ -774,7 +775,7 @@ public class MedtronicPumpPlugin extends PumpPluginAbstract implements PumpInter
if ((clock.localDeviceTime.getYear() <= 2015) || (timeDiff <= 24 * 60 * 60)) {
aapsLogger.info(LTag.PUMP, "MedtronicPumpPlugin::checkTimeAndOptionallySetTime - Time difference is {} s. Set time on pump." , timeDiff);
aapsLogger.info(LTag.PUMP, "MedtronicPumpPlugin::checkTimeAndOptionallySetTime - Time difference is {} s. Set time on pump.", timeDiff);
rileyLinkMedtronicService.getMedtronicUIComm().executeCommand(MedtronicCommandType.SetRealTimeClock);

View file

@ -916,8 +916,4 @@ public class MedtronicCommunicationManager extends RileyLinkCommunicationManager
return false;
}
@Override public PumpStatus getPumpStatus() {
return medtronicPumpStatus;
}
}

View file

@ -165,27 +165,6 @@ public class MedtronicPumpStatus extends info.nightscout.androidaps.plugins.pump
return (errorDescription == null) ? "-" : errorDescription;
}
@Override
public <E> E getCustomData(String key, Class<E> clazz) {
switch(key) {
case "SERIAL_NUMBER":
return (E)serialNumber;
case "PUMP_FREQUENCY":
return (E)pumpFrequency;
case "PUMP_MODEL": {
if (medtronicDeviceType==null)
return null;
else
return (E)medtronicDeviceType.getPumpModel();
}
default:
return null;
}
}
public PumpDeviceState getPumpDeviceState() {
return pumpDeviceState;

View file

@ -1,7 +1,6 @@
package info.nightscout.androidaps.plugins.pump.medtronic.service;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.os.Binder;
import android.os.IBinder;
@ -14,10 +13,8 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkBLE;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkTargetFrequency;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkService;
import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil;
@ -26,7 +23,6 @@ import info.nightscout.androidaps.plugins.pump.medtronic.R;
import info.nightscout.androidaps.plugins.pump.medtronic.comm.MedtronicCommunicationManager;
import info.nightscout.androidaps.plugins.pump.medtronic.comm.ui.MedtronicUIComm;
import info.nightscout.androidaps.plugins.pump.medtronic.comm.ui.MedtronicUIPostprocessor;
import info.nightscout.androidaps.plugins.pump.medtronic.data.MedtronicHistoryData;
import info.nightscout.androidaps.plugins.pump.medtronic.defs.BatteryType;
import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus;
import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst;
@ -110,12 +106,6 @@ public class RileyLinkMedtronicService extends RileyLinkService {
aapsLogger.debug(LTag.PUMPCOMM, "RileyLinkMedtronicService newly constructed");
}
public void resetRileyLinkConfiguration() {
rfspy.resetRileyLinkConfiguration();
}
public MedtronicCommunicationManager getDeviceCommunicationManager() {
return this.medtronicCommunicationManager;
}

View file

@ -49,8 +49,10 @@ import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract;
import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus;
import info.nightscout.androidaps.plugins.pump.common.data.TempBasalPair;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpInfo;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ResetRileyLinkConfigurationTask;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor;
@ -339,24 +341,10 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
return false;
}
@Override
public void resetRileyLinkConfiguration() {
rileyLinkOmnipodService.resetRileyLinkConfiguration();
}
@Override
public boolean hasTuneUp() {
return false;
}
@Override
public void doTuneUpDevice() {
//rileyLinkOmnipodService.doTuneUpDevice();
}
@Override
public void triggerPumpConfigurationChangedEvent() {
rxBus.send(new EventOmnipodPumpValuesChanged());
rxBus.send(new EventRileyLinkDeviceStatusChange());
}
@Override
@ -364,6 +352,22 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
return rileyLinkOmnipodService;
}
@Override public RileyLinkPumpInfo getPumpInfo() {
String pumpDescription = "Eros";
String frequency = resourceHelper.gs(R.string.omnipod_frequency);
String connectedModel = podStateManager.isPodInitialized() ? "Eros Pod" : "-";
String serialNumber = podStateManager.isPodInitialized() ? String.valueOf(podStateManager.getAddress()) : "-";
return new RileyLinkPumpInfo(pumpDescription, frequency, connectedModel, serialNumber);
}
@Override public long getLastConnectionTimeMillis() {
return omnipodPumpStatus.lastConnection;
}
@Override public void setLastCommunicationToNow() {
omnipodPumpStatus.setLastCommunicationToNow();
}
public OmnipodUIComm getDeviceCommandExecutor() {
return rileyLinkOmnipodService.getDeviceCommandExecutor();
}
@ -478,8 +482,8 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
}
}
public void setIsBusy(boolean isBusy) {
this.isBusy = isBusy;
public void setBusy(boolean busy) {
this.isBusy = busy;
}
private void getPodPumpStatus() {

View file

@ -81,19 +81,10 @@ public class OmnipodCommunicationManager extends RileyLinkCommunicationManager {
return new byte[0];
}
@Override public PumpStatus getPumpStatus() {
return null;
}
@Override public boolean isDeviceReachable() {
return false;
}
@Override
public boolean hasTunning() {
return false;
}
@Override
public RLMessage createResponseMessage(byte[] payload) {
return new OmnipodPacket(payload);

View file

@ -5,5 +5,9 @@ public enum PodResponseType {
Acknowledgment, // set commands would just acknowledge if data was sent
Data, // query commands would return data
Error, // communication/response produced an error
Invalid // invalid response (not supported, should never be returned)
Invalid; // invalid response (not supported, should never be returned)
public boolean isError() {
return this == Error || this == Invalid;
}
}

View file

@ -80,25 +80,6 @@ public class OmnipodPumpStatus extends PumpStatus {
return this.rileyLinkErrorDescription;
}
@Override
public <E> E getCustomData(String key, Class<E> clazz) {
switch (key) {
// TODO
/*
case "POD_LOT_NUMBER":
return (E) podLotNumber;
case "POD_AVAILABLE":
return (E) podAvailable;
*/
default:
return null;
}
}
// public boolean setNotInPreInit() {
// this.inPreInit = false;
//

View file

@ -200,11 +200,7 @@ public class OmnipodUITask {
aapsLogger.debug(LTag.PUMP, "OmnipodUITask: @@@ postProcess. responseType={}", responseType);
if (responseType == PodResponseType.Invalid) {
omnipodPumpStatus.setLastFailedCommunicationToNow();
} else if (responseType == PodResponseType.Error) {
omnipodPumpStatus.setLastFailedCommunicationToNow();
} else {
if (!responseType.isError()) {
omnipodPumpStatus.setLastCommunicationToNow();
}
}

View file

@ -103,10 +103,6 @@ public class RileyLinkOmnipodService extends RileyLinkService {
return this.omnipodUIComm;
}
public void resetRileyLinkConfiguration() {
rfspy.resetRileyLinkConfiguration();
}
@Override
public RileyLinkCommunicationManager getDeviceCommunicationManager() {
return omnipodCommunicationManager;

View file

@ -24,7 +24,6 @@ import android.widget.Toast;
import androidx.appcompat.widget.Toolbar;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
@ -35,16 +34,12 @@ import java.util.Map;
import javax.inject.Inject;
import info.nightscout.androidaps.activities.NoSplashAppCompatActivity;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
import info.nightscout.androidaps.plugins.common.ManufacturerType;
import info.nightscout.androidaps.plugins.pump.common.R;
import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes;
@ -110,20 +105,9 @@ public class RileyLinkBLEScanActivity extends NoSplashAppCompatActivity {
sp.putString(RileyLinkConst.Prefs.RileyLinkAddress, bleAddress);
PumpInterface activePump = activePlugin.getActivePump();
if (activePump.manufacturer() == ManufacturerType.Medtronic) {
RileyLinkPumpDevice rileyLinkPump = (RileyLinkPumpDevice) activePump;
rileyLinkPump.getRileyLinkService().verifyConfiguration(); // force reloading of address
rileyLinkPump.triggerPumpConfigurationChangedEvent();
} else if (activePlugin.getActivePump().manufacturer() == ManufacturerType.Insulet) {
RileyLinkPumpDevice rileyLinkPump = (RileyLinkPumpDevice) activePump;
rileyLinkPump.getRileyLinkService().verifyConfiguration(); // force reloading of address
rileyLinkPump.triggerPumpConfigurationChangedEvent();
}
RileyLinkPumpDevice rileyLinkPump = (RileyLinkPumpDevice) activePlugin.getActivePump();
rileyLinkPump.getRileyLinkService().verifyConfiguration(); // force reloading of address
rileyLinkPump.triggerPumpConfigurationChangedEvent();
finish();
});

View file

@ -3,9 +3,9 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink;
import javax.inject.Inject;
import dagger.android.HasAndroidInjector;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.logging.LTag;
import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException;
@ -17,6 +17,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.Radi
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.RadioResponse;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RLMessageType;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkBLEError;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask;
@ -37,6 +38,7 @@ public abstract class RileyLinkCommunicationManager {
@Inject protected ServiceTaskExecutor serviceTaskExecutor;
@Inject protected RFSpy rfspy;
@Inject protected HasAndroidInjector injector;
@Inject protected ActivePluginProvider activePluginProvider;
private final int SCAN_TIMEOUT = 1500;
private final int ALLOWED_PUMP_UNREACHABLE = 10 * 60 * 1000; // 10 minutes
@ -44,7 +46,6 @@ public abstract class RileyLinkCommunicationManager {
protected int receiverDeviceAwakeForMinutes = 1; // override this in constructor of specific implementation
protected String receiverDeviceID; // String representation of receiver device (ex. Pump (xxxxxx) or Pod (yyyyyy))
protected long lastGoodReceiverCommunicationTime = 0;
// protected PumpStatus pumpStatus;
private long nextWakeUpRequired = 0L;
private int timeoutCount = 0;
@ -89,10 +90,10 @@ public abstract class RileyLinkCommunicationManager {
rfSpyResponse.wasTimeout(), rfSpyResponse.isUnknownCommand(), rfSpyResponse.isInvalidParam());
if (rfSpyResponse.wasTimeout()) {
if (hasTunning()) {
if (rileyLinkServiceData.targetDevice.isTuneUpEnabled()) {
timeoutCount++;
long diff = System.currentTimeMillis() - getPumpStatus().lastConnection;
long diff = System.currentTimeMillis() - getPumpDevice().getLastConnectionTimeMillis();
if (diff > ALLOWED_PUMP_UNREACHABLE) {
aapsLogger.warn(LTag.PUMPCOMM, "We reached max time that Pump can be unreachable. Starting Tuning.");
@ -130,10 +131,6 @@ public abstract class RileyLinkCommunicationManager {
return rfspy != null ? rfspy.notConnectedCount : 0;
}
public boolean hasTunning() {
return true;
}
// FIXME change wakeup
// TODO we might need to fix this. Maybe make pump awake for shorter time (battery factor for pump) - Andy
@ -404,11 +401,8 @@ public abstract class RileyLinkCommunicationManager {
lastGoodReceiverCommunicationTime = System.currentTimeMillis();
sp.putLong(RileyLinkConst.Prefs.LastGoodDeviceCommunicationTime, lastGoodReceiverCommunicationTime);
PumpStatus pumpStatus = getPumpStatus();
if(pumpStatus != null) {
pumpStatus.setLastCommunicationToNow();
}
getPumpDevice().setLastCommunicationToNow();
}
@ -429,7 +423,9 @@ public abstract class RileyLinkCommunicationManager {
}
}
public abstract PumpStatus getPumpStatus();
private RileyLinkPumpDevice getPumpDevice() {
return (RileyLinkPumpDevice) activePluginProvider.getActivePump();
}
public abstract boolean isDeviceReachable();
}

View file

@ -4,18 +4,15 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.Riley
public interface RileyLinkPumpDevice {
void setIsBusy(boolean isBusy_);
boolean isBusy();
void resetRileyLinkConfiguration();
boolean hasTuneUp();
void doTuneUpDevice();
void setBusy(boolean busy);
void triggerPumpConfigurationChangedEvent();
RileyLinkService getRileyLinkService();
RileyLinkPumpInfo getPumpInfo();
long getLastConnectionTimeMillis();
void setLastCommunicationToNow();
}

View file

@ -0,0 +1,31 @@
package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs;
public class RileyLinkPumpInfo {
private final String connectedDeviceModel;
private final String pumpDescription;
private final String connectedDeviceSerialNumber;
private final String pumpFrequency;
public RileyLinkPumpInfo(String pumpDescription, String pumpFrequency, String connectedDeviceModel, String connectedDeviceSerialNumber) {
this.pumpDescription = pumpDescription;
this.pumpFrequency = pumpFrequency;
this.connectedDeviceModel = connectedDeviceModel;
this.connectedDeviceSerialNumber = connectedDeviceSerialNumber;
}
public String getConnectedDeviceModel() {
return connectedDeviceModel;
}
public String getPumpDescription() {
return pumpDescription;
}
public String getConnectedDeviceSerialNumber() {
return connectedDeviceSerialNumber;
}
public String getPumpFrequency() {
return pumpFrequency;
}
}

View file

@ -15,18 +15,15 @@ public enum RileyLinkTargetDevice {
private int resourceId;
private boolean tuneUpEnabled;
RileyLinkTargetDevice(int resourceId, boolean tuneUpEnabled) {
this.resourceId = resourceId;
this.tuneUpEnabled = tuneUpEnabled;
}
public boolean isTuneUpEnabled() {
return tuneUpEnabled;
}
public int getResourceId() {
return resourceId;
}

View file

@ -15,13 +15,11 @@ import javax.inject.Inject;
import dagger.android.support.DaggerFragment;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.plugins.common.ManufacturerType;
import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract;
import info.nightscout.androidaps.plugins.pump.common.R;
import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.dialog.RefreshableInterface;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkFirmwareVersion;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpInfo;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData;
import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil;
@ -121,65 +119,24 @@ public class RileyLinkStatusGeneralFragment extends DaggerFragment implements Re
}
PumpPluginAbstract pumpPlugin = (PumpPluginAbstract) activePlugin.getActivePump();
RileyLinkPumpDevice pumpPlugin = (RileyLinkPumpDevice) activePlugin.getActivePump();
RileyLinkPumpInfo pumpInfo = pumpPlugin.getPumpInfo();
this.deviceType.setText(rileyLinkServiceData.targetDevice.getResourceId());
this.deviceModel.setText(pumpInfo.getPumpDescription());
this.serialNumber.setText(pumpInfo.getConnectedDeviceSerialNumber());
this.pumpFrequency.setText(pumpInfo.getPumpFrequency());
this.connectedDevice.setText(pumpInfo.getConnectedDeviceModel());
if (pumpPlugin.manufacturer() == ManufacturerType.Medtronic) {
//MedtronicPumpStatus medtronicPumpStatus = (MedtronicPumpStatus)pumpPlugin.getPumpStatusData();
if (rileyLinkServiceData.lastGoodFrequency != null) {
this.lastUsedFrequency.setText(String.format(Locale.ENGLISH, "%.2f MHz",
rileyLinkServiceData.lastGoodFrequency));
}
PumpStatus pumpStatusData = pumpPlugin.getPumpStatusData();
this.deviceType.setText(resourceHelper.gs(RileyLinkTargetDevice.MedtronicPump.getResourceId()));
this.deviceModel.setText(pumpPlugin.getPumpType().getDescription());
this.serialNumber.setText(pumpStatusData.getCustomDataAsString("SERIAL_NUMBER")); // medtronicPumpStatus.serialNumber);
this.pumpFrequency.setText(resourceHelper.gs(pumpStatusData.getCustomDataAsString("PUMP_FREQUENCY").equals("medtronic_pump_frequency_us_ca") ? R.string.medtronic_pump_frequency_us_ca : R.string.medtronic_pump_frequency_worldwide));
if (pumpStatusData.getCustomDataAsString("PUMP_MODEL") != null)
this.connectedDevice.setText("Medtronic " + pumpStatusData.getCustomDataAsString("PUMP_MODEL"));
else
this.connectedDevice.setText("???");
if (rileyLinkServiceData.lastGoodFrequency != null)
this.lastUsedFrequency.setText(String.format(Locale.ENGLISH, "%.2f MHz",
rileyLinkServiceData.lastGoodFrequency));
if (pumpStatusData.lastConnection != 0)
this.lastDeviceContact.setText(StringUtil.toDateTimeString(dateUtil, new LocalDateTime(
pumpStatusData.lastDataTime)));
else
this.lastDeviceContact.setText(resourceHelper.gs(R.string.common_never));
long lastConnectionTimeMillis = pumpPlugin.getLastConnectionTimeMillis();
if (lastConnectionTimeMillis == 0) {
this.lastDeviceContact.setText(resourceHelper.gs(R.string.common_never));
} else {
//OmnipodPumpStatus omnipodPumpStatus = (OmnipodPumpStatus)pumpPlugin.getPumpStatusData();
PumpStatus pumpStatusData = pumpPlugin.getPumpStatusData();
this.deviceType.setText(resourceHelper.gs(RileyLinkTargetDevice.Omnipod.getResourceId()));
this.deviceModel.setText("Eros");
this.pumpFrequency.setText(resourceHelper.gs(R.string.omnipod_frequency));
if (pumpStatusData != null) {
// TODO show info about active Pod
/*
if (pumpStatusData.getCustomData("POD_AVAILABLE", Boolean.class)) {
this.serialNumber.setText(pumpStatusData.getCustomDataAsString("POD_LOT_NUMBER"));
this.connectedDevice.setText(pumpStatusData.pumpType == PumpType.Insulet_Omnipod ? "Eros Pod" : "Dash Pod");
} else {
this.serialNumber.setText("??");
this.connectedDevice.setText("-");
}
*/
if (rileyLinkServiceData.lastGoodFrequency != null)
this.lastUsedFrequency.setText(String.format(Locale.ENGLISH, "%.2f MHz",
rileyLinkServiceData.lastGoodFrequency));
if (pumpStatusData.lastConnection != 0)
this.lastDeviceContact.setText(StringUtil.toDateTimeString(dateUtil, new LocalDateTime(
pumpStatusData.lastDataTime)));
else
this.lastDeviceContact.setText(resourceHelper.gs(R.string.common_never));
}
this.lastDeviceContact.setText(StringUtil.toDateTimeString(dateUtil, new LocalDateTime(lastConnectionTimeMillis)));
}
}

View file

@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import org.jetbrains.annotations.NotNull;
@ -185,13 +184,6 @@ public abstract class RileyLinkService extends DaggerService {
}
}
public void sendServiceTransportResponse(ServiceTransport transport, ServiceResult serviceResult) {
}
// FIXME: This needs to be run in a session so that is interruptable, has a separate thread, etc.
public void doTuneUpDevice() {

View file

@ -5,8 +5,6 @@ import javax.inject.Inject;
import dagger.android.HasAndroidInjector;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.logging.LTag;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
/**

View file

@ -9,7 +9,6 @@ import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.logging.LTag;
import info.nightscout.androidaps.plugins.common.ManufacturerType;
import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil;

View file

@ -6,8 +6,8 @@ import dagger.android.HasAndroidInjector;
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceTransport;
/**
* Created by andy on 9/16/18.
@ -16,29 +16,23 @@ public class ResetRileyLinkConfigurationTask extends PumpTask {
@Inject ActivePluginProvider activePlugin;
@Inject RxBusWrapper rxBus;
@Inject RFSpy rfSpy;
public ResetRileyLinkConfigurationTask(HasAndroidInjector injector) {
super(injector);
}
public ResetRileyLinkConfigurationTask(HasAndroidInjector injector, ServiceTransport transport) {
super(injector, transport);
}
@Override
public void run() {
RileyLinkPumpDevice pumpAbstract = (RileyLinkPumpDevice) activePlugin.getActivePump();
RileyLinkPumpDevice rileyLinkPumpDevice = (RileyLinkPumpDevice) activePlugin.getActivePump();
rxBus.send(new EventRefreshButtonState(false));
pumpAbstract.setIsBusy(true);
pumpAbstract.resetRileyLinkConfiguration();
pumpAbstract.setIsBusy(false);
rileyLinkPumpDevice.setBusy(true);
rfSpy.resetRileyLinkConfiguration();
rileyLinkPumpDevice.setBusy(false);
rxBus.send(new EventRefreshButtonState(true));
}
}

View file

@ -7,7 +7,6 @@ import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.data.ServiceTransport;
/**
* Created by geoff on 7/16/16.
@ -19,24 +18,17 @@ public class WakeAndTuneTask extends PumpTask {
private static final String TAG = "WakeAndTuneTask";
public WakeAndTuneTask(HasAndroidInjector injector) {
super(injector);
}
public WakeAndTuneTask(HasAndroidInjector injector, ServiceTransport transport) {
super(injector, transport);
}
@Override
public void run() {
RileyLinkPumpDevice pumpDevice = (RileyLinkPumpDevice)activePlugin.getActivePump();
RileyLinkPumpDevice pumpDevice = (RileyLinkPumpDevice) activePlugin.getActivePump();
rxBus.send(new EventRefreshButtonState(false));
pumpDevice.setIsBusy(true);
pumpDevice.doTuneUpDevice();
pumpDevice.setIsBusy(false);
pumpDevice.setBusy(true);
pumpDevice.getRileyLinkService().doTuneUpDevice();
pumpDevice.setBusy(false);
rxBus.send(new EventRefreshButtonState(true));
}
}

View file

@ -57,11 +57,6 @@
<string name="rileylink_target_device_medtronic">Medtronic Pump</string>
<string name="rileylink_target_device_omnipod">Omnipod</string>
<string name="omnipod_frequency">Omnipod (433.91 MHz)</string>
<string name="medtronic_pump_frequency_us_ca">US &amp; Canada (916 MHz)</string>
<string name="medtronic_pump_frequency_worldwide">Worldwide (868 Mhz)</string>
<string name="key_medtronic_pump_encoding_4b6b_local" translatable="false">medtronic_pump_encoding_4b6b_local</string>
<string name="key_medtronic_pump_encoding_4b6b_rileylink" translatable="false">medtronic_pump_encoding_4b6b_rileylink</string>
@ -70,9 +65,6 @@
<string name="mdt_last_bolus" translatable="false">%1$.1f %2$s (%3$s)</string>
<plurals name="duration_days">
<item quantity="one">%1$d day</item>
<item quantity="other">%1$d days</item>
@ -81,10 +73,6 @@
<item quantity="one">%1$d hour</item>
<item quantity="other">%1$d hours</item>
</plurals>
<!-- <plurals name="objective_minutes">-->
<!-- <item quantity="one">%1$d minute</item>-->
<!-- <item quantity="other">%1$d minutes</item>-->
<!-- </plurals>-->
</resources>