UMO/UMO+/Prusa firmware merge
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
UMO/UMO+/Prusa firmware merge
Hi everyone,
I started working on a firmware merge between the Prusa I3 Mk2 firmware and the firmware published by Amedee.
It's quite the task as these two branches took separate paths and the electronics being used on the prusa is veeeery different from the one on the UMO.
Edit1: here's the github link to my work in progress: https://github.com/Antiklesys/Marlin-Experimental
So far I have identified the following type of files in the two firmwares:
-identical files (those are the best! No change needed)
-files existing in both versions but with different pieces of code
-files existing only in one of the two firmwares
List of files that "so far are identical" or have been merged:
BlinkM.cpp
BlinkM.h
motion_control.h
qr_solve.cpp
qr_solve.h
Sd2PinMap.h
SdFatStructs.h
SdFatUtil.h
SdFile.cpp
SdFile.h
SdVolume.cpp
SdVolume.h
Servo.cpp
Servo.h
speed_lookuptable.h
thermistortables.h
ultralcd_st7920_u8glib_rrd.h
vector_3.h
watchdog.cpp
watchdog.h
Edit2: Added more files to the merged list
Sd2Card.h
Sd2Card.cpp
SdBaseFile.cpp
SdBaseFile.h
SdInfo.h
MarlinSerial.cpp
MarlinSerial.h
motion_control.cpp
fastio.h
vector_3.cpp (thanks to Martin!)
cardreader.h
SdFatUtil.cpp
mesh_bed_calibration.h
mesh_bed_calibration.cpp
ConfigurationStore.h
SdFatConfig.h
stepper.h
temperature.h
The purpose of this merge would be to allow the usage of a PINDA probe on a UMO/UMO+ for automatic bed leveling by leveraging the capabilities of Marlin itself.
My challenge as of now is in the understanding of some pieces of code in the two firmwares to clarify what should be kept.
I would really appreciate the community help in this
I started working on a firmware merge between the Prusa I3 Mk2 firmware and the firmware published by Amedee.
It's quite the task as these two branches took separate paths and the electronics being used on the prusa is veeeery different from the one on the UMO.
Edit1: here's the github link to my work in progress: https://github.com/Antiklesys/Marlin-Experimental
So far I have identified the following type of files in the two firmwares:
-identical files (those are the best! No change needed)
-files existing in both versions but with different pieces of code
-files existing only in one of the two firmwares
List of files that "so far are identical" or have been merged:
BlinkM.cpp
BlinkM.h
motion_control.h
qr_solve.cpp
qr_solve.h
Sd2PinMap.h
SdFatStructs.h
SdFatUtil.h
SdFile.cpp
SdFile.h
SdVolume.cpp
SdVolume.h
Servo.cpp
Servo.h
speed_lookuptable.h
thermistortables.h
ultralcd_st7920_u8glib_rrd.h
vector_3.h
watchdog.cpp
watchdog.h
Edit2: Added more files to the merged list
Sd2Card.h
Sd2Card.cpp
SdBaseFile.cpp
SdBaseFile.h
SdInfo.h
MarlinSerial.cpp
MarlinSerial.h
motion_control.cpp
fastio.h
vector_3.cpp (thanks to Martin!)
cardreader.h
SdFatUtil.cpp
mesh_bed_calibration.h
mesh_bed_calibration.cpp
ConfigurationStore.h
SdFatConfig.h
stepper.h
temperature.h
The purpose of this merge would be to allow the usage of a PINDA probe on a UMO/UMO+ for automatic bed leveling by leveraging the capabilities of Marlin itself.
My challenge as of now is in the understanding of some pieces of code in the two firmwares to clarify what should be kept.
I would really appreciate the community help in this
Last edited by antiklesys on December 30th, 2016, 4:39 am, edited 10 times in total.
- LePaul
- Reactions:
- Posts: 3981
- Joined: February 7th, 2016, 10:26 pm
- Location: Bangor, Maine USA
- 3D Printer(s): 24 - Yes I have a problem!
- Contact:
Re: UMO/UMO+/Prusa firmware merge
Will that probe work on glass though? I mean, will you have to change the bed to PEI with those 9 check spots?
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
Re: UMO/UMO+/Prusa firmware merge
Hey,
I'm already using a PEI sheet as printing surface.
This PEI sheet is directly attacched with a 3M adhesive on top of the aluminum bed.
Below the bed there is the glass (to prevent/counter bed bending).
As far as I have tested this probe is able to detect the metal successfully when placed at a few millimeters above the PEI.
Now if you instead would like to know whether this would also applicable for anyone else which is instead using a glass bed, the answer is: I don't know. I haven't tested that
I'm already using a PEI sheet as printing surface.
This PEI sheet is directly attacched with a 3M adhesive on top of the aluminum bed.
Below the bed there is the glass (to prevent/counter bed bending).
As far as I have tested this probe is able to detect the metal successfully when placed at a few millimeters above the PEI.
Now if you instead would like to know whether this would also applicable for anyone else which is instead using a glass bed, the answer is: I don't know. I haven't tested that
- drayson
- Reactions:
- Posts: 254
- Joined: February 15th, 2016, 5:04 am
- Location: Graz, Austria
- 3D Printer(s): UMO with mods :-)
Re: UMO/UMO+/Prusa firmware merge
Short one: which Marlin version have you used from Prusa side?
Has it something to do with the official Marlin which is currently in RC8?
Has it something to do with the official Marlin which is currently in RC8?
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
Re: UMO/UMO+/Prusa firmware merge
Still looking forward more people interested in joining the fun!
- martin-bienz
- Reactions:
- Posts: 172
- Joined: February 22nd, 2016, 2:42 am
- Location: Switzerland
- 3D Printer(s): Ultimaker Original, prusa i3 mk2
Re: UMO/UMO+/Prusa firmware merge
that sound's like fun as I actually have an i3 mk2 and an UMO... but I would actually require some time (I would buy some if I could).antiklesys wrote:Still looking forward more people interested in joining the fun!
As for the code section you are looking at in vector_3.cpp. You need to take the one from prusa / marlin. The vector calculation in the Amedee version is wrong (this was fixed in marlin original some time ago). I think it produced mirrored results, hope I got it right. You can look at the history of the file in the original marlin source, that's how I got it.
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
Re: UMO/UMO+/Prusa firmware merge
Hey Martin, glad to have you on board!
I lack time too and this won't be a fast project to be completed, but if you have a couple of spare hours it'd be great to catch up on Skype and work together on the missing bits if you're up for it
I've sent you a PM
Edit: I now edited the code at the top too, as this piece was cleared:)
I lack time too and this won't be a fast project to be completed, but if you have a couple of spare hours it'd be great to catch up on Skype and work together on the missing bits if you're up for it
I've sent you a PM
Edit: I now edited the code at the top too, as this piece was cleared:)
- martin-bienz
- Reactions:
- Posts: 172
- Joined: February 22nd, 2016, 2:42 am
- Location: Switzerland
- 3D Printer(s): Ultimaker Original, prusa i3 mk2
Re: UMO/UMO+/Prusa firmware merge
Yeah sure. I will probably look at some of the pieces tonight. Let's keep in touch.antiklesys wrote:Hey Martin, glad to have you on board!
I lack time too and this won't be a fast project to be completed, but if you have a couple of spare hours it'd be great to catch up on Skype and work together on the missing bits if you're up for it
I've sent you a PM
Edit: I now edited the code at the top too, as this piece was cleared:)
EDIT: Now that I think about it. It might be really better to just "fix" the mesh bed leveling in the Amedee Marlin version and enable it (if this is "easy" possible). Other that that, I guess we are happy with the UMO Marlin version from him. What do you think? Maybe this was asked / discussed before?
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
Re: UMO/UMO+/Prusa firmware merge
Hi Martin,
I think if we do a "fix" it'll still keep the two branches separate.
If we do a Merge, it would allow to bring the UMO firmware to a point in which we can easily incorporate new improvements/additions to the firmware in a more seamless way.
Your thoughts?
I think if we do a "fix" it'll still keep the two branches separate.
If we do a Merge, it would allow to bring the UMO firmware to a point in which we can easily incorporate new improvements/additions to the firmware in a more seamless way.
Your thoughts?
- LePaul
- Reactions:
- Posts: 3981
- Joined: February 7th, 2016, 10:26 pm
- Location: Bangor, Maine USA
- 3D Printer(s): 24 - Yes I have a problem!
- Contact:
Re: UMO/UMO+/Prusa firmware merge
Impressive, gents!
- martin-bienz
- Reactions:
- Posts: 172
- Joined: February 22nd, 2016, 2:42 am
- Location: Switzerland
- 3D Printer(s): Ultimaker Original, prusa i3 mk2
Re: UMO/UMO+/Prusa firmware merge
My thoughts:antiklesys wrote:Your thoughts?
- Features, what are the features you would like to see that are not in UMO / Amedee's firmaware that are not in Marlin / Prusa's version, not only mesh bed leveling?
- Maintenance, keep in mind that if you create a seperate branch, you will be required to maintain it as well
- building. Amedee created a very nice framework with an online builder. I guess for most of us, it would be ok to compile it ourselfs but still the online builder with the most important settings as a config is very nice and easy to use.
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
Re: UMO/UMO+/Prusa firmware merge
Thanks Martin!
The main feature as of now is indeed just the bed leveling part, but from what i'm seeing in Marlin, there's a lot of pieces of code/parts that have been left abandoned (and were removed by the Prusa guys too).
My intention would be to make the firmware lighter too and easy to configure.
We have the builder indeed and I don't have issues having this work added into some sort of firmware builder aswell (with the help of Amedee or through other means).
For what concerns maintaining it, I don't think there should be major issues with that.
I'm currently maintaining my own branch of Marlin and tweaking it as I go.
Having to maintain two won't be a major difference, considering that after the merge it should be way simpler to integrate other pieces of code / additions from the Prusa firmware.
As of now, I see this already as a major goal. The firmware was somewhat "abandoned" by the UM team and Amedee is indeed doing a great work keeping this up, however we're still working on something that may be "old" and could benefit from a facelifting
Really looking forward collaborating with you on this Martin!
The main feature as of now is indeed just the bed leveling part, but from what i'm seeing in Marlin, there's a lot of pieces of code/parts that have been left abandoned (and were removed by the Prusa guys too).
My intention would be to make the firmware lighter too and easy to configure.
We have the builder indeed and I don't have issues having this work added into some sort of firmware builder aswell (with the help of Amedee or through other means).
For what concerns maintaining it, I don't think there should be major issues with that.
I'm currently maintaining my own branch of Marlin and tweaking it as I go.
Having to maintain two won't be a major difference, considering that after the merge it should be way simpler to integrate other pieces of code / additions from the Prusa firmware.
As of now, I see this already as a major goal. The firmware was somewhat "abandoned" by the UM team and Amedee is indeed doing a great work keeping this up, however we're still working on something that may be "old" and could benefit from a facelifting
Really looking forward collaborating with you on this Martin!
- martin-bienz
- Reactions:
- Posts: 172
- Joined: February 22nd, 2016, 2:42 am
- Location: Switzerland
- 3D Printer(s): Ultimaker Original, prusa i3 mk2
Re: UMO/UMO+/Prusa firmware merge
good question btw. I have no clue on which marlin the prusa version is based upon... but for sure newer than UMO Might be worth considering RC8 in this instance...but that is a "bigger" project I guess.drayson wrote:Short one: which Marlin version have you used from Prusa side?
Has it something to do with the official Marlin which is currently in RC8?
- antiklesys
- Reactions:
- Posts: 183
- Joined: February 13th, 2016, 8:01 am
- 3D Printer(s): UMO
Re: UMO/UMO+/Prusa firmware merge
I did some checks and the Prusa firmware is indeed newer than the UMO and has similarities with Marlin RC8, that said it was branched widely from it and there are currently more difference between the Prusa VS Marlin RC8 than there are with the UMO firmware.martin-bienz wrote:good question btw. I have no clue on which marlin the prusa version is based upon... but for sure newer than UMO Might be worth considering RC8 in this instance...but that is a "bigger" project I guess.drayson wrote:Short one: which Marlin version have you used from Prusa side?
Has it something to do with the official Marlin which is currently in RC8?