Skip to content
Snippets Groups Projects
Commit f24276b5 authored by Lennart Goedhart's avatar Lennart Goedhart
Browse files

Refactor Classes with CNL to be Cnl

parent a0dcbfce
Branches
Tags
No related merge requests found
Showing
with 44 additions and 44 deletions
...@@ -43,9 +43,9 @@ import info.nightscout.android.utils.HexDump; ...@@ -43,9 +43,9 @@ import info.nightscout.android.utils.HexDump;
/** /**
* Created by lgoedhart on 24/03/2016. * Created by lgoedhart on 24/03/2016.
*/ */
public class MedtronicCNLReader implements ContourNextLinkMessageHandler { public class MedtronicCnlReader implements ContourNextLinkMessageHandler {
private static final String TAG = MedtronicCNLReader.class.getSimpleName(); private static final String TAG = MedtronicCnlReader.class.getSimpleName();
private static final int USB_BLOCKSIZE = 64; private static final int USB_BLOCKSIZE = 64;
private static final int READ_TIMEOUT_MS = 5000; private static final int READ_TIMEOUT_MS = 5000;
...@@ -54,11 +54,11 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { ...@@ -54,11 +54,11 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler {
private static final byte[] RADIO_CHANNELS = {0x14, 0x11, 0x0e, 0x17, 0x1a}; private static final byte[] RADIO_CHANNELS = {0x14, 0x11, 0x0e, 0x17, 0x1a};
private UsbHidDriver mDevice; private UsbHidDriver mDevice;
private MedtronicCNLSession mPumpSession = new MedtronicCNLSession(); private MedtronicCnlSession mPumpSession = new MedtronicCnlSession();
private String mStickSerial = null; private String mStickSerial = null;
public MedtronicCNLReader(UsbHidDriver device) { public MedtronicCnlReader(UsbHidDriver device) {
mDevice = device; mDevice = device;
} }
...@@ -87,7 +87,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { ...@@ -87,7 +87,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler {
return mStickSerial; return mStickSerial;
} }
public MedtronicCNLSession getPumpSession() { public MedtronicCnlSession getPumpSession() {
return mPumpSession; return mPumpSession;
} }
......
...@@ -3,7 +3,7 @@ package info.nightscout.android.medtronic; ...@@ -3,7 +3,7 @@ package info.nightscout.android.medtronic;
/** /**
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class MedtronicCNLSession { public class MedtronicCnlSession {
private byte[] HMAC; private byte[] HMAC;
private byte[] key; private byte[] key;
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class BeginEHSMMessage extends MedtronicSendMessage { public class BeginEHSMMessage extends MedtronicSendMessage {
public BeginEHSMMessage(MedtronicCNLSession pumpSession) throws EncryptionException { public BeginEHSMMessage(MedtronicCnlSession pumpSession) throws EncryptionException {
super(SendMessageType.BEGIN_EHSM_SESSION, pumpSession, buildPayload()); super(SendMessageType.BEGIN_EHSM_SESSION, pumpSession, buildPayload());
} }
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
...@@ -9,11 +9,11 @@ import java.nio.ByteOrder; ...@@ -9,11 +9,11 @@ import java.nio.ByteOrder;
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class ChannelNegotiateMessage extends MedtronicMessage { public class ChannelNegotiateMessage extends MedtronicMessage {
public ChannelNegotiateMessage(MedtronicCNLSession pumpSession) { public ChannelNegotiateMessage(MedtronicCnlSession pumpSession) {
super(CommandType.SEND_MESSAGE, CommandAction.CHANNEL_NEGOTIATE, pumpSession, buildPayload(pumpSession)); super(CommandType.SEND_MESSAGE, CommandAction.CHANNEL_NEGOTIATE, pumpSession, buildPayload(pumpSession));
} }
protected static byte[] buildPayload( MedtronicCNLSession pumpSession ) { protected static byte[] buildPayload( MedtronicCnlSession pumpSession ) {
ByteBuffer payload = ByteBuffer.allocate(26); ByteBuffer payload = ByteBuffer.allocate(26);
payload.order(ByteOrder.LITTLE_ENDIAN); payload.order(ByteOrder.LITTLE_ENDIAN);
// The MedtronicMessage sequence number is always sent as 1 for this message, // The MedtronicMessage sequence number is always sent as 1 for this message,
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
...@@ -36,11 +36,11 @@ public class ContourNextLinkBinaryMessage extends ContourNextLinkMessage{ ...@@ -36,11 +36,11 @@ public class ContourNextLinkBinaryMessage extends ContourNextLinkMessage{
} }
} }
public ContourNextLinkBinaryMessage(CommandType commandType, MedtronicCNLSession pumpSession, byte[] payload) { public ContourNextLinkBinaryMessage(CommandType commandType, MedtronicCnlSession pumpSession, byte[] payload) {
super(buildPayload(commandType, pumpSession, payload)); super(buildPayload(commandType, pumpSession, payload));
} }
protected static byte[] buildPayload(CommandType commandType, MedtronicCNLSession pumpSession, byte[] payload) { protected static byte[] buildPayload(CommandType commandType, MedtronicCnlSession pumpSession, byte[] payload) {
int payloadLength = payload == null ? 0 : payload.length; int payloadLength = payload == null ? 0 : payload.length;
ByteBuffer payloadBuffer = ByteBuffer.allocate( ENVELOPE_SIZE + payloadLength ); ByteBuffer payloadBuffer = ByteBuffer.allocate( ENVELOPE_SIZE + payloadLength );
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class EndEHSMMessage extends MedtronicSendMessage { public class EndEHSMMessage extends MedtronicSendMessage {
public EndEHSMMessage(MedtronicCNLSession pumpSession) throws EncryptionException { public EndEHSMMessage(MedtronicCnlSession pumpSession) throws EncryptionException {
super(SendMessageType.END_EHSM_SESSION, pumpSession, buildPayload()); super(SendMessageType.END_EHSM_SESSION, pumpSession, buildPayload());
} }
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
...@@ -29,7 +29,7 @@ public class MedtronicMessage extends ContourNextLinkBinaryMessage { ...@@ -29,7 +29,7 @@ public class MedtronicMessage extends ContourNextLinkBinaryMessage {
} }
} }
protected MedtronicMessage(CommandType commandType, CommandAction commandAction, MedtronicCNLSession pumpSession, byte[] payload) { protected MedtronicMessage(CommandType commandType, CommandAction commandAction, MedtronicCnlSession pumpSession, byte[] payload) {
super(commandType, pumpSession, buildPayload(commandAction, payload)); super(commandType, pumpSession, buildPayload(commandAction, payload));
} }
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
...@@ -12,7 +12,7 @@ public class MedtronicReceiveMessage extends MedtronicMessage { ...@@ -12,7 +12,7 @@ public class MedtronicReceiveMessage extends MedtronicMessage {
static int ENCRYPTED_ENVELOPE_SIZE = 3; static int ENCRYPTED_ENVELOPE_SIZE = 3;
static int CRC_SIZE = 2; static int CRC_SIZE = 2;
protected MedtronicReceiveMessage(CommandType commandType, CommandAction commandAction, MedtronicCNLSession pumpSession, byte[] payload) { protected MedtronicReceiveMessage(CommandType commandType, CommandAction commandAction, MedtronicCnlSession pumpSession, byte[] payload) {
super(commandType, commandAction, pumpSession, payload); super(commandType, commandAction, pumpSession, payload);
} }
...@@ -38,7 +38,7 @@ public class MedtronicReceiveMessage extends MedtronicMessage { ...@@ -38,7 +38,7 @@ public class MedtronicReceiveMessage extends MedtronicMessage {
* | byte receiveSequenceNumber | BE short receiveMessageType | byte[] Payload bytes | BE short CCITT CRC | * | byte receiveSequenceNumber | BE short receiveMessageType | byte[] Payload bytes | BE short CCITT CRC |
* +----------------------------+-----------------------------+----------------------+--------------------+ * +----------------------------+-----------------------------+----------------------+--------------------+
*/ */
public static ContourNextLinkMessage fromBytes(MedtronicCNLSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException { public static ContourNextLinkMessage fromBytes(MedtronicCnlSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException {
// TODO - turn this into a factory // TODO - turn this into a factory
ContourNextLinkMessage message = MedtronicMessage.fromBytes(bytes); ContourNextLinkMessage message = MedtronicMessage.fromBytes(bytes);
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
...@@ -28,7 +28,7 @@ public class MedtronicSendMessage extends MedtronicMessage { ...@@ -28,7 +28,7 @@ public class MedtronicSendMessage extends MedtronicMessage {
} }
} }
protected MedtronicSendMessage(SendMessageType sendMessageType, MedtronicCNLSession pumpSession, byte[] payload) throws EncryptionException { protected MedtronicSendMessage(SendMessageType sendMessageType, MedtronicCnlSession pumpSession, byte[] payload) throws EncryptionException {
super(CommandType.SEND_MESSAGE, CommandAction.PUMP_REQUEST, pumpSession, buildPayload(sendMessageType, pumpSession, payload)); super(CommandType.SEND_MESSAGE, CommandAction.PUMP_REQUEST, pumpSession, buildPayload(sendMessageType, pumpSession, payload));
} }
...@@ -43,7 +43,7 @@ public class MedtronicSendMessage extends MedtronicMessage { ...@@ -43,7 +43,7 @@ public class MedtronicSendMessage extends MedtronicMessage {
* | byte sendSequenceNumber | BE short sendMessageType | byte[] Payload bytes | BE short CCITT CRC | * | byte sendSequenceNumber | BE short sendMessageType | byte[] Payload bytes | BE short CCITT CRC |
* +-------------------------+----------------------+----------------------+--------------------+ * +-------------------------+----------------------+----------------------+--------------------+
*/ */
protected static byte[] buildPayload(SendMessageType sendMessageType, MedtronicCNLSession pumpSession, byte[] payload) throws EncryptionException { protected static byte[] buildPayload(SendMessageType sendMessageType, MedtronicCnlSession pumpSession, byte[] payload) throws EncryptionException {
byte payloadLength = (byte) (payload == null ? 0 : payload.length); byte payloadLength = (byte) (payload == null ? 0 : payload.length);
ByteBuffer sendPayloadBuffer = ByteBuffer.allocate(ENCRYPTED_ENVELOPE_SIZE + payloadLength + CRC_SIZE); ByteBuffer sendPayloadBuffer = ByteBuffer.allocate(ENCRYPTED_ENVELOPE_SIZE + payloadLength + CRC_SIZE);
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class PumpBasalPatternRequestMessage extends MedtronicSendMessage { public class PumpBasalPatternRequestMessage extends MedtronicSendMessage {
public PumpBasalPatternRequestMessage(MedtronicCNLSession pumpSession) throws EncryptionException { public PumpBasalPatternRequestMessage(MedtronicCnlSession pumpSession) throws EncryptionException {
super(SendMessageType.READ_BASAL_PATTERN_REQUEST, pumpSession, null); super(SendMessageType.READ_BASAL_PATTERN_REQUEST, pumpSession, null);
} }
} }
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 27/03/2016. * Created by lgoedhart on 27/03/2016.
*/ */
public class PumpBasalPatternResponseMessage extends MedtronicReceiveMessage { public class PumpBasalPatternResponseMessage extends MedtronicReceiveMessage {
protected PumpBasalPatternResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCNLSession pumpSession, byte[] payload) { protected PumpBasalPatternResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCnlSession pumpSession, byte[] payload) {
super(commandType, commandAction, pumpSession, payload); super(commandType, commandAction, pumpSession, payload);
} }
public static ContourNextLinkMessage fromBytes(MedtronicCNLSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException { public static ContourNextLinkMessage fromBytes(MedtronicCnlSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException {
// TODO - turn this into a factory // TODO - turn this into a factory
ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes); ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes);
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class PumpStatusRequestMessage extends MedtronicSendMessage { public class PumpStatusRequestMessage extends MedtronicSendMessage {
public PumpStatusRequestMessage(MedtronicCNLSession pumpSession) throws EncryptionException { public PumpStatusRequestMessage(MedtronicCnlSession pumpSession) throws EncryptionException {
super(SendMessageType.READ_PUMP_STATUS_REQUEST, pumpSession, null); super(SendMessageType.READ_PUMP_STATUS_REQUEST, pumpSession, null);
} }
} }
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 27/03/2016. * Created by lgoedhart on 27/03/2016.
*/ */
public class PumpStatusResponseMessage extends MedtronicReceiveMessage { public class PumpStatusResponseMessage extends MedtronicReceiveMessage {
protected PumpStatusResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCNLSession pumpSession, byte[] payload) { protected PumpStatusResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCnlSession pumpSession, byte[] payload) {
super(commandType, commandAction, pumpSession, payload); super(commandType, commandAction, pumpSession, payload);
} }
public static ContourNextLinkMessage fromBytes(MedtronicCNLSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException { public static ContourNextLinkMessage fromBytes(MedtronicCnlSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException {
// TODO - turn this into a factory // TODO - turn this into a factory
ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes); ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes);
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 26/03/2016. * Created by lgoedhart on 26/03/2016.
*/ */
public class PumpTimeRequestMessage extends MedtronicSendMessage { public class PumpTimeRequestMessage extends MedtronicSendMessage {
public PumpTimeRequestMessage(MedtronicCNLSession pumpSession) throws EncryptionException { public PumpTimeRequestMessage(MedtronicCnlSession pumpSession) throws EncryptionException {
super(SendMessageType.TIME_REQUEST, pumpSession, null); super(SendMessageType.TIME_REQUEST, pumpSession, null);
} }
} }
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 27/03/2016. * Created by lgoedhart on 27/03/2016.
*/ */
public class PumpTimeResponseMessage extends MedtronicReceiveMessage { public class PumpTimeResponseMessage extends MedtronicReceiveMessage {
protected PumpTimeResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCNLSession pumpSession, byte[] payload) { protected PumpTimeResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCnlSession pumpSession, byte[] payload) {
super(commandType, commandAction, pumpSession, payload); super(commandType, commandAction, pumpSession, payload);
} }
public static ContourNextLinkMessage fromBytes(MedtronicCNLSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException { public static ContourNextLinkMessage fromBytes(MedtronicCnlSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException {
// TODO - turn this into a factory // TODO - turn this into a factory
ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes); ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes);
......
package info.nightscout.android.medtronic.message; package info.nightscout.android.medtronic.message;
import info.nightscout.android.medtronic.MedtronicCNLSession; import info.nightscout.android.medtronic.MedtronicCnlSession;
/** /**
* Created by lgoedhart on 10/05/2016. * Created by lgoedhart on 10/05/2016.
*/ */
public class ReadInfoResponseMessage extends MedtronicReceiveMessage { public class ReadInfoResponseMessage extends MedtronicReceiveMessage {
protected ReadInfoResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCNLSession pumpSession, byte[] payload) { protected ReadInfoResponseMessage(CommandType commandType, CommandAction commandAction, MedtronicCnlSession pumpSession, byte[] payload) {
super(commandType, commandAction, pumpSession, payload); super(commandType, commandAction, pumpSession, payload);
} }
public static ContourNextLinkMessage fromBytes(MedtronicCNLSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException { public static ContourNextLinkMessage fromBytes(MedtronicCnlSession pumpSession, byte[] bytes) throws ChecksumException, EncryptionException {
// TODO - turn this into a factory // TODO - turn this into a factory
ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes); ContourNextLinkMessage message = MedtronicReceiveMessage.fromBytes(pumpSession, bytes);
......
...@@ -23,7 +23,7 @@ import java.util.concurrent.TimeoutException; ...@@ -23,7 +23,7 @@ import java.util.concurrent.TimeoutException;
import info.nightscout.android.R; import info.nightscout.android.R;
import info.nightscout.android.USB.UsbHidDriver; import info.nightscout.android.USB.UsbHidDriver;
import info.nightscout.android.medtronic.MainActivity; import info.nightscout.android.medtronic.MainActivity;
import info.nightscout.android.medtronic.MedtronicCNLReader; import info.nightscout.android.medtronic.MedtronicCnlReader;
import info.nightscout.android.medtronic.message.ChecksumException; import info.nightscout.android.medtronic.message.ChecksumException;
import info.nightscout.android.medtronic.message.EncryptionException; import info.nightscout.android.medtronic.message.EncryptionException;
import info.nightscout.android.medtronic.message.MessageUtils; import info.nightscout.android.medtronic.message.MessageUtils;
...@@ -133,7 +133,7 @@ public class MedtronicCnlIntentService extends IntentService { ...@@ -133,7 +133,7 @@ public class MedtronicCnlIntentService extends IntentService {
return; return;
} }
MedtronicCNLReader cnlReader = new MedtronicCNLReader(mHidDevice); MedtronicCnlReader cnlReader = new MedtronicCnlReader(mHidDevice);
Realm realm = Realm.getDefaultInstance(); Realm realm = Realm.getDefaultInstance();
realm.beginTransaction(); realm.beginTransaction();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment