CYUSBS236: Device Type: Manufacturing to UART

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
RLa_4043011
Level 1
Level 1

Hi,

I am using CYUSBS236 USB-serial development Kit.
When I run the example UART code given in the ISO file from "www.cypress.com/go/CYUSBS236" the function "CyGetDeviceInfoVidPid" returns a device type "5" which corresponds to a device in "Manufacturing mode"

typedef enum _CY_DEVICE_TYPE {

    CY_TYPE_DISABLED = 0,               /*Invalid device type or interface is not CY_CLASS_VENDOR*/

    CY_TYPE_UART,                       /*Interface of device is of type UART*/

    CY_TYPE_SPI,                        /*Interface of device is of type SPI */

    CY_TYPE_I2C,                        /*Interface of device is of type I2C */

    CY_TYPE_JTAG,                       /*Interface of device is of type JTAG*/

    CY_TYPE_MFG                         /*Interface of device is in Manufacturing mode*/

} CY_DEVICE_TYPE;

I would like to configure the development board (CY7C65215) in UART mode (I have already configured SCB0 in UART mode) to be able to use UART specific functions.

/*

   Summary

   This API is used to retrieve the information of all devices with specified Vendor ID and Product ID.

  

   Description

   For a given VID and PID, the API returns deviceIdList and deviceInfoList.

   The deviceIdList contains the device numbers of all the devices with specified VID and PID.

   Using deviceInfoList application can identify the device of interest.

   Information that is provided includes interface number, string descriptor, deviceType and deviceClass.

  

  

   Return Value

   * CY_SUCCESS on success else error codes as defined in the enumeration CY_RETURN_STATUS.

   * CY_ERROR_REQUEST_FAILED on if library is not initialized (Only for Linux and Mac)

   * CY_ERROR_INVALID_PARAMETER if the input parameters are invalid.

   * CY_ERROR_DEVICE_INFO_FETCH_FAILED if failed to fetch device information.

   * CY_ERROR_ACCESS_DENIED if access is denied by operating system.

   * CY_ERROR_DEVICE_NOT_FOUND if specified device number is invalid.

  

   See Also

   * CY_DEVICE_INFO

   * CY_DEVICE_CLASS

   * CY_DEVICE_TYPE

   * CyGetListofDevices

   * CyGetDeviceInfo

   * CyOpen

   * CyClose

*/

CYWINEXPORT CY_RETURN_STATUS CyGetDeviceInfoVidPid ( 

    CY_VID_PID vidPid,                          /*VID and PID of device of interest*/

    UINT8 *deviceIdList,                        /*Array of device ID's returned*/   

    CY_DEVICE_INFO *deviceInfoList,             /*Array of pointers to device info list*/

    UINT8 *deviceCount,                         /*Count of devices with specified VID PID*/

    UINT8 infoListLength                        /*Total length of the deviceInfoList allocated

                                                 (Size of deviceInfoList array)*/  

    );

Thank you for your help.

0 Likes
1 Solution
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

If the device is configured as UART in CDC mode, the example project willl only return the manufacture interface which is device type 5.

When you set the interface in UART vendor mode, the demo codes will return the inforamtion of devide type 1.

View solution in original post

0 Likes
2 Replies
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

Hi Landroval,

I check the issue you mentioned to get the same result. I think it is due to the driver of CYUSBS236(Cypress's driver, not the driver provided by OS). Nevertheless, I will check internally.

0 Likes
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

If the device is configured as UART in CDC mode, the example project willl only return the manufacture interface which is device type 5.

When you set the interface in UART vendor mode, the demo codes will return the inforamtion of devide type 1.

0 Likes