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
Add support for the Minicommand hardware #32
Conversation
I've specified the SD Card pin and correct LED config |
Timer code needs to be looked at. Timers are not identical. I think we're around 80% complete on getting the core to compile for the minicommand. Adjusting the MCL firmware will be another story. |
This compiles and links. However, when using the Makefile, the linker appears to be incorrectly pulling in MCL libraries even when "include MCL.h" is removed. This was a problem I noted in master branch, but has not been a concern until now. Compiling master with the Arduino IDE does not link in unused libraries. |
Makefile is working correctly now. With WAVDesigner and OLED display disabled we're only 20KB over the 64KB limit. That's way better than I was anticipating. |
I think the Minicommand build will need to remain it's own branch. Compiling using the Arduino IDE is probably not possible because of conflicts with platform.txt |
^ After disabling the ext tracks, the firmware compiles and links |
I've tested these changes to make sure that they are compatible with the dev branch and MegaCommmand hardware. I've now merged these changes in to dev. Dev branch is now backwards with Minicommand. I have not tested on the Minicommand yet. For compiling for Minicommand: Need to disable OLED_DISPLAY and MEGACOMMAND macro definitions. and use the Minicommand Makefile: minicommand.mk. |
In order to achieve this, we must:
MCL Changes:
Core changes:
Minicommand does not have a second transmit port so we can disable this.
The ATMEGA64 processor only has 4KB of onboard SRAM where as the MegaCommand has 8KB.
We can't use a stack size of 8KB with the ATMEGA64 as the upper 4KB will be unavailable when switching memory banks,