public SerialPortCommunicator(Context context) throws D2xxManager.D2xxException, FTDWrapperBadReadStatusException, FTDWrapperProcessNullException, FTDWrapperBadQueueStatusException, FTDWrapperNotOpenException { // Logger.log("Opening serial port"); D2xxManager ftD2xx; ftD2xx = D2xxManager.getInstance(context); if (ftD2xx.createDeviceInfoList(context) > 0) { ft_device = new FTDeviceWrapper(ftD2xx.openByIndex(context, 0)); /*if (ft_device.getFt_device().isOpen()) Logger.log("Serial port opened!"); else Logger.log("Serial port not opened!");*/ } else throw new D2xxManager.D2xxException( "Cannot open the device. Make sure the hardware is connected and turned on."); /* Set the following settings baudRate = 9600; stopBit = 1; dataBit = 8; parity = 0; flowControl = 0; */ ft_device.setBitMode((byte) 0, D2xxManager.FT_BITMODE_RESET); ft_device.setBaudRate(BAUDRATE); ft_device.setDataCharacteristics( D2xxManager.FT_DATA_BITS_8, D2xxManager.FT_STOP_BITS_1, D2xxManager.FT_PARITY_NONE); ft_device.setFlowControl(D2xxManager.FT_FLOW_NONE, XON, XOFF); /* ft_device is set and ready */ // Logger.log("ft_device is set and ready"); getRidOfResidueData(); }