scottmudge / OctoPrint-MeatPack

Easy, fast, effective, and automatic g-code compression!
https://github.com/scottmudge/OctoPrint-MeatPack
BSD 4-Clause "Original" or "Old" License
122 stars 6 forks source link

Can't connect to printer with Marlin built after 25/01/2021 #8

Closed daemuth closed 3 years ago

daemuth commented 3 years ago

Hi! I'm using the firmware from the Marlin Firmware Service, built on 26/01/2021 on my Ender3v2 with BLTouch. (The service builtds the the bugfix-2.0 branch daily)

After installing MeatPack, connection attempts to my printer fail. This issue can be fixed by disabling MeatPack. As far as I understand (based on the readme), this should work, although I couldn't find the merged PR.

I suspect that this is due to the compression not being compatible with the firmware. Hopefully it's temporary, just wanted to let you know that others might be encountering the same issue.

Thanks for the plugin!

scottmudge commented 3 years ago

Thanks for the report.

Indeed, it appears to be merged into that branch:

https://github.com/MarlinFirmware/Marlin/commit/3921369f98f39280800b1c9944677e9644278106

@ellensp - it looks like the preprocessor directive ENABLED(MEATPACK) needs to be true. Is this set to true by default in the CI/CD server for Marlin?

scottmudge commented 3 years ago

Actually, that service may be third-party and unrelated to the Marlin repo.

I will add a feature request to ask them to add the MEATPACK directive as an option.

In the meanwhile, you may need to build a version of the firmware yourself.

daemuth commented 3 years ago

Yes, AFAIK it is a third-party service. Thank you for submitting a feature request! Didn't know about the build requirement.

That explains and solves my issue and as such I'll be closing it with this comment.

Katzekonig commented 3 years ago

I'm having this same issue after building my own firmware. I enabled MeatPack in Configuration_adv.h:

#define MEATPACK // Support for MeatPack G-code compression (https://github.com/scottmudge/OctoPrint-MeatPack)

Do I need to do something else to get Octoprint to connect?

Thanks!

scottmudge commented 3 years ago

To be honest I'm not sure, I use Prusa's derivative. It should just work when the plugin is enabled and when the firmware is installed. What does octoprint.log show? The Marlin port developer might also have insight.

@ellensp are there any other build steps required to enable MP in the Marlin build?

I'll look into getting a simulator to test Marlin FW, but I'll need to install a Linux VM first.

scottmudge commented 3 years ago

@leetwanker Yeah looking at the Marlin source code, it looks like it should work if MEATPACK is correctly defined and the firmware is cleanly rebuilt.

octoprint.log might have more information about why it's not working. It's possible the plugin may not be loading correctly.

scottmudge commented 3 years ago

I discovered the problem, minor bug with the Marlin implementation.

I created a PR for the fix here (very simple), so if you want to build a functional version of Marlin yourself, look here: https://github.com/scottmudge/OctoPrint-MeatPack/issues/10#issuecomment-767987280