RepRapdiscount full graphics smart controller won't work in Repetier

I built an adapter for my Melzi board so I could use the RepRapdiscount graphics smart controller with Repetier firmware but I can't get it to compile without an error about dio49. It works ok with Marlin firmware flashed but I can't get all the parameters correct in Marlin. I tried to change the eeprom parameters in Repetier-host but all I get is a blank window. What am I doing wrong?

Comments

  • You are using pin 49 for some function which does not exist in your case. I think that is sd card detect pin. As it is not the default controller for melzi there is no valid pin definition in DisplayList.h (ui.h in older firmware). Search the case for your display and set the default pins to numbers used by your adapter and it should compile.
  • Repetier said:
    You are using pin 49 for some function which does not exist in your case. I think that is sd card detect pin. As it is not the default controller for melzi there is no valid pin definition in DisplayList.h (ui.h in older firmware). Search the case for your display and set the default pins to numbers used by your adapter and it should compile.
    What do you mean "search the case"? Sorry for all the questions but I am still new to compiling and flashing with Repetier.
  • Your controller has name CONTROLLER_REPRAPDISCOUNT_GLCD so searching in sources for that you see where pins get defined. Assuming latest 1.0.4dev you see in DisplayList.h line 42

    #if (FEATURE_CONTROLLER == CONTROLLER_SMARTRAMPS) || (FEATURE_CONTROLLER == CONTROLLER_GADGETS3D_SHIELD) || (FEATURE_CONTROLLER == CONTROLLER_REPRAPDISCOUNT_GLCD) || (FEATURE_CONTROLLER == CONTROLLER_BAM_DICE_DUE) || (FEATURE_CONTROLLER == CONTROLLER_REPRAPWORLD_GLCD)

    which starts definition of pins. Followed by parts for each board like line 380
    #elif MOTHERBOARD == 408 || MOTHERBOARD == 413

    // SMART RAMPS FOR DUE - CRITICAL NOTE: MUST REMOVE THE RESET HEADER JUMPER NEXT TO AUX-2 OTHERWISE BOARD WILL RESET LOOP CONTINUOUSLY
    #define UI_DISPLAY_RS_PIN 44 //CS
    #define UI_DISPLAY_ENABLE_PIN 42 //MOSI
    #define UI_DISPLAY_D4_PIN 40 //SCK
    #define UI_DISPLAY_D5_PIN -1 //A0 LCD RS
    #define UI_DISPLAY_D6_PIN -1
    #define UI_DISPLAY_D7_PIN -1
    #define BEEPER_PIN 66
    #define UI_ENCODER_A 50
    #define UI_ENCODER_B 47
    #define UI_ENCODER_CLICK 67
    #define UI_RESET_PIN 53
    #define UI_DELAYPERCHAR 50
    #define UI_INVERT_MENU_DIRECTION 0
    #define UI_BUTTON_BACK -1

    #else // RAMPS

    #undef BEEPER_PIN
    #define BEEPER_PIN 37
    #define UI_DISPLAY_RS_PIN 16
    #define UI_DISPLAY_RW_PIN -1
    #define UI_DISPLAY_ENABLE_PIN 17
    #define UI_DISPLAY_D0_PIN 23
    #define UI_DISPLAY_D1_PIN 25
    #define UI_DISPLAY_D2_PIN 27
    #define UI_DISPLAY_D3_PIN 29
    #define UI_DISPLAY_D4_PIN 23
    #define UI_DISPLAY_D5_PIN 25
    #define UI_DISPLAY_D6_PIN 27
    #define UI_DISPLAY_D7_PIN 29
    #define UI_ENCODER_A 33
    #define UI_ENCODER_B 31
    #define UI_ENCODER_CLICK 35
    #define UI_RESET_PIN 41
    #endif // smartcontroller

    You are falling into the else part for RAMPS since your board is not listed so there you have to change the pin numbers.

    In ui.h you also find in line 733
    #if FEATURE_CONTROLLER == CONTROLLER_SMARTRAMPS || FEATURE_CONTROLLER == CONTROLLER_GADGETS3D_SHIELD || FEATURE_CONTROLLER == CONTROLLER_BAM_DICE_DUE || (FEATURE_CONTROLLER == CONTROLLER_REPRAPDISCOUNT_GLCD && MOTHERBOARD != CONTROLLER_FELIX_DUE && MOTHERBOARD != 101 && MOTHERBOARD != 63)
    #undef SDCARDDETECT
    #if MOTHERBOARD == 37 || MOTHERBOARD == 414 || MOTHERBOARD == 415
    #define SDCARDDETECT ORIG_SDCARDDETECT
    #define SDCARDDETECT 49
    #undef SDCARDDETECTINVERTED
    #define SDCARDDETECTINVERTED 0
    #undef SDSUPPORT
    #define SDSUPPORT 1

    Here you see where the pin 49 comes from which you also need to adjust to your used pin..
  • Solved my problem by flashing an MKS gen v1.4 with Repetier and the display is working perfectly.
Sign In or Register to comment.