AndroidAPS/app/src/main/java/info/nightscout/androidaps/interfaces/PumpInterface.java

52 lines
1.5 KiB
Java
Raw Normal View History

2016-06-14 23:45:55 +02:00
package info.nightscout.androidaps.interfaces;
2016-06-05 01:40:35 +02:00
2016-06-11 20:45:40 +02:00
import org.json.JSONObject;
2016-07-12 17:56:01 +02:00
import java.util.Date;
2017-05-29 21:45:59 +02:00
import info.nightscout.androidaps.data.DetailedBolusInfo;
import info.nightscout.androidaps.data.PumpEnactResult;
2017-06-02 10:25:49 +02:00
import info.nightscout.androidaps.data.Profile;
2016-06-11 20:45:40 +02:00
2016-06-05 01:40:35 +02:00
/**
* Created by mike on 04.06.2016.
*/
2016-06-14 23:45:55 +02:00
public interface PumpInterface {
2016-06-11 20:45:40 +02:00
boolean isInitialized();
boolean isSuspended();
boolean isBusy();
2016-06-13 22:53:41 +02:00
// Upload to pump new basal profile
int SUCCESS = 0;
int FAILED = 1;
int NOT_NEEDED = 2;
2017-06-02 10:25:49 +02:00
int setNewBasalProfile(Profile profile);
boolean isThisProfileSet(Profile profile);
2016-06-11 20:45:40 +02:00
2017-02-19 19:15:14 +01:00
Date lastDataTime();
void refreshDataFromPump(String reason);
2017-01-29 11:11:07 +01:00
2016-06-11 20:45:40 +02:00
double getBaseBasalRate(); // base basal rate, not temp basal
2017-05-29 21:45:59 +02:00
PumpEnactResult deliverTreatment(DetailedBolusInfo detailedBolusInfo);
2016-08-04 09:17:26 +02:00
void stopBolusDelivering();
PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes);
PumpEnactResult setTempBasalPercent(Integer percent, Integer durationInMinutes);
PumpEnactResult setExtendedBolus(Double insulin, Integer durationInMinutes);
PumpEnactResult cancelTempBasal();
PumpEnactResult cancelExtendedBolus();
2016-06-10 18:50:46 +02:00
2016-06-14 23:45:55 +02:00
// Status to be passed to NS
2016-06-11 20:45:40 +02:00
JSONObject getJSONStatus();
String deviceID();
2016-12-08 15:21:16 +01:00
2017-02-19 19:15:14 +01:00
// Pump capabilities
2016-12-08 15:21:16 +01:00
PumpDescription getPumpDescription();
2017-02-13 00:15:02 +01:00
2017-02-19 19:15:14 +01:00
// Short info for SMS, Wear etc
String shortStatus(boolean veryShort);
2017-05-12 17:30:52 +02:00
boolean isFakingTempsByExtendedBoluses();
2016-06-05 01:40:35 +02:00
}