Skip to content
Snippets Groups Projects
Configuration.h 83.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • Scott Lahteine's avatar
    Scott Lahteine committed
    //
    // MKS MINI12864 with graphic controller and SD support
    
    // https://reprap.org/wiki/MKS_MINI_12864
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    //
    //#define MKS_MINI_12864
    
    
    //
    // MKS LCD12864A/B with graphic controller and SD support. Follows MKS_MINI_12864 pinout.
    // https://www.aliexpress.com/item/33018110072.html
    //
    //#define MKS_LCD12864
    
    
    //
    // FYSETC variant of the MINI12864 graphic controller with SD support
    
    // https://wiki.fysetc.com/Mini12864_Panel/
    
    //#define FYSETC_MINI_12864_X_X    // Type C/D/E/F. No tunable RGB Backlight by default
    //#define FYSETC_MINI_12864_1_2    // Type C/D/E/F. Simple RGB Backlight (always on)
    //#define FYSETC_MINI_12864_2_0    // Type A/B. Discreet RGB Backlight
    //#define FYSETC_MINI_12864_2_1    // Type A/B. Neopixel RGB Backlight
    //#define FYSETC_GENERIC_12864_1_1 // Larger display with basic ON/OFF backlight.
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    //
    // Factory display for Creality CR-10
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    // https://www.aliexpress.com/item/32833148327.html
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    //
    // This is RAMPS-compatible using a single 10-pin connector.
    // (For CR-10 owners who want to replace the Melzi Creality board but retain the display)
    //
    //#define CR10_STOCKDISPLAY
    
    
    //
    // Ender-2 OEM display, a variant of the MKS_MINI_12864
    //
    //#define ENDER2_STOCKDISPLAY
    
    
    //
    // ANET and Tronxy Graphical Controller
    //
    
    // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6
    // A clone of the RepRapDiscount full graphics display but with
    // different pins/wiring (see pins_ANET_10.h).
    //
    //#define ANET_FULL_GRAPHICS_LCD
    
    Luu Lac's avatar
    Luu Lac committed
    // https://www.aliexpress.com/item/32837222770.html
    
    // Silvergate GLCD controller
    
    // https://github.com/android444/Silvergate
    
    //
    //#define SILVER_GATE_GLCD_CONTROLLER
    
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    //=============================================================================
    //==============================  OLED Displays  ==============================
    //=============================================================================
    
    //
    // SSD1306 OLED full graphics generic display
    //
    //#define U8GLIB_SSD1306
    
    //
    // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
    //
    //#define SAV_3DGLCD
    #if ENABLED(SAV_3DGLCD)
      #define U8GLIB_SSD1306
      //#define U8GLIB_SH1106
    #endif
    
    //
    // TinyBoy2 128x64 OLED / Encoder Panel
    //
    //#define OLED_PANEL_TINYBOY2
    
    //
    // MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER
    
    // https://reprap.org/wiki/MKS_12864OLED
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    //
    // Tiny, but very sharp OLED display
    //
    //#define MKS_12864OLED          // Uses the SH1106 controller (default)
    //#define MKS_12864OLED_SSD1306  // Uses the SSD1306 controller
    
    //
    // Einstart S OLED SSD1306
    //
    //#define U8GLIB_SH1106_EINSTART
    
    
    //
    // Overlord OLED display/controller with i2c buzzer and LEDs
    //
    //#define OVERLORD_OLED
    
    
    //
    // FYSETC OLED 2.42" 128 × 64 FULL GRAPHICS CONTROLLER with WS2812 RGB
    // Where to find : https://www.aliexpress.com/item/4000345255731.html
    //#define FYSETC_242_OLED_12864   // Uses the SSD1309 controller
    
    
    //=============================================================================
    //========================== Extensible UI Displays ===========================
    //=============================================================================
    
    //
    
    George Fu's avatar
    George Fu committed
    // DGUS Touch Display with DWIN OS. (Choose one.)
    
    George Fu's avatar
    George Fu committed
    // ORIGIN : https://www.aliexpress.com/item/32993409517.html
    // FYSETC : https://www.aliexpress.com/item/32961471929.html
    
    George Fu's avatar
    George Fu committed
    //#define DGUS_LCD_UI_ORIGIN
    //#define DGUS_LCD_UI_FYSETC
    //#define DGUS_LCD_UI_HIPRECY
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    // Touch-screen LCD for Malyan M200/M300 printers
    
    // Touch UI for FTDI EVE (FT800/FT810) displays
    
    // See Configuration_adv.h for all configuration options.
    //
    
    //#define TOUCH_UI_FTDI_EVE
    
    // Third-party or vendor-customized controller interfaces.
    // Sources should be installed in 'src/lcd/extensible_ui'.
    
    //
    //#define EXTENSIBLE_UI
    
    
    #if ENABLED(EXTENSIBLE_UI)
      //#define EXTUI_LOCAL_BEEPER // Enables use of local Beeper pin with external display
    #endif
    
    
    //=============================================================================
    //=============================== Graphical TFTs ==============================
    //=============================================================================
    
    //
    
    // FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.)
    
    //#define FSMC_GRAPHICAL_TFT
    
    // TFT LVGL UI
    
    // Default MKS icons and fonts: https://git.io/JJvzK
    // Copy mks_pic and mks_font folders to the root of your SD
    //
    //#define TFT_LVGL_UI
    
    //=============================================================================
    //============================  Other Controllers  ============================
    //=============================================================================
    
    
    //
    // Robin nano v2.0 SPI touch screen
    //
    //#define SPI_GRAPHICAL_TFT
    
    
    //
    // Ender-3 v2 OEM display. A DWIN display with Rotary Encoder.
    //
    //#define DWIN_CREALITY_LCD
    
    
    // ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8
    
    //
    //#define TOUCH_BUTTONS
    #if ENABLED(TOUCH_BUTTONS)
    
      #define BUTTON_DELAY_EDIT  50 // (ms) Button repeat delay for edit screens
      #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus
    
    
      #define XPT2046_X_CALIBRATION   12316
      #define XPT2046_Y_CALIBRATION  -8981
      #define XPT2046_X_OFFSET       -43
      #define XPT2046_Y_OFFSET        257
    #endif
    
    
    //
    // RepRapWorld REPRAPWORLD_KEYPAD v1.1
    
    // https://reprapworld.com/?products_details&products_id=202&cPath=1591_1626
    
    //
    //#define REPRAPWORLD_KEYPAD
    
    //#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press
    
    //=============================================================================
    //=============================== Extra Features ==============================
    //=============================================================================
    
    
    // Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino
    
    // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
    
    // which is not as annoying as with the hardware PWM. On the other hand, if this frequency
    
    // is too low, you should also increment SOFT_PWM_SCALE.
    //#define FAN_SOFT_PWM
    
    // Incrementing this by 1 will double the software PWM frequency,
    // affecting heaters, and the fan if FAN_SOFT_PWM is enabled.
    // However, control resolution will be halved for each increment;
    // at zero value, there are 128 effective control positions.
    
    // :[0,1,2,3,4,5,6,7]
    
    #define SOFT_PWM_SCALE 0
    
    
    // If SOFT_PWM_SCALE is set to a value higher than 0, dithering can
    // be used to mitigate the associated resolution loss. If enabled,
    
    // some of the PWM cycles are stretched so on average the desired
    
    // duty cycle is attained.
    //#define SOFT_PWM_DITHER
    
    
    // Temperature status LEDs that display the hotend and bed temperature.
    
    // If all hotends, bed temperature, and target temperature are under 54C
    // then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis)
    
    //#define TEMP_STAT_LEDS
    
    
    Scott Lahteine's avatar
    Scott Lahteine committed
    // SkeinForge sends the wrong arc G-codes when using Arc Point as fillet procedure
    
    //#define SF_ARC_FIX
    
    
    // Support for the BariCUDA Paste Extruder
    
    // Support for BlinkM/CyzRgb
    
    // Support for PCA9632 PWM LED driver
    
    dot-bob's avatar
    dot-bob committed
    //#define PCA9632
    
    
    // Support for PCA9533 PWM LED driver
    //#define PCA9533
    
    
    /**
     * RGB LED / LED Strip Control
     *
     * Enable support for an RGB LED connected to 5V digital pins, or
     * an RGB Strip connected to MOSFETs controlled by digital pins.
     *
    
     * Adds the M150 command to set the LED (or LED strip) color.
    
     * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of
     * luminance values can be set from 0 to 255.
    
     * For Neopixel LED an overall brightness parameter is also available.
    
    Giuliano's avatar
    Giuliano committed
     *  LED Strips require a MOSFET Chip between PWM lines and LEDs,
    
     *  as the Arduino cannot handle the current the LEDs will require.
     *  Failure to follow this precaution can destroy your Arduino!
    
     *  NOTE: A separate 5V power supply is required! The Neopixel LED needs
    
     *  more current than the Arduino 5V linear regulator can produce.
    
     * LED Type. Enable only one of the following two options.
    
    //#define RGB_LED
    
    //#define RGBW_LED
    
    #if EITHER(RGB_LED, RGBW_LED)
    
      //#define RGB_LED_R_PIN 34
      //#define RGB_LED_G_PIN 43
      //#define RGB_LED_B_PIN 35
      //#define RGB_LED_W_PIN -1
    
    // Support for Adafruit Neopixel LED driver
    
    //#define NEOPIXEL_LED
    #if ENABLED(NEOPIXEL_LED)
    
      #define NEOPIXEL_TYPE   NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
    
      #define NEOPIXEL_PIN     4       // LED driving pin
      //#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
      //#define NEOPIXEL2_PIN    5
      #define NEOPIXEL_PIXELS 30       // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used
    
      #define NEOPIXEL_IS_SEQUENTIAL   // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
    
      #define NEOPIXEL_BRIGHTNESS 127  // Initial brightness (0-255)
    
      //#define NEOPIXEL_STARTUP_TEST  // Cycle through colors at startup
    
    
      // Use a single Neopixel LED for static (background) lighting
      //#define NEOPIXEL_BKGD_LED_INDEX  0               // Index of the LED to use
      //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
    
    /**
     * Printer Event LEDs
     *
     * During printing, the LEDs will reflect the printer status:
     *
     *  - Gradually change from blue to violet as the heated bed gets to target temp
     *  - Gradually change from violet to red as the hotend gets to temperature
     *  - Change to white to illuminate work surface
     *  - Change to green once print has finished
     *  - Turn off after the print has finished and the user has pushed a button
     */
    
    #if ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED)
    
      #define PRINTER_EVENT_LEDS
    #endif
    
    
    /**
     * R/C SERVO support
     * Sponsored by TrinityLabs, Reworked by codexmas
     */
    
    /**
     * Number of servos
     *
     * For some servo-related options NUM_SERVOS will be set automatically.
     * Set this manually if there are extra servos needing manual control.
     * Leave undefined or set to 0 to entirely disable the servo subsystem.
     */
    
    //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
    
    // (ms) Delay  before the next move will start, to give the servo time to reach its target angle.
    
    // 300ms is a good value but you can try less delay.
    // If the servo can't reach the requested position, increase it.
    
    #define SERVO_DELAY { 300 }
    
    // Only power servos during movement, otherwise leave off to prevent jitter
    
    // Allow servo angle to be edited and saved to EEPROM
    //#define EDITABLE_SERVO_ANGLES