Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > CyU3PGpifSMSwitch()

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



CyU3PGpifSMSwitch()
Moderator:
RSKV

Post Reply
Follow this topic



CyU3PGpifSMSwitch()

Sil posted on 16 Jul 2012 5:32 AM PST
Top Contributor
93 Forum Posts

Hello

 

In my application I want to use CyU3PGpifSMSwitch():

 

CyU3PGpifSMSwitch (
        uint16_t fromState,             /* The state from which to do the switch to the desired state. */
        uint16_t toState,               /* The state to which to transition from fromState. */
        uint16_t endState,              /* The end state for this execution path. */
        uint8_t  initialAlpha,          /* Initial Alpha values to use when switching states. */
        uint32_t switchTimeout          /* Timeout setting for the switch operation in GPIF clock cycles. */
        );

 

According to the API documentation state switching is only carried out if the state machine is in "fromState" or "fromState" is not a valid state (>255). In my application I would like to define "fromState" larger than 255 to force state switching all the time. However, there is different behaviour between using the values 257, 0xFFF and 10 (which is the actual state derived from CyU3PGpifGetSMState()). When using 257, the state machine crashes after stepping trough this instruction around 1-10 times. If 0xFFFF is used, then I can reset the state machine up to 32'0000 times. When using 10, which is the actual state, commiting DMA buffer fails afterwards with error message 71 (CY_U3P_ERROR_INVALID_SEQUENCE).

 

Has anyone a good explanation for this behaviour? Thanks for help.

 

-Silvio




Re: CyU3PGpifSMSwitch()

RSKV posted on 16 Jul 2012 06:07 AM PST
Cypress Employee
655 Forum Posts

Hi,

Are you seeing the same behavior with the latest SDK 1.1.1.

Thanks,

sai krishna.



Re: CyU3PGpifSMSwitch()

RSKV posted on 19 Jul 2012 07:46 AM PST
Cypress Employee
655 Forum Posts

http://www.cypress.com/?app=forum&id=167&rID=65629

 



Re: CyU3PGpifSMSwitch()

Sil posted on 20 Jul 2012 12:48 AM PST
Top Contributor
93 Forum Posts

But sometimes I still see by calling CyU3PGpifGetSMState() that the state machine ends up in a state "129" that does not even exist in my design. What does this mean?






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.