mirror of
https://github.com/technik-gegg/SMuFF-1.1.git
synced 2026-02-19 17:31:25 +01:00
448 lines
23 KiB
INI
448 lines
23 KiB
INI
;
|
|
; SMuFF PlatformIO Project Configuration File
|
|
;
|
|
#=======================================================================================================================
|
|
# IMPORTANT: From version 3.24 on you don't have to deal with these settings anymore, since those can all be
|
|
# modified in the new Firmware-Build Configurator dialog. Simply start the build and pick the options
|
|
# you want.
|
|
# Although, changes made here will be shown in the dialog window.
|
|
# Setting the config_defaults allows you to define a customized standard set of options.
|
|
#=======================================================================================================================
|
|
[config_defaults]
|
|
# add your Firmware-Build Configurator defaults for the according controller here,
|
|
# each separated by a ',' and without the preceding '-D'
|
|
#SKR_E3_30_RET6 = USE_DDE, USE_CREALITY_DISPLAY, USE_FAST_SW_SPI, USE_FASTLED_TOOLS, USE_MULTISERVO, USE_SPOOLMOTOR
|
|
SKR_E3_30_RET6 = USE_MINI12864_PANEL_V21, USE_MULTISERVO, USE_MULTISERVO_RELAY, USE_DRYER
|
|
SKR_E3DIP_RET6 = USE_MINI12864_PANEL_V21, USE_FASTLED_BACKLIGHT
|
|
SKR_E3_20_RET6 = USE_LEONERD_DISPLAY, USE_FASTLED_TOOLS
|
|
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
# NECESSARY SETTINGS
|
|
#
|
|
# Pick the display type you're using by removing the comment char (;) accordingly
|
|
# For details about software/hardware SPI see:
|
|
# https://sites.google.com/view/the-smuff/tips-hints/using-other-displays
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
[display]
|
|
build_flags = #======================================================================
|
|
# FYSETC / MKS / BTT mini panel 12864 (recommended)
|
|
# Only hardware SPI is available
|
|
#
|
|
# This setting has become the default now, because those displays are the
|
|
# easiest to source and mostly the cheapest option
|
|
#======================================================================
|
|
;-D USE_MINI12864_PANEL_V21 -D USE_FASTLED_BACKLIGHT
|
|
|
|
|
|
#======================================================================
|
|
# Creality or BTT-TFT 2.4 / 3.5 displays
|
|
# Pick either (fast) software SPI or hardware SPI
|
|
#======================================================================
|
|
;-D USE_CREALITY_DISPLAY
|
|
;-D USE_FAST_SW_SPI # uncomment for using fast software SPI
|
|
;-D CREALITY_HW_SPI # uncomment for using hardware SPI instead
|
|
# Be aware that you'll need a special cable for the latter option
|
|
|
|
|
|
#======================================================================
|
|
# Standard RepRap Full Graphics Display (i.e. MKS mini 12864)
|
|
# Only hardware SPI is available
|
|
#======================================================================
|
|
;-D USE_DEFAULT_DISPLAY
|
|
|
|
|
|
#======================================================================
|
|
# My DIY OLED display (uses I2C/TWI interface)
|
|
#======================================================================
|
|
;-D USE_TWI_DISPLAY
|
|
;-D USE_SW_TWI # for SKR V2.0 only!
|
|
|
|
|
|
#======================================================================
|
|
# LeoNerd's/GMagicians OLED Module display (uses I2C/TWI interface)
|
|
# Enable USE_SW_TWI only on SKR E3 V2.0 board!
|
|
#======================================================================
|
|
;-D USE_LEONERD_DISPLAY
|
|
;-D USE_SW_TWI # for SKR V2.0 only!
|
|
|
|
|
|
#======================================================================
|
|
# SMuFF-TFT display attached to TTL serial port on EXP1
|
|
# Such display is not available yet. If you enable this, the only way
|
|
# to control the SMuFF is via SMuFF WebInterface!
|
|
#======================================================================
|
|
;-D USE_SERIAL_DISPLAY -D DISPLAY_SERIAL_PORT=1
|
|
|
|
[other]
|
|
build_flags = #----------------------------------------------------------------------
|
|
# These build options are now integrated into the according build environments
|
|
# (SKR_E3_30_RET6__xxx) and don't have to be set here anymore, unless you're
|
|
# using a different board than the SKR Mini E3 V3.0:
|
|
#
|
|
# Build Environment suffixes are:
|
|
# -------------------------------
|
|
# _NPX - use NeoPixels for tools
|
|
# _MS - use Multiservo board (i.e. FeatherWing Servo)
|
|
# _SPM - use the Spool-Motor option
|
|
# _DDE - build for Direct Drive Extruder
|
|
#
|
|
# More than one suffix means it's a combination of the according options.
|
|
#----------------------------------------------------------------------
|
|
|
|
#======================================================================
|
|
# defines whether or not you're going to use NeoPixels on tools.
|
|
#
|
|
# Please notice: The USE_NUM_PIXELS definition has moved into the
|
|
# SMuFF-Config and is now configureable at runtime!
|
|
#======================================================================
|
|
; ${neopixels.build_flags}
|
|
#======================================================================
|
|
# The following defines determine whether or not you're going to use the
|
|
# Adafruit Multiservo option.
|
|
#======================================================================
|
|
; ${multiservo.build_flags}
|
|
#======================================================================
|
|
# The following defines determine whether or not you're going to use the
|
|
# Spool-Motor option.
|
|
#======================================================================
|
|
; ${spoolmotor.build_flags}
|
|
|
|
; [neopixels]
|
|
; build_flags = -D USE_FASTLED_TOOLS
|
|
|
|
; [multiservo]
|
|
; build_flags = # Do not change the PCA9685_FREQ unless you have an osciloscope to verify the new frequency setting!
|
|
; -D USE_MULTISERVO -D USE_PCA9685_SW_I2C -D PCA9685_FREQ=27750000
|
|
; # Do not enable the USE_MULTISERVO_RELAY option unless you have the custom Backbone PCB installed!
|
|
; ; -D USE_MULTISERVO_RELAY # Relay is controlled by the SMuFF-Backbone board
|
|
|
|
; [spoolmotor]
|
|
; build_flags = # Do not change the PCA9685_FREQ_MOTORx unless you have an osciloscope to verify the new frequency setting!
|
|
; -D USE_SPOOLMOTOR -D USE_PCA9685_SW_I2C -D PCA9685_FREQ_MOTOR1=27750000 -D PCA9685_FREQ_MOTOR2=27750000 -D PCA9685_FREQ_MOTOR3=27750000
|
|
|
|
; [dryer]
|
|
; build_flags = USE_DRYER
|
|
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
# SPECIAL OPTIONS
|
|
#
|
|
# Set special options by adding or removing the comment char (;) only if you're instructed to do so!
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
[options]
|
|
build_flags = -D SMUFF_V5 # this compiles the firmware for V5/V6
|
|
;-D USE_ZSERVO
|
|
;-D DEBUG # comment out this define to get rid of any debug messages
|
|
;-D __HW_DEBUG__ # comment out this define to disable the 500Hz signal on the debug pin
|
|
|
|
-D NEVER_DISABLE_SERVOS # don't disable servos after they have been activated (Wiper/Cutter only - ignored on Multiservo Board)
|
|
|
|
;-D MARLIN2_ONLY # uncomment this define _only_ if you're compiling for Marlin 2.0 with MMU2
|
|
;-D SOFTRESET # uncomment this define in case your bootloader sends data to (USB) serial port after RESET
|
|
|
|
;-D SWAP_Y_STEPPER # special case for E3-V2.0 / E3-V3.0 - swaps Y with E stepper driver
|
|
;-D SWAP_X_STEPPER # special case for E3-V3.0 - swaps X with E stepper driver
|
|
;-D SWAP_SELECTOR_ENDSTOP # special case for E3-V3.0 - swaps X and Y endstop signal pins
|
|
|
|
;-D USE_PCA9685_SW_I2C # common settings for Multiservo and Spool-Motors
|
|
-D PCA9685_FREQ=27750000 # Do not change the PCA9685_FREQ_x unless you have an osciloscope to verify the new frequency setting!
|
|
-D PCA9685_FREQ_MOTOR1=27750000
|
|
-D PCA9685_FREQ_MOTOR2=27750000
|
|
-D PCA9685_FREQ_MOTOR3=27750000
|
|
-D PCA9685_FREQ_MOTOR4=27750000
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
# SPECIAL FLAGS (don't use unless you really know what they're for)
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
|
|
[relay]
|
|
build_flags = # uncomment the following define if your relay is connected to the "PROBE" pin (old connection point)
|
|
;-D RELAY_ON_YSTOP # special case for E3-DIP (use only if instructed to)
|
|
;-D RELAY_ON_PROBE
|
|
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
# BUILD CONFIGURATIONS
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
|
|
[platformio]
|
|
default_envs = SKR_E3_30_RET6
|
|
|
|
#
|
|
# STM32 common build flags for USB port usage
|
|
#
|
|
[USB]
|
|
build_flags = -D ENABLE_USB_SERIAL
|
|
-D SERIAL_USB
|
|
-D USBD_USE_CDC
|
|
-D USBCON
|
|
# modified USB Manufacturer and Product strings
|
|
;-D USB_MANUFACTURER_STRING='"STMicroelectronics"' # is being set by the STM library by default
|
|
-D USB_PRODUCT_STRING='"SMuFF 3.x CDC in FS mode"'
|
|
[USB_EXTRA]
|
|
build_flags = # Mimics LeafLabs Maple USB ID. To disable that comment out the following line.
|
|
-D MIMIC_LIBMAPLE_USB_ID -D USBD_VID=0x1eaf -D USBD_PID=0x0004
|
|
|
|
|
|
#
|
|
# include these if your board is equipped with TMC stepper drivers by default
|
|
# and set the definitions accordingly
|
|
#
|
|
[TMC]
|
|
lib_deps = https://github.com/teemuatlut/TMCStepper # library being used for TMC stepper drivers
|
|
build_flags = -D HAS_TMC_SUPPORT
|
|
-D TMC_SW_BAUDRATE=19200
|
|
-D TMC_HW_BAUDRATE=250000
|
|
|
|
[common]
|
|
build_type = release
|
|
build_flags = # some compiler options to get rid of not really critical messages while compiling
|
|
-Wno-unused-variable
|
|
-Wno-format-extra-args
|
|
-Wno-misleading-indentation
|
|
|
|
# U8G2 library wrappers
|
|
-Wl,--wrap=u8g2_UserInterfaceSelectionList
|
|
-Wl,--wrap=u8x8_byte_arduino_2nd_hw_spi
|
|
-Wl,--wrap=u8g2_UserInterfaceMessage
|
|
-std=gnu++14
|
|
-Os
|
|
-g0 # generate debug information, use: -g for default, -g1 for minimal, -g3 for maximal or -g0 for no debug information
|
|
|
|
# new for Arduino_Core_STM32
|
|
-D USE_SDFAT
|
|
# new (doesn't compile without) for 'framework-arduinoststm32' V2.4.0 (a.k.a. @~4.20400)
|
|
-UNDEBUG
|
|
build_src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/>
|
|
-<Configs/> -<docs/> -<help/> -<images/> -<menus/> -<options/> -<Schematics/> -<sounds/> -<STL> -<USB-Driver>
|
|
-<src/ClockConfig/>
|
|
build_unflags = -std=gnu++11
|
|
lib_deps = https://github.com/greiman/SdFat.git#2.2.0 # SD-Card file system library
|
|
https://github.com/bblanchon/ArduinoJson.git#v6.21.2 # JSON library for the configuration file
|
|
https://github.com/olikraus/U8G2_Arduino.git#2.34.22 # LC-Display library
|
|
https://github.com/technik-gegg/SoftWireSTM32.git # library for Software I2C
|
|
https://github.com/technik-gegg/LeoNerd-OLED-Module-Library.git # my own library for LeoNerd's OLED Module
|
|
https://github.com/technik-gegg/Adafruit-PWM-Servo-Driver-Library.git @ ~2.4.0 # my modified Adafruit Multi-Servo library for software I2C
|
|
Wire # should be included by default because of the dependencies
|
|
SPI # but sometimes that doesn't happen...
|
|
|
|
[AdaNeoPx]
|
|
lib_deps = https://github.com/adafruit/Adafruit_NeoPixel.git # Adafruit Neopixel library
|
|
build_flags =
|
|
|
|
[STM32_COMMON]
|
|
platform = ststm32@=17.6.0 #17.3.0
|
|
#platform_packages = framework-arduinoststm32@=4.20000.210603 # for RCT6 (otherwise you'll get a FLASH overflow)
|
|
#platform_packages = framework-arduinoststm32@~4.20701 # for non RCT6
|
|
platform_packages = framework-arduinoststm32@~4.20801.240815 # for non RCT6
|
|
framework = arduino
|
|
board_build.core = stm32duino # using default core
|
|
extra_scripts = include/scripts/SKR_FW_RELOC.py
|
|
pre:include/scripts/FW_BUILD_CONFIG.py
|
|
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
# BUILD ENVIRONMENTS
|
|
#-----------------------------------------------------------------------------------------------------------------------
|
|
|
|
#
|
|
# BIGTREETECH SKR E3 V3.0 RET6 MCU (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
[env:SKR_E3_30_RET6]
|
|
extends = STM32_COMMON
|
|
board = STM32G0B1RE
|
|
board_build.variants_dir = variants # needed for E3 V3.0
|
|
lib_deps = ${common.lib_deps}
|
|
${TMC.lib_deps}
|
|
${AdaNeoPx.lib_deps}
|
|
build_src_filter = ${common.build_src_filter} +<src/ClockConfig/E3_G0/>
|
|
build_flags = ${common.build_flags}
|
|
${display.build_flags}
|
|
${other.build_flags}
|
|
${options.build_flags}
|
|
${USB.build_flags}
|
|
${TMC.build_flags}
|
|
${AdaNeoPx.build_flags}
|
|
-I include/SKR_mini_E3-3.0
|
|
-D __BRD_SKR_MINI_E3
|
|
-D __STM32G0XX
|
|
-D ARDUINO_ARCH_STM32
|
|
-D ENABLE_HWSERIAL1
|
|
;-D ENABLE_HWSERIAL2
|
|
-D ENABLE_HWSERIAL3
|
|
;-D ENABLE_HWSERIAL4
|
|
-D FLASH_OFFSET="0x2000" # flash memory offset for SKR bootloader
|
|
;-D USE_OLD_CLOCK_SETTINGS # remove or comment out in case the board doesn't show up on Raspberry/Windows
|
|
build_unflags = ${common.build_unflags}
|
|
debug_tool = stlink
|
|
|
|
#
|
|
# BIGTREETECH SKR MINI E3-DIP V1.1 with RET6 MCU (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
[env:SKR_E3DIP_RET6] # <-- newer boards are RET6
|
|
extends = STM32_COMMON
|
|
board = genericSTM32F103RE
|
|
lib_deps = ${common.lib_deps}
|
|
${AdaNeoPx.lib_deps}
|
|
build_src_filter = ${common.build_src_filter} +<src/ClockConfig/E3_F1/>
|
|
build_flags = ${common.build_flags}
|
|
${display.build_flags}
|
|
${other.build_flags}
|
|
${options.build_flags}
|
|
${USB.build_flags}
|
|
${AdaNeoPx.build_flags}
|
|
-I include/SKR_mini_E3DIP
|
|
-D __BRD_SKR_MINI_E3DIP
|
|
-D __STM32F1XX
|
|
-D DISABLE_DEBUG_PORT
|
|
-D ARDUINO_ARCH_STM32
|
|
-D ENABLE_HWSERIAL1
|
|
-D ENABLE_HWSERIAL3
|
|
-D ENABLE_HWSERIAL4
|
|
-D FLASH_OFFSET="0x7000" # flash memory offset for SKR bootloader
|
|
${relay.build_flags}
|
|
build_unflags = ${common.build_unflags}
|
|
|
|
# The following two build evnironments have been removed from the list because
|
|
# these controller bords became outdated now.
|
|
#
|
|
# BIGTREETECH SKR E3-DIP V1.1 with RCT6 MCU (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
; [env:SKR_E3DIP_RCT6] # <-- older boards are RCT6
|
|
; extends = env:SKR_E3DIP_RET6
|
|
; board = genericSTM32F103RC
|
|
|
|
|
|
#
|
|
# BIGTREETECH SKR E3 V2.0 with RET6 MCU (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
[env:SKR_E3_20_RET6] # <-- newer boards are RET6
|
|
extends = STM32_COMMON
|
|
board = genericSTM32F103RE
|
|
lib_deps = ${common.lib_deps}
|
|
${TMC.lib_deps}
|
|
${AdaNeoPx.lib_deps}
|
|
build_src_filter = ${common.build_src_filter} +<src/ClockConfig/E3_F1/>
|
|
build_flags = ${common.build_flags}
|
|
${display.build_flags}
|
|
${other.build_flags}
|
|
${options.build_flags}
|
|
${USB.build_flags}
|
|
${USB_EXTRA.build_flags}
|
|
${TMC.build_flags}
|
|
${AdaNeoPx.build_flags}
|
|
-I include/SKR_mini_E3-2.0
|
|
-D __BRD_SKR_MINI_E3
|
|
-D __STM32F1XX
|
|
-D DISABLE_DEBUG_PORT
|
|
-D ARDUINO_ARCH_STM32
|
|
-D ENABLE_HWSERIAL1
|
|
-D ENABLE_HWSERIAL3
|
|
-D ENABLE_HWSERIAL4
|
|
-D FLASH_OFFSET="0x7000" # flash memory offset for SKR bootloader
|
|
build_unflags = ${common.build_unflags}
|
|
|
|
|
|
# The following two build evnironments have been removed from the list because
|
|
# these controller bords became outdated now.
|
|
#
|
|
# BIGTREETECH SKR E3 V2.0 with RCT6 MCU (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
; [env:SKR_E3_20_RCT6] # <-- older boards are RCT6
|
|
; extends = env:SKR_E3_20_RET6
|
|
; board = genericSTM32F103RC
|
|
|
|
#
|
|
# Please notice:
|
|
# The SKR E3 V1.2 board has been removed from the list of supported controllers for V6
|
|
# because it lacks in some essential components. Using E3 V2.0 or better E3 V3.0 instead
|
|
# will give you less headache.
|
|
# If you need to compile for V1.2, remove comment sign down below and do it at your own risk.
|
|
#
|
|
# BIGTREETECH SKR E3 V1.2 (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
; [env:SKR_E3_12_RCT6]
|
|
; extends = STM32_COMMON
|
|
; board = genericSTM32F103RC
|
|
; lib_deps = ${common.lib_deps}
|
|
; ${TMC.lib_deps}
|
|
; ${AdaNeoPx.lib_deps}
|
|
; build_src_filter = ${common.build_src_filter} +<src/ClockConfig/E3_F1/>
|
|
; build_flags = ${common.build_flags}
|
|
; ${display.build_flags}
|
|
; ${other.build_flags}
|
|
; ${options.build_flags}
|
|
; ${USB.build_flags}
|
|
; ${USB_EXTRA.build_flags}
|
|
; ${TMC.build_flags}
|
|
; ${AdaNeoPx.build_flags}
|
|
; -I include/SKR_mini_E3-1.2
|
|
; -D __BRD_SKR_MINI_E3
|
|
; -D __STM32F1XX
|
|
; -D ARDUINO_ARCH_STM32
|
|
; -D ENABLE_HWSERIAL1
|
|
; #-D ENABLE_HWSERIAL2
|
|
; -D ENABLE_HWSERIAL3
|
|
; -D ENABLE_HWSERIAL4
|
|
; -D FLASH_OFFSET="0x7000" # flash memory offset for SKR bootloader
|
|
; build_unflags = ${common.build_unflags}
|
|
|
|
#
|
|
# BIGTREETECH SKR MINI V1.1 (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
; [env:SKR_MINI_RCT6]
|
|
; extends = STM32_COMMON
|
|
; board = genericSTM32F103RC
|
|
; lib_deps = ${common.lib_deps}
|
|
; ${AdaNeoPx.lib_deps}
|
|
; build_src_filter = ${common.build_src_filter} +<src/ClockConfig/E3_F1/>
|
|
; build_flags = ${common.build_flags}
|
|
; ${display.build_flags}
|
|
; ${other.build_flags}
|
|
; ${options.build_flags}
|
|
; ${USB.build_flags}
|
|
; ${USB_EXTRA.build_flags}
|
|
; ${AdaNeoPx.build_flags}
|
|
; -I include/SKR_mini
|
|
; -D __BRD_SKR_MINI
|
|
; -D __STM32F1XX
|
|
; -D ARDUINO_ARCH_STM32
|
|
; -D ENABLE_HWSERIAL1
|
|
; -D ENABLE_HWSERIAL3
|
|
; #-D ENABLE_HWSERIAL4
|
|
; -D FLASH_OFFSET="0x7000" # flash memory offset for SKR bootloader
|
|
; build_unflags = ${common.build_unflags}
|
|
|
|
|
|
#--------------------------------------------------------
|
|
# WARNING: This board has never been tested!
|
|
#--------------------------------------------------------
|
|
#
|
|
# BIGTREETECH SKR E3 RRF (flashing through SD-Card, using the default bootloader)
|
|
#
|
|
; [env:SKR_E3_RRF_VGT6]
|
|
; extends = STM32_COMMON
|
|
; board = genericSTM32F407VGT6
|
|
; lib_deps = ${common.lib_deps}
|
|
; ${TMC.lib_deps}
|
|
; ${AdaNeoPx.lib_deps}
|
|
; build_src_filter = ${common.build_src_filter} +<src/ClockConfig/E3_F4/>
|
|
; build_flags = -D WARNING_NOT_RELEASED
|
|
; ${common.build_flags}
|
|
; ${display.build_flags}
|
|
; ${other.build_flags}
|
|
; ${options.build_flags}
|
|
; ${USB.build_flags}
|
|
; ${TMC.build_flags}
|
|
; ${AdaNeoPx.build_flags}
|
|
; -I include/SKR_E3-RRF
|
|
; -D __BRD_SKR_E3_RRF
|
|
; -D __STM32F4XX
|
|
; -D STM32_HIGH_DENSITY
|
|
; -D ARDUINO_ARCH_STM32
|
|
; -D ENABLE_HWSERIAL1
|
|
; -D ENABLE_HWSERIAL2
|
|
; -D ENABLE_HWSERIAL3
|
|
; #-D ENABLE_HWSERIAL4
|
|
; -D FLASH_OFFSET="0x8000" # flash memory offset for SKR bootloader
|
|
; build_unflags = ${common.build_unflags}
|
|
; -U USE_FASTLED_TOOLS
|
|
; -U USE_FASTLED_BACKLIGHT
|
|
|