dist: trusty sudo: false language: python python: - "2.7" notifications: email: false # Cache PlatformIO packages using Travis CI container-based infrastructure sudo: false cache: pip: true directories: - "~/.platformio" env: - TEST_PLATFORM="-e megaatmega2560" before_install: # # Fetch the tag information for the current branch - git fetch origin --tags # # Publish the buildroot script folder - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/* - export PATH=${TRAVIS_BUILD_DIR}/buildroot/bin/:${PATH} install: - pip install -U platformio before_script: # # Change current working directory to the build dir - cd ${TRAVIS_BUILD_DIR} # # Generate custom version include - generate_version_header_for_marlin ${TRAVIS_BUILD_DIR}/Marlin/src/inc - cat ${TRAVIS_BUILD_DIR}/Marlin/src/inc/_Version.h # script: # # Backup Configuration.h, Configuration_adv.h, and pins_RAMPS.h # - cp Marlin/src/config/Configuration.h Marlin/src/config/Configuration.h.backup - cp Marlin/src/config/Configuration_adv.h Marlin/src/config/Configuration_adv.h.backup - 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_enable PIDTEMPBED Z_SAFE_HOMING ARC_P_CIRCLES CNC_WORKSPACE_PLANES - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_RGBW_LED - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # ...with AUTO_BED_LEVELING_LINEAR, Z_MIN_PROBE_REPEATABILITY_TEST, and DEBUG_LEVELING_FEATURE # - opt_enable AUTO_BED_LEVELING_LINEAR BLTOUCH Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE - opt_enable_adv FWRETRACT MAX7219_DEBUG - opt_set ABL_GRID_POINTS_X 16 - opt_set ABL_GRID_POINTS_Y 16 - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Test a simple build of AUTO_BED_LEVELING_UBL # - restore_configs - opt_enable AUTO_BED_LEVELING_UBL UBL_G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT BLTOUCH EEPROM_SETTINGS G3D_PANEL - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_ZPROBE_OFFSET - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Test a Sled Z Probe # ...with AUTO_BED_LEVELING_LINEAR, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, and EEPROM_CHITCHAT # - restore_configs - opt_enable Z_PROBE_SLED AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE EEPROM_SETTINGS - 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_ENDSTOP_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 - opt_enable_adv 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 MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Test PROBE_MANUALLY feature, with LCD support, # 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 LCD_BED_LEVELING ULTIMAKERCONTROLLER - opt_enable EEPROM_SETTINGS M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Test 5 extruders on AZTEEG_X3_PRO (can use any board with >=5 extruders defined) # Include a test for LIN_ADVANCE here also # - 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_adv LIN_ADVANCE - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Mixing Extruder with 5 steppers # - restore_configs - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO - opt_enable MIXING_EXTRUDER - opt_set MIXING_STEPPERS 5 - 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_set TEMP_SENSOR_1 1 - opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Test MINIRAMBO for PWM_MOTOR_CURRENT # ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR, # PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632, # Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS, # FILAMENT_CHANGE_FEATURE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, # - restore_configs - opt_enable ULTIMAKERCONTROLLER FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR SDSUPPORT - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 - opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS - opt_set_adv I2C_SLAVE_ADDRESS 63 - opt_enable_adv FILAMENT_CHANGE_FEATURE PARK_HEAD_ON_PAUSE LCD_INFO_MENU - pins_set RAMPS X_MAX_PIN -1 - opt_set_adv Z2_MAX_PIN 2 - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Enable COREXY # - restore_configs - opt_enable COREXY - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Enable COREYX (swapped) # #- restore_configs #- opt_enable COREYX #- build_marlin # # ######## 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 # # 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 - 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} # # REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING # - restore_configs - opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING - 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 # # 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_I2C_SAINSMART_YWROBOT # #- restore_configs #- opt_enable LCD_I2C_SAINSMART_YWROBOT #- build_marlin # # LCD_I2C_PANELOLU2 # #- restore_configs #- opt_enable LCD_I2C_PANELOLU2 #- build_marlin # # LCD_I2C_VIKI # #- restore_configs #- opt_enable LCD_I2C_VIKI #- build_marlin # # LCM1602 # - restore_configs - opt_enable LCM1602 - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # ######## Example Configurations ############## # # BQ Hephestos 2 #- restore_configs #- use_example_configs Hephestos_2 #- build_marlin # # Delta Config (generic) + ABL bilinear + PROBE_MANUALLY - use_example_configs delta/generic - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_AUTO_CALIBRATION 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_disable DISABLE_MIN_ENDSTOPS - opt_enable AUTO_BED_LEVELING_UBL Z_PROBE_ALLEN_KEY EEPROM_SETTINGS OLED_PANEL_TINYBOY2 - 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 # # SCARA with TMC2130 # - use_example_configs SCARA - opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS ULTIMAKERCONTROLLER - opt_enable_adv HAVE_TMC2130 X_IS_TMC2130 Y_IS_TMC2130 Z_IS_TMC2130 - opt_enable_adv AUTOMATIC_CURRENT_CONTROL STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING - 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 # # ######## Board Types ############# # # To be added in nightly test branch # - export TEST_PLATFORM="-e teensy35" - restore_configs - opt_set MOTHERBOARD BOARD_TEENSY35_36 - cp Marlin/src/config/Configuration.h Marlin/src/config/Configuration.h.backup - cp Marlin/src/config/Configuration_adv.h Marlin/src/config/Configuration_adv.h.backup - 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 ULTIMAKERCONTROLLER 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 PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER - opt_enable_adv FILAMENT_CHANGE_FEATURE LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA - opt_set_adv I2C_SLAVE_ADDRESS 63 - opt_set ABL_GRID_POINTS_X 16 - opt_set ABL_GRID_POINTS_Y 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_ENDSTOP_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE - 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 - opt_set MIXING_STEPPERS 2 - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # # Test DUAL_X_CARRIAGE # #- restore_configs #- 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 SWITCHING_EXTRUDER # - restore_configs - opt_set EXTRUDERS 2 - opt_enable NUM_SERVOS - opt_set NUM_SERVOS 1 - opt_set TEMP_SENSOR_1 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_set_adv Z2_MAX_PIN 2 - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}