Main screen missing durring print

When I am printing from SD the main screen (the screen with 4 different groups) in no longer an available screen to view. When I turn the encoder the other screen will show up (printing time, location, temps), but the main screen is gone. It appears that the "status screen" that only shows the percentage done takes the place of the main screen. Is this normal?

Here is the screen I am talking about that is missing while printing. https://i.imgur.com/r8QybP4.jpg

Comments

  • Yes, that is normal. Prining with server or host will show a similar screen only with additional informations like layer and time. 
  • Is it possible to have it show this screen when printing from SD in a future version of repetier? Is this something that I could modify the firmware file easily to enable the screen during printing? Is it disabled because there would be too much going on at once for the hardware to handle it?
  • In ui.cpp search

            if(menuLevel == 0 && menuPos[0] == 0 ) {

                if(Printer::isPrinting()) {


    replace Printer::isPrinting() with false and it should always show the normal design.

    This is because the menu system is static and we can not dynamically add a page. So it got replaced by the view.

    In V2 we plan a better lcd system that is more flexible, so I think then you will be able to switch between views.
  • Like so?

       if(menuLevel == 0 && menuPos[0] == 0 ) {

                if(false) {


  • yes that should prevent going into printing mode visualization
  • I found two instances of the code in ui.cpp

    First one:
    #if FAN_PIN > -1 && FEATURE_FAN_CONTROL
        int fanPercent = 0;
        char fanString[2];
    #endif // FAN_PIN > -1 && FEATURE_FAN_CONTROL
        if(menuLevel == 0 && menuPos[0] == 0 ) { // Main menu with special graphics           
     if(Printer::isPrinting()) {


    Second one:
        //u8g picture loop
        u8g_FirstPage(&u8g);
        do {
            if(menuLevel == 0 && menuPos[0] == 0 ) {           
     if(Printer::isPrinting()) {

  • Simply change both - one if for character devices and one for graphic I think. In any case it tests for main screen and decides what to show.
  • I tried both. It sorta worked but looked very weird and was missings lots of info. 

    Just to try:
    With just the bottom one changed to false it went back to default as if I had changed nothing.

    With just the top one changed to false it went back to default as if I had changed nothing.
  • Search for 

    isPrinting in that function. I count it 3 times, so all of them must be replaced by false.

  • I tried that and now I am getting an error when compiling. https://i.imgur.com/mrRYOHC.jpg
  • not if(printer::false) , just if(false)
  • Seems to be working now. Looks great. Not sure why this isn't the default. 
  • #if defined(UI_HEAD) && UI_DISPLAY_TYPE == DISPLAY_U8G
        char head[MAX_COLS + 1];
        col = 0;
        parse(uiHead, false);
        strcpy(head, uid.printCols);
    #endif
        char *text;

        if(menuLevel == 0) { // Top level menu

     ////// ==>>> **COMMENT THIS LINE**    if(menuPos[0] == 0 && Printer::isPrinting()) {
          if (false) { //** ADD THIS**

    #if SDSUPPORT
                if(sd.sdactive && sd.sdmode) {
                    Printer::progress = (static_cast<float>(sd.sdpos) * 100.0) / static_cast<float>(sd.filesize);
                }
    #endif
                col = 0;

                r = 0;
    .......


    In version 1.0.3 somewhere around line 2070 in ui.cpp, changing as above seem to remove the "progress" screen and revert to the default info display during printing

  • Hi
    Tried all the above, no good.
    Can anybody write down xactly what I shall type down into the ui.ccp file in Arduino.?
    Thank you 

  • Gone back to 0.92 version
  • Yes, it is replaced by a different info screen during sd print.  How it looks depends a bit on the display type - text display or 128x64 pixel have different views.
Sign In or Register to comment.