From 93e4ad02e7deb39af6b3dfac622a7cfa759a7c2a Mon Sep 17 00:00:00 2001 From: JongChern Date: Thu, 16 May 2024 17:23:06 +0800 Subject: [PATCH 1/4] fixes made --- .../java/com/shimmerresearch/android/Shimmer.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java b/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java index 8c696ecc..59384e33 100644 --- a/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java +++ b/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java @@ -726,6 +726,9 @@ public void stop() { @Override protected void clearSingleDataPacketFromBuffers(byte[] bufferTemp, int packetSize) { byte[] fullBuffer = mByteArrayOutputStream.toByteArray(); + if ((fullBuffer.length-packetSize)<0){ + return; + } byte[] keepBuffer = new byte[fullBuffer.length-packetSize]; System.arraycopy(fullBuffer,packetSize,keepBuffer,0,keepBuffer.length); this.mByteArrayOutputStream.reset(); @@ -962,18 +965,18 @@ protected void processWhileStreaming() { } //If there is a full packet and the subsequent sequence number of following packet - int size = mByteArrayOutputStream.size(); while(mByteArrayOutputStream.size()>=getPacketSizeWithCrc()+2){ // +2 because there are two acks + int size = mByteArrayOutputStream.size(); processPacket(); int newSize = mByteArrayOutputStream.size(); if (size == newSize){ consolePrintLn("processWhileStreaming: Leaving while loop"); break; } + size = newSize; } } - /**this is to clear the buffer * */ @@ -1795,6 +1798,14 @@ public Set getSensorIdsSet() { return super.getSensorIdsSet(); } + @Override + public void readBattery() { + if (isStreaming()) { + writeBytes(new byte[]{-107}); + } else { + super.readBattery(); + } + } // @Override // protected void checkBatteryShimmer2r() { From 3e09f505e2a2292b119ca6f6b81168cc4a276562 Mon Sep 17 00:00:00 2001 From: JongChern Date: Fri, 17 May 2024 10:12:01 +0800 Subject: [PATCH 2/4] minor fix --- .../java/com/shimmerresearch/android/Shimmer.java | 12 ++++++++++++ .../shimmerserviceexample/MainActivity.java | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java b/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java index 59384e33..3bf49528 100644 --- a/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java +++ b/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java @@ -1807,6 +1807,18 @@ public void readBattery() { } } + @Override + public void readStatusLogAndStream() { + if (this.isSupportedInStreamCmds()) { + if (isStreaming()) { + writeBytes(new byte[]{-107}); + } else { + super.readStatusLogAndStream(); + } + } + + } + // @Override // protected void checkBatteryShimmer2r() { // if (!mWaitForAck) { diff --git a/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java b/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java index 89fa253a..1a77ed01 100644 --- a/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java +++ b/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java @@ -242,7 +242,8 @@ public boolean onOptionsItemSelected(MenuItem item) { //Disable PC timestamps for better performance. Disabling this takes the timestamps on every full packet received instead of on every byte received. ((ShimmerBluetooth) mDevice).enablePCTimeStamps(false); //Disable timers for better performance. - ((ShimmerBluetooth) mDevice).stopAllTimers(); + //((ShimmerBluetooth) mDevice).stopAllTimers(); + ((Shimmer) mDevice).startTimerReadBattStatusTest(); } try { mDevice.startStreaming(); From b4e3ac7efb62dad1bb07e8672150d78ab4c37575 Mon Sep 17 00:00:00 2001 From: JongChern Date: Fri, 17 May 2024 10:12:49 +0800 Subject: [PATCH 3/4] revert --- .../shimmerresearch/shimmerserviceexample/MainActivity.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java b/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java index 1a77ed01..89fa253a 100644 --- a/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java +++ b/ShimmerAndroidInstrumentDriver/shimmerServiceExample/src/main/java/com/shimmerresearch/shimmerserviceexample/MainActivity.java @@ -242,8 +242,7 @@ public boolean onOptionsItemSelected(MenuItem item) { //Disable PC timestamps for better performance. Disabling this takes the timestamps on every full packet received instead of on every byte received. ((ShimmerBluetooth) mDevice).enablePCTimeStamps(false); //Disable timers for better performance. - //((ShimmerBluetooth) mDevice).stopAllTimers(); - ((Shimmer) mDevice).startTimerReadBattStatusTest(); + ((ShimmerBluetooth) mDevice).stopAllTimers(); } try { mDevice.startStreaming(); From 8f5452b7255f2878f3b362976de0fce7017fbf8a Mon Sep 17 00:00:00 2001 From: JongChern Date: Fri, 17 May 2024 16:01:47 +0800 Subject: [PATCH 4/4] minor fix --- .../src/main/java/com/shimmerresearch/android/Shimmer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java b/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java index 3bf49528..9c647cbc 100644 --- a/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java +++ b/ShimmerAndroidInstrumentDriver/ShimmerAndroidInstrumentDriver/src/main/java/com/shimmerresearch/android/Shimmer.java @@ -1801,7 +1801,7 @@ public Set getSensorIdsSet() { @Override public void readBattery() { if (isStreaming()) { - writeBytes(new byte[]{-107}); + writeBytes(new byte[]{GET_VBATT_COMMAND}); } else { super.readBattery(); } @@ -1811,7 +1811,7 @@ public void readBattery() { public void readStatusLogAndStream() { if (this.isSupportedInStreamCmds()) { if (isStreaming()) { - writeBytes(new byte[]{-107}); + writeBytes(new byte[]{GET_STATUS_COMMAND}); } else { super.readStatusLogAndStream(); }