             else {
                 self.clearTextView(self)
                 
-                // Configure port prior to opening
                 port.baudRate = 57600
                 port.numberOfStopBits = 1
                 port.parity = .None
                 port.open()
                 
-                // Start a Mavlink session on the Pixhawk mini USB port
-                if let data = "mavlink start -d /dev/ttyACM0\n".dataUsingEncoding(NSUTF32LittleEndianStringEncoding) {
-                	port.sendData(data)
+                if self.usbRadioButton.state != 0 {
+                    self.startUsbMavlinkSession()
                 }
             }
         }
     }
     
+    func startUsbMavlinkSession() {
+        guard let port = self.serialPort where port.open else {
+            print("Serial port is not open")
+            return
+        }
+        
+        guard let data = "mavlink start -d /dev/ttyACM0\n".dataUsingEncoding(NSUTF32LittleEndianStringEncoding) else {
+            print("Cannot create mavlink USB start command")
+            return
+        }
+        
+        port.sendData(data)
+    }
+    
     @IBAction func clearTextView(sender: AnyObject) {
         self.receivedMessageTextView.textStorage?.mutableString.setString("")
     }
     
     @IBAction func radioButtonSelected(sender: AnyObject) {
+        // No-op - required to make radio buttons behave as a group
     }
 
     // MARK: - ORSSerialPortDelegate Protocol

            serialPort?.delegate = self
        }
    }
	
    @IBOutlet weak var openCloseButton: NSButton!
    @IBOutlet weak var clearTextViewButton: NSButton!
    @IBOutlet var receivedMessageTextView: NSTextView!
    @IBOutlet weak var usbRadioButton: NSButton!
    @IBOutlet weak var telemetryRadioButton: NSButton!
    
    override init() {
        super.init()


class MavlinkController: NSObject, ORSSerialPortDelegate, NSUserNotificationCenterDelegate {

    // MARK: Stored Properties
    
    let serialPortManager = ORSSerialPortManager.sharedSerialPortManager()
	
    var serialPort: ORSSerialPort? {
