Home Artists Posts Import Register

Content

Hey folks, here's a quick update for November.

I've been slowly getting acquainted with my new city — Portland, Oregon — where I now have a pretty stable home-base with enough room and solitude to work and experiment. I've had less freelance work lately, so I've been working on calibrating my 3D printer, designing objects in OpenSCAD and Blender 3D, and fixing bugs in Marlin.


As the title says, Marlin 1.1.0-RC2 is out. Release Candidate 2 was officially released at the end of September. It remedies the sins of RC1 but it still has some minor bugs outstanding.


I haven't been closely involved with the core Marlin team recently, but I have submitted a series of patches for bugs in RC2, and I will continue to submit more patches as I find problems or just generally tweak things. At the moment, I am not sure who's taking responsibility for integrating new patches, but I hope to see a proper RC3 release very soon.


I've been using social networking (Twitter, Facebook, etc.) to drive interest towards RC2 and hopefully this will bring more user-centric feedback to the Marlin issue queue. The current release candidate isn't really different from a public beta. In that sense, it is feature-complete for the release, which is to say no new features will be added until the next release. I have confidence that RC2 works well in most respects and is safe for everyday use.


Branches: Marlin/RCBugFix and MarlinDev/master


The procedure for submitting bug patches for Marlin is slightly convoluted now. If you find a bug in Marlin RC2 and want to submit a patch, you will need to make a copy of the RCBugFix branch and apply your commits against your copy when submitting a pull request. If you're not familiar with the Git command line, especially making pull requests and rebasing old commits (to adapt changes from another point in history), you may find it hard to jump into contributing right now. You can always ask for help in the Marlin issue queue, and someone there can guide you in how to get started.


Marlin Schism?


I have my complaints about the current arrangement of the Marlin development tree, the reformation of which has been dominated by one vociferous contributor in recent months (the same contributor who rushed out RC1 without due consideration). I'm not alone in feeling that more thought and consideration is needed going forward.


To sum things up from my perspective: The main development branch for Marlin was diverged right on the heels of the first release candidate. Meanwhile, the Marlin/RCBugFix was created to drive home the notion of 1.1.0 as a dead end built on an older foundation and to give a place for dead-enders to submit patches. While the code in MarlinDev/master was shuffled around compared to Marlin/RC, the contents of the code files remains entirely the same, so all patches for the Marlin/RCBugFix are (A) applicable to the MarlinDev/master but at the same time (B) incompatible with MarlinDev/master. As a result every proposed change must be put together and submitted twice. All this extra work is annoying, and is one reason some of us feel that it makes little sense to diverge MarlinDev/master right now. The changes that have been posted there should be placed in a separate branch until after the 1.1.0 final release, and only when it is mature should it become the "master" branch. The rush to change MarlinDev confused and disheartened several contributors, including myself.


I wish I had a magic wand I could wave to make abusers of privileges go away forever, but you can't really work that way. But as just another person contributing at an equal level, all I can do is petition others to censure and reproach them. After my head exploded and I expressed my feelings to the project, I decided to lay low and contribute in the background until things settle down. Perhaps some kind of governance will be built to oversee such disputes.


Documentation and Homepage

The RC version of Marlin boot screen displays marlinfirmware.org at startup. But this domain has been on a shaky foundation, and today it appears to be down completely. Maybe it's down for good.


The marlinfirmware.org domain was originally born out of a conversation between myself and two other contributors. One of them offered to set up a wiki and the domain. I spent hundreds of hours there composing documentation for Marlin, especially documenting Marlin's implementation of G-Code (still not done!). Unfortunately the holder of our domain was always hard to contact, so no one else could get an editor account. I tried to fill out as much information there as I could, leaving it up to other contributors to decide whether they wanted to utilize my text. I'm happy to say that most of my work has been migrated to the Marlin wiki at Github.


Going Forward

I maintain a copy of Marlin RC2 that I've patched with all the bug-fixes that I submitted to the main Marlin project. As bugs and issues are fixed in the main Marlin project I will continue to keep my code in sync for as long as I can. I will be patching up my own branch as I see fit, to improve performance of my own printer, and just to modernize the code in some other ways (Planner and Stepper as C++ classes, etc.). I hope that I will be able to drop this branch later on and go back to patching the main Marlin branch, but for the moment I need to focus on the public release, then I can begin to think about the next one.


Other RepRap Projects

I'm working on a super-secret project lately that's been a lot of fun. Basically I'm building a 3D printer simulator that includes all levels of an actual firmware, adapting the code from Marlin (C++) to Unity 3D (C#). This will allow me to simulate 3D printer mechanics in an idealized way, test GCode, view things like acceleration of print moves in slow-motion, and adjust parameters in real-time to see how they affect printing results. A simulation built on Unity can do many tricks, including implementing different printers as simple plug-ins, and even simulating real extrusion. I'll be posting more about this very soon on my YouTube channel, and right here too!

Comments

No comments found for this post.