2 Replies Latest reply on Mar 10, 2019 9:32 PM by YangyangC_06

    CYUSBS236: Device Type: Manufacturing to UART

    RLa_4043011

      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.