3 Replies Latest reply on Sep 3, 2020 4:16 AM by HemanthR_06

    How to reset FX3 as a hard reset or POR reset?

    dawa_2529456

      Dear Sir,

       

      I want to reset my board by calling CyU3PDeviceReset(CyFalse); as said by API explaination,  CyFalse is for cold reset, but it doesn't work.

       

      I have to press reset button on the board(connected with reset pin), then my board works like POR reset.

       

      Can you give me some advice?

       

      Best regards.

       

      David

        • 1. Re: How to reset FX3 as a hard reset or POR reset?
          HemanthR_06

          Hi David,

           

          Can you make the boot mode as USB and then try the same API.

          You can also try with BulkSrcSink project by issuing 0xE0 vendor command - and making boot mode as USB.

           

          Note: Calling CyU3PDeviceReset(CyFalse) will cause device to boot again. (And the booting depends on PMODE setting)

           

          Regards,

          Hemanth

          • 2. Re: How to reset FX3 as a hard reset or POR reset?
            dawa_2529456

            Dear Hemanth,

             

            In fact, when my cx3 camera was doing ESD or EFT testing, video link may be broken , and "DMA reset” occurs, so My firm code has to call CyU3PDeviceReset(CyFalse) to reboot. then the firmware  is restarted again.

             

            But it seems the CyU3PDeviceReset(CyFalse)  doesn't work well, the USB connection can not be set up. I have to press RESET button on my board to reset the hardware. then the UVC camera works.

             

            So,  how to  warm reset the camera by calling API just like POR reset or Hardware reset(trigger reset pin)?

             

            Thanks.

             

            Best regards.

             

            David

            • 3. Re: How to reset FX3 as a hard reset or POR reset?
              HemanthR_06

              Hi David,

               

              The API CyU3PDeviceReset(CyFalse) is the one which is used to cold reset the device. So you are calling the right API.

               

              But can you confirm the below:

              1. In a normal working case (not during ESD test), is the API working as expected?

              2. During ESD test, can you confirm that the API CyU3PDeviceReset() is actually being executed in the firmware(do you have any debug prints to know if this is actually called)? Please let me know at which point in the firmware is this API called after ESD strike happens.

               

              Regards,

              Hemanth