|
17 | 17 | import com.shimmerresearch.verisense.communication.ByteCommunicationListener; |
18 | 18 |
|
19 | 19 | import bolts.TaskCompletionSource; |
20 | | -import junit.framework.Test; |
21 | 20 |
|
22 | 21 | /**Driver for managing and configuring the Shimmer through the Dock using the |
23 | 22 | * Shimmer's dock connected UART. |
@@ -88,92 +87,8 @@ public ShimmerVerObject readHwFwVersion() throws ExecutionException { |
88 | 87 | ShimmerVerObject shimmerVerDetails = new ShimmerVerObject(rxBuf); |
89 | 88 | return shimmerVerDetails; |
90 | 89 | } |
91 | | - |
92 | | - public void addTestStringListener(StringListener stringTestListener) { |
93 | | - mStringTestListener = stringTestListener; |
94 | | - } |
95 | | - boolean ackNotReceivedForTestCommand = true; |
96 | | - /** |
97 | | - * @param timeoutInSeconds |
98 | | - * @return |
99 | | - * @throws ExecutionException |
100 | | - */ |
101 | | - public boolean readMainTest(UartComponentPropertyDetails details) throws ExecutionException { |
102 | | - int errorCode = ErrorCodesWiredProtocol.SHIMMERUART_CMD_ERR_VERSION_INFO_GET; |
103 | | - //rxBuf = processShimmerSetCommand(compPropDetails, txBuf, errorCode);(UartPacketDetails.UART_COMPONENT_AND_PROPERTY.DEVICE_TEST.MAIN_TEST, -1); |
104 | | - TaskCompletionSource tcs = new TaskCompletionSource<>(); |
105 | | - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
106 | | - ackNotReceivedForTestCommand = true; |
107 | | - setListener(new ByteCommunicationListener() { |
108 | | - |
109 | | - @Override |
110 | | - public void eventNewBytesReceived(byte[] rxBytes) { |
111 | | - // TODO Auto-generated method stub |
112 | | - System.out.println("Test : " + UtilShimmer.bytesToHexString(rxBytes)); |
113 | | - try { |
114 | | - outputStream.write(rxBytes); |
115 | | - String result = new String(outputStream.toByteArray()); |
116 | | - if (ackNotReceivedForTestCommand) { |
117 | | - byte[] originalBytes = outputStream.toByteArray(); |
118 | | - boolean match = UtilShimmer.doesFirstBytesMatch(originalBytes, TEST_ACK); |
119 | | - if (match) { |
120 | | - outputStream.reset(); |
121 | | - outputStream.write(originalBytes, TEST_ACK.length, originalBytes.length - TEST_ACK.length); |
122 | | - result = new String(outputStream.toByteArray()); |
123 | | - ackNotReceivedForTestCommand = false; |
124 | | - } |
125 | | - |
126 | | - |
127 | | - } |
128 | | - |
129 | | - System.out.println(result); |
130 | | - if (mStringTestListener!=null){ |
131 | | - mStringTestListener.eventNewStringRx(result); |
132 | | - } |
133 | | - if (result.contains(TEST_ENDING)) { |
134 | | - tcs.setResult(true); |
135 | | - } |
136 | | - } catch (IOException e) { |
137 | | - // TODO Auto-generated catch block |
138 | | - e.printStackTrace(); |
139 | | - tcs.setResult(false); |
140 | | - } |
141 | | - |
142 | | - } |
143 | | - |
144 | | - @Override |
145 | | - public void eventDisconnected() { |
146 | | - // TODO Auto-generated method stub |
147 | | - |
148 | | - } |
149 | | - |
150 | | - @Override |
151 | | - public void eventConnected() { |
152 | | - // TODO Auto-generated method stub |
153 | | - |
154 | | - } |
155 | | - }); |
156 | | - // Parse response string |
157 | | - mTestStreaming = true; |
158 | | - //processShimmerSetCommandNoWait(UartPacketDetails.UART_COMPONENT_AND_PROPERTY.DEVICE_TEST.MAIN_TEST, errorCode, null); |
159 | | - processShimmerSetCommandNoWait(details, errorCode, null); |
160 | | - boolean completed = false; |
161 | | - try { |
162 | | - completed = tcs.getTask().waitForCompletion(TIMEOUT_IN_SHIMMER_TEST, TimeUnit.SECONDS); |
163 | | - } catch (InterruptedException e) { |
164 | | - // TODO Auto-generated catch block |
165 | | - e.printStackTrace(); |
166 | | - mTestStreaming = false; |
167 | | - return false; |
168 | | - } |
169 | | - mTestStreaming = false; |
170 | | - return completed; |
171 | | - } |
172 | | - |
173 | | - public boolean isTestStreaming() { |
174 | | - return mTestStreaming; |
175 | | - } |
176 | | - |
| 90 | + |
| 91 | + |
177 | 92 | /** Read the real time clock config time of the Shimmer |
178 | 93 | * @return long the Shimmer RTC configure time in milliseconds UNIX time (since 1970-Jan-01 00:00:00 UTC) |
179 | 94 | * @throws ExecutionException |
@@ -354,6 +269,100 @@ public BluetoothModuleVersionDetails readBtFwVersion() throws ExecutionException |
354 | 269 | return bluetoothModuleVersionDetails; |
355 | 270 | } |
356 | 271 |
|
| 272 | + public void addTestStringListener(StringListener stringTestListener) { |
| 273 | + mStringTestListener = stringTestListener; |
| 274 | + } |
| 275 | + boolean ackNotReceivedForTestCommand = true; |
| 276 | + /** |
| 277 | + * @param timeoutInSeconds |
| 278 | + * @return |
| 279 | + * @throws ExecutionException |
| 280 | + */ |
| 281 | + public boolean readMainTest(UartComponentPropertyDetails details) throws ExecutionException { |
| 282 | + int errorCode = ErrorCodesWiredProtocol.SHIMMERUART_CMD_ERR_VERSION_INFO_GET; |
| 283 | + //rxBuf = processShimmerSetCommand(compPropDetails, txBuf, errorCode);(UartPacketDetails.UART_COMPONENT_AND_PROPERTY.DEVICE_TEST.MAIN_TEST, -1); |
| 284 | + TaskCompletionSource tcs = new TaskCompletionSource<>(); |
| 285 | + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
| 286 | + ackNotReceivedForTestCommand = true; |
| 287 | + setListener(new ByteCommunicationListener() { |
| 288 | + |
| 289 | + @Override |
| 290 | + public void eventNewBytesReceived(byte[] rxBytes) { |
| 291 | + // TODO Auto-generated method stub |
| 292 | + System.out.println("Test : " + UtilShimmer.bytesToHexString(rxBytes)); |
| 293 | + try { |
| 294 | + outputStream.write(rxBytes); |
| 295 | + String result = new String(outputStream.toByteArray()); |
| 296 | + if (ackNotReceivedForTestCommand) { |
| 297 | + byte[] originalBytes = outputStream.toByteArray(); |
| 298 | + boolean match = UtilShimmer.doesFirstBytesMatch(originalBytes, TEST_ACK); |
| 299 | + if (match) { |
| 300 | + outputStream.reset(); |
| 301 | + outputStream.write(originalBytes, TEST_ACK.length, originalBytes.length - TEST_ACK.length); |
| 302 | + result = new String(outputStream.toByteArray()); |
| 303 | + ackNotReceivedForTestCommand = false; |
| 304 | + } |
| 305 | + |
| 306 | + |
| 307 | + } |
| 308 | + |
| 309 | + System.out.println(result); |
| 310 | + if (mStringTestListener!=null){ |
| 311 | + mStringTestListener.eventNewStringRx(result); |
| 312 | + } |
| 313 | + if (result.contains(TEST_ENDING)) { |
| 314 | + tcs.setResult(true); |
| 315 | + } |
| 316 | + } catch (IOException e) { |
| 317 | + // TODO Auto-generated catch block |
| 318 | + e.printStackTrace(); |
| 319 | + tcs.setResult(false); |
| 320 | + } |
| 321 | + |
| 322 | + } |
| 323 | + |
| 324 | + @Override |
| 325 | + public void eventDisconnected() { |
| 326 | + // TODO Auto-generated method stub |
| 327 | + |
| 328 | + } |
| 329 | + |
| 330 | + @Override |
| 331 | + public void eventConnected() { |
| 332 | + // TODO Auto-generated method stub |
| 333 | + |
| 334 | + } |
| 335 | + }); |
| 336 | + // Parse response string |
| 337 | + mTestStreaming = true; |
| 338 | + //processShimmerSetCommandNoWait(UartPacketDetails.UART_COMPONENT_AND_PROPERTY.DEVICE_TEST.MAIN_TEST, errorCode, null); |
| 339 | + processShimmerSetCommandNoWait(details, errorCode, null); |
| 340 | + boolean completed = false; |
| 341 | + try { |
| 342 | + completed = tcs.getTask().waitForCompletion(TIMEOUT_IN_SHIMMER_TEST, TimeUnit.SECONDS); |
| 343 | + } catch (InterruptedException e) { |
| 344 | + // TODO Auto-generated catch block |
| 345 | + e.printStackTrace(); |
| 346 | + mTestStreaming = false; |
| 347 | + return false; |
| 348 | + } |
| 349 | + mTestStreaming = false; |
| 350 | + return completed; |
| 351 | + } |
| 352 | + |
| 353 | + public boolean isTestStreaming() { |
| 354 | + return mTestStreaming; |
| 355 | + } |
| 356 | + |
| 357 | + /** Read the BT FW version |
| 358 | + * @return String in bytes format |
| 359 | + * @throws ExecutionException |
| 360 | + */ |
| 361 | + public void writeJumpToBootloaderMode(byte secondsDelay) throws ExecutionException { |
| 362 | + int errorCode = ErrorCodesWiredProtocol.SHIMMERUART_CMD_ERR_ENTER_BOOTLOADER_SET; |
| 363 | + processShimmerSetCommand(UartPacketDetails.UART_COMPONENT_AND_PROPERTY.MAIN_PROCESSOR.ENTER_BOOTLOADER, new byte[] {secondsDelay}, errorCode); |
| 364 | + } |
| 365 | + |
357 | 366 | @Override |
358 | 367 | protected void processMsgFromCallback(ShimmerMsg shimmerMSG) { |
359 | 368 | // TODO Auto-generated method stub |
|
0 commit comments