Jump to content
Sign in to follow this  
stevegt

Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Recommended Posts

Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Hi All,

I appear to have a working Makefile for the UM2 and Arduino version 1.0.1. Anyone interested can grab a copy at https://github.com/stevegt/Ultimaker2Marlin/blob/arduino_101_makefile/Marlin/Makefile.

 

Can anyone verify that 'HARDWARE_MOTHERBOARD ?= 72' is correct for the UM2? I tried 7, but that throws DIOSDCARDDETECT_PIN and other undeclared symbol errors during compile with Arduino 1.0.1. Arriving at 72 was a trial and error process, and if it's in fact correct I'll also add a comment to Configuration.h making it more clear which setting is appropriate for the UM2.

If nobody has any objections to these updates, I'll send Daid a pull request in a few days so this is easier for the next guy. The most major issue I can think of myself is that it will slightly contradict Simon's invaluable HOWTO at http://www.extrudable.me/2013/05/03/building-marlin-from-scratch/. That document (for UM1, right?) shows arduino 023 and motherboard 7.

For the record, while getting the build to work, I also commented out the entire SIGNAL(TWI_vect) function in the arduino libraries/Wire/utility/twi.c, per Marlin's Configuration.h and multiple threads elsewhere in these forums. As far as I understand, I didn't need to do this unless I was using the Arduino IDE to build from the .pde, but I wound up building with the IDE in the course of troubleshooting the Makefile-based build anyway.

Thanks,

Steve

 

Share this post


Link to post
Share on other sites
Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Did you use this for your source?

https://github.com/Ultimaker/Ultimaker2Marlin

If so then in Configuration.h I found:

 


#ifndef MOTHERBOARD
#define MOTHERBOARD 72
#endif

So I suspect 72 is correct. The UM1 uses the arduino mega2560. I don't know which arduino chip the UM2 uses.

 

Share this post


Link to post
Share on other sites
Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

So I suspect 72 is correct. The UM1 uses the arduino mega2560. I don't know which arduino chip the UM2 uses.

 

UM2 uses the same chip. The UM2 hardware started by just putting all the UM1 hardware on a single board. And then replacing the bits that where not needed or could function better (like the temperature measurements)

 

Share this post


Link to post
Share on other sites
Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Did you use this for your source?

https://github.com/Ultimaker/Ultimaker2Marlin

If so then in Configuration.h I found:

 


#ifndef MOTHERBOARD

#define MOTHERBOARD 72

#endif

So I suspect 72 is correct. The UM1 uses the arduino mega2560. I don't know which arduino chip the UM2 uses.

 

Yes, that's what I'm using for my upstream. I also saw that #define, which is what made me try 72 when 7 didn't work.

Over in https://github.com/Ultimaker/Ultimaker2Marlin/pull/30, Daid seems to be saying that 72 is wrong for the UM2 though. Googling for those DIOSDCARDDETECT_PIN errors didn't find me much, which makes me think that building with 7, while using the Makefile or Arduino IDE, isn't something that many people are doing right now.

I haven't dug through what differences there might be between codeblocks and the other build methods (and I might need the codeblocks XML to do that). It could be this is just a case of both the Makefile and .pde drifting behind codeblocks, getting the #ifdefs tangled up in such a way that 72 just happens to make it work right now.

Steve

 

Share this post


Link to post
Share on other sites
Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Over in https://github.com/Ultimaker/Ultimaker2Marlin/pull/30, Daid seems to be saying that 72 is wrong for the UM2 though.

 

No, I think he's just saying that it's wrong to call it 'Ultimaker² Electronics' as it will at some point get used for the Ultimaker Original as well. It happens to be Ultimaker²-only at the moment, but it won't always be.

 

Share this post


Link to post
Share on other sites
Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

Indeed, 72 is proper for the UM2. But saying that 72 is the UM2 is wrong.

So the comment in the configuration.h (// 72 = Ultiboard v2.0) is correct.

 

Share this post


Link to post
Share on other sites
Posted · Building Marlin: Makefile updates for UM2 and Arduino 1.0.1

In my own repo copy I now have:

// 72 = Ultiboard v2.0 (includes Ultimaker 2)

...I tried to also say something about future UM1 kits, but got all tangled up in time warp grammar and gave up.

I'll include this in a lifetime_stats Makefile update I'm sending your way.

Steve

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Our picks

    • Ultimaker Cura 4.0 | Stable available!
      Ultimaker Cura 4.0 is mainly focused on the improved user interface and cloud integration.
      As always, we want to collect your user feedback for this release. If there are any improvements you can think of, feel free to mention it here and help us to shape the next release.
      • 98 replies
×
×
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!