FX3 conditional GPIO set

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

cross mob
WillianCaster
Level 1
Level 1
First question asked Welcome!

Hello there. I'm completely new to this microcontroller and I'm having problems in understanding how to program it from the provided examples.

I'm currently trying to conditionally set different GPIOs depending o the payload content sent by the host. Ideally I would like to be able to read the content of the DMA's channel buffer, which would contain which GPIO I want to set.

After finding out how to add headers to the payload I though I could simply access the memory location where the payload is and do a "if - then" statement using the content of the buffer as I expected. How would I go about doing this? Any direction would be rather appreciated. Thx in advance.

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Based on my understanding, you would like to send some data from the host to the FX3 device. After this, using the data received from the host, you would like to drive a GPIO pin of FX3. Please correct me if my understanding is wrong.

If my understanding is correct, then please let me know if you are looking for a reference example to do this or not. If you are looking for a reference example, then you can refer to the following example projects that are available as a part of FX3 SDK:
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxgpioapp

The first example contains code where the FX3 device receives and then simply discards the data from the host. This can be modified to parse the data received from the host. The second example code illustrates how you can drive or get an input using a GPIO of FX3. Please go through the above code examples and modify the first example so that your end application can be realized. Please let me know if you have any doubts or queries while going through the source code of the example projects. The documents mentioned in the following path of FX3 SDK can also help you to have a better understanding of these example projects:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware

Best Regards,
Jayakrishna

View solution in original post

0 Likes
1 Reply
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Based on my understanding, you would like to send some data from the host to the FX3 device. After this, using the data received from the host, you would like to drive a GPIO pin of FX3. Please correct me if my understanding is wrong.

If my understanding is correct, then please let me know if you are looking for a reference example to do this or not. If you are looking for a reference example, then you can refer to the following example projects that are available as a part of FX3 SDK:
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxgpioapp

The first example contains code where the FX3 device receives and then simply discards the data from the host. This can be modified to parse the data received from the host. The second example code illustrates how you can drive or get an input using a GPIO of FX3. Please go through the above code examples and modify the first example so that your end application can be realized. Please let me know if you have any doubts or queries while going through the source code of the example projects. The documents mentioned in the following path of FX3 SDK can also help you to have a better understanding of these example projects:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware

Best Regards,
Jayakrishna
0 Likes