Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explain about the PCB #34

Open
rahmatismail opened this issue Nov 19, 2023 · 1 comment
Open

Explain about the PCB #34

rahmatismail opened this issue Nov 19, 2023 · 1 comment

Comments

@rahmatismail
Copy link

Could you help to explain the PCB. I'm new into STM32, probably I can support this open source project if I understand it a little bit.

  • Which code that communicate with the LCD? I opened my meloaudio but could not figure it out. Is it like a i2c connector or something? So many pin that I'm not sure whether they are all used.
  • Which code that communicate with the switches?
  • Which code that communicate with the I/O (midi, usb, expression, etc)?

It would be great if could share the PCB schematic for this board.

@harvie256
Copy link
Owner

@rahmatismail

There is no schematic for the PCB, I just reversed engineered the pins that were needed to do what I did. All the pin outs were directly defined in the project, if you're after that check out the main.h file definition. https://github.com/harvie256/midi-commander-custom/blob/main/MIDI_Commander_Custom/Core/Inc/main.h

All the other information I gathered from tracing the PCB is in https://github.com/harvie256/midi-commander-custom/blob/main/HardwareNotes.txt

The low level switch code is in https://github.com/harvie256/midi-commander-custom/blob/main/MIDI_Commander_Custom/Core/Src/switch_router.c

Granted the switch scanning is not that intuitive as I'm passing around an array of pointers, but it makes the whole code a lot faster.

And the I2C display makes use of a 3rd party library, so it's a pretty small file:
https://github.com/harvie256/midi-commander-custom/blob/main/MIDI_Commander_Custom/Core/Src/display.c

The majority of the code files are auto generated or included by STM32CubeIDE. You need to be opening the project in that IDE as the layout follows their template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants