cancel
Showing results for 
Search instead for 
Did you mean: 

Using the Joystick Inputs as EXTIs

Konn'
Associate II

Hi, Guys...

So I got the H757I Eval Board as a gift and am trying to learn MCU Programming with it.

I guess STM thinks that: if you have such a high end board, then you should already know what you are doing, because the documentation is poor and they didn't even provide examples for it. They provide for the H747 from which you can't import the examples, since CubeIDE says the board is deprecated, etc...

So, to the question.

I was learning about interrupts and used the tamper button PC13 (KEY_TAMP_1/WKUP2) as one of the EXTI (which I got working perfectly) and wanted to use the Joystick, say, the Up direction, as another EXTI. Just as another IR source and to toggle some LEDs in a specific order, to understand the priority thing, using the cores, and so on.

The thing is: I am sitting here for 10h now and I can't figure out how to use the joystick/find it on CubeMX or whatsoever.

The doc says it is related to a Multifunction Expander and the communication is through I2C1.

I tried sending a high to PI8, since this is supposed to be the GPIO Expander, and then tried to use the B4 (joystick), tried to look for a way to get from the MCU to the MFX using the schematics but I couldn't since there was no explanation on how to do it.

Of course I could use a usual GPIO and build a switch circuit myself, set is as input, then as EXTI and so on.

But if I already have '6' options (tamper, up, down, left, right, sel) that could be used as inputs and and since I am just learning, I wanted to be able to use these inputs as well.

So, my question is: how to use the joystick buttons? Is that even possible? Do I need another piece of hardware or another jumper configuration?

Thanks in advance.

STM32H757I-EVAL - Evaluation board with STM32H757XI MCU - STMicroelectronics

UM2525 Evaluation boards with STM32H747XI and STM32H757XI MCUs

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

The joystick is connected through the MFX, as you noted, and can't be connected directly to GPIOs, so you will need to interface with it through the MFX. The MFX does seem poorly documented.

Here is an interface driver to it for that board:

https://github.com/STMicroelectronics/STM32CubeH7/blob/c828320460548114b485ec8a6affaa950f51d12b/Drivers/BSP/STM32H747I-EVAL/stm32h747i_eval_io.c

It appears this file was removed from the latest Cube release. Shrug.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

4 REPLIES 4
TDK
Guru

The joystick is connected through the MFX, as you noted, and can't be connected directly to GPIOs, so you will need to interface with it through the MFX. The MFX does seem poorly documented.

Here is an interface driver to it for that board:

https://github.com/STMicroelectronics/STM32CubeH7/blob/c828320460548114b485ec8a6affaa950f51d12b/Drivers/BSP/STM32H747I-EVAL/stm32h747i_eval_io.c

It appears this file was removed from the latest Cube release. Shrug.

If you feel a post has answered your question, please click "Accept as Solution".
Konn'
Associate II

THANK YOU VERY MUCH.

No way I would find them there then.

And yes, this MFX thing is indeed poorly documented.

So, I only have one usual user push button(Tamper), nice :\

Well, the only way would be breadboarding circuits to get some more functionality then.

I had a look into the MFX and I will just leave it that way for now and come back to it once I have worked through next chapters that deal with the communication protocols and so on

(after some Timers and ADC/DAC stuff).

Thanks again, TDK.

You're welcome. The eval boards are so loaded with chips that dedicating pins for less commonly used things perhaps isn't worth it.

If you feel a post has answered your question, please click "Accept as Solution".