Replies: 5 comments
-
Sorry I am late to the discussion been busy with some other things non computer related. To be honest I would rather see the pin definitions in one place for a variety of reasons. Some of which are think you will be asking for trouble when trying to get all the libraries and documentation updated, not just the ones Arduino maintains. There are a myriad of third party libraries libraries that support the Arduino ecosystem. You want to keep it as easy and simple as can be. If you remove the commented lines from @KurtE's pin in the previous post its not much longer:
and if I remember right we commented out the led pins because where was a conflict so they would not work unless you fixed that. |
Beta Was this translation helpful? Give feedback.
-
@mjs513 @pillo79 @facchinm and all: I have been playing around some with this over the weekend. I have create a new branch: This branch has three changed files: And the overlay file changes, where the only changes to the device tree, were to add all of the additional pins, that I was able Note: I also added in two bogus entries in place of the two currently commented out pins in the current pin table:
The reason for the two replacement hacked items:
Simply used your z hack... why: |
Beta Was this translation helpful? Give feedback.
-
Hello guys, and thanks for being so supportive! 🥇 On this topic the idea I had was to fully exploit the same Zephyr GPIO nexus nodes abstraction used in the IIRC the core is currently missing some macro magic to allow the number lookups to work properly but it should be definitely possible. What do you think about this? |
Beta Was this translation helpful? Give feedback.
-
Hi @pillo79 - Sorry I only know enough to be dangerous. 😆 but by GPIO nexus nodes - This is the arduino_header part used in the GIGA pin definitions?
Maybe it is helpful. Especially if you do a lot of similar boards. For me, at least at first it was confusing as It would probably help to see more examples. And how this translates back to the Arduino side. For example if you could define, logical connectors that show all of the available pins for each of the different carrier boards, For the Arduino/C++ world, I might suggest in one of the header files, one could do this, by Sorry hopefully others with more experience here with zephyr might give a more coherent response. |
Beta Was this translation helpful? Give feedback.
-
Sorry for being late to the party but am confused as how that would help if working with the breakout boards for the h7 as @KurtE mentioned. Does make sense when you work with a board like the GIGA or the uno or the due or the mega that has the pin numberin on the headers for the most post. In the case of the mid-carrier there are no pin-numberings only pin names. So as @KurtE mentioned what is the reference equivalent - how would I know what the pin-number for GPIO-6 would be or for sda/scl etc. I would be guess or assuming. For these breakout boards I think you would need to enumerate them somehow as Kurt mentioned. Now - I can see if you just want to use them for CPU board since the pins are numbered but not labeled. Think if you try to use aliases it would make the overlays even more confusing. |
Beta Was this translation helpful? Give feedback.
-
Hi: @facchinm @pillo79 @mjs513 and all
I thought it might be better to start a discussion, instead of continuing on the issue/PR.
I am glad to see that most of the one PR was applied. I understand that you do not wish to pollute the device tree with lots of
extra things.
The current pin list that was merged in, I believe is:
So only the IO pins on the edge of the H7 (and the leds) are included.
Now suppose, I wish to use an external LCD display, like an ILI9341 and would like to either use my own library and/or the Adafruit library:
So I choose one of the SPI objects within the Device tree. But I still need to use 3 IO pins: CS, DC, Reset

and lets say I am using the Mid Carrier and wish to use some of the unused pins, Maybe in the GPIO1-6
Like GPIO1, 2, 3 - PC15, PG10, PD3 - None of these pins are now in the pin table.
So what do enter for PC15. Note: On MBED I rang it out and knew the number but also could calculate.
PC15 2*16+15+28=75 or I could use the PinNameToIndex(...).
Question is: what do you suggest for Zephyr? Preferably without needing to have lots of libraries need to be updated.
Thanks
Edit: - I forgot to mention that all of the extended pins in my PR, were ones that I was able to ring out, to pins on the breakout board.
I removed all of the pins, that talked to hardware like SDRAM. I used my portenta_hilowtest sketch in my GIGA stuff github...
Beta Was this translation helpful? Give feedback.
All reactions