Close



Results 1 to 10 of 172

Hybrid View

  1. #1
    Engineer
    Join Date
    Jul 2014
    Location
    Eastern Colorado
    Posts
    536
    Now that we have this mod to save the G29 matrix for an entire print session (or longer), it is no longer necessary to add a G29 to the start gcode when slicing. However, those of us who run our printers standalone, we need another way of running the G29 when we change a setting or a glass plate. I believe that many who run their printer standalone have an LCD display on their printer. Here's what I did to add G29 to the LCD menu:

    In ultralcd.cpp, find MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
    Just after it, add MENU_ITEM(gcode, MSG_BED_LEVEL, PSTR("G29 n5"));

    In language.h, find #define MSG_ENDSTOP_ABORT "Endstop abort"
    Just after it, add #define MSG_BED_LEVEL "G29 Bed Level"


    Roxy, I ran into an error adding your code:

    ConfigurationStore.cpp: In function ‘void Config_PrintSettings()’:
    ConfigurationStore.cpp:129:65: error: void value not ignored as it ought to be
    plan_bed_level_matrix.debug("\n\nBed Level Correction Matrix:")
    ^ (this caret should be under the closing parenthesis after "Matrix")

    That is the only error. Commenting out only the added code block from Config_PrintSettings let it compile cleanly.
    Last edited by AbuMaia; 10-31-2014 at 10:51 PM.

  2. #2
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by AbuMaia View Post
    Roxy, I ran into an error adding your code:

    ConfigurationStore.cpp: In function ‘void Config_PrintSettings()’:
    ConfigurationStore.cpp:129:65: error: void value not ignored as it ought to be
    plan_bed_level_matrix.debug("\n\nBed Level Correction Matrix:")
    ^ (this caret should be under the closing parenthesis after "Matrix")

    That is the only error. Commenting out only the added code block from Config_PrintSettings let it compile cleanly.
    It's fixed now. Somehow during the Cut & Paste I didn't get the very last character of the line (which was a semi-colon. The compiler knows it is missing a semi-colon, can't it just put it in there for me???

    Any way, if you go add the semi-colon it should compile clean and let you print out the Bed Level Correction Matrix. I'm not sure how the output is going to look because I can't run any of this code yet to test it.

    AbuMaia, does the code behave as expected and do what people wanted? Can you add the semi-colon and invoke the EEPROM Print so we can check if the matrix prints OK ?
    Last edited by Roxy; 11-01-2014 at 02:08 PM.

  3. #3
    Engineer
    Join Date
    Jul 2014
    Location
    Eastern Colorado
    Posts
    536
    Quote Originally Posted by Roxy View Post
    does the code behave as expected and do what people wanted? Can you add the semi-colon and invoke the EEPROM Print so we can check if the matrix prints OK ?
    Connecting...
    start
    Printer is now online.
    echo: External Reset
    Marlin1.0.0
    echo: Last Updated: Nov 1 2014 10-20-14 13:55:13 | Author: (AbuMaia, MakerFarm Prusa i3v 8)
    Compiled: Nov 1 2014
    echo: Free Memory: 3486 PlannerBufferBytes: 1232
    echo:Stored settings retrieved
    echo:Steps per unit:
    echo: M92 X80.00 Y80.00 Z4000.00 E900.00
    echo:
    Bed Level Correction Matrix:
    1.000000 0.000000 0.000000
    0.000000 1.000000 0.000000
    0.000000 0.000000 1.000000
    echo:Maximum feedrates (mm/s):
    echo: M203 X250.00 Y250.00 Z2.00 E22.00
    echo:Maximum Acceleration (mm/s2):
    echo: M201 X1000 Y1000 Z5 E1000
    echo:Acceleration: S=acceleration, T=retract acceleration
    echo: M204 S500.00 T500.00
    echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
    echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
    echo:Home offset (mm):
    echo: M206 X0.00 Y0.00 Z0.00
    echo:PID settings:
    echo: M301 P24.49 I2.34 D64.21
    echo:SD card ok
    SENDING:G28
    SENDING:G29 n 4
    Eqn coefficients: a: 0.00 b: 0.00 d: 1.88
    planeNormal x: -0.00 y: -0.00 z: 1.00

    Bed Level Correction Matrix:
    0.999993 0.000000 0.003794
    -0.000001 1.000000 0.000163
    -0.003794 -0.000163 0.999993
    echo:endstops hit: Z:2.00
    >>>M500
    SENDING:M500
    echo:Settings Stored
    >>>M503
    SENDING:M503
    echo:Steps per unit:
    echo: M92 X80.00 Y80.00 Z4000.00 E900.00
    echo:
    Bed Level Correction Matrix:
    0.999993 0.000000 0.003794
    -0.000001 1.000000 0.000163
    -0.003794 -0.000163 0.999993
    echo:Maximum feedrates (mm/s):
    echo: M203 X250.00 Y250.00 Z2.00 E22.00
    echo:Maximum Acceleration (mm/s2):
    echo: M201 X1000 Y1000 Z5 E1000
    echo:Acceleration: S=acceleration, T=retract acceleration
    echo: M204 S500.00 T500.00
    echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
    echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
    echo:Home offset (mm):
    echo: M206 X0.00 Y0.00 Z0.00
    echo:PID settings:
    echo: M301 P24.49 I2.34 D64.21
    Disconnected. (I powered off the printer here, then turned it back on and re-connected)
    Connecting...
    start
    Printer is now online.
    echo: External Reset
    Marlin1.0.0
    echo: Last Updated: Nov 1 2014 10-20-14 13:55:13 | Author: (AbuMaia, MakerFarm Prusa i3v 8)
    Compiled: Nov 1 2014
    echo: Free Memory: 3486 PlannerBufferBytes: 1232
    echo:Stored settings retrieved
    echo:Steps per unit:
    echo: M92 X80.00 Y80.00 Z4000.00 E900.00
    echo:
    Bed Level Correction Matrix:
    0.999993 0.000000 0.003794
    -0.000001 1.000000 0.000163
    -0.003794 -0.000163 0.999993
    echo:Maximum feedrates (mm/s):
    echo: M203 X250.00 Y250.00 Z2.00 E22.00
    echo:Maximum Acceleration (mm/s2):
    echo: M201 X1000 Y1000 Z5 E1000
    echo:Acceleration: S=acceleration, T=retract acceleration
    echo: M204 S500.00 T500.00
    echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
    echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
    echo:Home offset (mm):
    echo: M206 X0.00 Y0.00 Z0.00
    echo:PID settings:
    echo: M301 P24.49 I2.34 D64.21
    echo:SD card ok

  4. #4
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by AbuMaia View Post
    Connecting...
    start
    Printer is now online.
    ..
    echo:Stored settings retrieved
    echo:Steps per unit:
    echo: M92 X80.00 Y80.00 Z4000.00 E900.00
    echo:
    Bed Level Correction Matrix:
    1.000000 0.000000 0.000000
    0.000000 1.000000 0.000000
    0.000000 0.000000 1.000000
    echo:Maximum feedrates (mm/s):
    echo: M203 X250.00 Y250.00 Z2.00 E22.00
    So I suspect we need a blank line (or one that just says echo after the last line of the matrix. But I kind of hate to add blank lines of output. Opinions anybody???

  5. #5
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    [QUOTE=AbuMaia;33795]Now that we have this mod to save the G29 matrix for an entire print session (or longer), it is no longer necessary to add a G29 to the start gcode when slicing. However, those of us who run our printers standalone, we need another way of running the G29 when we change a setting or a glass plate. I believe that many who run their printer standalone have an LCD display on their printer. Here's what I did to add G29 to the LCD menu:

    In ultralcd.cpp, find MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
    Just after it, add MENU_ITEM(gcode, MSG_BED_LEVEL, PSTR("G29 n5"));

    In language.h, find #define MSG_ENDSTOP_ABORT "Endstop abort"
    Just after it, add #define MSG_BED_LEVEL "G29 Bed Level"

    I added this and it was working fine. Had a show yesterday and it didn't work anymore.
    Got this message. When I do a g29 n5 in Repetier it works fine. Any ideas?
    13:38:15.257 : echo:enqueing "G29 n5"
    13:38:15.267 : ?Number of probed points not plausable.

  6. #6
    Engineer-in-Training beerdart's Avatar
    Join Date
    Feb 2014
    Location
    CT
    Posts
    345
    Quote Originally Posted by AbuMaia View Post
    Now that we have this mod to save the G29 matrix for an entire print session (or longer), it is no longer necessary to add a G29 to the start gcode when slicing. However, those of us who run our printers standalone, we need another way of running the G29 when we change a setting or a glass plate. I believe that many who run their printer standalone have an LCD display on their printer. Here's what I did to add G29 to the LCD menu:

    In ultralcd.cpp, find MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
    Just after it, add MENU_ITEM(gcode, MSG_BED_LEVEL, PSTR("G29 n5"));

    In language.h, find #define MSG_ENDSTOP_ABORT "Endstop abort"
    Just after it, add #define MSG_BED_LEVEL "G29 Bed Level"

    Thank you works awesome just need to "Auto Home" prior to G29

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •