Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manual Filament Change feature #3601

Closed

Conversation

schirrel
Copy link

@schirrel schirrel commented Apr 23, 2016

Add the filament change routine.
States:

  1. Remove FIlament
  2. Insert Filament Slow
  3. Insert Filament
  4. Remove the filament, use a cert amout to retract, its value must be change according to your print
  5. Insert slowly the filament until it pass the motor and enter the tube
  6. Inser quick the filament till it reachs the end, the value to "walk" must be change according to your print

The feed rate used on it was but "eye". I made no calc to it, and i think that it also can change according to users need, or change it as you guys think is best.
Sorry but the lack of right words on description.

PS. It is not dealing with heating of the nozzle, it just move the "motor". In fact assumes that its already hot.

I'm looking ahead to implement this late next week.

@jbrazio
Copy link
Contributor

jbrazio commented Apr 23, 2016

You have to clean your code a little bit, the most important aspects are:

  • Do not use tabs anywhere, aways spaces
  • Use double space as the line ident base

* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
Marlin 3D Printer Firmware
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On this file dfif there are a lot of changes unrelated with your functionality.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes i saw it two and i'm wordering why, cuz i havent change the comment, maybe by accident but i havent modified these

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe was the Arduino IDE identantion. I must change it again?

@jbrazio jbrazio added PR: Improvement Needs: Work More work is needed labels Apr 23, 2016
if (commands_in_queue < BUFSIZE) get_available_commands();


if (filamentRemove) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like to use EEPROM nor having this hook at the mais loop()..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm just using EEPROM because the variable was used in the main loop.
And i have it there because i thugth that there were the right way but i could easily move to ultralcd.cpp file. What you think?

@jbrazio
Copy link
Contributor

jbrazio commented Apr 23, 2016

To reset files to their "default" use git checkout <filename>.

@schirrel
Copy link
Author

@jbrazio i've done it 😄

#define MSG_CHANGE_FILAMENT "Filament"
#define MSG_REMOVE_FILAMENT "Remove"
#define MSG_INSERT_FILAMENT "Insert"
#define MSG_INSERT_FILAMENT_SLOW "Slow Insert"
#endif // LANGUAGE_EN_H
Copy link
Contributor

@Blue-Marlin Blue-Marlin Apr 23, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have that strange #ifndef #endif structures around the definitions in the English language file?
Do you see any warnings about redefined strings?
What language do you see for the new entries on your display if you set the language to pt-br?

Copy link
Member

@thinkyhead thinkyhead Apr 24, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these rhetorical questions you are asking? Your sarcasm doesn't necessarily translate. (But the contempt is loud and clear.)

Simple
straightforwardness
is
better.

Even better: just patch it up and submit a PR to his branch.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Blue-Marlin i only have pasted my 4 variables at the end of the file i havent done any ifndef. ALso o see no warnings and i have done this 4 lines in pt-br file also, so i see it at my language.

@thinkyhead it was for me or for @Blue-Marlin? The question about sacarsm

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes " rhetorical questions" and "sarcasm" have been addressed to me.

Ehhh, 'variables'?
No warnings?

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:511:0: warning: "MSG_CHANGE_FILAMENT" redefined [enabled by default]

 #define MSG_CHANGE_FILAMENT                 "Filament"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:174:0: note: this is the location of the previous definition

 #define MSG_CHANGE_FILAMENT                 "Filamento"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:512:0: warning: "MSG_REMOVE_FILAMENT" redefined [enabled by default]

 #define MSG_REMOVE_FILAMENT                 "Remove"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:175:0: note: this is the location of the previous definition

 #define MSG_REMOVE_FILAMENT                 "Retirar"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:513:0: warning: "MSG_INSERT_FILAMENT" redefined [enabled by default]

 #define MSG_INSERT_FILAMENT                 "Insert"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:176:0: note: this is the location of the previous definition

 #define MSG_INSERT_FILAMENT                 "Inserir"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:514:0: warning: "MSG_INSERT_FILAMENT_SLOW" redefined [enabled by default]

 #define MSG_INSERT_FILAMENT_SLOW            "Slow Insert"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\temperature.cpp:46:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:177:0: note: this is the location of the previous definition

 #define MSG_INSERT_FILAMENT_SLOW            "Lentamente"

 ^

"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -fverbose-asm -save-temps  "-IC:\Users\ah\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.10\cores\arduino" "-IC:\Users\ah\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.10\variants\mega" "-IC:\Users\ah\Documents\Arduino\libraries\U8glib\src" "C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\twibus.cpp" -o "C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\twibus.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -fverbose-asm -save-temps  "-IC:\Users\ah\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.10\cores\arduino" "-IC:\Users\ah\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.10\variants\mega" "-IC:\Users\ah\Documents\Arduino\libraries\U8glib\src" "C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp" -o "C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp.o"
In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:511:0: warning: "MSG_CHANGE_FILAMENT" redefined [enabled by default]

 #define MSG_CHANGE_FILAMENT                 "Filament"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:174:0: note: this is the location of the previous definition

 #define MSG_CHANGE_FILAMENT                 "Filamento"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:512:0: warning: "MSG_REMOVE_FILAMENT" redefined [enabled by default]

 #define MSG_REMOVE_FILAMENT                 "Remove"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:175:0: note: this is the location of the previous definition

 #define MSG_REMOVE_FILAMENT                 "Retirar"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:513:0: warning: "MSG_INSERT_FILAMENT" redefined [enabled by default]

 #define MSG_INSERT_FILAMENT                 "Insert"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:176:0: note: this is the location of the previous definition

 #define MSG_INSERT_FILAMENT                 "Inserir"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:251:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_en.h:514:0: warning: "MSG_INSERT_FILAMENT_SLOW" redefined [enabled by default]

 #define MSG_INSERT_FILAMENT_SLOW            "Slow Insert"

 ^

In file included from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language.h:250:0,

                 from C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\ultralcd.cpp:26:

C:\Users\ah\AppData\Local\Temp\build0ca64bc2097fb2df5a6ea132866e93fd.tmp\sketch\language_pt-br.h:177:0: note: this is the location of the previous definition

 #define MSG_INSERT_FILAMENT_SLOW            "Lentamente"

 ^

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, no warnings as you can see here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to return to my first (rhetorical) question or do you want fotos from your pt-br - en mix?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay i have to make the "ifndef" in english file, got it.

@jbrazio
Copy link
Contributor

jbrazio commented Apr 24, 2016

@codersquirrel está quase.. ;-)

Could you check Configuration_adv.h:

// Add support for experimental filament exchange support M600; requires display
#if ENABLED(ULTIPANEL)
  //#define FILAMENTCHANGEENABLE
  #if ENABLED(FILAMENTCHANGEENABLE)
    #define FILAMENTCHANGE_XPOS 3
    #define FILAMENTCHANGE_YPOS 3
    #define FILAMENTCHANGE_ZADD 10
    #define FILAMENTCHANGE_FIRSTRETRACT -2
    #define FILAMENTCHANGE_FINALRETRACT -100
    #define AUTO_FILAMENT_CHANGE                //This extrude filament until you press the button on LCD
    #define AUTO_FILAMENT_CHANGE_LENGTH 0.04    //Extrusion length on automatic extrusion loop
    #define AUTO_FILAMENT_CHANGE_FEEDRATE 300   //Extrusion feedrate (mm/min) on automatic extrusion loop
  #endif
#endif


static void lcd_retract_filament() {
//This value must be setted according the size you have at your printer
current_position[E_AXIS] -= 75.0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make this number configurable in Configuration.h – don't hard-code it here.

@schirrel
Copy link
Author

@jbrazio Obrigada ;-D i also will check this, and try to make this variable configurable, as @thinkyhead said.

@schirrel
Copy link
Author

Yeah i know there's a lot to do about this feature. Like proper variable names, proper configuration. But i have done this to my use. For my own use i don't demand such things. But once i have done for me and it was something very handy, that i'm coming here to share and for you guys who have a better though on big projects, or entrepreneur, or i don't know how the hell call this type of thinking, but thinking a little bit more "organized" to help to make this the right way, and improve it for everyone's use.

#endif
#ifndef MSG_INSERT_FILAMENT_SLOW
#define MSG_INSERT_FILAMENT_SLOW "Slow Insert"
#endif
#endif // LANGUAGE_EN_H
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😄
also, the travis check has failed at scara configuration :s
Could u help me?

@thinkyhead thinkyhead changed the title Rc filament change rcbugfix Manual Filament Change feature Apr 24, 2016
@Blue-Marlin
Copy link
Contributor

Blue-Marlin commented Apr 24, 2016

It's delta/kossel_mini what failed.
It's not the language file you changed but the commit before where you introduced

+#define FILAMENTCOMPLETCHANGE_SIZE 75
+#define FILAMENTCOMPLETCHANGE_FAST_FEEDRATE 100
+#define FILAMENTCOMPLETCHANGE_SLOW_FEEDRATE 1.5

in only one of the about 20 Configuration.h files, in combination with using this defines without checking there existence.

0.02s$ use_example_configs delta/kossel_mini

The command "use_example_configs delta/kossel_mini" exited with 0.

5.84s$ build_marlin

Loading configuration...

Xlib:  extension "RANDR" missing on display ":1.0".

Initializing packages...

Preparing boards...

Verifying...

ultralcd.cpp: In function 'void lcd_insert_filament_slow()':

ultralcd.cpp:1119: error: 'FILAMENTCOMPLETCHANGE_SLOW_FEEDRATE' was not declared in this scope

   plan_buffer_line(current_position[(X_AXIS)], current_position[(Y_AXIS)], current_position[(Z_AXIS)], current_position[E_AXIS], FILAMENTCOMPLETCHANGE_SLOW_FEEDRATE, active_extruder);

                                                                                                                                  ^

ultralcd.cpp: In function 'void lcd_retract_filament()':

ultralcd.cpp:1126: error: 'FILAMENTCOMPLETCHANGE_SIZE' was not declared in this scope

  current_position[E_AXIS] -= FILAMENTCOMPLETCHANGE_SIZE;

                              ^

ultralcd.cpp:1127: error: 'FILAMENTCOMPLETCHANGE_FAST_FEEDRATE' was not declared in this scope

  plan_buffer_line(current_position[(X_AXIS)], current_position[(Y_AXIS)], current_position[(Z_AXIS)], current_position[E_AXIS], FILAMENTCOMPLETCHANGE_FAST_FEEDRATE, active_extruder);

                                                                                                                                 ^

ultralcd.cpp: In function 'void lcd_insert_filament()':

ultralcd.cpp:1133: error: 'FILAMENTCOMPLETCHANGE_SIZE' was not declared in this scope

  current_position[E_AXIS] += FILAMENTCOMPLETCHANGE_SIZE;

                              ^

ultralcd.cpp:1134: error: 'FILAMENTCOMPLETCHANGE_FAST_FEEDRATE' was not declared in this scope

  plan_buffer_line(current_position[(X_AXIS)], current_position[(Y_AXIS)], current_position[(Z_AXIS)], current_position[E_AXIS], FILAMENTCOMPLETCHANGE_FAST_FEEDRATE, active_extruder);

                                                                                                                                 ^

'FILAMENTCOMPLETCHANGE_SLOW_FEEDRATE' was not declared in this scope

The command "build_marlin" exited with 1.

@schirrel
Copy link
Author

@Blue-Marlin i'm just thinking, i have it set it in configuration where i thougth would be visible for every configuration. SHoud i change it to another file?
Or how could i solve it? i really dont know

@thinkyhead
Copy link
Member

thinkyhead commented Apr 24, 2016

@codersquirrel Each configuration contains the whole, and some of them are used for the Travis tests. So whenever we add new things to the main config, we must also add them to all the other Configuration.h files in Marlin.

@schirrel
Copy link
Author

@thinkyhead so it was travis problem not mine? cuz i add to the Configuration.h (yeah i'm a confused person, don't take me bad)

@thinkyhead
Copy link
Member

thinkyhead commented Apr 25, 2016

cuz i add to the Configuration.h

Whenever we add new things to the main config, we must also add them to all the other Configuration.h files in Marlin.

$ find . -name Configuration.h
./Marlin/Configuration.h
./Marlin/example_configurations/adafruit/ST7565/Configuration.h
./Marlin/example_configurations/delta/biv2.5/Configuration.h
./Marlin/example_configurations/delta/generic/Configuration.h
./Marlin/example_configurations/delta/kossel_mini/Configuration.h
./Marlin/example_configurations/delta/kossel_pro/Configuration.h
./Marlin/example_configurations/delta/kossel_xl/Configuration.h
./Marlin/example_configurations/Felix/Configuration.h
./Marlin/example_configurations/Hephestos/Configuration.h
./Marlin/example_configurations/Hephestos_2/Configuration.h
./Marlin/example_configurations/K8200/Configuration.h
./Marlin/example_configurations/makibox/Configuration.h
./Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
./Marlin/example_configurations/RigidBot/Configuration.h
./Marlin/example_configurations/SCARA/Configuration.h
./Marlin/example_configurations/TAZ4/Configuration.h
./Marlin/example_configurations/tvrrug/Round2/Configuration.h
./Marlin/example_configurations/WITBOX/Configuration.h

@schirrel
Copy link
Author

WOW not i get sorry xD

@thinkyhead
Copy link
Member

I removed your added config options anyway, so don't worry about it for now.

@schirrel
Copy link
Author

@thinkyhead yes i saw it, i just wanted to make the pr with the green mark to "disengage of consciousness" i dont knwo if in english you have this expression, but its like to get this a closure. Anyway i stop working on this and will only work at yours

@thinkyhead
Copy link
Member

In English: "peace of mind."

@thinkyhead
Copy link
Member

So that our two branches are in sync, you should do just one more…

git checkout rc_filament_change_rcbugfix
git fetch upstream
git rebase upstream/RCBugFix
git push -f

Thanks!

@thinkyhead
Copy link
Member

thinkyhead commented Apr 25, 2016

If all this git voodoo gets tiring, you can also use these helpful scripts: #3567

@schirrel
Copy link
Author

schirrel commented Apr 25, 2016

@thinkyhead i'm following both to make this work lol

schirrel@inspiron:~/Github/RC5/Marlin$ git fetch upstream
fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.

@thinkyhead
Copy link
Member

git add upstream [email protected]:MarlinFirmware/Marlin.git

@thinkyhead
Copy link
Member

thinkyhead commented Apr 25, 2016

Helpful tip: Three backticks for multi-line code quoting.

```
My plaintext
goes on for
lines and lines
```

…gives us…

My plaintext
goes on for
lines and lines

…or for example…

```cpp
#define THING_IS_GOOD 1
if (THING_IS_GOOD) {
  run_away();
}
```

…gives us…

#define THING_IS_GOOD 1
if (THING_IS_GOOD) {
  run_away();
}

@thinkyhead
Copy link
Member

@codersquirrel I thought you might get a lot out of this git tutorial. I know I did!

@schirrel
Copy link
Author

@thinkyhead yeah i will follow and try to get your branch again, i'm just too busy this week xD

@jbrazio
Copy link
Contributor

jbrazio commented May 4, 2016

Due to #3605 this will be closed.

@jbrazio jbrazio closed this May 4, 2016
@jbrazio jbrazio modified the milestone: 1.1.0 Jul 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants