@@ -135,14 +135,7 @@ protected ShimmerDevice createNewShimmer3(String comPort, String bluetoothAddres
135135 @ Override
136136 protected ShimmerDevice createNewShimmer3 (ShimmerRadioInitializer radioInitializer , String bluetoothAddress ) {
137137 AbstractSerialPortHal serialPortComm = radioInitializer .getSerialCommPort ();
138- String comPort = "" ;
139-
140- // Support both JSSC and jSerialComm
141- if (serialPortComm instanceof SerialPortCommJSerialComm ) {
142- comPort = ((SerialPortCommJSerialComm ) serialPortComm ).mComPort ;
143- } else if (serialPortComm instanceof SerialPortCommJssc ) {
144- comPort = ((SerialPortCommJssc ) serialPortComm ).mComPort ;
145- }
138+ String comPort = extractComPortFromSerialPortHal (serialPortComm );
146139
147140 ShimmerPC shimmerDevice = (ShimmerPC )createNewShimmer3 (comPort , bluetoothAddress );
148141
@@ -170,14 +163,7 @@ protected Shimmer4sdk createNewShimmer4(String comPort, String bluetoothAddress)
170163 @ Override
171164 protected Shimmer4sdk createNewShimmer4 (ShimmerRadioInitializer radioInitializer , String bluetoothAddress ) {
172165 AbstractSerialPortHal serialPortComm = radioInitializer .getSerialCommPort ();
173- String comPort = "" ;
174-
175- // Support both JSSC and jSerialComm
176- if (serialPortComm instanceof SerialPortCommJSerialComm ) {
177- comPort = ((SerialPortCommJSerialComm ) serialPortComm ).mComPort ;
178- } else if (serialPortComm instanceof SerialPortCommJssc ) {
179- comPort = ((SerialPortCommJssc ) serialPortComm ).mComPort ;
180- }
166+ String comPort = extractComPortFromSerialPortHal (serialPortComm );
181167
182168 Shimmer4sdk shimmer4 = createNewShimmer4 (comPort , bluetoothAddress );
183169 if (serialPortComm !=null ){
@@ -188,6 +174,23 @@ protected Shimmer4sdk createNewShimmer4(ShimmerRadioInitializer radioInitializer
188174 return shimmer4 ;
189175 }
190176
177+ /**
178+ * Helper method to extract COM port name from serial port HAL
179+ * Supports both JSSC and jSerialComm implementations
180+ * @param serialPortComm AbstractSerialPortHal instance
181+ * @return COM port name as String
182+ */
183+ private String extractComPortFromSerialPortHal (AbstractSerialPortHal serialPortComm ) {
184+ String comPort = "" ;
185+ // Support both JSSC and jSerialComm
186+ if (serialPortComm instanceof SerialPortCommJSerialComm ) {
187+ comPort = ((SerialPortCommJSerialComm ) serialPortComm ).mComPort ;
188+ } else if (serialPortComm instanceof SerialPortCommJssc ) {
189+ comPort = ((SerialPortCommJssc ) serialPortComm ).mComPort ;
190+ }
191+ return comPort ;
192+ }
193+
191194 /**
192195 * Helper method to convert jSerialComm SerialPort to JSSC SerialPort
193196 * This is needed because ShimmerPC.setSerialPort() expects a JSSC SerialPort
0 commit comments