How to setup Arduino to compile FW on a Mac?
I found the .pdf that has all the steps (delete LiquidCrystal directory and ArduinoAddons stuff), but cannot map the steps on a Mac.
Is it possible to do this on a Mac?
If so anybody got instructions to compile FW for the Prusa i3 MK2 on a Mac?
thanks
kc
Re: How to setup Arduino to compile FW on a Mac?
Hi kc/Jim
I don't think you have to do much in the O/S. Here are my notes:
1. Download the latest Arduino IDE from Arduino.cc
2. Open the IDE, open file/preferences and set additional boards manager to the RAMBo repository: https:// raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
3. Open Tools/Boards/Boards Manager and install the RAMBo board.
4. Close the IDE.
5. Unzip the Prusa firmware source code and follow their instructions for your board.
6. Connect printer to PC
7. Double-click the Firmware.ino file - this will open the Arduino IDE
8. Ensure you have the RAMBo selected (Tools/Board)
9. Select the correct port, compile and upload.
Peter
NOTE: at step 2, I had to insert a space after https:// to prevent truncation of the link. You need to remove the space.
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: How to setup Arduino to compile FW on a Mac?
Hmm, what's the latest version of Arduino this has been tested on?
I'm on 1.6.12 and getting the following compilation error:
Arduino: 1.6.12 (Mac OS X), Board: "RAMBo"
In file included from sketch/SdFile.h:27:0,
from sketch/cardreader.h:8,
from sketch/Marlin_main.cpp:58:
SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch/Marlin.h:10:0,
from sketch/Marlin_main.cpp:38:
/Users/user/Library/Arduino15/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.3-arduino2/avr/include/stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
exit status 1
using typedef-name 'fpos_t' after 'struct'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Re: How to setup Arduino to compile FW on a Mac?
PJR, you can't use the "latest" Arduino software to compile the firmware for this printer yet. You have to use v1.6.8 and be sure to NOT update your CPUs to the latest software or you will be in the same mess with not being able to compile.
You do have to add a "board manager" plugin as listed here though so you can compile for RAMBo.
and an 8 inch (200mm) or greater caliper is recommended.
Re: How to setup Arduino to compile FW on a Mac?
PJR, you can't use the "latest" Arduino software to compile the firmware for this printer yet
Aaron
On July 11th when that post was made, I was using the latest Arduino software to compile the firmware.
Things change...
Peter
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: How to setup Arduino to compile FW on a Mac?
PJR, you can't use the "latest" Arduino software to compile the firmware for this printer yet
Aaron
On July 11th when that post was made, I was using the latest Arduino software to compile the firmware.
Things change...
Peter
Sorry, didn't notice the time lapse.
and an 8 inch (200mm) or greater caliper is recommended.
Re: How to setup Arduino to compile FW on a Mac?
Aaron
Not a problem. I have been caught out too many times; first thing I look at is the date of the post.
Peter
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: How to setup Arduino to compile FW on a Mac?
PJR, you can't use the "latest" Arduino software to compile the firmware for this printer yet. You have to use v1.6.8 and be sure to NOT update your CPUs to the latest software or you will be in the same mess with not being able to compile.
You do have to add a "board manager" plugin as listed here though so you can compile for RAMBo.
Thanks for the tip ayourk!
Unfortunately, now I have a new compile error, even after following the instructions using 1.6.8:
Arduino: 1.6.8 (Mac OS X), Board: "RAMBo"
failed MSpanList_Insert 0x30c0a8 0x9ad6b1864689 0x0
fatal error: MSpanList_Insert
runtime stack:
runtime.MSpanList_Insert(0x2c6e30, 0x30c0a8)
/usr/local/go/src/runtime/mheap.c:692 +0x8f
runtime.MHeap_Free(0x2c6c20, 0x30c0a8, 0xc200000000)
/usr/local/go/src/runtime/mheap.c:500 +0x5b
runtime.MCentral_FreeSpan(0x2d05b8, 0x30c0a8, 0x2, 0xc2080aa000, 0xc2080ab000, 0x1000, 0x64)
/usr/local/go/src/runtime/mcentral.c:181 +0x1bb
runtime.MSpan_Sweep(0x30c0a8, 0x1100000000, 0x1)
/usr/local/go/src/runtime/mgc0.c:1099 +0x477
runtime.MHeap_Alloc(0x2c6c20, 0x1, 0x1000000000a, 0x10359)
/usr/local/go/src/runtime/mheap.c:240 +0x66
runtime.MCentral_CacheSpan(0x2ce098, 0x30c040)
/usr/local/go/src/runtime/mcentral.c:85 +0x167
runtime.MCache_Refill(0x307000, 0x10000000a, 0x30c040)
/usr/local/go/src/runtime/mcache.c:90 +0xa0
goroutine 1 [running]:
runtime.switchtoM()
/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc2080311c8 sp=0xc2080311c0
runtime.mallocgc(0x90, 0x1bbce0, 0xc200000001, 0xad)
/usr/local/go/src/runtime/malloc.go:178 +0x849 fp=0xc208031278 sp=0xc2080311c8
runtime.newobject(0x1bbce0, 0xc2080313f0)
/usr/local/go/src/runtime/malloc.go:353 +0x49 fp=0xc2080312a0 sp=0xc208031278
os.Stat(0xc20809d740, 0xb6, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/os/file_unix.go:133 +0x4e fp=0xc2080312e0 sp=0xc2080312a0
arduino.cc/builder/gohasissues.walk(0xc2080b8a50, 0xad, 0x318c98, 0xc208036960, 0xc208031870, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/gohasissues/go_has_issues.go:69 +0x3b7 fp=0xc208031418 sp=0xc2080312e0
arduino.cc/builder/gohasissues.walk(0xc2080b8790, 0xa9, 0x318c98, 0xc208036870, 0xc208031870, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/gohasissues/go_has_issues.go:75 +0x516 fp=0xc208031550 sp=0xc208031418
arduino.cc/builder/gohasissues.walk(0xc208068840, 0xa1, 0x318c98, 0xc2080363c0, 0xc208031870, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/gohasissues/go_has_issues.go:75 +0x516 fp=0xc208031688 sp=0xc208031550
arduino.cc/builder/gohasissues.walk(0x7fff5fbffa7f, 0x9d, 0x318c98, 0xc208036370, 0xc208031870, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/gohasissues/go_has_issues.go:75 +0x516 fp=0xc2080317c0 sp=0xc208031688
arduino.cc/builder/gohasissues.Walk(0x7fff5fbffa7f, 0x9d, 0xc208031870, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/gohasissues/go_has_issues.go:46 +0xf2 fp=0xc208031828 sp=0xc2080317c0
arduino.cc/builder.findBuiltinToolsVersionsFile(0x7fff5fbffa7f, 0x9d, 0x0, 0x0, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/tools_loader.go:163 +0xa0 fp=0xc208031888 sp=0xc208031828
arduino.cc/builder.(*ToolsLoader).Run(0x2c0908, 0xc20803c570, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/tools_loader.go:50 +0x1ec fp=0xc208031a20 sp=0xc208031888
arduino.cc/builder.(*ContainerSetupHardwareToolsLibsSketchAndProps).Run(0x2c0908, 0xc20803c570, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/container_setup.go:59 +0x6b8 fp=0xc208031c10 sp=0xc208031a20
arduino.cc/builder.runCommands(0xc20803c570, 0xc208031d20, 0x4, 0x4, 0xc207ffcd01, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/builder.go:187 +0x139 fp=0xc208031ca0 sp=0xc208031c10
arduino.cc/builder.(*ParseHardwareAndDumpBuildProperties).Run(0xc208031d88, 0xc20803c570, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/builder.go:176 +0x204 fp=0xc208031d68 sp=0xc208031ca0
arduino.cc/builder.RunParseHardwareAndDumpBuildProperties(0xc20803c570, 0x0, 0x0)
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/src/arduino.cc/builder/builder.go:223 +0x49 fp=0xc208031d90 sp=0xc208031d68
main.main()
/Users/jenkins/jenkins/workspace/arduino-builder-macosx/main.go:310 +0x18b7 fp=0xc208031f98 sp=0xc208031d90
runtime.main()
/usr/local/go/src/runtime/proc.go:63 +0xf3 fp=0xc208031fe0 sp=0xc208031f98
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc208031fe8 sp=0xc208031fe0
arduino-builder returned 2
Error compiling for board RAMBo.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Re: How to setup Arduino to compile FW on a Mac?
Apparently even a renamed LiquidCrystal library such as Adafruit's was causing the new error. Deleting has brought me back to the same "using typedef-name 'fpos_t' after 'struct'" error I was getting before. :-/
Re: How to setup Arduino to compile FW on a Mac?
Got it to compile in 1.6.12 and all others using advice from here: http://forums.reprap.org/read.php?146,691608,699987#msg-699987
Rename fpos_t variables in SdBaseFile.h and SdBaseFile.cpp to another name like fpos_t1 and recompile. Problem is in C++ you can not use typedef and struct for the same varibale name.
Looks like a possible bug/typo in this version of Marlin?
Re: How to setup Arduino to compile FW on a Mac?
Another approach is install Vagrant on the on the Mac: http://sourabhbajaj.com/mac-setup/Vagrant/README.html
Once vagrant is installed you can download VM that has the Arduino IDE: https://github.com/StefanScherer/arduino-ide