harvie256 / midi-commander-custom

Custom Firmware for the MeloAudio Midi Commander
MIT License
41 stars 12 forks source link

Explain about the PCB #34

Open rahmatismail opened 10 months ago

rahmatismail commented 10 months ago

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.

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

harvie256 commented 10 months ago

@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.