@@ -275,6 +275,7 @@ public String toString() {
275275 protected boolean mEnablePCTimeStamps = true ;
276276 protected BT_CRC_MODE mBtCommsCrcModeCurrent = BT_CRC_MODE .OFF ;
277277 protected static BT_CRC_MODE DEFAULT_BT_CRC_MODE_IF_SUPPORTED = BT_CRC_MODE .ONE_BYTE_CRC ;
278+ public static boolean RN4678_ERROR_DETECTION_ENABLED = false ;
278279
279280 public enum BT_CRC_MODE {
280281 OFF (0 ),
@@ -292,6 +293,11 @@ public int getNumCrcBytes() {
292293 }
293294 }
294295
296+ public enum SHIMMER_FEATURE {
297+ NONE ,
298+ RN4678_ERROR_DETECTION ,
299+ }
300+
295301 public static final Map <Byte , BtCommandDetails > mBtCommandMapOther ;
296302 static {
297303 Map <Byte , BtCommandDetails > aMap = new LinkedHashMap <Byte , BtCommandDetails >();
@@ -420,7 +426,8 @@ public int getNumCrcBytes() {
420426 aMap .put (UPD_SDLOG_CFG_COMMAND , new BtCommandDetails (UPD_SDLOG_CFG_COMMAND , "UPD_SDLOG_CFG_COMMAND" ));
421427 aMap .put (SET_CRC_COMMAND , new BtCommandDetails (SET_CRC_COMMAND , "SET_CRC_COMMAND" ));
422428 aMap .put (SET_RWC_COMMAND , new BtCommandDetails (SET_RWC_COMMAND , "SET_RWC_COMMAND" ));
423- aMap .put (SET_TEST , new BtCommandDetails (SET_TEST , "SET_TEST_COMMAND" ));
429+ aMap .put (SET_TEST , new BtCommandDetails (SET_TEST , "SET_TEST_COMMAND" ));
430+ aMap .put (SET_FEATURE , new BtCommandDetails (SET_FEATURE , "SET_FEATURE_COMMAND" ));
424431 mBtSetCommandMap = Collections .unmodifiableMap (aMap );
425432 }
426433
@@ -2637,6 +2644,10 @@ private void initializeShimmer3or3R(int hardwareVersion){
26372644 writeBtCommsCrcMode (DEFAULT_BT_CRC_MODE_IF_SUPPORTED );
26382645 }
26392646
2647+ if (RN4678_ERROR_DETECTION_ENABLED && isSupportedRn4678ErrorTest ()) {
2648+ wristSetFeatureCommand (SHIMMER_FEATURE .RN4678_ERROR_DETECTION .ordinal (), 1 );
2649+ }
2650+
26402651 if (isSetupDeviceWhileConnecting ()){
26412652 if (mFixedShimmerConfigMode !=null && mFixedShimmerConfigMode !=FIXED_SHIMMER_CONFIG_MODE .NONE ){
26422653 boolean triggerConfig = setFixedConfigWhenConnecting ();
@@ -4631,6 +4642,10 @@ public void writeMemCommand(int command, int address, byte[] infoMemBytes) {
46314642 writeInstruction (instructionBuffer );
46324643 }
46334644 }
4645+
4646+ public void wristSetFeatureCommand (int feature , int setting ){
4647+ writeInstruction (new byte []{SET_FEATURE , (byte )feature , (byte )setting });
4648+ }
46344649
46354650 //endregion --------- READ/WRITE FUNCTIONS ---------
46364651
0 commit comments