diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 45f2c71136ab..d688c4933c89 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3569,3 +3569,6 @@ // Disable servo with M282 to reduce power consumption, noise, and heat when not in use //#define SERVO_DETACH_GCODE + +#define I2C_SDA_PIN_LCD EXP1_04_PIN +#define I2C_SCL_PIN_LCD EXP1_06_PIN diff --git a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp index 30d687ddef5c..c3154f4b450c 100644 --- a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp +++ b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp @@ -19,43 +19,73 @@ #include "u8g_fontutf8.h" #include "../lcdprint.h" -int lcd_glyph_height() { return u8g_GetFontBBXHeight(u8g.getU8g()); } +int lcd_glyph_height() { + // Ascent is the distance from the baseline to the top of the glyph + int fontAscent = u8g.getFontAscent(); + + // Descent is the distance from the baseline to the bottom of the glyph, + // it is returned as a negative value so we subtract it to get the total height + int fontDescent = u8g.getFontDescent(); + + // The total glyph height is the ascent minus the descent (which is negative) + return fontAscent - fontDescent; +} -void lcd_moveto(const lcd_uint_t col, const lcd_uint_t row) { u8g.setPrintPos(col, row); } +void lcd_moveto(const lcd_uint_t col, const lcd_uint_t row) { u8g.setCursor(col, row); } void lcd_put_int(const int i) { u8g.print(i); } // return < 0 on error // return the number of pixels advanced -int lcd_put_lchar_max(const lchar_t &c, const pixel_len_t max_length) { - if (c < 256) { - u8g.print((char)c); - return u8g_GetFontBBXWidth(u8g.getU8g()); +void unicodeToUtf8(const uint32_t &c, char *utf8) { + if (c <= 0x7F) { + // ASCII + utf8[0] = c; + utf8[1] = '\0'; + } else if (c <= 0x7FF) { + // Two-byte sequence + utf8[0] = 0xC0 | ((c >> 6) & 0x1F); + utf8[1] = 0x80 | (c & 0x3F); + utf8[2] = '\0'; + } else if (c <= 0xFFFF) { + // Three-byte sequence + utf8[0] = 0xE0 | ((c >> 12) & 0x0F); + utf8[1] = 0x80 | ((c >> 6) & 0x3F); + utf8[2] = 0x80 | (c & 0x3F); + utf8[3] = '\0'; + } else if (c <= 0x10FFFF) { + // Four-byte sequence + utf8[0] = 0xF0 | ((c >> 18) & 0x07); + utf8[1] = 0x80 | ((c >> 12) & 0x3F); + utf8[2] = 0x80 | ((c >> 6) & 0x3F); + utf8[3] = 0x80 | (c & 0x3F); + utf8[4] = '\0'; } - u8g_uint_t x = u8g.getPrintCol(), y = u8g.getPrintRow(), - ret = uxg_DrawLchar(u8g.getU8g(), x, y, c, max_length); - u8g.setPrintPos(x + ret, y); - return ret; +} + +int lcd_put_lchar_max(const lchar_t &c, const pixel_len_t max_length) { + char utf8[5]; + unicodeToUtf8(c, utf8); + u8g.print(utf8); + return u8g.getUTF8Width(utf8); // Get the width of the single character } /** * @return output width in pixels */ int lcd_put_u8str_max(const char * utf8_str, const pixel_len_t max_length) { - u8g_uint_t x = u8g.getPrintCol(), y = u8g.getPrintRow(), - ret = uxg_DrawUtf8Str(u8g.getU8g(), x, y, utf8_str, max_length); - u8g.setPrintPos(x + ret, y); - return ret; + int initialX = u8g.getCursorX(); + u8g.print(utf8_str); // U8g2 handles UTF-8 natively + int width = u8g.getCursorX() - initialX; // Calculate the width of the printed string + return width; // Return the width of the string that was printed } /** * @return output width in pixels */ int lcd_put_u8str_max_P(PGM_P utf8_pstr, const pixel_len_t max_length) { - u8g_uint_t x = u8g.getPrintCol(), y = u8g.getPrintRow(), - ret = uxg_DrawUtf8StrP(u8g.getU8g(), x, y, utf8_pstr, max_length); - u8g.setPrintPos(x + ret, y); - return ret; + return lcd_put_u8str_max(utf8_pstr, max_length); } + #endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/marlinui_DOGM.cpp b/Marlin/src/lcd/dogm/marlinui_DOGM.cpp index 30258f0d483a..f061e3ebe662 100644 --- a/Marlin/src/lcd/dogm/marlinui_DOGM.cpp +++ b/Marlin/src/lcd/dogm/marlinui_DOGM.cpp @@ -74,8 +74,9 @@ #else #define FONT_STATUSMENU_NAME MENU_FONT_NAME #endif +#include "U8g2lib.h" -U8G_CLASS u8g; +U8G_CLASS u8g(U8G2_R0, I2C_SCL_PIN_LCD, I2C_SDA_PIN_LCD, LCD_RESET_PIN); #include LANGUAGE_DATA_INCL(LCD_LANGUAGE) #ifdef LCD_LANGUAGE_2 @@ -99,10 +100,12 @@ void MarlinUI::set_font(const MarlinFont font_nr) { static char currentfont = 0; if (font_nr != currentfont) { switch ((currentfont = font_nr)) { - case FONT_STATUSMENU : u8g.setFont(FONT_STATUSMENU_NAME); break; - case FONT_EDIT : u8g.setFont(EDIT_FONT_NAME); break; + case FONT_STATUSMENU : u8g.setFont(u8g2_font_profont11_tf); break; + //u8g2_font_spleen5x8_mf + case FONT_EDIT : u8g.setFont(u8g2_font_profont11_tf); break; default: - case FONT_MENU : u8g.setFont(MENU_FONT_NAME); break; + case FONT_MENU : u8g.setFont(u8g2_font_profont11_tf); break; + //u8g2_font_spleen6x12_mf } } } @@ -214,7 +217,7 @@ bool MarlinUI::detected() { return true; } NOLESS(offy, 0); auto _draw_bootscreen_bmp = [&](const uint8_t *bitmap) { - u8g.drawBitmapP(offx, offy, START_BMP_BYTEWIDTH, START_BMPHEIGHT, bitmap); + u8g.drawBitmap(offx, offy, START_BMP_BYTEWIDTH, START_BMPHEIGHT, bitmap); set_font(FONT_MENU); if (!two_part || !line2) lcd_put_u8str(txt_offx_1, txt_base - (MENU_FONT_HEIGHT), F(SHORT_BUILD_VERSION)); if (!two_part || line2) lcd_put_u8str(txt_offx_2, txt_base, F(MARLIN_WEBSITE_URL)); @@ -260,13 +263,6 @@ bool MarlinUI::detected() { return true; } // Initialize or re-initialize the LCD void MarlinUI::init_lcd() { - - static bool did_init_u8g = false; - if (!did_init_u8g) { - u8g.init(U8G_PARAM); - did_init_u8g = true; - } - #if PIN_EXISTS(LCD_BACKLIGHT) OUT_WRITE(LCD_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); // Illuminate after reset or right away #endif @@ -280,12 +276,14 @@ void MarlinUI::init_lcd() { #if PIN_EXISTS(LCD_RESET) // Perform a clean hardware reset with needed delays - OUT_WRITE(LCD_RESET_PIN, LOW); - hal.delay_ms(5); - WRITE(LCD_RESET_PIN, HIGH); - hal.delay_ms(5); - u8g.begin(); + // OUT_WRITE(LCD_RESET_PIN, LOW); + // hal.delay_ms(5); + // WRITE(LCD_RESET_PIN, HIGH); + // hal.delay_ms(5); #endif + u8g.setBusClock(400000); + u8g.begin(); + u8g.enableUTF8Print(); #if PIN_EXISTS(LCD_BACKLIGHT) && ENABLED(DELAYED_BACKLIGHT_INIT) WRITE(LCD_BACKLIGHT_PIN, HIGH); @@ -473,7 +471,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop if (!mark_as_selected(row, sel)) return; const uint8_t vallen = (pgm ? utf8_strlen_P(inStr) : utf8_strlen(inStr)), - pixelwidth = (pgm ? uxg_GetUtf8StrPixelWidthP(u8g.getU8g(), inStr) : uxg_GetUtf8StrPixelWidth(u8g.getU8g(), inStr)); + pixelwidth = u8g.getStrWidth(inStr);// (pgm ? uxg_GetUtf8StrPixelWidthP(u8g.getU8g(), inStr) : uxg_GetUtf8StrPixelWidth(u8g.getU8g(), inStr)); const u8g_uint_t prop = USE_WIDE_GLYPH ? 2 : 1; uint8_t n = LCD_WIDTH - 2 - vallen * prop; diff --git a/Marlin/src/lcd/dogm/marlinui_DOGM.h b/Marlin/src/lcd/dogm/marlinui_DOGM.h index d23df6e2a370..f826da8c33df 100644 --- a/Marlin/src/lcd/dogm/marlinui_DOGM.h +++ b/Marlin/src/lcd/dogm/marlinui_DOGM.h @@ -29,7 +29,7 @@ #include #include "HAL_LCD_class_defines.h" - +#include "U8g2lib.h" //#define ALTERNATIVE_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) @@ -190,7 +190,7 @@ // Generic support for SSD1309 OLED I2C LCDs - #define U8G_CLASS U8GLIB_SSD1309_128X64 + #define U8G_CLASS U8G2_SSD1309_128X64_NONAME0_F_SW_I2C #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // I2C #elif ENABLED(U8GLIB_SSD1306) @@ -235,8 +235,16 @@ #endif // For selective rendering within a Y range -#define PAGE_OVER(ya) ((ya) <= u8g.getU8g()->current_page.y1) // Does the current page follow a region top? -#define PAGE_UNDER(yb) ((yb) >= u8g.getU8g()->current_page.y0) // Does the current page precede a region bottom? -#define PAGE_CONTAINS(ya, yb) ((yb) >= u8g.getU8g()->current_page.y0 && (ya) <= u8g.getU8g()->current_page.y1) // Do two vertical regions overlap? +// #define PAGE_OVER(ya) ((ya) <= u8g.getU8g2()->current_page.y1) // Does the current page follow a region top? +// #define PAGE_UNDER(yb) ((yb) >= u8g.getU8g2()->current_page.y0) // Does the current page precede a region bottom? +// #define PAGE_CONTAINS(ya, yb) ((yb) >= u8g.getU8g2()->current_page.y0 && (ya) <= u8g.getU8g2()->current_page.y1) // Do two vertical regions overlap? + +// #define PAGE_OVER(ya) ((ya) < (u8g.getBufferCurrTileRow() + 1) * u8g.getBufferTileHeight()) // Does the current page follow a region top? +// #define PAGE_UNDER(yb) ((yb) >= u8g.getBufferCurrTileRow() * u8g.getBufferTileHeight()) // Does the current page precede a region bottom? +// #define PAGE_CONTAINS(ya, yb) ((yb) >= (u8g.getBufferCurrTileRow() * u8g.getBufferTileHeight()) && (ya) < ((u8g.getBufferCurrTileRow() + 1) * u8g.getBufferTileHeight())) // Do two vertical regions overlap? + +#define PAGE_OVER(ya) true +#define PAGE_UNDER(yb) true +#define PAGE_CONTAINS(ya, yb) true extern U8G_CLASS u8g; diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index d38d28c8cd3b..8f55933e0260 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -303,15 +303,15 @@ FORCE_INLINE void _draw_centered_temp(const celsius_t temp, const uint8_t tx, co const bool draw_partial = isHeat && tall < BAR_TALL; if (draw_partial) { const uint8_t ph = STATUS_HEATERS_HEIGHT - 1 - tall; - u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, ph, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), false)); - u8g.drawBitmapP(hx, STATUS_HEATERS_Y + ph, bw, tall + 1, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), true) + ph * bw); + u8g.drawBitmap(hx, STATUS_HEATERS_Y, bw, ph, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), false)); + u8g.drawBitmap(hx, STATUS_HEATERS_Y + ph, bw, tall + 1, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), true) + ph * bw); } #else constexpr bool draw_partial = false; #endif if (!draw_partial) - u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, STATUS_HEATERS_HEIGHT, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), isHeat)); + u8g.drawBitmap(hx, STATUS_HEATERS_Y, bw, STATUS_HEATERS_HEIGHT, HOTEND_BITMAP(TERN(HAS_MMU, active_extruder, heater_id), isHeat)); } // PAGE_CONTAINS @@ -603,13 +603,13 @@ void MarlinUI::draw_status_screen() { #if DO_DRAW_LOGO if (PAGE_CONTAINS(STATUS_LOGO_Y, STATUS_LOGO_Y + STATUS_LOGO_HEIGHT - 1)) - u8g.drawBitmapP(STATUS_LOGO_X, STATUS_LOGO_Y, STATUS_LOGO_BYTEWIDTH, STATUS_LOGO_HEIGHT, status_logo_bmp); + u8g.drawBitmap(STATUS_LOGO_X, STATUS_LOGO_Y, STATUS_LOGO_BYTEWIDTH, STATUS_LOGO_HEIGHT, status_logo_bmp); #endif #if STATUS_HEATERS_WIDTH // Draw all heaters (and maybe the bed) in one go if (PAGE_CONTAINS(STATUS_HEATERS_Y, STATUS_HEATERS_Y + STATUS_HEATERS_HEIGHT - 1)) - u8g.drawBitmapP(STATUS_HEATERS_X, STATUS_HEATERS_Y, STATUS_HEATERS_BYTEWIDTH, STATUS_HEATERS_HEIGHT, status_heaters_bmp); + u8g.drawBitmap(STATUS_HEATERS_X, STATUS_HEATERS_Y, STATUS_HEATERS_BYTEWIDTH, STATUS_HEATERS_HEIGHT, status_heaters_bmp); #endif #if DO_DRAW_CUTTER && DISABLED(STATUS_COMBINE_HEATERS) @@ -621,7 +621,7 @@ void MarlinUI::draw_status_screen() { const uint8_t cuttery = STATUS_CUTTER_Y(CUTTER_ALT()), cutterh = STATUS_CUTTER_HEIGHT(CUTTER_ALT()); if (PAGE_CONTAINS(cuttery, cuttery + cutterh - 1)) - u8g.drawBitmapP(STATUS_CUTTER_X, cuttery, STATUS_CUTTER_BYTEWIDTH, cutterh, CUTTER_BITMAP(CUTTER_ALT())); + u8g.drawBitmap(STATUS_CUTTER_X, cuttery, STATUS_CUTTER_BYTEWIDTH, cutterh, CUTTER_BITMAP(CUTTER_ALT())); #endif #if DO_DRAW_BED && DISABLED(STATUS_COMBINE_HEATERS) @@ -639,7 +639,7 @@ void MarlinUI::draw_status_screen() { const uint8_t bedy = STATUS_BED_Y(BED_ALT()), bedh = STATUS_BED_HEIGHT(BED_ALT()); if (PAGE_CONTAINS(bedy, bedy + bedh - 1)) - u8g.drawBitmapP(STATUS_BED_X, bedy, STATUS_BED_BYTEWIDTH, bedh, BED_BITMAP(BED_ALT())); + u8g.drawBitmap(STATUS_BED_X, bedy, STATUS_BED_BYTEWIDTH, bedh, BED_BITMAP(BED_ALT())); #endif #if DO_DRAW_CHAMBER && DISABLED(STATUS_COMBINE_HEATERS) @@ -651,7 +651,7 @@ void MarlinUI::draw_status_screen() { const uint8_t chambery = STATUS_CHAMBER_Y(CHAMBER_ALT()), chamberh = STATUS_CHAMBER_HEIGHT(CHAMBER_ALT()); if (PAGE_CONTAINS(chambery, chambery + chamberh - 1)) - u8g.drawBitmapP(STATUS_CHAMBER_X, chambery, STATUS_CHAMBER_BYTEWIDTH, chamberh, CHAMBER_BITMAP(CHAMBER_ALT())); + u8g.drawBitmap(STATUS_CHAMBER_X, chambery, STATUS_CHAMBER_BYTEWIDTH, chamberh, CHAMBER_BITMAP(CHAMBER_ALT())); #endif const bool blink = ui.get_blink(); @@ -666,7 +666,7 @@ void MarlinUI::draw_status_screen() { } #endif if (PAGE_CONTAINS(STATUS_FAN_Y, STATUS_FAN_Y + STATUS_FAN_HEIGHT - 1)) - u8g.drawBitmapP(STATUS_FAN_X, STATUS_FAN_Y, STATUS_FAN_BYTEWIDTH, STATUS_FAN_HEIGHT, + u8g.drawBitmap(STATUS_FAN_X, STATUS_FAN_Y, STATUS_FAN_BYTEWIDTH, STATUS_FAN_HEIGHT, #if STATUS_FAN_FRAMES > 2 fan_frame == 1 ? status_fan1_bmp : fan_frame == 2 ? status_fan2_bmp : @@ -708,7 +708,7 @@ void MarlinUI::draw_status_screen() { const uint8_t coolery = STATUS_COOLER_Y(status_cooler_bmp1), coolerh = STATUS_COOLER_HEIGHT(status_cooler_bmp1); if (PAGE_CONTAINS(coolery, coolery + coolerh - 1)) - u8g.drawBitmapP(STATUS_COOLER_X, coolery, STATUS_COOLER_BYTEWIDTH, coolerh, blink && cooler.enabled ? status_cooler_bmp2 : status_cooler_bmp1); + u8g.drawBitmap(STATUS_COOLER_X, coolery, STATUS_COOLER_BYTEWIDTH, coolerh, blink && cooler.enabled ? status_cooler_bmp2 : status_cooler_bmp1); #endif // Laser Cooler Flow Meter @@ -716,7 +716,7 @@ void MarlinUI::draw_status_screen() { const uint8_t flowmetery = STATUS_FLOWMETER_Y(status_flowmeter_bmp1), flowmeterh = STATUS_FLOWMETER_HEIGHT(status_flowmeter_bmp1); if (PAGE_CONTAINS(flowmetery, flowmetery + flowmeterh - 1)) - u8g.drawBitmapP(STATUS_FLOWMETER_X, flowmetery, STATUS_FLOWMETER_BYTEWIDTH, flowmeterh, blink && cooler.flowpulses ? status_flowmeter_bmp2 : status_flowmeter_bmp1); + u8g.drawBitmap(STATUS_FLOWMETER_X, flowmetery, STATUS_FLOWMETER_BYTEWIDTH, flowmeterh, blink && cooler.flowpulses ? status_flowmeter_bmp2 : status_flowmeter_bmp1); #endif // Laser Ammeter @@ -724,7 +724,7 @@ void MarlinUI::draw_status_screen() { const uint8_t ammetery = STATUS_AMMETER_Y(status_ammeter_bmp_mA), ammeterh = STATUS_AMMETER_HEIGHT(status_ammeter_bmp_mA); if (PAGE_CONTAINS(ammetery, ammetery + ammeterh - 1)) - u8g.drawBitmapP(STATUS_AMMETER_X, ammetery, STATUS_AMMETER_BYTEWIDTH, ammeterh, (ammeter.current < 0.1f) ? status_ammeter_bmp_mA : status_ammeter_bmp_A); + u8g.drawBitmap(STATUS_AMMETER_X, ammetery, STATUS_AMMETER_BYTEWIDTH, ammeterh, (ammeter.current < 0.1f) ? status_ammeter_bmp_mA : status_ammeter_bmp_A); #endif // Heated Bed diff --git a/platformio.ini b/platformio.ini index e3bdb6f58676..e00ecc81d58d 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1,149 +1,3307 @@ -# -# Marlin Firmware -# PlatformIO Configuration File -# -# For detailed documentation with EXAMPLES: -# -# https://docs.platformio.org/en/latest/projectconf/index.html -# - -# Automatic targets - enable auto-uploading -#targets = upload +; PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html [platformio] -src_dir = Marlin -boards_dir = buildroot/share/PlatformIO/boards -default_envs = mega2560 -include_dir = Marlin -extra_configs = - Marlin/config.ini - ini/avr.ini - ini/due.ini - ini/esp32.ini - ini/features.ini - ini/lpc176x.ini - ini/native.ini - ini/samd21.ini - ini/samd51.ini - ini/stm32-common.ini - ini/stm32f0.ini - ini/stm32f1-maple.ini - ini/stm32f1.ini - ini/stm32f4.ini - ini/stm32f7.ini - ini/stm32h7.ini - ini/stm32g0.ini - ini/teensy.ini - ini/renamed.ini - -# -# The 'common' section applies to most Marlin builds. -# -# By default platformio build will abort after 5 errors. -# Remove '-fmax-errors=5' from build_flags below to see all. -# +src_dir = Marlin +boards_dir = buildroot/share/PlatformIO/boards +default_envs = STM32H723VG_btt +include_dir = Marlin +extra_configs = + Marlin/config.ini + ini/avr.ini + ini/due.ini + ini/esp32.ini + ini/features.ini + ini/lpc176x.ini + ini/native.ini + ini/samd21.ini + ini/samd51.ini + ini/stm32-common.ini + ini/stm32f0.ini + ini/stm32f1-maple.ini + ini/stm32f1.ini + ini/stm32f4.ini + ini/stm32f7.ini + ini/stm32h7.ini + ini/stm32g0.ini + ini/teensy.ini + ini/renamed.ini + [common] -build_flags = -g3 -D__MARLIN_FIRMWARE__ -DNDEBUG - -fmax-errors=5 -extra_scripts = - pre:buildroot/share/PlatformIO/scripts/configuration.py - pre:buildroot/share/PlatformIO/scripts/common-dependencies.py - pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py - pre:buildroot/share/PlatformIO/scripts/preflight-checks.py - post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py -lib_deps = +build_flags = -g3 -D__MARLIN_FIRMWARE__ -DNDEBUG + -fmax-errors=5 +extra_scripts = + pre:buildroot/share/PlatformIO/scripts/configuration.py + pre:buildroot/share/PlatformIO/scripts/common-dependencies.py + pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py + pre:buildroot/share/PlatformIO/scripts/preflight-checks.py + post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py +lib_deps = default_src_filter = + - - - ; LCDs and Controllers - - - - - - - - - - - - - - ; Marlin HAL - - - + - - - - - - - - - ; Features and G-Codes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Library Code - - - - - - - - - - - - - - ; Modules - - - - - ; Media Support - - - ; - ; Minimal Requirements - ; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - -# -# Default values apply to all 'env:' prefixed environments -# + - - - - - + - - - - + - + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [env] -framework = arduino -extra_scripts = ${common.extra_scripts} -build_flags = ${common.build_flags} -lib_deps = ${common.lib_deps} -monitor_speed = 250000 -monitor_eol = LF -monitor_echo = yes -monitor_filters = colorize, time, send_on_enter - -# -# Just print the dependency tree -# +framework = arduino +extra_scripts = ${common.extra_scripts} +build_flags = ${common.build_flags} +lib_deps = ${common.lib_deps} +monitor_speed = 250000 +monitor_eol = LF +monitor_echo = yes +monitor_filters = colorize, time, send_on_enter + [env:include_tree] -platform = atmelavr -board = megaatmega2560 -build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ +platform = atmelavr +board = megaatmega2560 +build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ build_src_filter = + +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[config:base] +ini_use_config = none + +[config:minimal] +motherboard = BOARD_RAMPS_14_EFB +serial_port = 0 +baudrate = 250000 +use_watchdog = on +thermal_protection_hotends = on +thermal_protection_hysteresis = 4 +thermal_protection_period = 40 +bufsize = 4 +block_buffer_size = 16 +max_cmd_size = 96 +extruders = 1 +temp_sensor_0 = 1 +temp_hysteresis = 3 +heater_0_mintemp = 5 +heater_0_maxtemp = 275 +preheat_1_temp_hotend = 180 +bang_max = 255 +pidtemp = on +pid_k1 = 0.95 +pid_max = 255 +pid_functional_range = 10 +default_kp = 22.20 +default_ki = 1.08 +default_kd = 114.00 +x_driver_type = A4988 +y_driver_type = A4988 +z_driver_type = A4988 +e0_driver_type = A4988 +x_bed_size = 200 +x_min_pos = 0 +x_max_pos = X_BED_SIZE +y_bed_size = 200 +y_min_pos = 0 +y_max_pos = Y_BED_SIZE +z_min_pos = 0 +z_max_pos = 200 +x_home_dir = -1 +y_home_dir = -1 +z_home_dir = -1 +x_min_endstop_hit_state = HIGH +y_min_endstop_hit_state = HIGH +z_min_endstop_hit_state = HIGH +default_axis_steps_per_unit = { 80, 80, 400, 500 } +axis_relative_modes = { false, false, false, false } +default_max_feedrate = { 300, 300, 5, 25 } +default_max_acceleration = { 3000, 3000, 100, 10000 } +homing_feedrate_mm_m = { (50*60), (50*60), (4*60) } +homing_bump_divisor = { 2, 2, 4 } +x_enable_on = 0 +y_enable_on = 0 +z_enable_on = 0 +e_enable_on = 0 +invert_x_dir = false +invert_y_dir = true +invert_z_dir = false +invert_e0_dir = false +step_state_e = HIGH +step_state_x = HIGH +step_state_y = HIGH +step_state_z = HIGH +disable_x = off +disable_y = off +disable_z = off +disable_e = off +proportional_font_ratio = 1.0 +default_nominal_filament_dia = 1.75 +junction_deviation_mm = 0.013 +default_acceleration = 3000 +default_travel_acceleration = 3000 +default_retract_acceleration = 3000 +default_minimumfeedrate = 0.0 +default_mintravelfeedrate = 0.0 +minimum_planner_speed = 0.05 +min_steps_per_segment = 6 +default_minsegmenttime = 20000 + +[config:basic] +bed_overshoot = 10 +busy_while_heating = on +default_ejerk = 5.0 +default_keepalive_interval = 2 +default_leveling_fade_height = 0.0 +disable_other_extruders = on +display_charset_hd44780 = JAPANESE +eeprom_boot_silent = on +eeprom_chitchat = on +endstoppullups = on +extrude_maxlength = 200 +extrude_mintemp = 170 +host_keepalive_feature = on +hotend_overshoot = 15 +jd_handle_small_segments = on +lcd_info_screen_style = 0 +lcd_language = en +max_bed_power = 255 +mesh_inset = 0 +min_software_endstops = on +max_software_endstops = on +min_software_endstop_x = on +min_software_endstop_y = on +min_software_endstop_z = on +max_software_endstop_x = on +max_software_endstop_y = on +max_software_endstop_z = on +preheat_1_fan_speed = 0 +preheat_1_label = "PLA" +preheat_1_temp_bed = 70 +prevent_cold_extrusion = on +prevent_lengthy_extrude = on +printjob_timer_autostart = on +probing_margin = 10 +show_bootscreen = on +soft_pwm_scale = 0 +string_config_h_author = "(none, default config)" +temp_bed_hysteresis = 3 +temp_bed_residency_time = 10 +temp_bed_window = 1 +temp_residency_time = 10 +temp_window = 1 +validate_homing_endstops = on +xy_probe_feedrate = (133*60) +z_clearance_between_probes = 5 +z_clearance_deploy_probe = 10 +z_clearance_multi_probe = 5 + +[config:advanced] +arc_support = on +auto_report_temperatures = on +autotemp = on +autotemp_oldweight = 0.98 +bed_check_interval = 5000 +default_stepper_timeout_sec = 120 +default_volumetric_extruder_limit = 0.00 +disable_idle_x = on +disable_idle_y = on +disable_idle_z = on +disable_idle_e = on +e0_auto_fan_pin = -1 +encoder_100x_steps_per_sec = 80 +encoder_10x_steps_per_sec = 30 +encoder_rate_multiplier = on +extended_capabilities_report = on +extruder_auto_fan_speed = 255 +extruder_auto_fan_temperature = 50 +fanmux0_pin = -1 +fanmux1_pin = -1 +fanmux2_pin = -1 +faster_gcode_parser = on +homing_bump_mm = { 5, 5, 2 } +max_arc_segment_mm = 1.0 +min_arc_segment_mm = 0.1 +min_circle_segments = 72 +n_arc_correction = 25 +serial_overrun_protection = on +slowdown = on +slowdown_divisor = 2 +temp_sensor_bed = 0 +thermal_protection_bed_hysteresis = 2 +thermocouple_max_errors = 15 +tx_buffer_size = 0 +watch_bed_temp_increase = 2 +watch_bed_temp_period = 60 +watch_temp_increase = 2 +watch_temp_period = 20 + +[common_avr8] +platform = atmelavr@~4.0.1 +build_flags = ${common.build_flags} -Wl,--relax +build_src_flags = -std=gnu++1z +board_build.f_cpu = 16000000L +build_src_filter = ${common.default_src_filter} + + +[env:mega2560] +extends = common_avr8 +board = megaatmega2560 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mega2560ext] +extends = env:mega2560 +board_build.variant = MARLIN_MEGA_EXTENDED +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mega1280] +extends = common_avr8 +board = megaatmega1280 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[mega_extended_optimized] +extends = common_avr8 +board_build.variant = MARLIN_MEGA_EXTENDED +extra_scripts = ${env:mega2560ext.extra_scripts} +upload_speed = 57600 +build_flags = ${common_avr8.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -mcall-prologues + +[env:MightyBoard1280] +extends = mega_extended_optimized +board = megaatmega1280 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:MightyBoard2560] +extends = mega_extended_optimized +board = megaatmega2560 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:rambo] +extends = common_avr8 +board = reprap_rambo +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_F6] +extends = common_avr8 +board = fysetc_f6_13 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:sanguino644p] +extends = common_avr8 +board = sanguino_atmega644p +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:sanguino1284p] +extends = common_avr8 +board = sanguino_atmega1284p +board_upload.maximum_size = 126976 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[tuned_1284p] +build_flags = ${common_avr8.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -mcall-prologues + +[env:sanguino1284p_optimized] +extends = env:sanguino1284p +build_flags = ${tuned_1284p.build_flags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:melzi] +extends = env:sanguino1284p +upload_speed = 57600 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:melzi_optimized] +extends = env:sanguino1284p_optimized +upload_speed = 57600 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:melzi_optiboot] +extends = common_avr8 +board = sanguino_atmega1284p +upload_speed = 115200 +board_upload.maximum_size = 130048 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:melzi_optiboot_optimized] +extends = env:melzi_optiboot +build_flags = ${tuned_1284p.build_flags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:DUE] +platform = atmelsam +board = due +build_src_filter = ${common.default_src_filter} + + +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:DUE_USB] +extends = env:DUE +board = dueUSB +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[common_DUE_archim] +extends = env:DUE +board = marlin_archim +build_flags = ${common.build_flags} + -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON +board_build.variants_dir = buildroot/share/PlatformIO/variants/ +extra_scripts = ${common.extra_scripts} + Marlin/src/HAL/DUE/upload_extra_script.py + +[env:DUE_archim] +extends = common_DUE_archim +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:esp32] +platform = espressif32@2.1.0 +board = esp32dev +build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0 +build_src_filter = ${common.default_src_filter} + +lib_ignore = NativeEthernet +upload_speed = 500000 +monitor_speed = 250000 +monitor_filters = colorize, time, send_on_enter, log2file, esp32_exception_decoder +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_E4] +extends = env:esp32 +board_build.partitions = default_16MB.csv +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:PANDA] +extends = env:esp32 +build_flags = ${env:esp32.build_flags} -DUSE_ESP32_EXIO -DUSE_ESP32_TASK_WDT +lib_deps = ${common.lib_deps} + SoftwareSerialEsp32 +board_build.partitions = Marlin/src/HAL/ESP32/esp32.csv +upload_speed = 115200 +monitor_speed = 115200 + +[env:mks_tinybee] +extends = env:esp32 +board_build.partitions = default_8MB.csv +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:godi_esp32] +extends = env:esp32 +board_build.partitions = Marlin/src/HAL/ESP32/esp32.csv +upload_speed = 115200 +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[features] +yhcb2004 = red-scorp/LiquidCrystal_AIP31068@^1.0.4, red-scorp/SoftSPIB@^1.1.1 +has_tft_lvgl_ui = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip + build_src_filter=+ + extra_scripts=download_mks_assets.py +marlin_test_build = build_src_filter=+ +postmortem_debugging = build_src_filter=+ + + build_flags=-funwind-tables +mks_wifi_module = QRCode=https://github.com/makerbase-mks/QRCode/archive/master.zip +has_trinamic_config = TMCStepper@~0.7.3 + build_src_filter=+ + + + + +has_t(rinamic_config|mc_spi) = build_src_filter=+ +has_stealthchop = build_src_filter=+ +sr_lcd_3w_nl = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip +has_motor_current_(i2c|dac|spi|pwm) = build_src_filter=+ +has_motor_current_i2c = SlowSoftI2CMaster + build_src_filter=+ +has_tmc26x = TMC26XStepper=https://github.com/MarlinFirmware/TMC26XStepper/archive/master.zip + build_src_filter=+ +lib_internal_max31865 = build_src_filter=+ +neopixel_led = adafruit/Adafruit NeoPixel@~1.8.0 + build_src_filter=+ +i2c_ammeter = peterus/INA226Lib@1.1.2 + build_src_filter=+ +uses_liquidcrystal = LiquidCrystal=https://github.com/MarlinFirmware/New-LiquidCrystal/archive/1.5.1.zip +uses_liquidcrystal_i2c = marcoschwartz/LiquidCrystal_I2C@1.1.4 +uses_liquidtwi2 = LiquidTWI2@1.2.7 +has_lcdprint = build_src_filter=+ +has_marlinui_hd44780 = build_src_filter=+ +has_marlinui_u8glib = marlinfirmware/U8glib-HAL@~0.5.2 + build_src_filter=+ +has_(fsmc|spi|ltdc)_tft = build_src_filter=+ +has_ltdc_tft = build_src_filter=+ +has_fsmc_tft = build_src_filter=+ + +has_spi_tft = build_src_filter=+ + + +has_tft_xpt2046 = build_src_filter=+ + + +tft_touch_device_gt911 = build_src_filter=+ +i2c_eeprom = build_src_filter=+ +soft_i2c_eeprom = SlowSoftI2CMaster, SlowSoftWire=https://github.com/felias-fogg/SlowSoftWire/archive/master.zip +spi_eeprom = build_src_filter=+ +has_dwin_e3v2|is_dwin_marlinui = build_src_filter=+ +dwin_creality_lcd = build_src_filter=+ +dwin_lcd_proui = build_src_filter=+ +dwin_creality_lcd_jyersui = build_src_filter=+ +is_dwin_marlinui = build_src_filter=+ +has_graphical_tft = build_src_filter=+ - - +has_ui_320x.+ = build_src_filter=+ +has_ui_480x.+ = build_src_filter=+ +has_ui_1024x.+ = build_src_filter=+ +tft_font_helvetica_14 = build_src_filter=+ +tft_font_helvetica_19 = build_src_filter=+ +tft_font_notosans_14 = build_src_filter=+ + +tft_font_notosans_14_latin = build_src_filter=+ +tft_font_notosans_14_cyril = build_src_filter=+ +tft_font_notosans_14_greek = build_src_filter=+ +tft_font_notosans_14_kata = build_src_filter=+ +tft_font_notosans_14_ko = build_src_filter=+ +tft_font_notosans_14_zh_cn = build_src_filter=+ +tft_font_notosans_14_zh_tw = build_src_filter=+ +tft_font_notosans_14_vi = build_src_filter=+ +tft_font_notosans_16 = build_src_filter=+ + +tft_font_notosans_16_latin = build_src_filter=+ +tft_font_notosans_16_cyril = build_src_filter=+ +tft_font_notosans_16_greek = build_src_filter=+ +tft_font_notosans_16_kata = build_src_filter=+ +tft_font_notosans_16_ko = build_src_filter=+ +tft_font_notosans_16_zh_cn = build_src_filter=+ +tft_font_notosans_16_zh_tw = build_src_filter=+ +tft_font_notosans_16_vi = build_src_filter=+ +tft_font_notosans_19 = build_src_filter=+ + +tft_font_notosans_19_latin = build_src_filter=+ +tft_font_notosans_19_cyril = build_src_filter=+ +tft_font_notosans_19_greek = build_src_filter=+ +tft_font_notosans_19_kata = build_src_filter=+ +tft_font_notosans_19_ko = build_src_filter=+ +tft_font_notosans_19_zh_cn = build_src_filter=+ +tft_font_notosans_19_zh_tw = build_src_filter=+ +tft_font_notosans_19_vi = build_src_filter=+ +tft_font_notosans_26 = build_src_filter=+ + +tft_font_notosans_26_latin = build_src_filter=+ +tft_font_notosans_26_cyril = build_src_filter=+ +tft_font_notosans_26_greek = build_src_filter=+ +tft_font_notosans_26_kata = build_src_filter=+ +tft_font_notosans_26_ko = build_src_filter=+ +tft_font_notosans_26_zh_cn = build_src_filter=+ +tft_font_notosans_26_zh_tw = build_src_filter=+ +tft_font_notosans_26_vi = build_src_filter=+ +tft_font_notosans_27 = build_src_filter=+ + +tft_font_notosans_27_latin = build_src_filter=+ +tft_font_notosans_27_cyril = build_src_filter=+ +tft_font_notosans_27_greek = build_src_filter=+ +tft_font_notosans_27_kata = build_src_filter=+ +tft_font_notosans_27_ko = build_src_filter=+ +tft_font_notosans_27_zh_cn = build_src_filter=+ +tft_font_notosans_27_zh_tw = build_src_filter=+ +tft_font_notosans_27_vi = build_src_filter=+ +tft_font_notosans_28 = build_src_filter=+ + +tft_font_notosans_28_latin = build_src_filter=+ +tft_font_notosans_28_cyril = build_src_filter=+ +tft_font_notosans_28_greek = build_src_filter=+ +tft_font_notosans_28_kata = build_src_filter=+ +tft_font_notosans_28_ko = build_src_filter=+ +tft_font_notosans_28_zh_cn = build_src_filter=+ +tft_font_notosans_28_zh_tw = build_src_filter=+ +tft_font_notosans_28_vi = build_src_filter=+ +tft_font_notosans_29 = build_src_filter=+ + +tft_font_notosans_29_latin = build_src_filter=+ +tft_font_notosans_29_cyril = build_src_filter=+ +tft_font_notosans_29_greek = build_src_filter=+ +tft_font_notosans_29_kata = build_src_filter=+ +tft_font_notosans_29_ko = build_src_filter=+ +tft_font_notosans_29_zh_cn = build_src_filter=+ +tft_font_notosans_29_zh_tw = build_src_filter=+ +tft_font_notosans_29_vi = build_src_filter=+ +tft_font_unifont_10 = build_src_filter=+ + +tft_font_unifont_10_latin = build_src_filter=+ +tft_font_unifont_10_cyril = build_src_filter=+ +tft_font_unifont_10_greek = build_src_filter=+ +tft_font_unifont_10_kata = build_src_filter=+ +tft_font_unifont_10_ko = build_src_filter=+ +tft_font_unifont_10_zh_cn = build_src_filter=+ +tft_font_unifont_10_zh_tw = build_src_filter=+ +tft_font_unifont_10_vi = build_src_filter=+ +tft_font_unifont_20 = build_src_filter=+ + +tft_font_unifont_20_latin = build_src_filter=+ +tft_font_unifont_20_cyril = build_src_filter=+ +tft_font_unifont_20_greek = build_src_filter=+ +tft_font_unifont_20_kata = build_src_filter=+ +tft_font_unifont_20_ko = build_src_filter=+ +tft_font_unifont_20_zh_cn = build_src_filter=+ +tft_font_unifont_20_zh_tw = build_src_filter=+ +tft_font_unifont_20_vi = build_src_filter=+ +tft_font_unifont_30 = build_src_filter=+ + +tft_font_unifont_30_latin = build_src_filter=+ +tft_font_unifont_30_cyril = build_src_filter=+ +tft_font_unifont_30_greek = build_src_filter=+ +tft_font_unifont_30_kata = build_src_filter=+ +tft_font_unifont_30_ko = build_src_filter=+ +tft_font_unifont_30_zh_cn = build_src_filter=+ +tft_font_unifont_30_zh_tw = build_src_filter=+ +tft_font_unifont_30_vi = build_src_filter=+ +is_tftglcd_panel = build_src_filter=+ +has_touch_buttons = build_src_filter=+ +has_marlinui_menu = build_src_filter=+ - +has_games = build_src_filter=+ +marlin_brickout = build_src_filter=+ +marlin_invaders = build_src_filter=+ +marlin_maze = build_src_filter=+ +marlin_snake = build_src_filter=+ +has_menu_backlash = build_src_filter=+ +lcd_bed_leveling = build_src_filter=+ +has_menu_bed_tramming = build_src_filter=+ +has_menu_cancelobject = build_src_filter=+ +has_menu_delta_calibrate = build_src_filter=+ +has_menu_filament = build_src_filter=+ +lcd_info_menu = build_src_filter=+ +has_menu_job_recovery = build_src_filter=+ +has_menu_multi_language = build_src_filter=+ +has_menu_led = build_src_filter=+ +has_menu_media = build_src_filter=+ +has_menu_mixer = build_src_filter=+ +has_menu_mmu2 = build_src_filter=+ +has_menu_one_click_print = build_src_filter=+ +has_menu_password = build_src_filter=+ +has_menu_power_monitor = build_src_filter=+ +has_menu_cutter = build_src_filter=+ +has_menu_temperature = build_src_filter=+ +has_menu_tmc = build_src_filter=+ +has_menu_touch_screen = build_src_filter=+ +has_menu_tramming_wizard = build_src_filter=+ +has_menu_ubl = build_src_filter=+ +extensible_ui = build_src_filter=+ +anycubic_lcd_(chiron|vyper) = build_src_filter=+ +anycubic_lcd_chiron = build_src_filter=+ +anycubic_lcd_vyper = build_src_filter=+ +anycubic_lcd_i3mega = build_src_filter=+ +has_dgus_lcd_classic = build_src_filter=+ +dgus_lcd_ui_e3s1pro = build_src_filter=+ +dgus_lcd_ui_reloaded = build_src_filter=+ +dgus_lcd_ui_fysetc = build_src_filter=+ +dgus_lcd_ui_hiprecy = build_src_filter=+ +dgus_lcd_ui_mks = build_src_filter=+ +dgus_lcd_ui_origin = build_src_filter=+ +dgus_lcd_ui_ia_creality = build_src_filter=+ +extui_example = build_src_filter=+ +touch_ui_ftdi_eve = build_src_filter=+ +malyan_lcd = build_src_filter=+ +nextion_tft = build_src_filter=+ +use_uhs2_usb = build_src_filter=+ +use_uhs3_usb = build_src_filter=+ +usb_flash_drive_support = build_src_filter=+ +has_mcp3426_adc = build_src_filter=+ + +auto_bed_leveling_bilinear = build_src_filter=+ +auto_bed_leveling_(3point|(bi)?linear) = build_src_filter=+ +x_axis_twist_compensation = build_src_filter=+ + + +bd_sensor = markyue/Panda_SoftMasterI2C + build_src_filter=+ + +mesh_bed_leveling = build_src_filter=+ + +auto_bed_leveling_ubl = build_src_filter=+ + +ubl_hilbert_curve = build_src_filter=+ +backlash_compensation = build_src_filter=+ +baricuda = build_src_filter=+ + +binary_file_transfer = build_src_filter=+ + +bltouch = build_src_filter=+ +cancel_objects = build_src_filter=+ + +case_light_enable = build_src_filter=+ + +external_closed_loop_controller = build_src_filter=+ + +use_controller_fan = build_src_filter=+ +has_cooler|laser_coolant_flow_meter = build_src_filter=+ +has_motor_current_dac = build_src_filter=+ +direct_stepping = build_src_filter=+ + +emergency_parser = build_src_filter=+ - +easythreed_ui = build_src_filter=+ +i2c_position_encoders = build_src_filter=+ +iic_bl24cxx_eeprom = build_src_filter=+ +spi_flash = build_src_filter=+ +has_ethernet = build_src_filter=+ + +has_fancheck = build_src_filter=+ + +has_fanmux = build_src_filter=+ +filament_width_sensor = build_src_filter=+ + +fwretract = build_src_filter=+ + +host_action_commands = build_src_filter=+ +hotend_idle_timeout = build_src_filter=+ + +joystick = build_src_filter=+ +blinkm = build_src_filter=+ +has_color_leds = build_src_filter=+ + +pca9533 = build_src_filter=+ +pca9632 = build_src_filter=+ +printer_event_leds = build_src_filter=+ +temp_stat_leds = build_src_filter=+ +max7219_debug = build_src_filter=+ + +has_meatpack = build_src_filter=+ +mixing_extruder = build_src_filter=+ + +has_prusa_mmu1 = build_src_filter=+ +has_prusa_mmu2 = build_src_filter=+ + +password_feature = build_src_filter=+ + +advanced_pause_feature = build_src_filter=+ + + +psu_control = build_src_filter=+ +has_power_monitor = build_src_filter=+ + +power_loss_recovery = build_src_filter=+ + +has_ptc = build_src_filter=+ + +has_filament_sensor = build_src_filter=+ + +(ext|manual)_solenoid.* = build_src_filter=+ + +mk2_multiplexer = build_src_filter=+ +has_cutter = build_src_filter=+ + +has_driver_safe_power_protect = build_src_filter=+ +experimental_i2cbus = build_src_filter=+ + +g26_mesh_validation = build_src_filter=+ +assisted_tramming = build_src_filter=+ + +has_mesh = build_src_filter=+ +has_leveling = build_src_filter=+ + +mechanical_gantry_cal.+ = build_src_filter=+ +z_multi_endstops|z_stepper_auto_align = build_src_filter=+ +z_stepper_auto_align = build_src_filter=+ +delta_auto_calibration = build_src_filter=+ +calibration_gcode = build_src_filter=+ +z_min_probe_repeatability_test = build_src_filter=+ +m100_free_memory_watcher = build_src_filter=+ +backlash_gcode = build_src_filter=+ +is_kinematic = build_src_filter=+ +has_extra_endstops = build_src_filter=+ +skew_correction_gcode = build_src_filter=+ +direct_pin_control = build_src_filter=+ + +pins_debugging = build_src_filter=+ +has_multi_extruder = build_src_filter=+ +has_hotend_offset = build_src_filter=+ +editable_servo_angles = build_src_filter=+ +pidtemp = build_src_filter=+ +prevent_cold_extrusion = build_src_filter=+ +pidtempbed = build_src_filter=+ +has_user_thermistors = build_src_filter=+ +pidtempchamber = build_src_filter=+ +sd_abort_on_endstop_hit = build_src_filter=+ +baud_rate_gcode = build_src_filter=+ +has_smart_eff_mod = build_src_filter=+ +coolant_control|air_assist = build_src_filter=+ +air_evacuation = build_src_filter=+ +has_software_endstops = build_src_filter=+ +servo_detach_gcode = build_src_filter=+ +has_duplication_mode = build_src_filter=+ +spi_flash_backup = build_src_filter=+ +platform_m997_support = build_src_filter=+ +ft_motion = build_src_filter=+ + +lin_advance = build_src_filter=+ +photo_gcode = build_src_filter=+ +controller_fan_editable = build_src_filter=+ +has_zv_shaping = build_src_filter=+ +gcode_macros = build_src_filter=+ +gradient_mix = build_src_filter=+ +nonlinear_extrusion = build_src_filter=+ +ota_firmware_update = build_src_filter=+ +has_saved_positions = build_src_filter=+ + +park_head_on_pause = build_src_filter=+ +filament_load_unload_gcodes = build_src_filter=+ +cnc_workspace_planes = build_src_filter=+ +cnc_coordinate_systems = build_src_filter=+ +has_home_offset = build_src_filter=+ +expected_printer_check = build_src_filter=+ +host_keepalive_feature = build_src_filter=+ +auto_report_position = build_src_filter=+ +repetier_gcode_m360 = build_src_filter=+ +has_gcode_m876 = build_src_filter=+ +has_resume_continue = build_src_filter=+ +set_progress_manually = build_src_filter=+ +has_status_message = build_src_filter=+ +has_preheat = build_src_filter=+ +has_lcd_contrast = build_src_filter=+ +has_gcode_m255 = build_src_filter=+ +has_lcd_brightness = build_src_filter=+ +has_sound = build_src_filter=+ +has_multi_language = build_src_filter=+ +touch_screen_calibration = build_src_filter=+ +arc_support = build_src_filter=+ +gcode_motion_modes = build_src_filter=+ +babystepping = build_src_filter=+ + +z_probe_sled = build_src_filter=+ +g38_probe_target = build_src_filter=+ +magnetic_parking_extruder = build_src_filter=+ +has_media = build_src_filter=+ + + + + + + +has_media_subcalls = build_src_filter=+ +gcode_repeat_markers = build_src_filter=+ + +has_extruders = build_src_filter=+ + +has_hotend = build_src_filter=+ +has_fan = build_src_filter=+ +has_heated_bed = build_src_filter=+ +has_heated_chamber = build_src_filter=+ +has_cooler = build_src_filter=+ +auto_report_temperatures = build_src_filter=+ +has_temp_probe = build_src_filter=+ +has_pid_heating = build_src_filter=+ +mpctemp = build_src_filter=+ +inch_mode_support = build_src_filter=+ +temperature_units_support = build_src_filter=+ +need_hex_print = build_src_filter=+ +need_lsf = build_src_filter=+ +nozzle_park_feature = build_src_filter=+ + +nozzle_clean_feature = build_src_filter=+ + +delta = build_src_filter=+ + +polargraph = build_src_filter=+ +bezier_curve_support = build_src_filter=+ + +printcounter = build_src_filter=+ +has_bed_probe = build_src_filter=+ + + + +is_scara = build_src_filter=+ +has_servos = build_src_filter=+ + +morgan_scara = build_src_filter=+ +has_microsteps = build_src_filter=+ +(esp3d_)?wifisupport = AsyncTCP, ESP Async WebServer + ESP3DLib=https://github.com/luc-github/ESP3DLib/archive/master.zip + arduinoWebSockets=links2004/WebSockets@2.3.4 + luc-github/ESP32SSDP@1.1.1 + lib_ignore=ESPAsyncTCP + build_flags=-DSRCHOME=${platformio.src_dir}/src -DHALHOME=SRCHOME + +[common_LPC] +platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip +platform_packages = framework-arduino-lpc176x@^0.2.8 + toolchain-gccarmnoneeabi@1.100301.220327 +board = nxp_lpc1768 +lib_ldf_mode = off +lib_compat_mode = strict +extra_scripts = ${common.extra_scripts} + Marlin/src/HAL/LPC1768/upload_extra_script.py +build_src_filter = ${common.default_src_filter} + - + +lib_deps = ${common.lib_deps} + Servo +custom_marlin.uses_liquidcrystal = arduino-libraries/LiquidCrystal@~1.0.7 +custom_marlin.neopixel_led = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip +build_flags = ${common.build_flags} -DU8G_HAL_LINKS -DPLATFORM_M997_SUPPORT + -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g + +[env:LPC1768] +extends = common_LPC +board = nxp_lpc1768 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:LPC1769] +extends = common_LPC +board = nxp_lpc1769 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:linux_native] +platform = native +framework = +build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__ -Wno-expansion-to-defined +build_src_flags = -Wall -IMarlin/src/HAL/LINUX/include +build_unflags = -Wall +lib_ldf_mode = off +lib_deps = +build_src_filter = ${common.default_src_filter} + + +[simulator_common] +platform = native +framework = +build_flags = ${common.build_flags} -std=gnu++17 -D__PLAT_NATIVE_SIM__ -DU8G_HAL_LINKS -I/usr/include/SDL2 -IMarlin -IMarlin/src/HAL/NATIVE_SIM/u8g +build_src_flags = -Wall -Wno-expansion-to-defined -Wno-deprecated-declarations -Wcast-align +release_flags = -g0 -O3 -flto +debug_build_flags = -fstack-protector-strong -g -g3 -ggdb +lib_compat_mode = off +build_src_filter = ${common.default_src_filter} + +lib_deps = ${common.lib_deps} + MarlinSimUI=https://github.com/p3p/MarlinSimUI/archive/bugfix-2.1.x.zip + Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/marlin_sim_native.zip + LiquidCrystal=https://github.com/p3p/LiquidCrystal/archive/master.zip +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/simulator.py + +[simulator_linux] +extends = simulator_common +build_flags = ${simulator_common.build_flags} -ldl -lpthread -lSDL2 -lSDL2_net -lGL + +[env:simulator_linux_debug] +extends = simulator_linux +build_type = debug +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:simulator_linux_release] +extends = simulator_linux +build_type = release +build_flags = ${simulator_linux.build_flags} ${simulator_linux.release_flags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[simulator_macos] +build_unflags = -lGL -fstack-protector-strong +build_flags = + -I/opt/local/include + -I/opt/local/include/freetype2 + -I/opt/local/include/SDL2/ + -L/opt/local/lib + -Wl,-framework,OpenGl + -Wl,-framework,CoreFoundation + -lSDL2 + -fno-stack-protector + +[env:simulator_macos_debug] +extends = env:simulator_linux_debug +build_flags = ${env:simulator_linux_debug.build_flags} ${simulator_macos.build_flags} -ggdb -Og -D_THREAD_SAFE +build_unflags = ${simulator_macos.build_unflags} +custom_verbose = 0 +custom_gcc = g++ +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:simulator_macos_release] +extends = env:simulator_linux_release +build_flags = ${env:simulator_linux_release.build_flags} ${simulator_macos.build_flags} +build_unflags = ${simulator_macos.build_unflags} +custom_verbose = 0 +custom_gcc = g++ +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:simulator_windows] +extends = simulator_common +build_src_flags = ${simulator_common.build_src_flags} -fpermissive +build_flags = ${simulator_common.build_flags} ${simulator_common.debug_build_flags} -IC:\\msys64\\mingw64\\include\\SDL2 -fno-stack-protector -Wl,-subsystem,windows -ldl -lmingw32 -lSDL2main -lSDL2 -lSDL2_net -lopengl32 -lssp +build_type = debug +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:SAMD21_minitronics20] +platform = atmelsam +board = minitronics20 +build_flags = ${common.build_flags} -std=gnu++17 + -DUSBCON -DUSBD_USE_CDC -D__SAMD21__ -DARDUINO_SAMD_MINITRONICS20 -Wno-deprecated-declarations -DDEBUG + -IMarlin/src/HAL/SAMD21/u8g +build_unflags = -std=gnu++11 +build_src_filter = ${common.default_src_filter} + +lib_deps = ${common.lib_deps} +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/SAMD21_minitronics20.py +debug_tool = atmel-ice + +[env:SAMD51_grandcentral_m4] +platform = atmelsam +board = adafruit_grandcentral_m4 +build_flags = ${common.build_flags} -std=gnu++17 +build_unflags = -std=gnu++11 +build_src_filter = ${common.default_src_filter} + +lib_deps = ${common.lib_deps} + SoftwareSerialM +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py +custom_marlin.has_media = SdFat - Adafruit Fork, Adafruit SPIFlash +debug_tool = jlink + +[common_stm32] +platform = ststm32@~12.1 +board_build.core = stm32 +build_flags = ${common.build_flags} -std=gnu++14 + -DHAL_STM32 -DPLATFORM_M997_SUPPORT + -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12 +build_unflags = -std=gnu++11 +build_src_filter = ${common.default_src_filter} + - + +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/stm32_serialbuffer.py + +[stm32_variant] +extends = common_stm32 +extra_scripts = ${common_stm32.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py + buildroot/share/PlatformIO/scripts/offset_and_rename.py + +[stm_flash_drive] +platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip +build_flags = ${common_stm32.build_flags} + -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED + -DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4 + +[env:STM32F070RB_malyan] +extends = common_stm32 +board = marlin_malyanM200v2 +build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED + -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants + -fno-strict-aliasing -DCUSTOM_STARTUP_FILE +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F070CB_malyan] +extends = common_stm32 +board = malyanm200_f070cb +build_flags = ${common_stm32.build_flags} + -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB + -DHAL_UART_MODULE_ENABLED -DCUSTOM_STARTUP_FILE +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:malyan_M300] +extends = common_stm32 +board = malyanm300_f070cb +build_flags = ${common_stm32.build_flags} + -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB + -DHAL_UART_MODULE_ENABLED +build_src_filter = ${common.default_src_filter} + - +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[STM32F1_maple] +platform = ststm32@~12.1 +board_build.core = maple +build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py + ${common.build_flags} -DARDUINO_ARCH_STM32 -DMAPLE_STM32F1 -DPLATFORM_M997_SUPPORT +build_unflags = -std=gnu11 -std=gnu++11 +build_src_filter = ${common.default_src_filter} + - +lib_ignore = SPI, FreeRTOS701, FreeRTOS821 +lib_deps = ${common.lib_deps} + SoftwareSerialM +platform_packages = tool-stm32duino +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/fix_framework_weakness.py + pre:buildroot/share/PlatformIO/scripts/stm32_serialbuffer.py + buildroot/share/PlatformIO/scripts/custom_board.py + buildroot/share/PlatformIO/scripts/offset_and_rename.py + +[env:STM32F103RC_maple] +extends = STM32F1_maple +board = genericSTM32F103RC +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_maple] +extends = STM32F1_maple +board = genericSTM32F103RE +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_meeb_maple] +extends = env:STM32F103RC_maple +board = marlin_maple_MEEB_3DP +build_flags = ${env:STM32F103RC_maple.build_flags} + -DDEBUG_LEVEL=0 + -DSS_TIMER=4 + -DSTM32_FLASH_SIZE=512 + -DHSE_VALUE=12000000U + -DUSE_USB_COMPOSITE + -DVECT_TAB_OFFSET=0x2000 + -DGENERIC_BOOTLOADER +board_build.ldscript = STM32F103RC_MEEB_3DP.ld +extra_scripts = ${env:STM32F103RC_maple.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py + buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py +lib_deps = ${env:STM32F103RC_maple.lib_deps} + USBComposite for STM32F1@0.91 +custom_marlin.neopixel_led = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use +debug_tool = stlink +upload_protocol = dfu + +[env:STM32F103RC_fysetc_maple] +extends = env:STM32F103RC_maple +extra_scripts = ${env:STM32F103RC_maple.extra_scripts} + buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py +build_flags = ${env:STM32F103RC_maple.build_flags} -DDEBUG_LEVEL=0 +lib_ldf_mode = chain +debug_tool = stlink +upload_protocol = serial +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_maple] +extends = env:STM32F103RC_maple +board_build.address = 0x08007000 +board_build.ldscript = STM32F103RC_SKR_MINI_256K.ld +build_flags = ${env:STM32F103RC_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_USB_maple] +extends = env:STM32F103RC_btt_maple +build_flags = ${env:STM32F103RC_btt_maple.build_flags} -DUSE_USB_COMPOSITE +lib_deps = ${env:STM32F103RC_btt_maple.lib_deps} + USBComposite for STM32F1@0.91 + +[env:STM32F103RE_creality_maple] +extends = env:STM32F103RE_maple +build_flags = ${env:STM32F103RE_maple.build_flags} -DTEMP_TIMER_CHAN=4 +board_build.address = 0x08007000 +board_build.ldscript = creality.ld +board_build.rename = firmware-{date}-{time}.bin +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_creality_maple] +extends = env:STM32F103RC_maple +build_flags = ${env:STM32F103RC_maple.build_flags} -DTEMP_TIMER_CHAN=4 +board_build.address = 0x08007000 +board_build.ldscript = creality256k.ld +board_build.rename = firmware-{date}-{time}.bin +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_creality_smartPro_maple] +extends = env:STM32F103RE_creality_maple +board_build.address = 0x08010000 +board_build.ldscript = crealityPro.ld +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_btt_maple] +extends = env:STM32F103RE_maple +board_build.address = 0x08007000 +board_build.ldscript = STM32F103RE_SKR_MINI_512K.ld +build_flags = ${env:STM32F103RE_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_btt_USB_maple] +extends = env:STM32F103RE_btt_maple +build_flags = ${env:STM32F103RE_btt_maple.build_flags} -DUSE_USB_COMPOSITE +lib_deps = ${env:STM32F103RE_btt_maple.lib_deps} + USBComposite for STM32F1@0.91 + +[env:STM32F103VE_GTM32_maple] +extends = STM32F1_maple +board = genericSTM32F103VE +build_flags = ${STM32F1_maple.build_flags} + -ffunction-sections -fdata-sections -nostdlib -MMD + -DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v + -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000 + -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 +upload_protocol = serial +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE_longer_maple] +extends = STM32F1_maple +board = genericSTM32F103VE +board_build.address = 0x08010000 +board_build.rename = project.bin +board_build.ldscript = STM32F103VE_longer.ld +build_flags = ${STM32F1_maple.build_flags} + -DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12 +build_unflags = ${STM32F1_maple.build_unflags} + -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_mini_maple] +extends = STM32F1_maple +board = genericSTM32F103VE +board_build.address = 0x08007000 +board_build.encrypt_mks = Robin_mini.bin +board_build.ldscript = mks_robin_mini.ld +build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v1v2_maple] +extends = STM32F1_maple +board = genericSTM32F103VE +board_build.address = 0x08007000 +board_build.encrypt_mks = Robin_nano35.bin +board_build.ldscript = mks_robin_nano.ld +build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_maple] +extends = STM32F1_maple +board = genericSTM32F103ZE +board_build.address = 0x08007000 +board_build.encrypt_mks = Robin.bin +board_build.ldscript = mks_robin.ld +build_flags = ${STM32F1_maple.build_flags} -DSS_TIMER=4 -DSTM32_XL_DENSITY +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_pro_maple] +extends = env:mks_robin_maple +board_build.address = 0x08007000 +board_build.encrypt_mks = Robin_pro.bin +board_build.ldscript = mks_robin_pro.ld +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:trigorilla_pro_maple] +extends = env:mks_robin_maple +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_e3_maple] +extends = STM32F1_maple +board = genericSTM32F103RC +board_build.address = 0x08005000 +board_build.encrypt_mks = Robin_e3.bin +board_build.ldscript = mks_robin_e3.ld +build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_e3p_maple] +extends = STM32F1_maple +board = genericSTM32F103VE +board_build.address = 0x08007000 +board_build.encrypt_mks = Robin_e3p.bin +board_build.ldscript = mks_robin_e3p.ld +build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_lite_maple] +extends = STM32F1_maple +board = genericSTM32F103RC +board_build.address = 0x08005000 +board_build.encrypt_mks = mksLite.bin +board_build.ldscript = mks_robin_lite.ld +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_lite3_maple] +extends = STM32F1_maple +board = genericSTM32F103RC +board_build.address = 0x08005000 +board_build.encrypt_mks = mksLite3.bin +board_build.ldscript = mks_robin_lite.ld +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:jgaurora_a5s_a1_maple] +extends = STM32F1_maple +board = genericSTM32F103ZE +board_build.address = 0x0800A000 +board_build.ldscript = jgaurora_a5s_a1.ld +extra_scripts = ${STM32F1_maple.extra_scripts} + buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py +build_flags = ${STM32F1_maple.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103CB_malyan_maple] +extends = STM32F1_maple +board = marlin_malyanM200 +build_flags = ${STM32F1_maple.build_flags} + -DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections + -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ +lib_ignore = ${STM32F1_maple.lib_ignore} + SoftwareSerialM +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:chitu_f103_maple] +extends = STM32F1_maple +board = marlin_maple_CHITU_F103 +extra_scripts = ${STM32F1_maple.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py + buildroot/share/PlatformIO/scripts/chitu_crypt.py +build_flags = ${STM32F1_maple.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY +build_unflags = ${STM32F1_maple.build_unflags} + -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:chitu_v5_gpio_init_maple] +extends = env:chitu_f103_maple +build_flags = ${env:chitu_f103_maple.build_flags} -DCHITU_V5_Z_MIN_BUGFIX +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FLY_MINI_maple] +extends = STM32F1_maple +board = genericSTM32F103RC +board_build.address = 0x08005000 +board_build.ldscript = fly_mini.ld +build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[ZONESTAR_ZM3E_maple] +extends = STM32F1_maple +platform_packages = tool-stm32duino +board_build.address = 0x08005000 +board_upload.maximum_size = 237568 +build_flags = ${STM32F1_maple.build_flags} + -D__STM32F1__=1 -DDEBUG_LEVEL=0 -DSS_TIMER=4 -DSERIAL_USB +lib_deps = ${STM32F1_maple.lib_deps} + USBComposite for STM32F1@0.91 +lib_ignore = Adafruit NeoPixel, SPI, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster, TMCStepper + +[env:STM32F103RC_ZM3E2_USB_maple] +extends = ZONESTAR_ZM3E_maple +board = genericSTM32F103RC +board_build.ldscript = ZONESTAR_ZM3E_256K.ld +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VC_ZM3E4_USB_maple] +extends = ZONESTAR_ZM3E_maple +board = genericSTM32F103VC +board_build.ldscript = ZONESTAR_ZM3E_256K.ld +build_flags = ${ZONESTAR_ZM3E_maple.build_flags} -DTONE_TIMER=1 -DTONE_CHANNEL=2 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE_ZM3E4V2_USB_maple] +extends = ZONESTAR_ZM3E_maple +board = genericSTM32F103VE +board_build.ldscript = ZONESTAR_ZM3E_512K.ld +build_flags = ${ZONESTAR_ZM3E_maple.build_flags} -DTONE_TIMER=1 -DTONE_CHANNEL=2 +board_upload.maximum_size = 499712 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:ERYONE_ERY32_MINI_maple] +extends = STM32F1_maple +board = genericSTM32F103VE +build_flags = ${STM32F1_maple.build_flags} + -ffunction-sections -fdata-sections -nostdlib -MMD + -DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 + -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 + -DSS_TIMER=4 +board_build.variant = MARLIN_F103Vx +board_build.ldscript = eryone_ery32_mini.ld +board_build.address = 0x08004000 +build_unflags = ${STM32F1_maple.build_unflags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:GD32F103RET6_sovol_maple] +extends = env:STM32F103RE_maple +build_flags = ${STM32F1_maple.build_flags} -DTEMP_TIMER_CHAN=4 +board_build.address = 0x08007000 +board_build.ldscript = sovol.ld +board_build.rename = firmware-{date}-{time}.bin +extra_scripts = ${STM32F1_maple.extra_scripts} + buildroot/share/PlatformIO/scripts/custom_board.py +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[common_STM32F103RC_variant] +extends = stm32_variant +board = genericSTM32F103RC +board_build.variant = MARLIN_F103Rx +build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0 +monitor_speed = 115200 + +[env:STM32F103RE] +extends = common_stm32 +board = genericSTM32F103RE +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE] +extends = common_stm32 +board = genericSTM32F103VE +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103ZE] +extends = common_stm32 +board = genericSTM32F103ZE +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt] +extends = common_STM32F103RC_variant +build_flags = ${common_STM32F103RC_variant.build_flags} + -DTIMER_SERVO=TIM5 +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_USB] +extends = env:STM32F103RC_btt +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${env:STM32F103RC_btt.build_flags} + -DUSE_USB_FS + -DUSBD_IRQ_PRIO=5 + -DUSBD_IRQ_SUBPRIO=6 + -DUSBD_USE_CDC_MSC +build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:PANDA_PI_V29] +extends = common_STM32F103RC_variant +build_flags = ${common_STM32F103RC_variant.build_flags} + -DTIMER_SERVO=TIM1 +board_build.offset = 0x5000 +board_upload.offset_address = 0x08005000 +lib_deps = + markyue/Panda_SoftMasterI2C@1.0.3 + +[env:mks_robin] +extends = stm32_variant +board = genericSTM32F103ZE +board_build.variant = MARLIN_F103Zx +board_build.encrypt_mks = Robin.bin +board_build.offset = 0x7000 +build_flags = ${stm32_variant.build_flags} + -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_e3] +extends = common_STM32F103RC_variant +board_build.encrypt_mks = Robin_e3.bin +board_build.offset = 0x5000 +board_upload.offset_address = 0x08005000 +build_flags = ${common_STM32F103RC_variant.build_flags} + -DTIMER_SERVO=TIM5 -DDEFAULT_SPI=3 +build_unflags = ${common_STM32F103RC_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +debug_tool = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[STM32F103Rx_creality] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_build.rename = firmware-{date}-{time}.bin +board_upload.offset_address = 0x08007000 +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink + +[STM32F103Rx_creality_xfer] +extends = STM32F103Rx_creality +build_flags = ${STM32F103Rx_creality.build_flags} -DXFER_BUILD +extra_scripts = ${STM32F103Rx_creality.extra_scripts} + pre:buildroot/share/scripts/upload.py +upload_protocol = custom + +[env:STM32F103RE_creality] +extends = STM32F103Rx_creality +board = genericSTM32F103RE +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_creality_xfer] +extends = STM32F103Rx_creality_xfer +board = genericSTM32F103RE +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_creality_smartPro] +extends = env:STM32F103RE_creality +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:trigorilla_v006] +extends = env:STM32F103RE_creality +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_creality] +extends = STM32F103Rx_creality +board = genericSTM32F103RC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_creality_xfer] +extends = STM32F103Rx_creality_xfer +board = genericSTM32F103RC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE_creality] +extends = STM32F103Rx_creality +board = genericSTM32F103VE +board_build.variant = MARLIN_F103Vx +build_flags = ${stm32_variant.build_flags} + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_btt] +extends = stm32_variant +board = genericSTM32F103RE +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RE_btt_USB] +extends = env:STM32F103RE_btt +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${env:STM32F103RE_btt.build_flags} + -DUSE_USB_FS -DUSBD_IRQ_PRIO=5 + -DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC +build_unflags = ${env:STM32F103RE_btt.build_unflags} -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mingda_mpx_arm_mini] +extends = stm32_variant +board = genericSTM32F103ZE +board_build.variant = MARLIN_F103Zx +board_build.offset = 0x10000 +build_flags = ${stm32_variant.build_flags} + -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103CB_malyan] +extends = common_stm32 +board = malyanm200_f103cb +build_flags = ${common_stm32.build_flags} + -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB + -DHAL_UART_MODULE_ENABLED +build_src_filter = ${common.default_src_filter} + - +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FLY_MINI] +extends = stm32_variant +board = genericSTM32F103RC +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x5000 +board_upload.offset_address = 0x08005000 +build_flags = ${stm32_variant.build_flags} -DSS_TIMER=4 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[STM32F103VE_robin] +extends = stm32_variant +board = genericSTM32F103VE +board_build.variant = MARLIN_F103Vx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 -DSS_TIMER=4 + +[mks_robin_nano_v1v2_common] +extends = STM32F103VE_robin +board_build.encrypt_mks = Robin_nano35.bin +debug_tool = stlink +upload_protocol = stlink + +[env:mks_robin_nano_v1v2_usbmod] +extends = mks_robin_nano_v1v2_common +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v1v2] +extends = mks_robin_nano_v1v2_common +build_flags = ${mks_robin_nano_v1v2_common.build_flags} -DENABLE_HWSERIAL3 +build_unflags = ${mks_robin_nano_v1v2_common.build_unflags} -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_mini] +extends = STM32F103VE_robin +board_build.encrypt_mks = Robin_mini.bin +build_unflags = ${STM32F103VE_robin.build_unflags} -DSS_TIMER=4 -DTIMER_SERVO=TIM2 +build_flags = ${STM32F103VE_robin.build_flags} -DTIMER_SERVO=TIM1 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_e3p] +extends = STM32F103VE_robin +board_build.encrypt_mks = Robin_e3p.bin +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:flsun_hispeedv1] +extends = STM32F103VE_robin +board_build.encrypt_mks = Robin_mini.bin +build_flags = ${STM32F103VE_robin.build_flags} -DENABLE_HWSERIAL3 +build_unflags = ${STM32F103VE_robin.build_unflags} -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_lite] +extends = stm32_variant +board = genericSTM32F103RC +board_build.variant = MARLIN_F103Rx +board_build.encrypt_mks = mksLite.bin +board_build.offset = 0x5000 +board_upload.offset_address = 0x08005000 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_lite3] +extends = env:mks_robin_lite +board_build.encrypt_mks = mksLite3.bin +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_pro] +extends = env:mks_robin +board_build.encrypt_mks = Robin_pro.bin +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:jgaurora_a5s_a1] +extends = stm32_variant +board = genericSTM32F103ZE +board_build.variant = MARLIN_F103Zx +board_build.offset = 0xA000 +board_upload.offset_address = 0x0800A000 +build_flags = ${stm32_variant.build_flags} + -DSTM32F1xx -DSTM32_XL_DENSITY +extra_scripts = ${stm32_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_fysetc] +extends = common_STM32F103RC_variant +extra_scripts = ${common_STM32F103RC_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py +build_flags = ${common_STM32F103RC_variant.build_flags} -DTIMER_SERVO=TIM1 +lib_ldf_mode = chain +debug_tool = stlink +upload_protocol = serial +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE_longer] +extends = stm32_variant +lib_deps = ${common.lib_deps} + https://github.com/tpruvot/STM32_Servo_OpenDrain/archive/2.0.zip +board = genericSTM32F103VE +board_build.variant = MARLIN_F103VE_LONGER +board_build.rename = project.bin +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DU20 -DTS_V12 +build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED +extra_scripts = ${stm32_variant.extra_scripts} +monitor_speed = 250000 +debug_tool = stlink + +[env:trigorilla_pro] +extends = stm32_variant +board = genericSTM32F103ZE +board_build.variant = MARLIN_F103Zx +build_flags = ${stm32_variant.build_flags} + -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:trigorilla_pro_disk] +extends = stm32_variant +board = genericSTM32F103ZE +board_build.crypt_chitu = update.zw +board_build.variant = MARLIN_F103Zx +board_build.offset = 0x8800 +build_flags = ${stm32_variant.build_flags} + -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/chitu_crypt.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:chitu_f103] +extends = stm32_variant +board = genericSTM32F103ZE +board_build.crypt_chitu = update.cbd +board_build.variant = MARLIN_F103Zx +board_build.offset = 0x8800 +build_flags = ${stm32_variant.build_flags} + -DSTM32F1xx +build_unflags = ${stm32_variant.build_unflags} +extra_scripts = ${stm32_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/chitu_crypt.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:chitu_v5_gpio_init] +extends = env:chitu_f103 +build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[ZONESTAR_ZM3E] +extends = stm32_variant +platform_packages = ${stm_flash_drive.platform_packages} +board_upload.offset_address = 0x08005000 +board_build.offset = 0x5000 +board_upload.maximum_size = 237568 +extra_scripts = ${stm32_variant.extra_scripts} +build_flags = ${common_stm32.build_flags} + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DUSE_USB_FS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC +build_unflags = ${stm32_variant.build_unflags} -DUSBD_USE_CDC + +[env:STM32F103RC_ZM3E2_USB] +extends = ZONESTAR_ZM3E +board = genericSTM32F103RC +board_build.variant = MARLIN_F103Rx +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VC_ZM3E4_USB] +extends = ZONESTAR_ZM3E +board = genericSTM32F103VC +board_build.variant = MARLIN_F103Vx +build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=TIM1 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE_ZM3E4V2_USB] +extends = ZONESTAR_ZM3E +board = genericSTM32F103VE +board_build.variant = MARLIN_F103Vx +build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=TIM1 +board_upload.maximum_size = 499712 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:ARMED] +extends = common_stm32 +board = armed_v1 +build_flags = ${common_stm32.build_flags} + -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_CHEETAH_V20] +extends = stm32_variant +board = marlin_FYSETC_CHEETAH_V20 +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} -DSTM32F401xC +upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_CHEETAH_V30] +extends = stm32_variant +board = marlin_FYSETC_CHEETAH_V30 +build_flags = ${stm32_variant.build_flags} -DHAL_PCD_MODULE_ENABLED +debug_tool = stlink +upload_protocol = dfu +upload_command = dfu-util -a 0 -s 0x08000000:leave -D "$SOURCE" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FLYF407ZG] +extends = stm32_variant +board = marlin_STM32F407ZGT6 +board_build.variant = MARLIN_FLY_F407ZG +board_build.offset = 0x8000 +upload_protocol = dfu +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_S6] +extends = stm32_variant +board = marlin_fysetc_s6 +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +build_flags = ${stm32_variant.build_flags} -DHAL_PCD_MODULE_ENABLED +debug_tool = stlink +upload_protocol = dfu +upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_S6_8000] +extends = env:FYSETC_S6 +board = marlin_fysetc_s6 +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FYSETC_SPIDER_KING407] +extends = stm32_variant +board = marlin_STM32F407ZGT6 +board_build.variant = MARLIN_FYSETC_SPIDER_KING407 +board_build.offset = 0x8000 +upload_protocol = dfu +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F407VE_black] +extends = stm32_variant +board = marlin_blackSTM32F407VET6 +build_flags = ${stm32_variant.build_flags} + -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:Opulo_Lumen_REV3] +extends = stm32_variant +board = marlin_opulo_lumen_rev3 +build_flags = ${stm32_variant.build_flags} + -DARDUINO_BLACK_F407VE + -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS +extra_scripts = ${stm32_variant.extra_scripts} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:Opulo_Lumen_REV4] +extends = stm32_variant +board = marlin_opulo_lumen_rev4 +build_flags = ${stm32_variant.build_flags} + -DARDUINO_BLACK_F407VE + -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS +extra_scripts = ${stm32_variant.extra_scripts} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[Anet_ET4] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +build_flags = ${stm32_variant.build_flags} + -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 + +[env:Anet_ET4_no_bootloader] +extends = Anet_ET4 +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:Anet_ET4_OpenBLT] +extends = Anet_ET4 +board_build.encode = firmware.srec +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +extra_scripts = ${stm32_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/openblt.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_PRO] +extends = stm32_variant +board = marlin_BigTree_SKR_Pro +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_PRO_usb_flash_drive] +extends = env:BIGTREE_SKR_PRO +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX +build_unflags = ${env:BIGTREE_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_E3_RRF] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_BIGTREE_E3_RRF +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} + -DSTM32F407_5VX + -DMF_RX_BUFFER_SIZE=255 + -DMF_TX_BUFFER_SIZE=255 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_GTR_V1_0] +extends = stm32_variant +board = marlin_BigTree_GTR_v1 +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} -DSTM32F407IX +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_GTR_V1_0_usb_flash_drive] +extends = env:BIGTREE_GTR_V1_0 +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX +build_unflags = ${env:BIGTREE_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_BTT002] +extends = stm32_variant +board = marlin_BigTree_BTT002 +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} + -DSTM32F407_5VX + -DHAVE_HWSERIAL2 + -DHAVE_HWSERIAL3 + -DPIN_SERIAL2_RX=PD_6 + -DPIN_SERIAL2_TX=PD_5 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_BTT002_VET6] +extends = env:BIGTREE_BTT002 +board = marlin_BigTree_BTT002_VET6 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_2] +extends = stm32_variant +platform_packages = ${stm_flash_drive.platform_packages} +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +build_flags = ${stm_flash_drive.build_flags} + -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS + -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 + -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED + -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8 +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_2_USB] +extends = env:BIGTREE_SKR_2 +build_flags = ${env:BIGTREE_SKR_2.build_flags} -DUSBD_USE_CDC_MSC +build_unflags = ${env:BIGTREE_SKR_2.build_unflags} -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_2_USB_debug] +extends = env:BIGTREE_SKR_2_USB +build_flags = ${env:BIGTREE_SKR_2_USB.build_flags} -O0 +build_unflags = ${env:BIGTREE_SKR_2_USB.build_unflags} -Os -NDEBUG +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_2_F429] +extends = env:BIGTREE_SKR_2 +board = marlin_STM32F429VGT6 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_2_F429_USB] +extends = env:BIGTREE_SKR_2_F429 +build_flags = ${env:BIGTREE_SKR_2_F429.build_flags} -DUSBD_USE_CDC_MSC +build_unflags = ${env:BIGTREE_SKR_2_F429.build_unflags} -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_SKR_2_F429_USB_debug] +extends = env:BIGTREE_SKR_2_F429_USB +build_flags = ${env:BIGTREE_SKR_2_F429_USB.build_flags} -O0 +build_unflags = ${env:BIGTREE_SKR_2_F429_USB.build_unflags} -Os -NDEBUG +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F446ZE_btt] +extends = stm32_variant +board = marlin_BigTree_Octopus_v1 +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +debug_tool = stlink +upload_protocol = stlink +build_flags = ${stm32_variant.build_flags} + -DSTM32F446_5VX -DUSE_USB_HS_IN_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F446ZE_btt_usb_flash_drive] +extends = env:STM32F446ZE_btt +platform_packages = ${stm_flash_drive.platform_packages} +build_unflags = -DUSBD_USE_CDC +build_flags = ${stm_flash_drive.build_flags} + -DSTM32F446_5VX -DUSE_USB_HS_IN_FS + -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5 + -DUSBD_IRQ_SUBPRIO=6 + -DUSBD_USE_CDC_MSC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F429ZG_btt] +extends = stm32_variant +board = marlin_BigTree_Octopus_Pro_v1_F429 +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +debug_tool = stlink +upload_protocol = stlink +build_flags = ${stm32_variant.build_flags} + -DUSE_USB_HS_IN_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F429ZG_btt_usb_flash_drive] +extends = env:STM32F429ZG_btt +platform_packages = ${stm_flash_drive.platform_packages} +build_unflags = -DUSBD_USE_CDC +build_flags = ${stm_flash_drive.build_flags} + -DUSE_USB_HS_IN_FS -DUSE_USBHOST_HS + -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 + -DUSBD_USE_CDC_MSC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F407ZE_btt] +extends = stm32_variant +board = marlin_STM32F407ZE +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} + -DUSE_USB_HS_IN_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F407ZE_btt_usb_flash_drive] +extends = env:STM32F407ZE_btt +platform_packages = ${stm_flash_drive.platform_packages} +build_unflags = -DUSBD_USE_CDC +build_flags = ${stm_flash_drive.build_flags} + -DUSE_USB_HS_IN_FS -DUSE_USBHOST_HS + -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 + -DUSBD_USE_CDC_MSC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[lerdge_common] +extends = stm32_variant +board = marlin_STM32F407ZGT6 +board_build.variant = MARLIN_LERDGE +board_build.crypt_lerdge = firmware.bin +board_build.offset = 0x10000 +build_flags = ${stm32_variant.build_flags} + -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4 + -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DLERDGE_TFT35 +build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 +extra_scripts = ${stm32_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/lerdge.py + +[env:LERDGEX] +extends = lerdge_common +board_build.crypt_lerdge = Lerdge_X_firmware_force.bin +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:LERDGEX_usb_flash_drive] +extends = env:LERDGEX +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:LERDGES] +extends = lerdge_common +board_build.crypt_lerdge = Lerdge_firmware_force.bin +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:LERDGES_usb_flash_drive] +extends = env:LERDGES +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:LERDGEK] +extends = lerdge_common +board_build.crypt_lerdge = Lerdge_K_firmware_force.bin +build_flags = ${lerdge_common.build_flags} -DLERDGEK +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:LERDGEK_usb_flash_drive] +extends = env:LERDGEK +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags} +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:rumba32] +extends = stm32_variant +board = rumba32_f446ve +board_build.variant = MARLIN_F446VE +board_build.offset = 0x0000 +build_flags = ${stm32_variant.build_flags} + -Os -DHAL_PCD_MODULE_ENABLED + -DDISABLE_GENERIC_SERIALUSB + -DHAL_UART_MODULE_ENABLED + -DTIMER_SERIAL=TIM9 +monitor_speed = 500000 +upload_protocol = dfu +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin2] +extends = stm32_variant +board = marlin_MKS_ROBIN2 +board_build.offset = 0xC000 +board_upload.offset_address = 0x0800C000 +board_build.encrypt_mks = Robin2.bin +build_flags = ${stm32_variant.build_flags} + -DTARGET_STM32F4 -DSTM32F407_5ZX + -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSBD_PID=0x3748 -DUSB_PRODUCT=\"MKS_Robin2\" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_pro2] +extends = stm32_variant +platform_packages = ${stm_flash_drive.platform_packages} +board = genericSTM32F407VET6 +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0x0000 +board_upload.offset_address = 0x08000000 +build_flags = ${stm_flash_drive.build_flags} +build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[stm32f4_I2C1] +build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7 + +[env:mks_robin_nano_v3] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0xC000 +board_upload.offset_address = 0x0800C000 +board_build.rename = Robin_nano_v3.bin +build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags} + -DHAL_PCD_MODULE_ENABLED +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v3_usb_flash_drive] +extends = env:mks_robin_nano_v3 +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} + -DUSE_USBHOST_HS + -DUSBD_IRQ_PRIO=5 + -DUSBD_IRQ_SUBPRIO=6 + -DUSE_USB_HS_IN_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v3_usb_flash_drive_msc] +extends = env:mks_robin_nano_v3_usb_flash_drive +build_flags = ${env:mks_robin_nano_v3_usb_flash_drive.build_flags} + -DUSBD_USE_CDC_MSC +build_unflags = -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v3_1] +extends = env:mks_robin_nano_v3 +board = marlin_STM32F407VET6_CCM +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v3_1_usb_flash_drive] +extends = env:mks_robin_nano_v3_usb_flash_drive +board = marlin_STM32F407VET6_CCM +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v3_1_usb_flash_drive_msc] +extends = env:mks_robin_nano_v3_usb_flash_drive_msc +board = marlin_STM32F407VET6_CCM +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_eagle] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0xC000 +board_upload.offset_address = 0x0800C000 +board_build.rename = mks_eagle.bin +build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags} + -DHAL_PCD_MODULE_ENABLED + -DSTM32_FLASH_SIZE=512 +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_eagle_usb_flash_drive] +extends = env:mks_eagle +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} + -DUSE_USBHOST_HS + -DUSBD_IRQ_PRIO=5 + -DUSBD_IRQ_SUBPRIO=6 + -DUSE_USB_HS_IN_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_eagle_usb_flash_drive_msc] +extends = env:mks_eagle_usb_flash_drive +build_flags = ${env:mks_eagle_usb_flash_drive.build_flags} + -DUSBD_USE_CDC_MSC +build_unflags = -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[stm32f4_I2C1_CAN] +build_flags = -DPIN_WIRE_SCL=PB8 -DPIN_WIRE_SDA=PB9 + +[env:mks_monster8] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0xC000 +board_upload.offset_address = 0x0800C000 +board_build.rename = mks_monster8.bin +build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1_CAN.build_flags} + -DHAL_PCD_MODULE_ENABLED -DTIMER_SERIAL=TIM4 + -DSTM32_FLASH_SIZE=512 +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_monster8_usb_flash_drive] +extends = env:mks_monster8 +platform_packages = ${stm_flash_drive.platform_packages} +build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1_CAN.build_flags} + -DUSE_USBHOST_HS + -DUSBD_IRQ_PRIO=5 + -DUSBD_IRQ_SUBPRIO=6 + -DUSE_USB_HS_IN_FS +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_monster8_usb_flash_drive_msc] +extends = env:mks_monster8_usb_flash_drive +build_flags = ${env:mks_monster8_usb_flash_drive.build_flags} + -DUSBD_USE_CDC_MSC +build_unflags = -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[TH3D_EZBoard_V2] +extends = stm32_variant +board = genericSTM32F405RG +board_build.variant = MARLIN_TH3D_EZBOARD_V2 +build_flags = ${stm32_variant.build_flags} -DHSE_VALUE=12000000U -O0 + +[env:TH3D_EZBoard_V2_no_bootloader] +extends = TH3D_EZBoard_V2 +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:TH3D_EZBoard_V2_OpenBLT] +extends = TH3D_EZBoard_V2 +board_build.encode = firmware.bin +board_build.offset = 0xC000 +board_upload.offset_address = 0x0800C000 +extra_scripts = ${stm32_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/openblt.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[mks_robin_nano_v1_3_f4_common] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +board_build.rename = Robin_nano35.bin +debug_tool = jlink +upload_protocol = jlink + +[env:mks_robin_nano_v1_3_f4] +extends = mks_robin_nano_v1_3_f4_common +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F407VE -DENABLE_HWSERIAL3 -DSTM32_FLASH_SIZE=512 + -DTIMER_SERVO=TIM2 -DTIMER_TONE=TIM3 -DSS_TIMER=4 + -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano_v1_3_f4_usbmod] +extends = mks_robin_nano_v1_3_f4_common +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F407VE -DSTM32_FLASH_SIZE=512 + -DTIMER_SERVO=TIM2 -DTIMER_TONE=TIM3 -DSS_TIMER=4 + -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:Artillery_Ruby] +extends = common_stm32 +board = marlin_Artillery_Ruby +build_flags = ${common_stm32.build_flags} + -DSTM32F401xC -DTARGET_STM32F4 -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 + -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS + -DUSB_PRODUCT=\"Artillery_3D_Printer\" + -DFLASH_DATA_SECTOR=1U -DFLASH_BASE_ADDRESS=0x08004000 +extra_scripts = ${common_stm32.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RC_creality] +extends = stm32_variant +board = genericSTM32F401RC +board_build.variant = MARLIN_CREALITY_STM32F401RC +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +board_build.rename = firmware-{date}-{time}.bin +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSTM32F4 + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 +build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RC_creality_jlink] +extends = env:STM32F401RC_creality +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RC_creality_stlink] +extends = env:STM32F401RC_creality +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RE_creality] +extends = stm32_variant +board = marlin_CREALITY_STM32F401RE +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +board_build.rename = firmware-{date}-{time}.bin +build_flags = ${stm32_variant.build_flags} -DSTM32F401xE -DSTM32F4 -DSTM32F4_UPDATE_FOLDER +build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RE_creality_jlink] +extends = env:STM32F401RE_creality +debug_tool = jlink +upload_protocol = jlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RE_creality_stlink] +extends = env:STM32F401RC_creality +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RC_btt] +extends = stm32_variant +platform = ststm32@~14.1.0 +platform_packages = framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/main.zip + toolchain-gccarmnoneeabi@1.100301.220327 +board = marlin_STM32F401RC +board_build.offset = 0x4000 +board_upload.offset_address = 0x08004000 +build_flags = ${stm32_variant.build_flags} + -DPIN_SERIAL6_RX=PC_7 -DPIN_SERIAL6_TX=PC_6 + -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024 + -DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4 + -DSTEP_TIMER_IRQ_PRIO=0 +upload_protocol = stlink +debug_tool = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401RC_btt_xfer] +extends = env:STM32F401RC_btt +build_flags = ${env:STM32F401RC_btt.build_flags} -DXFER_BUILD +extra_scripts = ${env:STM32F401RC_btt.extra_scripts} + pre:buildroot/share/scripts/upload.py +upload_protocol = custom +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_skipr_v1] +extends = stm32_variant +board = marlin_MKS_SKIPR_V1 +board_build.rename = mks_skipr.bin +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_skipr_v1_nobootloader] +extends = env:mks_skipr_v1 +board_build.rename = firmware.bin +board_build.offset = 0x0000 +board_upload.offset_address = 0x08000000 +upload_protocol = dfu +upload_command = dfu-util -a 0 -s 0x08000000:leave -D "$SOURCE" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F446_tronxy] +extends = stm32_variant +board = marlin_STM32F446ZET_tronxy +board_build.offset = 0x10000 +board_build.rename = fmw_tronxy.bin +build_flags = ${stm32_variant.build_flags} + -DSTM32F4xx +build_unflags = ${stm32_variant.build_unflags} -fno-rtti + -DUSBCON -DUSBD_USE_CDC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F401CD_blackpill_stlink] +platform = ${common_stm32.platform} +extends = common_stm32 +board = blackpill_f401cc +upload_protocol = stlink +monitor_speed = 115200 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:I3DBEEZ9_V1] +extends = stm32_variant +board = marlin_I3DBEEZ9 +board_build.offset = 0x8000 +build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX +debug_tool = stlink +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:FLY_E3_V2] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +build_flags = ${stm32_variant.build_flags} + -DHAVE_HWSERIAL1 -DHAVE_HWSERIAL3 + -DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9 + -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8 + -DHAL_SD_MODULE_ENABLED + -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS + -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 + -DHSE_VALUE=8000000U +upload_protocol = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:NUCLEO_F767ZI] +extends = common_stm32 +board = nucleo_f767zi +build_flags = ${common_stm32.build_flags} -DTIMER_SERIAL=TIM9 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:REMRAM_V1] +extends = common_stm32 +board = remram_v1 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BTT_SKR_SE_BX] +extends = stm32_variant +platform_packages = framework-arduinoststm32@https://github.com/thisiskeithb/Arduino_Core_STM32/archive/biqu-bx-workaround.zip +board = marlin_BTT_SKR_SE_BX +board_build.offset = 0x20000 +build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags} + -DUSE_USBHOST_HS + -DUSE_USB_HS_IN_FS + -DHAL_DMA2D_MODULE_ENABLED + -DHAL_LTDC_MODULE_ENABLED + -DHAL_SDRAM_MODULE_ENABLED + -DHAL_QSPI_MODULE_ENABLED + -DHAL_MDMA_MODULE_ENABLED + -DHAL_SD_MODULE_ENABLED +upload_protocol = cmsis-dap +debug_tool = cmsis-dap +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[STM32H743Vx_btt] +extends = stm32_variant +platform = ststm32@15.4.1 +platform_packages = framework-arduinoststm32@~4.20200.220530 +board_build.offset = 0x20000 +board_upload.offset_address = 0x08020000 +build_flags = ${stm32_variant.build_flags} + -DPIN_SERIAL1_TX=PA_9 -DPIN_SERIAL1_RX=PA_10 + -DPIN_SERIAL3_TX=PD_8 -DPIN_SERIAL3_RX=PD_9 + -DPIN_SERIAL4_TX=PA_0 -DPIN_SERIAL4_RX=PA_1 + -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024 + -DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2 + -DSTEP_TIMER_IRQ_PRIO=0 + -DD_CACHE_DISABLED +upload_protocol = cmsis-dap +debug_tool = cmsis-dap + +[env:STM32H743VI_btt] +extends = STM32H743Vx_btt +board = marlin_STM32H743VI +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[STM32H723Vx_btt] +extends = stm32_variant +platform = ststm32@15.4.1 +platform_packages = framework-arduinoststm32@~4.20200.220530 +board_build.offset = 0x20000 +board_upload.offset_address = 0x08020000 +build_flags = ${stm32_variant.build_flags} + -DPIN_SERIAL1_TX=PA_9 -DPIN_SERIAL1_RX=PA_10 + -DPIN_SERIAL2_TX=PD_5 -DPIN_SERIAL2_RX=PD_6 + -DPIN_SERIAL3_TX=PD_8 -DPIN_SERIAL3_RX=PD_9 + -DPIN_SERIAL4_TX=PA_0 -DPIN_SERIAL4_RX=PA_1 + -DPIN_SERIAL7_TX=PE_8 -DPIN_SERIAL7_RX=PE_7 + -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024 + -DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2 + -DSTEP_TIMER_IRQ_PRIO=0 + -DRCC_PERIPHCLK_I2C35=RCC_PERIPHCLK_I2C5 + -DUSE_USB_HS -DUSE_USB_HS_IN_FS + -DD_CACHE_DISABLED + -UI2C5_BASE +upload_protocol = cmsis-dap +debug_tool = cmsis-dap + +[env:STM32H723VG_btt] +extends = STM32H723Vx_btt +board = marlin_STM32H723VG +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[STM32H723Zx_btt] +extends = stm32_variant +platform = ststm32@15.4.1 +platform_packages = framework-arduinoststm32@~4.20200.220530 +board_build.offset = 0x20000 +board_upload.offset_address = 0x08020000 +build_flags = ${stm32_variant.build_flags} + -DPIN_SERIAL1_TX=PA_9 -DPIN_SERIAL1_RX=PA_10 + -DPIN_SERIAL2_TX=PD_5 -DPIN_SERIAL2_RX=PD_6 + -DPIN_SERIAL3_TX=PD_8 -DPIN_SERIAL3_RX=PD_9 + -DPIN_SERIAL4_TX=PA_0 -DPIN_SERIAL4_RX=PA_1 + -DPIN_SERIAL7_TX=PE_8 -DPIN_SERIAL7_RX=PE_7 + -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024 + -DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2 + -DSTEP_TIMER_IRQ_PRIO=0 + -DRCC_PERIPHCLK_I2C35=RCC_PERIPHCLK_I2C5 + -DUSE_USB_HS -DUSE_USB_HS_IN_FS + -DD_CACHE_DISABLED + -UI2C5_BASE +upload_protocol = cmsis-dap +debug_tool = cmsis-dap + +[env:STM32H723ZE_btt] +extends = STM32H723Zx_btt +board = marlin_STM32H723ZE +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[stm32g0_I2C2] +build_flags = -DPIN_WIRE_SCL=PB3 -DPIN_WIRE_SDA=PB4 + +[env:BTT_EBB42_V1_1_filament_extruder] +extends = stm32_variant +platform = ststm32@~14.1.0 +platform_packages = framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/main.zip + toolchain-gccarmnoneeabi@1.100301.220327 +board = marlin_BTT_EBB42_V1_1 +board_build.offset = 0x0000 +board_upload.offset_address = 0x08000000 +build_flags = ${stm32_variant.build_flags} ${stm32g0_I2C2.build_flags} -flto +debug_tool = stlink +upload_protocol = dfu +upload_command = dfu-util -a 0 -s 0x08000000:leave -D "$SOURCE" +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32G0B1RE_btt] +extends = stm32_variant +platform = ststm32@~14.1.0 +platform_packages = framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/main.zip + toolchain-gccarmnoneeabi@1.100301.220327 +board = marlin_STM32G0B1RE +board_build.offset = 0x2000 +board_upload.offset_address = 0x08002000 +build_flags = ${stm32_variant.build_flags} + -DPIN_SERIAL4_RX=PC_11 -DPIN_SERIAL4_TX=PC_10 + -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024 + -DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4 + -DSTEP_TIMER_IRQ_PRIO=0 +upload_protocol = stlink +debug_tool = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32G0B1RE_btt_xfer] +extends = env:STM32G0B1RE_btt +build_flags = ${env:STM32G0B1RE_btt.build_flags} -DXFER_BUILD +extra_scripts = ${env:STM32G0B1RE_btt.extra_scripts} + pre:buildroot/share/scripts/upload.py +upload_protocol = custom +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32G0B1RE_manta_btt] +extends = env:STM32G0B1RE_btt +build_flags = ${env:STM32G0B1RE_btt.build_flags} + -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8 -DENABLE_HWSERIAL3 +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32G0B1RE_manta_btt_xfer] +extends = env:STM32G0B1RE_manta_btt +build_flags = ${env:STM32G0B1RE_manta_btt.build_flags} -DXFER_BUILD +extra_scripts = ${env:STM32G0B1RE_manta_btt.extra_scripts} + pre:buildroot/share/scripts/upload.py +upload_protocol = custom +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32G0B1VE_btt] +extends = stm32_variant +platform = ststm32@~14.1.0 +platform_packages = framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/main.zip + toolchain-gccarmnoneeabi@1.100301.220327 +board = marlin_STM32G0B1VE +board_build.offset = 0x2000 +board_upload.offset_address = 0x08002000 +build_flags = ${stm32_variant.build_flags} + -DPIN_SERIAL4_RX=PE_9 -DPIN_SERIAL4_TX=PE_8 + -DPIN_SERIAL5_RX=PE_11 -DPIN_SERIAL5_TX=PE_10 + -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024 + -DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4 + -DSTEP_TIMER_IRQ_PRIO=0 +upload_protocol = stlink +debug_tool = stlink +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32G0B1VE_btt_xfer] +extends = env:STM32G0B1VE_btt +build_flags = ${env:STM32G0B1VE_btt.build_flags} -DXFER_BUILD +extra_scripts = ${env:STM32G0B1VE_btt.extra_scripts} + pre:buildroot/share/scripts/upload.py +upload_protocol = custom +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[teensy_avr] +platform = teensy +platform_packages = toolchain-atmelavr@~1.70300.0 +extends = common_avr8 +lib_ignore = ${env:common_avr8.lib_ignore}, NativeEthernet + +[env:at90usb1286_cdc] +extends = teensy_avr +board = marlin_at90usb1286 +lib_ignore = ${teensy_avr.lib_ignore}, Teensy_ADC +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:at90usb1286_dfu] +extends = env:at90usb1286_cdc +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:teensy20] +extends = teensy_avr +board = teensy2pp +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[teensy_arm] +platform = teensy@~4.12.0 +build_src_filter = ${common.default_src_filter} +lib_ignore = NativeEthernet + +[env:teensy31] +extends = teensy_arm +board = teensy31 +build_src_filter = ${teensy_arm.build_src_filter} + +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:teensy35] +extends = teensy_arm +board = teensy35 +build_src_filter = ${teensy_arm.build_src_filter} + +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:teensy36] +extends = teensy_arm +board = teensy36 +build_src_filter = ${teensy_arm.build_src_filter} + +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:teensy41] +extends = teensy_arm +board = teensy41 +build_src_filter = ${teensy_arm.build_src_filter} + +lib_ignore = +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[renamed] +platform = ststm32 +board = genericSTM32F103RE + +[env:megaatmega1280] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:megaatmega2560] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RET6_creality_maple] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RET6_creality] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RET6_creality_xfer] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_512K] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_512K_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_512K_maple] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_btt_512K_USB_maple] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103RC_meeb] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F103VE_GTM32] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano35] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:mks_robin_nano35_maple] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_OCTOPUS_V1] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_OCTOPUS_V1_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_OCTOPUS_PRO_V1_F429] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_OCTOPUS_PRO_V1_F429_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_OCTOPUS_V1_F407] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:BIGTREE_OCTOPUS_V1_F407_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32H723Vx_btt] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32H723Zx_btt] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32H743Vx_btt] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F446ZE_btt_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F429ZG_btt_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7 + +[env:STM32F407ZE_btt_USB] +extends = renamed +lib_deps = + teemuatlut/TMCStepper@^0.7.3 + marlinfirmware/U8glib-HAL@~0.5.2 + olikraus/U8g2@^2.35.7