diff --git a/.travis.yml b/.travis.yml index 8d86fcafe7..39f21eaded 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,11 @@ cache: - "~/.platformio" env: - - TEST_PLATFORM="-e megaatmega2560" + - TEST_PLATFORM="megaatmega2560" + - TEST_PLATFORM="LPC1768" + - TEST_PLATFORM="DUE" + - TEST_PLATFORM="STM32F1" + - TEST_PLATFORM="teensy35" before_install: # @@ -26,6 +30,8 @@ before_install: # Publish the buildroot script folder - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/* - export PATH=${TRAVIS_BUILD_DIR}/buildroot/bin/:${PATH} + - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/share/tests/* + - export PATH=${TRAVIS_BUILD_DIR}/buildroot/share/tests/:${PATH} install: #- pip install -U platformio @@ -43,441 +49,4 @@ before_script: - cat ${TRAVIS_BUILD_DIR}/Marlin/src/inc/_Version.h # script: - # - # Backup pins_RAMPS.h - # - - cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup - # - # Build with the default configurations - # - - restore_configs - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 - # Test a "Fix Mounted" Probe with Safe Homing, some arc options, - # linear bed leveling, M48, leveling debug, and firmware retraction. - # - - opt_set MOTHERBOARD BOARD_RAMPS_14_EEB - - opt_set EXTRUDERS 2 - - opt_set TEMP_SENSOR_0 -2 - - opt_set TEMP_SENSOR_1 1 - - opt_set TEMP_SENSOR_BED 1 - - opt_set POWER_SUPPLY 1 - - opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS PINS_DEBUGGING - - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR - - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE - - opt_enable_adv ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS POWER_LOSS_RECOVERY - - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING - - opt_set GRID_MAX_POINTS_X 16 - - opt_set_adv FANMUX0_PIN 53 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders - # - - restore_configs - - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO - - opt_set EXTRUDERS 5 - - opt_set TEMP_SENSOR_1 1 - - opt_set TEMP_SENSOR_2 5 - - opt_set TEMP_SENSOR_3 20 - - opt_set TEMP_SENSOR_4 999 - - opt_set TEMP_SENSOR_BED 1 - - opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT SKEW_CORRECTION - - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - - opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES LIGHTWEIGHT_UI - - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME JUNCTION_DEVIATION - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language - # - - opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE - - opt_set LCD_LANGUAGE jp-kana - - opt_disable SEGMENT_LEVELED_MOVES - - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a Servo Probe - # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES - # - - restore_configs - - opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE - - opt_set NUM_SERVOS 1 - - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT - - opt_enable_adv NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test MESH_BED_LEVELING feature, with LCD - # - - restore_configs - - opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test MINIRAMBO for PWM_MOTOR_CURRENT - # PROBE_MANUALLY feature, with LCD support, - # ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR, - # PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632, - # Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS, - # ADVANCED_PAUSE_FEATURE, ADVANCED_PAUSE_CONTINUOUS_PURGE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, - # EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER, - # INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT - # - - restore_configs - - opt_set MOTHERBOARD BOARD_MINIRAMBO - - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER - - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT - - opt_enable ULTIMAKERCONTROLLER SDSUPPORT - - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 - - opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS - - opt_enable_adv ADVANCED_PAUSE_FEATURE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES PARK_HEAD_ON_PAUSE LCD_INFO_MENU M114_DETAIL - - opt_set_adv PWM_MOTOR_CURRENT {1300,1300,1250} - - opt_set_adv I2C_SLAVE_ADDRESS 63 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Mixing Extruder with 5 steppers, Cyrillic - # - - restore_configs - - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO - - opt_enable MIXING_EXTRUDER CR10_STOCKDISPLAY - - opt_set MIXING_STEPPERS 5 - - opt_set LCD_LANGUAGE ru - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test DUAL_X_CARRIAGE - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RUMBA - - opt_set EXTRUDERS 2 - - opt_set TEMP_SENSOR_1 1 - - opt_enable USE_XMAX_PLUG - - opt_enable_adv DUAL_X_CARRIAGE - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER - # - #- restore_configs - #- opt_set MOTHERBOARD BOARD_BQ_ZUM_MEGA_3D - #- opt_set LCD_FEEDBACK_FREQUENCY_DURATION_MS 10 - #- opt_set LCD_FEEDBACK_FREQUENCY_HZ 100 - #- opt_enable BQ_LCD_SMART_CONTROLLER SPEAKER - # - # Test SWITCHING_EXTRUDER - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RUMBA - - opt_set EXTRUDERS 2 - - opt_enable NUM_SERVOS - - opt_set NUM_SERVOS 1 - - opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable COREXY - # - #- restore_configs - #- opt_enable COREXY - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test many less common options - # - - restore_configs - - opt_enable COREYX - - opt_set_adv FAN_MIN_PWM 50 - - opt_set_adv FAN_KICKSTART_TIME 100 - - opt_set_adv XY_FREQUENCY_LIMIT 15 - - opt_enable_adv SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME - - opt_enable_adv ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED ADVANCED_OK - - opt_enable_adv VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL - - opt_enable_adv EXTRA_FAN_SPEED FWERETRACT Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS - - opt_enable_adv MENU_ADDAUTOSTART SDCARD_SORT_ALPHA - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT - - opt_enable FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR - - opt_enable ENDSTOP_INTERRUPTS_FEATURE FAN_SOFT_PWM SDSUPPORT - - opt_enable USE_XMAX_PLUG - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - ######## Other Standard LCD/Panels ############## - # - # ULTRA_LCD - # - #- restore_configs - #- opt_enable ULTRA_LCD - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # DOGLCD - # - #- restore_configs - #- opt_enable DOGLCD - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # MAKRPANEL - # Needs to use Melzi and Sanguino hardware - # - #- restore_configs - #- opt_enable MAKRPANEL - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # REPRAP_DISCOUNT_SMART_CONTROLLER, SDSUPPORT, BABYSTEPPING, RIGIDBOARD_V2, and DAC_MOTOR_CURRENT_DEFAULT - # - #- restore_configs - #- opt_set MOTHERBOARD BOARD_RIGIDBOARD_V2 - #- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # # - # G3D_PANEL with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING - # - #- restore_configs - #- opt_enable G3D_PANEL SDSUPPORT - #- opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES - #- opt_set_adv SDSORT_GCODE true - #- opt_set_adv SDSORT_USES_RAM true - #- opt_set_adv SDSORT_USES_STACK true - #- opt_set_adv SDSORT_CACHE_NAMES true - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a full-featured CR-10S config - # - - use_example_configs Creality/CR-10S - - opt_enable SHOW_CUSTOM_BOOTSCREEN - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # REPRAPWORLD_KEYPAD - # - # Cant find configuration details to get it to compile - #- restore_configs - #- opt_enable ULTRA_LCD REPRAPWORLD_KEYPAD REPRAPWORLD_KEYPAD_MOVE_STEP - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # RA_CONTROL_PANEL - # - #- restore_configs - #- opt_enable RA_CONTROL_PANEL PINS_DEBUGGING - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - ######## I2C LCD/PANELS ############## - # - # !!!ATTENTION!!! - # Most I2C configurations are failing at the moment because they require - # a different Liquid Crystal library "LiquidTWI2". - # - # LCD_SAINSMART_I2C_1602 - # - #- restore_configs - #- opt_enable LCD_SAINSMART_I2C_1602 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # LCD_I2C_PANELOLU2 - # - #- restore_configs - #- opt_enable LCD_I2C_PANELOLU2 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # LCD_I2C_VIKI - # - #- restore_configs - #- opt_enable LCD_I2C_VIKI - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # LCM1602 - # - #- restore_configs - #- opt_enable LCM1602 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Language files test with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - # - #- restore_configs - #- opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - #- for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}; done - # - #- restore_configs - #- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT - #- for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}; done - # - # - ######## Example Configurations ############## - # - # BQ Hephestos 2 - #- restore_configs - #- use_example_configs Hephestos_2 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Delta Config (generic) + ABL bilinear + PROBE_MANUALLY - - use_example_configs delta/generic - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS - # - - use_example_configs delta/generic - - opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT - - opt_enable OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Delta Config (FLSUN AC because it's complex) - # - - use_example_configs delta/FLSUN/auto_calibrate - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Makibox Config need to check board type for Teensy++ 2.0 - # - #- use_example_configs makibox - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # SCARA with TMC2130 - # - - use_example_configs SCARA - - opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER - - opt_enable_adv HAVE_TMC2130 X_IS_TMC2130 Y_IS_TMC2130 Z_IS_TMC2130 - - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # TMC2208 Config - # - - restore_configs - - opt_enable_adv HAVE_TMC2208 X_IS_TMC2208 Y_IS_TMC2208 Z_IS_TMC2208 - - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # tvrrug Config need to check board type for sanguino atmega644p - # - #- use_example_configs tvrrug/Round2 - #- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # - ######## Board Types ############# - # - # To be added in nightly test branch - # - - - export TEST_PLATFORM="-e teensy35" - - restore_configs - - opt_set MOTHERBOARD BOARD_TEENSY35_36 - - update_defaults - - cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup - # - # Test Teensy3.5 with default config - # - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test as many features together as possible - # - - restore_configs - - opt_set EXTRUDERS 2 - - opt_set TEMP_SENSOR_0 1 - - opt_set TEMP_SENSOR_1 5 - - opt_set TEMP_SENSOR_BED 1 - - opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - - opt_enable FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY - - opt_enable FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE - - opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY - - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER - - opt_enable_adv ADVANCED_PAUSE_FEATURE LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA PARK_HEAD_ON_PAUSE - - opt_set_adv I2C_SLAVE_ADDRESS 63 - - opt_set GRID_MAX_POINTS_X 16 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a Sled Z Probe with Linear leveling - # - - restore_configs - - opt_enable Z_PROBE_SLED - - opt_enable AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test a Servo Probe - # - - restore_configs - - opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE - - opt_set NUM_SERVOS 1 - - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES - # - - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - - opt_enable_adv EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test MESH_BED_LEVELING feature, with LCD - # - - restore_configs - - opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN MANUAL_BED_LEVELING ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Mixing Extruder - # - - restore_configs - - opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 - - opt_set MIXING_STEPPERS 2 - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Test SWITCHING_EXTRUDER - # - - restore_configs - - opt_set EXTRUDERS 2 - - opt_enable NUM_SERVOS - - opt_set NUM_SERVOS 1 - - opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable COREXY - # - - restore_configs - - opt_enable COREXY - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable COREXZ - # - - restore_configs - - opt_enable COREXZ - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS - # - - restore_configs - - opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS - - pins_set RAMPS X_MAX_PIN -1 - - opt_add_adv Z2_MAX_PIN 2 - - opt_enable USE_XMAX_PLUG - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - - ############################# - # DUE default config test - ############################# - - - export TEST_PLATFORM="-e DUE" - - restore_configs - - opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB - - opt_enable S_CURVE_ACCELERATION - - opt_set E0_AUTO_FAN_PIN 8 - - opt_set EXTRUDER_AUTO_FAN_SPEED 100 - - update_defaults - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - - ############################# - # LPC1768 default config test - ############################# - - - export TEST_PLATFORM="-e LPC1768" - - restore_configs - - opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB - - update_defaults - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - # - # Enable VIKI2, SDSUPPORT - # - - restore_configs - - opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB - - update_defaults - - opt_enable VIKI2 SDSUPPORT - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} - - ############################# - # STM32F1 config test - ############################# - - - export TEST_PLATFORM="-e STM32F1" - - restore_configs - - opt_set MOTHERBOARD BOARD_STM32F1R - - update_defaults - - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT - - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} + - start_tests ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} diff --git a/buildroot/bin/env_backup b/buildroot/bin/env_backup new file mode 100755 index 0000000000..b41a452a4c --- /dev/null +++ b/buildroot/bin/env_backup @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +if [ ! -z "$1" ]; then + cd $1 +fi + +if [ -d ".test" ]; then + printf "\033[0;31mEnvironment backup already exists!\033[0m\n" +else + mkdir .test + cp Marlin/Configuration.h .test/Configuration.h + cp Marlin/Configuration_adv.h .test/Configuration_adv.h + + if [ -f Marlin/_Bootscreen.h ]; then + cp Marlin/_Bootscreen.h .test/_Bootscreen.h + fi + + if [ -f Marlin/_Statusscreen.h ]; then + cp Marlin/_Statusscreen.h .test/_Statusscreen.h + fi + + cp -r Marlin/src/pins .test/pins + printf "\033[0;32mEnvironment Backup created\033[0m\n" +fi diff --git a/buildroot/bin/env_clean b/buildroot/bin/env_clean new file mode 100755 index 0000000000..50b22e92f7 --- /dev/null +++ b/buildroot/bin/env_clean @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +if [ -d ".pioenvs" ]; then + rm -r .pioenvs +fi + +if [ -d ".piolibdeps" ]; then + rm -r .piolibdeps +fi + +if [ -d ".piolib" ]; then + rm -r .piolib +fi + +if [ ! -z "$1" ]; then + if [ $1 = "--deep" ]; then + if [ -d "~/.platformio/packages" ]; then + rm -r ~/.platformio/packages/* + fi + + if [ -d "~/.platformio/platforms" ]; then + rm -r ~/.platformio/platforms/* + fi + + if [ -d "~/.platformio/.cache" ]; then + rm -r ~/.platformio/.cache/* + fi + fi +fi diff --git a/buildroot/bin/env_restore b/buildroot/bin/env_restore new file mode 100755 index 0000000000..22bef325d6 --- /dev/null +++ b/buildroot/bin/env_restore @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +if [ ! -z "$1" ]; then + cd $1 +fi + +if [ -d ".test" ]; then + cp .test/Configuration.h Marlin/Configuration.h + cp .test/Configuration_adv.h Marlin/Configuration_adv.h + rm .test/Configuration.h + rm .test/Configuration_adv.h + + if [ -f .test/_Bootscreen.h ]; then + cp .test/_Bootscreen.h Marlin/_Bootscreen.h + rm .test/_Bootscreen.h + fi + + if [ -f .test/_Statusscreen.h ]; then + cp .test/_Statusscreen.h Marlin/_Statusscreen.h + rm .test/_Statusscreen.h + fi + + cp -r .test/pins Marlin/src + rm -r .test/pins + + rmdir .test + printf "\033[0;32mEnvironment Restored\033[0m\n" +else + printf "\033[0;31mEnvironment Backup not available!\033[0m\n" +fi diff --git a/buildroot/bin/restore_configs b/buildroot/bin/restore_configs index a77961a287..fa1f840582 100755 --- a/buildroot/bin/restore_configs +++ b/buildroot/bin/restore_configs @@ -2,8 +2,16 @@ cp Marlin/src/config/default/Configuration.h Marlin/Configuration.h cp Marlin/src/config/default/Configuration_adv.h Marlin/Configuration_adv.h -cp Marlin/src/pins/pins_RAMPS.h.backup Marlin/src/pins/pins_RAMPS.h -if [ -f Marlin/src/config/_Bootscreen.h ]; then - rm Marlin/src/config/_Bootscreen.h +if [ -f Marlin/src/pins/pins_RAMPS.h.backup ]; then + cp Marlin/src/pins/pins_RAMPS.h.backup Marlin/src/pins/pins_RAMPS.h + rm Marlin/src/pins/pins_RAMPS.h.backup +fi + +if [ -f Marlin/_Bootscreen.h ]; then + rm Marlin/_Bootscreen.h +fi + +if [ -f Marlin/_Statusscreen.h ]; then + rm Marlin/_Statusscreen.h fi diff --git a/buildroot/share/tests/DUE_tests b/buildroot/share/tests/DUE_tests new file mode 100755 index 0000000000..7b172fe6ab --- /dev/null +++ b/buildroot/share/tests/DUE_tests @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB +opt_enable S_CURVE_ACCELERATION +opt_set E0_AUTO_FAN_PIN 8 +opt_set EXTRUDER_AUTO_FAN_SPEED 100 +exec_test $1 $2 "RAMPS4DUE_EFB S_CURVE_ACCELERATION" diff --git a/buildroot/share/tests/LPC1768_tests b/buildroot/share/tests/LPC1768_tests new file mode 100755 index 0000000000..07d891c61a --- /dev/null +++ b/buildroot/share/tests/LPC1768_tests @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB +exec_test $1 $2 "Build Re-ARM Default Configuration" + +restore_configs +opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EFB +opt_enable VIKI2 SDSUPPORT +exec_test $1 $2 "VIKI2 and SDSUPPORT" + +restore_configs +opt_set MOTHERBOARD BOARD_MKS_SBASE +opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +exec_test $1 $2 "MKS SBASE RRDFG SDSUPPORT" + +#clean up +restore_configs diff --git a/buildroot/share/tests/STM32F1_tests b/buildroot/share/tests/STM32F1_tests new file mode 100755 index 0000000000..0d1fd90991 --- /dev/null +++ b/buildroot/share/tests/STM32F1_tests @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_STM32F1R +opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT +exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT" + +#cleanup +restore_configs diff --git a/buildroot/share/tests/megaatmega2560_tests b/buildroot/share/tests/megaatmega2560_tests new file mode 100755 index 0000000000..2a62447f91 --- /dev/null +++ b/buildroot/share/tests/megaatmega2560_tests @@ -0,0 +1,309 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +# +# Backup pins_RAMPS.h +# +cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup +# +# Build with the default configurations +# +restore_configs +exec_test $1 $2 "Default Configuration" +# +# Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 +# Test a "Fix Mounted" Probe with Safe Homing, some arc options, +# linear bed leveling, M48, leveling debug, and firmware retraction. +# +opt_set MOTHERBOARD BOARD_RAMPS_14_EEB +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_0 -2 +opt_set TEMP_SENSOR_1 1 +opt_set TEMP_SENSOR_BED 1 +opt_set POWER_SUPPLY 1 +opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING +opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS PINS_DEBUGGING +opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR +opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE +opt_enable_adv ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS POWER_LOSS_RECOVERY +opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING +opt_set GRID_MAX_POINTS_X 16 +opt_set_adv FANMUX0_PIN 53 +exec_test $1 $2 "Extruders(2) MAX6675 Fixed Probe etc" +# +# Test a probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders +# +restore_configs +opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO +opt_set EXTRUDERS 5 +opt_set TEMP_SENSOR_1 1 +opt_set TEMP_SENSOR_2 5 +opt_set TEMP_SENSOR_3 20 +opt_set TEMP_SENSOR_4 999 +opt_set TEMP_SENSOR_BED 1 +opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT SKEW_CORRECTION +opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES LIGHTWEIGHT_UI +opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME JUNCTION_DEVIATION +exec_test $1 $2 "Probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders" +# +# Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language +# +opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE +opt_set LCD_LANGUAGE jp-kana +opt_disable SEGMENT_LEVELED_MOVES +opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING +exec_test $1 $2 "Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language" +# +# Test a Servo Probe +# ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES +# +restore_configs +opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE +opt_set NUM_SERVOS 1 +opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT +opt_enable_adv NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET +exec_test $1 $2 "Servo Probe with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS etc" +# +# Test MESH_BED_LEVELING feature, with LCD +# +restore_configs +opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER +exec_test $1 $2 "MESH_BED_LEVELING feature, with LCD" +# +# Test MINIRAMBO for PWM_MOTOR_CURRENT +# PROBE_MANUALLY feature, with LCD support, +# ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR, +# PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632, +# Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS, +# ADVANCED_PAUSE_FEATURE, ADVANCED_PAUSE_CONTINUOUS_PURGE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, +# EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER, +# INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT +# +restore_configs +opt_set MOTHERBOARD BOARD_MINIRAMBO +opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER +opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT +opt_enable ULTIMAKERCONTROLLER SDSUPPORT +opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 +opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS +opt_enable_adv ADVANCED_PAUSE_FEATURE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES PARK_HEAD_ON_PAUSE LCD_INFO_MENU M114_DETAIL +opt_set_adv PWM_MOTOR_CURRENT {1300,1300,1250} +opt_set_adv I2C_SLAVE_ADDRESS 63 +exec_test $1 $2 "MINIRAMBO for PWM_MOTOR_CURRENT etc" +# +# Mixing Extruder with 5 steppers, Cyrillic +# +restore_configs +opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO +opt_enable MIXING_EXTRUDER CR10_STOCKDISPLAY +opt_set MIXING_STEPPERS 5 +opt_set LCD_LANGUAGE ru +exec_test $1 $2 "Mixing Extruder with 5 steppers, Cyrillic" +# +# Test DUAL_X_CARRIAGE +# +restore_configs +opt_set MOTHERBOARD BOARD_RUMBA +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_1 1 +opt_enable USE_XMAX_PLUG +opt_enable_adv DUAL_X_CARRIAGE +exec_test $1 $2 "DUAL_X_CARRIAGE" +# +# Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER +# +#restore_configs +#opt_set MOTHERBOARD BOARD_BQ_ZUM_MEGA_3D +#opt_set LCD_FEEDBACK_FREQUENCY_DURATION_MS 10 +#opt_set LCD_FEEDBACK_FREQUENCY_HZ 100 +#opt_enable BQ_LCD_SMART_CONTROLLER SPEAKER +# +# Test SWITCHING_EXTRUDER +# +restore_configs +opt_set MOTHERBOARD BOARD_RUMBA +opt_set EXTRUDERS 2 +opt_enable NUM_SERVOS +opt_set NUM_SERVOS 1 +opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER +exec_test $1 $2 "SWITCHING_EXTRUDER" +# +# Enable COREXY +# +#restore_configs +#opt_enable COREXY +#exec_test $1 $2 "Stuff" +# +# Test many less common options +# +restore_configs +opt_enable COREYX +opt_set_adv FAN_MIN_PWM 50 +opt_set_adv FAN_KICKSTART_TIME 100 +opt_set_adv XY_FREQUENCY_LIMIT 15 +opt_enable_adv SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME +opt_enable_adv ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED ADVANCED_OK +opt_enable_adv VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL +opt_enable_adv EXTRA_FAN_SPEED FWERETRACT Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS +opt_enable_adv MENU_ADDAUTOSTART SDCARD_SORT_ALPHA +opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT +opt_enable FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR +opt_enable ENDSTOP_INTERRUPTS_FEATURE FAN_SOFT_PWM SDSUPPORT +opt_enable USE_XMAX_PLUG +exec_test $1 $2 "Many less common options" +# +######## Other Standard LCD/Panels ############## +# +# ULTRA_LCD +# +#restore_configs +#opt_enable ULTRA_LCD +#exec_test $1 $2 "Stuff" +# +# DOGLCD +# +#restore_configs +#opt_enable DOGLCD +#exec_test $1 $2 "Stuff" +# +# MAKRPANEL +# Needs to use Melzi and Sanguino hardware +# +#restore_configs +#opt_enable MAKRPANEL +#exec_test $1 $2 "Stuff" +# +# REPRAP_DISCOUNT_SMART_CONTROLLER, SDSUPPORT, BABYSTEPPING, RIGIDBOARD_V2, and DAC_MOTOR_CURRENT_DEFAULT +# +#restore_configs +#opt_set MOTHERBOARD BOARD_RIGIDBOARD_V2 +#opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT +#exec_test $1 $2 "Stuff" +# # +# G3D_PANEL with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING +# +#restore_configs +#opt_enable G3D_PANEL SDSUPPORT +#opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES +#opt_set_adv SDSORT_GCODE true +#opt_set_adv SDSORT_USES_RAM true +#opt_set_adv SDSORT_USES_STACK true +#opt_set_adv SDSORT_CACHE_NAMES true +#exec_test $1 $2 "Stuff" +# +# Test a full-featured CR-10S config +# +use_example_configs Creality/CR-10S +opt_enable SHOW_CUSTOM_BOOTSCREEN +exec_test $1 $2 "Full-featured CR-10S config" +# +# REPRAPWORLD_KEYPAD +# +# Cant find configuration details to get it to compile +#restore_configs +#opt_enable ULTRA_LCD REPRAPWORLD_KEYPAD REPRAPWORLD_KEYPAD_MOVE_STEP +#exec_test $1 $2 "Stuff" +# +# RA_CONTROL_PANEL +# +#restore_configs +#opt_enable RA_CONTROL_PANEL PINS_DEBUGGING +#exec_test $1 $2 "Stuff" +# +######## I2C LCD/PANELS ############## +# +# !!!ATTENTION!!! +# Most I2C configurations are failing at the moment because they require +# a different Liquid Crystal library "LiquidTWI2". +# +# LCD_SAINSMART_I2C_1602 +# +#restore_configs +#opt_enable LCD_SAINSMART_I2C_1602 +#exec_test $1 $2 "Stuff" +# +# LCD_I2C_PANELOLU2 +# +#restore_configs +#opt_enable LCD_I2C_PANELOLU2 +#exec_test $1 $2 "Stuff" +# +# LCD_I2C_VIKI +# +#restore_configs +#opt_enable LCD_I2C_VIKI +#exec_test $1 $2 "Stuff" +# +# LCM1602 +# +#restore_configs +#opt_enable LCM1602 +#exec_test $1 $2 "Stuff" +# +# Language files test with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +# +#restore_configs +#opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +#for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff"; done +# +#restore_configs +#opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT +#for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff"; done +# +# +######## Example Configurations ############## +# +# BQ Hephestos 2 +#restore_configs +#use_example_configs Hephestos_2 +#exec_test $1 $2 "Stuff" +# +# Delta Config (generic) + ABL bilinear + PROBE_MANUALLY +use_example_configs delta/generic +opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY +exec_test $1 $2 "Delta Config (generic) + ABL bilinear + PROBE_MANUALLY" +# +# Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS +# +use_example_configs delta/generic +opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT +opt_enable OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY +exec_test $1 $2 "Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS" +# +# Delta Config (FLSUN AC because it's complex) +# +use_example_configs delta/FLSUN/auto_calibrate +exec_test $1 $2 "Delta Config (FLSUN AC because it's complex)" +# +# Makibox Config need to check board type for Teensy++ 2.0 +# +#use_example_configs makibox +#exec_test $1 $2 "Stuff" +# +# SCARA with TMC2130 +# +use_example_configs SCARA +opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER +opt_enable_adv HAVE_TMC2130 X_IS_TMC2130 Y_IS_TMC2130 Z_IS_TMC2130 +opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING +exec_test $1 $2 "SCARA with TMC2130" +# +# TMC2208 Config +# +restore_configs +opt_enable_adv HAVE_TMC2208 X_IS_TMC2208 Y_IS_TMC2208 Z_IS_TMC2208 +opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG +exec_test $1 $2 "TMC2208 Config" +# +# tvrrug Config need to check board type for sanguino atmega644p +# +#use_example_configs tvrrug/Round2 +#exec_test $1 $2 "Stuff" +# +# + +#clean up +restore_configs diff --git a/buildroot/share/tests/start_tests b/buildroot/share/tests/start_tests new file mode 100755 index 0000000000..83d33f91c7 --- /dev/null +++ b/buildroot/share/tests/start_tests @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +export PATH="$PATH:$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )" +export PATH="$PATH:./buildroot/bin" + +# exit on first failure +set -e + +exec_test () { + printf "\033[0;32m[Test $2] \033[0m$3... " + if build_marlin_pio $1 "-e $2"; then + printf "\033[0;32mPassed\033[0m\n" + return 0 + else + env_restore + printf "\033[0;31mFailed!\033[0m\n" + return 1 + fi +} +export -f exec_test + +env_backup +printf "Running \033[0;32m$2\033[0m Tests\n" +if [ $2 = "ALL" ]; then + dir_list=("$(dirname "${BASH_SOURCE[0]}")"/*) + declare -a tests=(${dir_list[@]/*start_tests/}) + for f in "${tests[@]}"; do + testenv=$(basename $f | cut -d"_" -f1) + printf "Running \033[0;32m$f\033[0m Tests\n" + exec_test $1 "$testenv --target clean" "Setup Build Environment" + $f $1 $testenv + done +else + exec_test $1 "$2 --target clean" "Setup Build Environment" + $2_tests $1 $2 +fi +printf "\033[0;32mAll tests completed successfully\033[0m\n" +env_restore diff --git a/buildroot/share/tests/teensy35_tests b/buildroot/share/tests/teensy35_tests new file mode 100755 index 0000000000..51930dd840 --- /dev/null +++ b/buildroot/share/tests/teensy35_tests @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY35_36 +cp Marlin/src/pins/pins_RAMPS.h Marlin/src/pins/pins_RAMPS.h.backup +# +# Test Teensy3.5 with default config +# +exec_test $1 $2 "Teensy3.5 with default config" +# +# Test as many features together as possible +# +restore_configs +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_0 1 +opt_set TEMP_SENSOR_1 5 +opt_set TEMP_SENSOR_BED 1 +opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT +opt_enable FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY +opt_enable FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE +opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY +opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER +opt_enable_adv ADVANCED_PAUSE_FEATURE LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA PARK_HEAD_ON_PAUSE +opt_set_adv I2C_SLAVE_ADDRESS 63 +opt_set GRID_MAX_POINTS_X 16 +exec_test $1 $2 "As many features together as possible" +# +# Test a Sled Z Probe with Linear leveling +# +restore_configs +opt_enable Z_PROBE_SLED +opt_enable AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +exec_test $1 $2 "Sled Z Probe with Linear leveling" +# +# Test a Servo Probe +# +restore_configs +opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE +opt_set NUM_SERVOS 1 +opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +exec_test $1 $2 "Servo Probe" +# +# ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES +# +opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +opt_enable_adv EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES +exec_test $1 $2 "...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES" +# +# Test MESH_BED_LEVELING feature, with LCD +# +restore_configs +opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN MANUAL_BED_LEVELING ULTIMAKERCONTROLLER +exec_test $1 $2 "MESH_BED_LEVELING feature, with LCD" +# +# Mixing Extruder +# +restore_configs +opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 +opt_set MIXING_STEPPERS 2 +exec_test $1 $2 "Mixing Extruder" +# +# Test SWITCHING_EXTRUDER +# +restore_configs +opt_set EXTRUDERS 2 +opt_enable NUM_SERVOS +opt_set NUM_SERVOS 1 +opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER +exec_test $1 $2 "SWITCHING_EXTRUDER" +# +# Enable COREXY +# +restore_configs +opt_enable COREXY +exec_test $1 $2 "COREXY" +# +# Enable COREXZ +# +restore_configs +opt_enable COREXZ +exec_test $1 $2 "COREXZ" +# +# Enable Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS +# +restore_configs +opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS +pins_set RAMPS X_MAX_PIN -1 +opt_add_adv Z2_MAX_PIN 2 +opt_enable USE_XMAX_PLUG +exec_test $1 $2 "Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS" + +#cleanup +restore_configs