What should be the easiest part of building my printer is turning out to be the biggest PITA.
I've been trying to set up the Arduino IDE so I can flash the firmware on the MegaMax 3D printer, which should be really simple, but I'm running into one problem after another. First newer versions of the IDE don't work with the Mega4560 board even though it appears to be a couple years old, so I had to track down and install an older version of the IDE. Then I find that I'm having compile problems because the older IDE isn't compatible with latest C compiler I installed. Then, after I track down the older, compatible C compiler I find it is dependent on older GMP and other modules and won't work with current versions. It's like pulling potatoes except that the string of dependencies on outdated software never seems to end.
So eventually I get what I think is all the out-dated software packages and dependencies together, configure it, make it, and then install fails. What little documentation for all this that exists (except how to actually make it work) is spread out in a 100 posts on 20 internet forums.
3 questions:
1) Are there any one-stop-shopping sites anywhere with DLs for all the necessary software and dependencies for any given Arduino board like the Mega2560?
2) Is all this because I'm using linux or is the situation the same for all OSes?
3) How the hell does anyone get ANYTHING working on an Arduino board?
>1) Are there any one-stop-shopping sites anywhere with DLs for all the
>necessary software and dependencies for any given Arduino board like the
>Mega2560?
>2) Is all this because I'm using linux or is the situation the same for >all OSes?
>3) How the hell does anyone get ANYTHING working on an Arduino board?
I'm running Ubuntu 12.04 (current version), and the version of the Arduino IDE in their repository (1.0, slightly behind the current release) supports the Mega 2560. What version of Linux are you running?
It might be worth setting up a spare machine (maybe at the space) with Ubuntu just to try it out.
The IDE seems to work fine for the boards it supports. There's a config file you can edit (and support files you can add) to support other boards, but it doesn't always work, and I haven't found any documentation for it.
BTW it's also possible to set up the Eclipse IDE to work with Arduino.
It's on my to-do list, but it does take some research to make sure you're doing it right (Royce has it working). There are a few web pages about it, some of which seem to be slightly out of date. Things to seem to be improving, though.
The Marlin page at GitHub says that you have to use version 0022 (and someone on a forum said 0023 works) of the Arduino IDE to compile the Marlin code because of some incompatibilities with more recent versions of the IDE (I tested that idea and it's true- Marlin won't compile on Arduino 1.0.0 or 1.0.1). What they don't tell you is that in order to get one of those older versions of the IDE to work you also have to hunt down and install a bunch of other out-dated software.
>The Marlin page at GitHub says that you have to use version 0022 (and
>someone on a forum said 0023 works) of the Arduino IDE to compile the
>Marlin code because of some incompatibilities with more recent versions of
>the IDE (I tested that idea and it's true- Marlin won't compile on Arduino
>1.0.0 or 1.0.1).
What specifically doesn't work? It might be easier to try to fix the code.
How big is the code base? I had to change a few things in the 1.0 on
my code, but it wasn't that hard. Perhaps we can just change it match
the new libraries.
I can show you how to download a hex file without the IDE. But you do
have to be able to compile successfully before you'll get that hex
file.
Usually libs that are NOT 1.0 compatible (or vise versa) need a few simple lines of code.. as the Arduino IDE has changed the names of some of the core files.
----- Original Message ----- From: Ron Bean To: milwaukeemakerspace@googlegroups.com Sent: Saturday, August 11, 2012 12:31 PM
Subject: Re: [MakerSpace] Need an Arduino/Linux assistance
>The Marlin page at GitHub says that you have to use version 0022 (and
>someone on a forum said 0023 works) of the Arduino IDE to compile the
>Marlin code because of some incompatibilities with more recent versions of
>the IDE (I tested that idea and it's true- Marlin won't compile on Arduino
>1.0.0 or 1.0.1).
What specifically doesn't work? It might be easier to try to fix the code.
----- Original Message ----- From: Ron Bean To: milwaukeemakerspace@googlegroups.com Sent: Saturday, August 11, 2012 2:32 PM
Subject: Re: [MakerSpace] Re: Need an Arduino/Linux assistance
which some might find useful. You select options and it will build the Marlin hex file on-line and give you a hex file to DL and burn to your controller board. It only modifies the config.h file and not the pins.h file where you define LCD connections, emergency stops, etc. <http://daid.mine.nu/~daid/marlin_build/index.php?build=1&baudrate=115...>
> which some might find useful. You select options and it will build the
> Marlin hex file on-line and give you a hex file to DL and burn to your
> controller board.
> It only modifies the config.h file and not the pins.h file where you
> define LCD connections, emergency stops, etc.
Nothing really to contribute here,except I noticed that Dentists don't use
the common idiom " It's like pulling teeth", but instead use "It's like
pulling potatoes".
OK! Now it's really ALIVE! Special thanks to Gary for helping out at the 3D printing meetup at bucketworks.
For anyone interested, the compile problem was traced to a macro in the Arduino IDE that defined a math rounding function. It seems that the C compiler also had a "round" function defined (maybe a recent addition?) and the two were in conflict. Gary commented out the Arduino macro and it compiled just fine after that.
I have tweaked Marlin for the specifics of my machine and it seems to be working now. I can position all three axes, the endstops (min and max) work fine, the LCD, encoder, and beeper all work. SD card is detected, but I haven't tested it further. The kill switch doesn't seem to work.
I loaded the calibration cube file from pronterface and hit print and the machine took off and ran with it.
Time to mount the electronics in a box, wire the machine and dress the cables and get it ready for the extruder.
I think it's just finding the right place in the firmware to put the pin definition. As far as I know it drives a hardware interrupt that kills motors, extruders, hot ends and heated bed. I'll let you know when I have it working.
On Sunday, August 12, 2012 5:59:48 AM UTC-5, Jim Rawson wrote:
> Nothing really to contribute here,except I noticed that Dentists don't use > the common idiom " It's like pulling teeth", but instead use "It's like > pulling potatoes".