There has been some, I mean TONS of progress since I last posted.
The
PyGuitar project is now at the integration stage.
Thanks to many of the people on this forum, I now have pretty much the entire system operational.
This video shows the first integration tests.
What you will see is:
- The main PyGuitar circuit with the pyboard integrated into it,
- The guitar testbed with the 2 humbucker pickups connected to the circuit,
- the various HMI support pcbs all connected to the main circuit,
- the HMI emulator, running in the processing.py envt. on a pc, connected to the pyboard by USB, driving the entire system!
The emulator provides the hardware components of the HMI:
- tactile pushbuttons,
- LCD screen,
- trackball,
- foil-potentiometers (generously provided by Hoffmann + Krippner),
- LEDs.
It is developed in python, using the processing.org graphics envt. as support for the GUI. It communicates with the pyboard by the
pyboard.py utility found in the tools directory of the micropython repo on GitHub.
It provides queuing for interrupt driven HW components, since the physical devices will work that way. So don't be fooled when you see the LEDs and the guitar functionality change, there has been:
- asynchronous en-queuing of task codes
- de-queuing and interpretation of the codes,
- generation of sequences of function calls
- and finally spi emissions to the 19 daisy-chained shift-registers which control the outputs.
So there's a lot more going on than just LEDs blinking
The code is all
here in github.
The
documentation is here.
For those of you who wonder how the Processing.py envt. communicates with the pyboard, check out the code and let me know if you want to know more. I didn't write any code to do it, just used pyboard.py and a file that I found that provides "
a wrapper around processing.serial.Serial to provide a PySerial.Serial like interface to a serial port." Developing in this manner goes really fast because hardware and software issues can be handled separately, and thus the complexity is controlled. Interacting HW/SW or SW/HW defects are minimized.
More news will follow as I develop the final fully operational stand alone hardware for the guitar!
Thanks to all of you who helped me in my struggles to get here!
Ciao,
Bob