diff --git a/ShimmerAndroidInstrumentDriver/shimmerBasicExample/build.gradle b/ShimmerAndroidInstrumentDriver/shimmerBasicExample/build.gradle index e231b57c..cd9c2422 100644 --- a/ShimmerAndroidInstrumentDriver/shimmerBasicExample/build.gradle +++ b/ShimmerAndroidInstrumentDriver/shimmerBasicExample/build.gradle @@ -46,13 +46,20 @@ dependencies { androidTestCompile 'com.android.support:support-annotations:25.3.1' compile(group: 'com.shimmersensing', name: 'ShimmerAndroidInstrumentDriver', version: '3.0.72Beta', ext: 'aar') - implementation (group: 'com.shimmersensing', name: 'ShimmerBluetoothManager', version:'0.9.42beta'){ - // excluding org.json which is provided by Android - exclude group: 'io.netty' - exclude group: 'com.google.protobuf' - exclude group: 'org.apache.commons.math' - } - implementation (group: 'com.shimmersensing', name: 'ShimmerDriver', version:'0.9.138beta'){ +// implementation (group: 'com.shimmersensing', name: 'ShimmerBluetoothManager', version:'0.9.42beta'){ +// // excluding org.json which is provided by Android +// exclude group: 'io.netty' +// exclude group: 'com.google.protobuf' +// exclude group: 'org.apache.commons.math' +// } +// implementation (group: 'com.shimmersensing', name: 'ShimmerDriver', version:'0.9.138beta'){ +// // excluding org.json which is provided by Android +// exclude group: 'io.netty' +// exclude group: 'com.google.protobuf' +// exclude group: 'org.apache.commons.math' +// } + + implementation (group: 'com.shimmersensing', name: 'ShimmerDriverDev', version:'JA-79 v0.1'){ // excluding org.json which is provided by Android exclude group: 'io.netty' exclude group: 'com.google.protobuf' diff --git a/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/java/shimmerresearch/com/shimmerbasicexample/MainActivity.java b/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/java/shimmerresearch/com/shimmerbasicexample/MainActivity.java index e753e065..a01fc911 100644 --- a/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/java/shimmerresearch/com/shimmerbasicexample/MainActivity.java +++ b/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/java/shimmerresearch/com/shimmerbasicexample/MainActivity.java @@ -7,6 +7,9 @@ import android.os.Message; import android.util.Log; import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Spinner; import android.widget.Toast; import com.shimmerresearch.android.Shimmer; @@ -21,16 +24,17 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Collection; -import java.util.Timer; -import java.util.TimerTask; +import java.util.List; import static com.shimmerresearch.android.guiUtilities.ShimmerBluetoothDialog.EXTRA_DEVICE_ADDRESS; -public class MainActivity extends Activity { +public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener { private final static String LOG_TAG = "ShimmerBasicExample"; Shimmer shimmer; + Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,6 +42,41 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_main); shimmer = new Shimmer(mHandler); + spinner = (Spinner) findViewById(R.id.crcSpinner); + spinner.setEnabled(false); + // Spinner click listener + spinner.setOnItemSelectedListener(this); + List categories = new ArrayList(); + categories.add("Disable crc"); + categories.add("Enable 1 byte CRC"); + categories.add("Enable 2 byte CRC"); + // Creating adapter for spinner + ArrayAdapter dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, categories); + dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + // attaching data adapter to spinner + spinner.setAdapter(dataAdapter); + } + + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + if(spinner.isEnabled()){ + switch(position) { + case 0: + shimmer.disableBtCommsCrc(); + break; + case 1: + shimmer.enableBtCommsOneByteCrc(); + break; + case 2: + shimmer.enableBtCommsTwoByteCrc(); + break; + default: + } + } + } + + public void onNothingSelected(AdapterView parent) { + // Another interface callback } public void connectDevice(View v) { @@ -107,16 +146,36 @@ public void handleMessage(Message msg) { switch (state) { case CONNECTED: + if(shimmer.getFirmwareVersionCode() >= 8){ + if(!spinner.isEnabled()){ + switch(shimmer.getBtCommsCrcModeIfFwSupported()) { + case OFF: + spinner.setSelection(0); + break; + case ONE_BYTE_CRC: + spinner.setSelection(1); + break; + case TWO_BYTE_CRC: + spinner.setSelection(2); + break; + default: + } + } + spinner.setEnabled(true); + } break; case CONNECTING: break; case STREAMING: + spinner.setEnabled(false); break; case STREAMING_AND_SDLOGGING: break; case SDLOGGING: break; case DISCONNECTED: + spinner.setEnabled(false); + spinner.setSelection(0); break; } break; diff --git a/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/res/layout/activity_main.xml b/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/res/layout/activity_main.xml index aba5d886..ee519f01 100644 --- a/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/res/layout/activity_main.xml +++ b/ShimmerAndroidInstrumentDriver/shimmerBasicExample/src/main/res/layout/activity_main.xml @@ -43,7 +43,10 @@ android:layout_height="wrap_content" android:onClick="connectDevice" android:text="Connect" /> - +