tw.com.prolific.pl2303gmultilib

## Class PL2303GMultiLib

- java.lang.Object
- - tw.com.prolific.pl2303gmultilib.PL2303GMultiLib

-     public class PL2303GMultiLib
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PL2303GMultiLib.BaudRate`
    `static class` | `PL2303GMultiLib.DataBits`
    `static class` | `PL2303GMultiLib.FlowControl`
    `static class` | `PL2303GMultiLib.Parity`
    `static class` | `PL2303GMultiLib.StopBits`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BAUD0`
    `static int` | `BAUD115200`
    `static int` | `BAUD1200`
    `static int` | `BAUD1228800`
    `static int` | `BAUD14400`
    `static int` | `BAUD150`
    `static int` | `BAUD1800`
    `static int` | `BAUD19200`
    `static int` | `BAUD230400`
    `static int` | `BAUD2400`
    `static int` | `BAUD2457600`
    `static int` | `BAUD300`
    `static int` | `BAUD3000000`
    `static int` | `BAUD38400`
    `static int` | `BAUD460800`
    `static int` | `BAUD4800`
    `static int` | `BAUD57600`
    `static int` | `BAUD600`
    `static int` | `BAUD6000000`
    `static int` | `BAUD614400`
    `static int` | `BAUD75`
    `static int` | `BAUD921600`
    `static int` | `BAUD9600`
    `static int` | `PL2303G_CTS_ON`
    `static int` | `PL2303G_DCD_ON`
    `static int` | `PL2303G_DSR_ON`
    `static int` | `PL2303G_RI_ON`
    `java.lang.String` | `PLUART_DETACHED`
    `java.lang.String` | `PLUART_MESSAGE`
    `java.util.Hashtable<java.lang.String,java.lang.String>` | `Prolific_DevicePath_2_COMNumber`
    `java.util.Hashtable<java.lang.String,UsbDevice>` | `ProlificUSBCurrentDeviceList`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PL2303GMultiLib(UsbManager manager, Context context, java.lang.String sAppName)` Initialize a PL2303G driver, the software 4K Queue buffer is enable.
    `PL2303GMultiLib(UsbManager manager, Context context, java.lang.String sAppName, boolean bWithQueue)` Initialize a PL2303G driver

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `EnableFixed_COMPort_Mode()` Enable Fixed COM port Mode
    `void` | `PL2303CloseDeviceByIndex(int index)` Close an PL-UART USB Device by index
    `boolean` | `PL2303Device_GetCommTimeouts(int TimeoutConstant)` The PL2303Device_GetCommTimeouts function retrieves the time-out parameters for all read and write operations on a specified communications device.
    `java.lang.String` | `PL2303Device_GetSerialNumber(int index)`
    `boolean` | `PL2303Device_IsSupportChip(int index)` Detecting whether this PL2303 supports this Android OS, only PL2303G / PL2303EA / RL2303RA are supported.
    `boolean` | `PL2303Device_SetCommTimeouts(int TimeoutConstant)` The PL2303Device_SetCommTimeouts function sets the time-out parameters for all read and write operations on a specified communications device.
    `int` | `PL2303Enumerate()` Found a PL2303G device number , the default VID_PID is 067B_2303
    `int` | `PL2303G_Enable_GPIO_B(int index, int GPIO_Num, boolean Enable)` PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to control the direction of these pin
    `int[]` | `PL2303G_Get_GPIO_Value_B(int index, int GPIO_Num)` PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to get the status of these pin when the direction is input mode
    `int[]` | `PL2303G_GetCommModemStatus(int index)` The PL2303G_GetCommModemStatus function retrieves modem control-register values.
    `int` | `PL2303G_GPIO_B_CNT_ENABLE(int index, boolean Enable)` PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to Init GPIO_B
    `void` | `PL2303G_ReSetStatus()` ReSet Port Status
    `int` | `PL2303G_Set_GPIO_Value_B(int index, int GPIO_Num, int val)` PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to control the status of these pin when the direction is output mode
    `int` | `PL2303G_SetDTR(int index, boolean state)` Switch PL2303G DTR on or off
    `int` | `PL2303G_SetRTS(int index, boolean state)` Switch PL2303G RTS on or off
    `java.lang.String` | `PL2303getCOMNumber(int index)` Get the PL2303G COM port Number : COM1, COM2, COM3....
    `java.lang.String` | `PL2303getDevicePathByIndex(int index)` Get the Device Path..
    `int` | `PL2303getProlificUSBDeviceCount()` Returns the active device number of PL2303.
    `java.lang.String` | `PL2303getSerialByIndex(int index)` Returns the serial number for the device.
    `boolean` | `PL2303IsDeviceConnectedByIndex(int index)` Get the connection status of this PL2303G, ie, whether there is an active connection with PL2303G device.
    `int` | `PL2303LibGetVersion(byte[] byVersion)` Get Lib version
    `boolean` | `PL2303OpenDevByBaudRate(int index, PL2303GMultiLib.BaudRate R)` Open an PL-UART USB Device by baudrate
    `boolean` | `PL2303OpenDevByDefualtSetting(int index)` Open an PL-UART USB Device by default UART setting
    `boolean` | `PL2303OpenDevByUARTSetting(int index, PL2303GMultiLib.BaudRate R, PL2303GMultiLib.DataBits D, PL2303GMultiLib.StopBits S, PL2303GMultiLib.Parity P, PL2303GMultiLib.FlowControl F)` Open an PL-UART USB Device by UART setting
    `int` | `PL2303Read(int index, byte[] buf)` Read Binary Data from PL2303G chip
    `void` | `PL2303Release()` Close an PL2303G USB Device
    `int` | `PL2303SetupCOMPort(int index, PL2303GMultiLib.BaudRate R, PL2303GMultiLib.DataBits D, PL2303GMultiLib.StopBits S, PL2303GMultiLib.Parity P, PL2303GMultiLib.FlowControl F)` Setup basic communication parameters on PL2303G chip
    `boolean` | `PL2303USBFeatureSupported()` Detecting whether this Android OS supports USB host API feature
    `int` | `PL2303Write(int index, byte[] buf)` Writes n bytes Data to PL-UART chipset

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BAUD0

          public static final int BAUD0

      See Also:
        Constant Field Values

    - #### BAUD75

          public static final int BAUD75

      See Also:
        Constant Field Values

    - #### BAUD150

          public static final int BAUD150

      See Also:
        Constant Field Values

    - #### BAUD300

          public static final int BAUD300

      See Also:
        Constant Field Values

    - #### BAUD600

          public static final int BAUD600

      See Also:
        Constant Field Values

    - #### BAUD1200

          public static final int BAUD1200

      See Also:
        Constant Field Values

    - #### BAUD1800

          public static final int BAUD1800

      See Also:
        Constant Field Values

    - #### BAUD2400

          public static final int BAUD2400

      See Also:
        Constant Field Values

    - #### BAUD4800

          public static final int BAUD4800

      See Also:
        Constant Field Values

    - #### BAUD9600

          public static final int BAUD9600

      See Also:
        Constant Field Values

    - #### BAUD14400

          public static final int BAUD14400

      See Also:
        Constant Field Values

    - #### BAUD19200

          public static final int BAUD19200

      See Also:
        Constant Field Values

    - #### BAUD38400

          public static final int BAUD38400

      See Also:
        Constant Field Values

    - #### BAUD57600

          public static final int BAUD57600

      See Also:
        Constant Field Values

    - #### BAUD115200

          public static final int BAUD115200

      See Also:
        Constant Field Values

    - #### BAUD230400

          public static final int BAUD230400

      See Also:
        Constant Field Values

    - #### BAUD460800

          public static final int BAUD460800

      See Also:
        Constant Field Values

    - #### BAUD614400

          public static final int BAUD614400

      See Also:
        Constant Field Values

    - #### BAUD921600

          public static final int BAUD921600

      See Also:
        Constant Field Values

    - #### BAUD1228800

          public static final int BAUD1228800

      See Also:
        Constant Field Values

    - #### BAUD2457600

          public static final int BAUD2457600

      See Also:
        Constant Field Values

    - #### BAUD3000000

          public static final int BAUD3000000

      See Also:
        Constant Field Values

    - #### BAUD6000000

          public static final int BAUD6000000

      See Also:
        Constant Field Values

    - #### PL2303G_DCD_ON

          public static final int PL2303G_DCD_ON

      See Also:
        Constant Field Values

    - #### PL2303G_DSR_ON

          public static final int PL2303G_DSR_ON

      See Also:
        Constant Field Values

    - #### PL2303G_RI_ON

          public static final int PL2303G_RI_ON

      See Also:
        Constant Field Values

    - #### PL2303G_CTS_ON

          public static final int PL2303G_CTS_ON

      See Also:
        Constant Field Values

    - #### PLUART_MESSAGE

          public java.lang.String PLUART_MESSAGE

    - #### PLUART_DETACHED

          public java.lang.String PLUART_DETACHED

    - #### ProlificUSBCurrentDeviceList

          public java.util.Hashtable<java.lang.String,UsbDevice> ProlificUSBCurrentDeviceList

    - #### Prolific_DevicePath_2_COMNumber

          public java.util.Hashtable<java.lang.String,java.lang.String> Prolific_DevicePath_2_COMNumber

  - ### Constructor Detail

    - #### PL2303GMultiLib

          public PL2303GMultiLib(UsbManager manager,
                         Context context,
                         java.lang.String sAppName)

      Initialize a PL2303G driver, the software 4K Queue buffer is enable.
      Parameters:
        `manager` - [in] Initialize a PL2303G driver.
        `context` - [in] Initialize a PL2303G driver.
        `sAppName` - [in] , ACTION_USB_PERMISSION string, for example: "tw.com.prolific.pl2303hxdgpio.USB_PERMISSION" "com.prolific.pl2303hxdsimpletest.USB_PERMISSION" "XXX.AAA.CCC.USB_PERMISSION"

    - #### PL2303GMultiLib

          public PL2303GMultiLib(UsbManager manager,
                         Context context,
                         java.lang.String sAppName,
                         boolean bWithQueue)

      Initialize a PL2303G driver
      Parameters:
        `manager` - [in] Initialize a PL2303G driver.
        `context` - [in] Initialize a PL2303G driver.
        `sAppName` - [in] ACTION_USB_PERMISSION string, for example: "tw.com.prolific.pl2303hxdgpio.USB_PERMISSION" "com.prolific.pl2303hxdsimpletest.USB_PERMISSION" "XXX.AAA.CCC.USB_PERMISSION"
        `bWithQueue` - , Specifies the software 4K Queue buffer is enable or disable

  - ### Method Detail

    - #### PL2303Release

          public void PL2303Release()

      Close an PL2303G USB Device

    - #### PL2303USBFeatureSupported

          public boolean PL2303USBFeatureSupported()

      Detecting whether this Android OS supports USB host API feature
      Returns:
        Zero indicates the devices supports the USB HOST API feature. else false.

    - #### PL2303LibGetVersion

          public int PL2303LibGetVersion(byte[] byVersion)

      Get Lib version
      Parameters:
        `byVersion` - [out] Lib version, ex: 0.0.0.10
      Returns:
        Zero indicates success. Nonzero indicates failure.

    - #### PL2303G_ReSetStatus

          public void PL2303G_ReSetStatus()

      ReSet Port Status

    - #### PL2303Enumerate

          public int PL2303Enumerate()

      Found a PL2303G device number , the default VID_PID is 067B_2303
      Returns:
        0 indicates: no more devices found, 1: indicates 1 devices found

    - #### PL2303IsDeviceConnectedByIndex

          public boolean PL2303IsDeviceConnectedByIndex(int index)

      Get the connection status of this PL2303G, ie, whether there is an active connection with PL2303G device.
      Parameters:
        `index` - : usb-device index
      Returns:
        true if connected false if not connected

    - #### PL2303getDevicePathByIndex

          public java.lang.String PL2303getDevicePathByIndex(int index)

      Get the Device Path..
      Parameters:
        `index` - : usb-device index
      Returns:
        String: Device Path

    - #### PL2303getCOMNumber

          public java.lang.String PL2303getCOMNumber(int index)

      Get the PL2303G COM port Number : COM1, COM2, COM3....
      Parameters:
        `index` - : usb-device index, the number is between 0 and 7.
      Returns:
        String: COM port Number: COM1, COM2, COM3...COM6, COOM7

    - #### EnableFixed_COMPort_Mode

          public boolean EnableFixed_COMPort_Mode()

      Enable Fixed COM port Mode

    - #### PL2303getSerialByIndex

          public java.lang.String PL2303getSerialByIndex(int index)

      Returns the serial number for the device. This will return null if the device has not been opened
      Parameters:
        `index` - : usb-device index
      Returns:
        String: Device Path

    - #### PL2303getProlificUSBDeviceCount

          public int PL2303getProlificUSBDeviceCount()

      Returns the active device number of PL2303.
      Returns:
        int : active device number

    - #### PL2303Write

          public int PL2303Write(int index,
                        byte[] buf)

      Writes n bytes Data to PL-UART chipset
      Parameters:
        `index` - : usb-device index
        `buf` - : write buffer
      Returns:
        written length

    - #### PL2303Read

          public int PL2303Read(int index,
                       byte[] buf)

      Read Binary Data from PL2303G chip
      Parameters:
        `int` - : usb-device index
        `buf` - : read buffer
      Returns:
        buffer length

    - #### PL2303OpenDevByDefualtSetting

          public boolean PL2303OpenDevByDefualtSetting(int index)

      Open an PL-UART USB Device by default UART setting
      Parameters:
        `int` -
      Returns:
        true if the PL2303G USB Device was successfully opened

    - #### PL2303OpenDevByBaudRate

          public boolean PL2303OpenDevByBaudRate(int index,
                                        PL2303GMultiLib.BaudRate R)

      Open an PL-UART USB Device by baudrate
      Parameters:
        `int` -
        `BaudRate` -
      Returns:
        true if the PL2303G USB Device was successfully opened

    - #### PL2303OpenDevByUARTSetting

          public boolean PL2303OpenDevByUARTSetting(int index,
                                           PL2303GMultiLib.BaudRate R,
                                           PL2303GMultiLib.DataBits D,
                                           PL2303GMultiLib.StopBits S,
                                           PL2303GMultiLib.Parity P,
                                           PL2303GMultiLib.FlowControl F)

      Open an PL-UART USB Device by UART setting
      Parameters:
        `int` - index
        `Enum` - BaudRate
        `Enum` - DataBits
        `Enum` - StopBits
        `Enum` - Parity
        `Enum` - FlowControl
      Returns:
        true if the PL2303G USB Device was successfully opened

    - #### PL2303CloseDeviceByIndex

          public void PL2303CloseDeviceByIndex(int index)

      Close an PL-UART USB Device by index
      Parameters:
        `int` - : usb-device index

    - #### PL2303SetupCOMPort

          public int PL2303SetupCOMPort(int index,
                               PL2303GMultiLib.BaudRate R,
                               PL2303GMultiLib.DataBits D,
                               PL2303GMultiLib.StopBits S,
                               PL2303GMultiLib.Parity P,
                               PL2303GMultiLib.FlowControl F)
                                 throws java.io.IOException

      Setup basic communication parameters on PL2303G chip
      Parameters:
        `int` - index
        `Enum` - BaudRate
        `Enum` - DataBits
        `Enum` - StopBits
        `Enum` - Parity
        `Enum` - FlowControl
      Throws:
        `java.io.IOException` - if settings not supported or connection is closed

    - #### PL2303Device_IsSupportChip

          public boolean PL2303Device_IsSupportChip(int index)

      Detecting whether this PL2303 supports this Android OS, only PL2303G / PL2303EA / RL2303RA are supported.
      Parameters:
        `int` - : usb-device index Returns true indicates this PL2303 chip is supported, else false.

    - #### PL2303Device_SetCommTimeouts

          public boolean PL2303Device_SetCommTimeouts(int TimeoutConstant)

      The PL2303Device_SetCommTimeouts function sets the time-out parameters for all read and write operations on a specified communications device.
      Parameters:
        `TimeoutConstant` - : Timeout Constant of read and write
      Returns:
        If the function succeeds, the return value is true. If the function fails, the return value is false.

    - #### PL2303Device_GetCommTimeouts

          public boolean PL2303Device_GetCommTimeouts(int TimeoutConstant)

      The PL2303Device_GetCommTimeouts function retrieves the time-out parameters for all read and write operations on a specified communications device.
      Parameters:
        `TimeoutConstant` - : Timeout Constant of read and write
      Returns:
        If the function succeeds, the return value is true. If the function fails, the return value is false.

    - #### PL2303Device_GetSerialNumber

          public java.lang.String PL2303Device_GetSerialNumber(int index)

    - #### PL2303G_SetDTR

          public int PL2303G_SetDTR(int index,
                           boolean state)

      Switch PL2303G DTR on or off
      Parameters:
        `state` - true: SET DTR, false: CLEAR DTR

    - #### PL2303G_SetRTS

          public int PL2303G_SetRTS(int index,
                           boolean state)

      Switch PL2303G RTS on or off
      Parameters:
        `state` - true: SET RTS, false: CLEAR RTS

    - #### PL2303G_GPIO_B_CNT_ENABLE

          public int PL2303G_GPIO_B_CNT_ENABLE(int index,
                                      boolean Enable)

      PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to Init GPIO_B
      Parameters:
        `index` - [in] usb-device index
        `Enable` - [in] True is Output mode, false is input mode.
      Returns:
        Zero indicates success. Nonzero indicates failure.

    - #### PL2303G_Enable_GPIO_B

          public int PL2303G_Enable_GPIO_B(int index,
                                  int GPIO_Num,
                                  boolean Enable)

      PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to control the direction of these pin
      Parameters:
        `index` - [in] usb-device index
        `GPIO_Num` - [in] The GPIO number, the range is 0 ~ 7
        `Enable` - [in] True is Output mode, false is input mode.
      Returns:
        Zero indicates success. Nonzero indicates failure.

    - #### PL2303G_Set_GPIO_Value_B

          public int PL2303G_Set_GPIO_Value_B(int index,
                                     int GPIO_Num,
                                     int val)

      PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to control the status of these pin when the direction is output mode
      Parameters:
        `index` - [in] usb-device index
        `GPIO_Num` - [in] The GPIO number, the range is 0 ~ 7
        `val` - [in] ¡§1¡¨ is High level, 0 is low level.
      Returns:
        Zero indicates success. Nonzero indicates failure.

    - #### PL2303G_Get_GPIO_Value_B

          public int[] PL2303G_Get_GPIO_Value_B(int index,
                                       int GPIO_Num)

      PL2303G has 8 software controllable ¡§General Purpose Input Output¡¨ control signal pin, you can use this API to get the status of these pin when the direction is input mode
      Parameters:
        `index` - [in] usb-device index
        `GPIO_Num` - [in] The GPIO number, the range is 0 ~ 7
      Returns:
        int[] [0]: Zero indicates success. Nonzero indicates failure. [1]: Return data for GPIO value.¡§1¡¨ is High level, 0 is low level.

    - #### PL2303G_GetCommModemStatus

          public int[] PL2303G_GetCommModemStatus(int index)

      The PL2303G_GetCommModemStatus function retrieves modem control-register values.
      Returns:
        int[] [0]: Zero indicates success. Nonzero indicates failure. [1]: Return data for ModemStatus (DCD, RI, DSR, DCTS)