         traceFilesourceTimer.invalidate()
         // notify the client app if the callback is enabled
         if let act = managerCallback {
-          act.performAction(["status":VehicleManagerStatusMessage.trace_SOURCE_END.rawValue] as Dictionary)
+          act.performAction(["status":VehicleManagerStatusMessage.trace_SOURCE_END.rawValue] as NSMutableDictionary)
         }
       }
       

        if (!decoded) {
          // should never get here!
          if let act = managerCallback {
            act.performAction(["status":VehicleManagerStatusMessage.ble_RX_DATA_PARSE_ERROR.rawValue] as Dictionary)
          }
        }


      } else {
        sendBytes = cmdToSend.subdata(with: rangedata)
        let leftdata = NSMakeRange(20,cmdToSend.length-20)
        cmdToSend = NSData(data: cmdToSend.subdata(with: leftdata)) as! NSMutableData
      }
      // write the byte chunk to the VI
      openXCPeripheral.writeValue(sendBytes, for: openXCWriteChar, type: CBCharacteristicWriteType.withResponse)
