From 8a0d9c885052118553ec2faf9a8e2b63aa399b98 Mon Sep 17 00:00:00 2001 From: Felipe Herranz Date: Fri, 5 Apr 2019 23:40:08 +0200 Subject: [PATCH] setBaudRated refactored --- .../com/felhr/usbserial/FTDISerialDevice.java | 78 ++++++++++--------- 1 file changed, 43 insertions(+), 35 deletions(-) diff --git a/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java index 5235138..77110eb 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java @@ -190,42 +190,9 @@ public class FTDISerialDevice extends UsbSerialDevice short[] encodedBaudRate = encodedBaudRate(baudRate); if(encodedBaudRate != null) { - connection.controlTransfer(FTDI_REQTYPE_HOST2DEVICE, FTDI_SIO_SET_BAUD_RATE - , encodedBaudRate[0], encodedBaudRate[1], null, 0, USB_TIMEOUT); + setEncodedBaudRate(encodedBaudRate); }else{ - int value = 0; - if(baudRate >= 0 && baudRate <= 300 ) - value = FTDI_BAUDRATE_300; - else if(baudRate > 300 && baudRate <= 600) - value = FTDI_BAUDRATE_600; - else if(baudRate > 600 && baudRate <= 1200) - value = FTDI_BAUDRATE_1200; - else if(baudRate > 1200 && baudRate <= 2400) - value = FTDI_BAUDRATE_2400; - else if(baudRate > 2400 && baudRate <= 4800) - value = FTDI_BAUDRATE_4800; - else if(baudRate > 4800 && baudRate <= 9600) - value = FTDI_BAUDRATE_9600; - else if(baudRate > 9600 && baudRate <=19200) - value = FTDI_BAUDRATE_19200; - else if(baudRate > 19200 && baudRate <= 38400) - value = FTDI_BAUDRATE_38400; - else if(baudRate > 19200 && baudRate <= 57600) - value = FTDI_BAUDRATE_57600; - else if(baudRate > 57600 && baudRate <= 115200) - value = FTDI_BAUDRATE_115200; - else if(baudRate > 115200 && baudRate <= 230400) - value = FTDI_BAUDRATE_230400; - else if(baudRate > 230400 && baudRate <= 460800) - value = FTDI_BAUDRATE_460800; - else if(baudRate > 460800 && baudRate <= 921600) - value = FTDI_BAUDRATE_921600; - else if(baudRate > 921600) - value = FTDI_BAUDRATE_921600; - else - value = FTDI_BAUDRATE_9600; - - setControlCommand(FTDI_SIO_SET_BAUD_RATE, value, 0); + setOldBaudRate(baudRate); } } @@ -826,4 +793,45 @@ public class FTDISerialDevice extends UsbSerialDevice return ret; } + + private void setEncodedBaudRate(short[] encodedBaudRate) { + connection.controlTransfer(FTDI_REQTYPE_HOST2DEVICE, FTDI_SIO_SET_BAUD_RATE + , encodedBaudRate[0], encodedBaudRate[1], null, 0, USB_TIMEOUT); + } + + private void setOldBaudRate(int baudRate) { + int value = 0; + if(baudRate >= 0 && baudRate <= 300 ) + value = FTDI_BAUDRATE_300; + else if(baudRate > 300 && baudRate <= 600) + value = FTDI_BAUDRATE_600; + else if(baudRate > 600 && baudRate <= 1200) + value = FTDI_BAUDRATE_1200; + else if(baudRate > 1200 && baudRate <= 2400) + value = FTDI_BAUDRATE_2400; + else if(baudRate > 2400 && baudRate <= 4800) + value = FTDI_BAUDRATE_4800; + else if(baudRate > 4800 && baudRate <= 9600) + value = FTDI_BAUDRATE_9600; + else if(baudRate > 9600 && baudRate <=19200) + value = FTDI_BAUDRATE_19200; + else if(baudRate > 19200 && baudRate <= 38400) + value = FTDI_BAUDRATE_38400; + else if(baudRate > 19200 && baudRate <= 57600) + value = FTDI_BAUDRATE_57600; + else if(baudRate > 57600 && baudRate <= 115200) + value = FTDI_BAUDRATE_115200; + else if(baudRate > 115200 && baudRate <= 230400) + value = FTDI_BAUDRATE_230400; + else if(baudRate > 230400 && baudRate <= 460800) + value = FTDI_BAUDRATE_460800; + else if(baudRate > 460800 && baudRate <= 921600) + value = FTDI_BAUDRATE_921600; + else if(baudRate > 921600) + value = FTDI_BAUDRATE_921600; + else + value = FTDI_BAUDRATE_9600; + + setControlCommand(FTDI_SIO_SET_BAUD_RATE, value, 0); + } }