Here's a quick link https://www.youtube.com/watch?v=7WSa06m263Q
Printable View
Here's a quick link https://www.youtube.com/watch?v=7WSa06m263Q
Well... 2 or 3 things were on the list to make you happy.... But I suspect you want your LCD Panel to work the most.
I don't have an LCD Panel, but I wanted to use the M600 Filament Change command those people wrote to promote the LCD Panels. So I had to add a couple of routines to provide functionality that the LCD Panels normally provide.
First... Save your entire code base before you make any changes. Probably you won't be able to make this work first try and we don't want to lose forward progress.
First, go into Marlin_main.cpp and delete this code. These are the duplicate routines that you wont need:
Then, go into Configuration.h and uncomment the line that enables the UltiPanel. (The one I told you re-comment before) Try to compile the code base. Probably there will be some errors and we will have to work through them. But if it compiles clean, you might have your LCD Panel working with the new code base.Code:// Roxy substitute routine to provide user confirmation easily on a PrintrBoard.
// It looks at GPIO PC1 pin 11 value for input value change.
// This routine looks for a button press to confirm everything is OK.
// This allows the firmware to provide the Filament Change feature without
// an LCD panel installed. The switch is wired from the Expansion Port 2
// header pin closest to AT90USB1286 chip to a switch that can connect it to
// Ground.
#define FILAMENTCHANGEENABLE
#ifdef FILAMENTCHANGEENABLE
#ifndef ULTIPANEL
bool lcd_clicked()
{
int pin_being_examined;
int ii, iii, jj;
pin_being_examined=12; // This is PC1 on PrintrBoard
pinMode(pin_being_examined, INPUT_PULLUP); // Set it to Input with a pull up if it hasnt
delay(50); // been used since RESET.
iii = digitalRead(pin_being_examined); // Get the current state of pin.
return !iii;
}
void lcd_pressed()
{
while( lcd_clicked() != 0 ) // Wait for the switch to be released
;
delay(50);
while( lcd_clicked() != 1 ) // Wait for the switch to be pressed
;
delay(50);
}
#endif
#endif
Here is the error when compiling after above changes.
Marlin_main.cpp:3404:35: error: missing binary operator before token "No"
Marlin_main.cpp:3836:15: error: missing binary operator before token "No"
Question for you. After g29 the z raises, where did you set this?
Probably, you are talking about this code at the very very end of the G29:
Code:do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);
#ifdef Z_PROBE_SLED
dock_sled(true, -SLED_DOCKING_OFFSET); // correct for over travel.
#endif // Z_PROBE_SLED
retract_z_probe();
}
break;
#ifndef Z_PROBE_SLED
case 30: // G30 Single Z Probe
Attachment 3680
Here it is.
I don't see a problem.... I know it is a pain... But I guess you better .ZIP up your current code base so I can run the whole thing through the compiler and see the problem first hand.
I'm sure what ever is wrong is simple and not a big deal... But I don't see the problem by going to those lines in the source code.
Attachment 3681
Okay, it's attached.
There is something funny going on with the C++ Pre-Processor. It is having trouble doing casts on the BEEPER token. And it is defined properly in Pins.h as 36. I have to run out the door. How about you revert back to your previous firmware until I figure out how to convince Arduino that the code is OK? Incidentally... The code it is barfing on hasn't been changed from the main branch of the tree and has been in there since the UltiPanel was released. So it is a little strange it is having issues with it now. There must be something else factoring into the equation.