Skip to content

Commit 1daf32d

Browse files
committed
Fix potential errors
1 parent abe3e56 commit 1daf32d

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/se/bitcraze/crazyfliecontrol/prefs/PreferencesActivity.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,12 +525,15 @@ protected ConnectionData[] doInBackground(Void... arg0) {
525525
try {
526526
usbLinkAndroid = new UsbLinkAndroid(getActivity());
527527
crlink = new Crazyradio(usbLinkAndroid);
528+
if(!usbLinkAndroid.isUsbConnected()) {
529+
throw new IllegalArgumentException("Scanning is only supported with Crazyradio.");
530+
}
528531
//For testing purposes only
529532
// return new ConnectionData[0];
530533
boolean useSlowScan = false;
531534
//Use slow scan, when Crazyradio firmware version is 0.52 or 0.53
532-
if(0.52f == usbLinkAndroid.getFirmwareVersion() ||
533-
0.53f == usbLinkAndroid.getFirmwareVersion()){
535+
float firmwareVersion = usbLinkAndroid.getFirmwareVersion();
536+
if(0.52f == firmwareVersion || 0.53f == firmwareVersion){
534537
useSlowScan = true;
535538
}
536539
return crlink.scanChannels(useSlowScan);

src/se/bitcraze/crazyfliecontrol2/UsbLinkAndroid.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ public static List<UsbDevice> findUsbDevices(UsbManager usbManager, int vendorId
210210
* @see se.bitcraze.crazyflie.lib.IUsbLink#getFirmwareVersion()
211211
*/
212212
public float getFirmwareVersion() {
213+
if (mConnection == null) {
214+
return 0.0f;
215+
}
213216
byte[] rawDescs = mConnection.getRawDescriptors();
214217
return Float.parseFloat(Integer.toHexString(rawDescs[13]) + "." + Integer.toHexString(rawDescs[12]));
215218
}

0 commit comments

Comments
 (0)