Results 1 to 9 of 9
-
06-15-2016, 03:58 PM #1
- Join Date
- Jun 2015
- Location
- Edmonton Alberta Canada
- Posts
- 8
Assistance with Rumba/ABL/pins.h/cardreader.cpp errors
I am trying to follow the Zennmaster tutorial on setting up ABL, BUT... Ihave hit a snag as his instructions follow the RAMPS board and I have the RUMBA.
Now I have googled and searched the forum and I thought that I had found the answer in the form of modifying my "pins.h" to contain the following:
Code:#ifdef NUM_SERVOS #define SERVO0_PIN 5 #if NUM_SERVOS > 1 #define SERVO1_PIN 4 #endif #if NUM_SERVOS > 2 #define SERVO2_PIN -1 #endif #if NUM_SERVOS > 3 #define SERVO3_PIN -1 #endif #endif
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: "Arduino Mega 2560 or Mega ADK"
In file included from /Marlin.h:23,
from cardreader.cpp:1:
/pins.h:1250:1: error: unterminated #if
/pins.h:1247:1: error: unterminated #ifdef
/pins.h:1206:1: error: unterminated #if
/pins.h:1:1: error: unterminated #ifndef
cardreader.cpp: In constructor 'CardReader::CardReader()':
cardreader.cpp:28: error: 'DIOSDPOWER_DDR' was not declared in this scope
cardreader.cpp:28: error: 'DIOSDPOWER_PIN' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_RPORT' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_WPORT' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_PIN' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_WPORT' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_PIN' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_WPORT' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_PIN' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_WPORT' was not declared in this scope
cardreader.cpp:29: error: 'DIOSDPOWER_PIN' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::initsd()':
cardreader.cpp:154: error: 'SDSS' was not declared in this scope
Now I am fairly new to arduino coding, but to me it looks like I closed my end ifs correctly. So does anyone have any suggestions that could help me out?
In my system currently running the Marlin firmware supplied from Colin's server on my RUMBA board.
-
06-15-2016, 06:00 PM #2
- Join Date
- Nov 2014
- Location
- New Orleans
- Posts
- 50
I would highly recommend upgrading to the newest arduino IDE and the latest Marlin firmware. A lot of bugs have been worked out since then and ABL works almost out of the box with the latest firmware. In the latest firmware pins_rumba.h (they were split out sometime last year I think), I just have a single line with no If statement (I only have one servo, so this works):
#define SERVO0_PIN 5
-
06-15-2016, 06:06 PM #3
- Join Date
- Jun 2015
- Location
- Edmonton Alberta Canada
- Posts
- 8
arduino IDE you mean the arduino application, and I get the latest marlin firmware from the reprap.org forum?
-
06-15-2016, 06:13 PM #4
- Join Date
- Nov 2014
- Location
- New Orleans
- Posts
- 50
Yes,
Download the latest firmware from GitHub: https://github.com/MarlinFirmware/Marlin
It will require the use of arduino 1.6.0 or newer (I think 1.6.9 is the latest) https://www.arduino.cc/en/Main/Software
-
06-15-2016, 06:19 PM #5
- Join Date
- Jun 2015
- Location
- Edmonton Alberta Canada
- Posts
- 8
A Suggestion to correct the problem is to change all of the above code in pins.h to the following
Code://#define SERVO0_PIN 5 //Less the " // "
Does anyone else concur? or got any other ideas? I will try to implement this tonight and see if it works.Last edited by jlhR2; 06-16-2016 at 08:53 AM.
-
06-16-2016, 02:50 PM #6
- Join Date
- Jun 2015
- Location
- Edmonton Alberta Canada
- Posts
- 8
Woohoo, it compiled. Thanks for the help Dustin. If I should have any further comments or questions on my ABL I will address them here on this thread.
James
-
06-20-2016, 12:54 PM #7
- Join Date
- Jun 2015
- Location
- Edmonton Alberta Canada
- Posts
- 8
okay (good news, bad news)x2 =
Good news1 = I uploaded the file and it worked, I have servo control.
Bad news1 = M401/M402 didn't work, and when I tried to check the G29 ABL program, nada. It would send the code but nothing would happen.
So additional review I realize that the base makerfarm firmware just wouldn't cut it.
I then downloaded latest marlin 1.1.0-RC6, tried to port my settings based from zennmasters thread. BAD NEWS2 = Compiling issues again. Today I look online and find a post from Roxy stating that there is a bug-fix fork for RC6, downloaded it and placed it into my firmware folder.and rana a compile on it "AS-IS" and it compiled (Good news2).
So now I am going to try to port my makerfarm information over the the RC6-BugFixed version, and see if it will compile.
One thing I still can't get to compile is the probe_servo_deactivation.
Can anyone tell me if there is or ever will be a centralized location of different "UP-to-date" firmwares offering simplified example of enabling or disabling elements such as ABL, or configuring for your specific printer?
James
-
06-22-2016, 04:07 PM #8
- Join Date
- Nov 2014
- Location
- New Orleans
- Posts
- 50
James,
I would have to dig up the old firmware to see what is causing that error, and I think transposing settings from the old to the new RC6 would be your best bet. Did you define the number of servos? define the z endstop as a servo? Define the servo endstop angles?
Unfortunately firmware varies wildly from printer to printer, and I don't know if there will ever be a one size fits all guide for adjusting it. The Marlin firmware is relatively easy to manipulate, in that you will only really need to make changes in the configuration.h file, and possibly the configuration_adv.h file after you become a little more familiar with the settings and what they do. Configuration.h is essentially a list of parameters while most of the "code" that makes it work is behind the scenes. Unless you are proficient in C/C++, I wouldn't recommend mucking around with anything other than the .h files. After a couple of firmware updates, you will be intimately familiar with the settings necessary to run your printer. Printbus has several excellent guides for adjusting firmware settings in his build guide.
I posted a rough guide for major firmware changes for RUMBA using clough42's dual extruder setup a few months ago. It may be useful in pointing out the variables you will need to change (note that you can ignore some of the settings related to dual extruders). You can see it here: http://3dprintboard.com/showthread.p...-Firmware-help
-
06-22-2016, 04:49 PM #9
- Join Date
- Jun 2015
- Location
- Edmonton Alberta Canada
- Posts
- 8
Thanks Dustin,
Yes I did define the number of servos to 1, pretty sure I defined the z endstop as a servo, and yes I set the angles. Someone did point out to me today one possible issue is that I am not 100% that I tried to run the G29 right after I did a G28. And then I was told the G29 apparently WILL NOT run unless if ran immediately after a G28. So I will test that.
Otherwise yes I did download the RC6+bugfix and was trying to again port all the settings and give it a go. And let everyone know by Friday where I am at with this then.
Thanks for the link to your settings, it will come in handy as I do own all the parts for the itty bitty flex v2.1, I just need to print the parts. And I was trying to get just a basic auto bed level setup before I printed two sets of the itty bitty parts and get building.
James
Printing time- Is this right?
09-13-2024, 07:51 AM in General 3D Printing Discussion