-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
Feature request: Expand Klipper make menuconfig options to disable optional/unneeded features #126
Comments
@VinnyCordeiro would you please test this #127? |
With that change the code now compiles and fit the 32u4 mcu, but is still too big for the others. Error messages: atmega168
atmega328/atmega328p
|
thanks! I have added options to disable I2C and SPI, which makes it compile for atmega328. I was only able to compile atmega168 after removing pwm and adc, which would probably make it useless.. but let me know your thoughts. |
I did this a while ago to optimize code size: https://github.com/Piezoid/klipper/commits/detail_kconf/ |
Thanks both! I covered I2C and SPI with my last commit. I will pull some more from @Piezoid's branch and see if I can get atmega168 compiled, otherwise I will drop the support. |
Hello, It looks like there hasn't been any recent updates on this Best regards, ~ Your annoying GitIssueBot PS: I'm just an automated script, not a human being. |
Since DK is now Kalico I can't find which branch have this feature anymore, so I'm reopening this issue. |
Since version 0.10 Klipper doesn't fit on the less powerful AVR microcontrollers anymore, namely:
In 2022 I made some experiments to try and solve that, like:
After these were installed, proceeded to compile a lot of tests, including manual Makefile edits, and while using optimization flags/option did indeed reduced the compiled firmware, they were still too big to fit an ATmega32U4 mcu (which was my main concern at the time).
What really did the trick was manually commenting out some files on the
/src
directory. On my case, I have designed a toolhead control keyboard, so I could use it to move the toolhead without the need to go to my computer for that. Because of the use case, I commented some files entirely, likelcd_hd44780.c
,lcd_st7920.c
,neopixel.c
,sensor_adxl345.c
, andthermocouple.c
, which made the resulting firmware finally fitting the 32u4.You can already select features to be disabled on the
make menuconfig
environment, as seen here:and here:
, but they are only available for the atmega168, atmega328, and atmega328p microcontrollers, leaving the 32u4 uncovered, and even so they are not enough to make the firmware fit as is. So, my request is to expand the features that can be removed, so you can make Klipper fit those AVR mcus again, and add these options for the mega32u4 mcu.
The text was updated successfully, but these errors were encountered: