Close



Results 1 to 10 of 172

Hybrid View

  1. #1
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Fri View Post
    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:

    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
    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.

  2. #2
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    Question for you. After g29 the z raises, where did you set this?

  3. #3
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Fri View Post
    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

Posting Permissions

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