From ab16ff24f087cc4ab4de9a54e0b03f542854c79d Mon Sep 17 00:00:00 2001 From: Ted Hess Date: Sat, 23 Dec 2017 19:33:31 -0500 Subject: [PATCH] Fix kill() routine to display full-screen message correctly, working on Travis deploy --- .travis.yml | 26 ++++++++++++++------------ Firmware/Configuration.h | 2 +- Firmware/Marlin_main.cpp | 37 ++++++++++++++++++++++--------------- platformio.ini | 3 ++- 4 files changed, 39 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index 741f27fca..2ba1cc712 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,24 +26,26 @@ install: - arduino --pref "compiler.warning_level=all" --save-prefs script: - - GIT_BUILD=$(git rev-parse --short HEAD) + - GIT_VERSION=$(git rev-parse --short HEAD) - VARIANTS=$(ls Firmware/variants/) - for VARIANT in $VARIANTS; do cp Firmware/variants/${VARIANT} Firmware/Configuration_prusa.h ; arduino --pref build.path=. --verify --verbose-build --board rambo:avr:rambo $PWD/Firmware/Firmware.ino ; mv Firmware.ino.hex "${VARIANT}"ex ; done - - mkdir -p prusa3d_fw_${GIT_BUILD}/MK1-175mm prusa3d_fw_${GIT_BUILD}/MK2-MultiMaterial prusa3d_fw_${GIT_BUILD}/MK2 - - mv *_MK1-RAMBo* prusa3d_fw_${GIT_BUILD}/MK1-175mm - - mv *_MK2-MultiMaterial-RAMBo* prusa3d_fw_${GIT_BUILD}/MK2-MultiMaterial - - mv *_MK2-RAMBo* prusa3d_fw_${GIT_BUILD}/MK2 - - zip -r prusa3d_fw_${GIT_BUILD}.zip prusa3d_fw_* *.pdf - - curl --upload-file prusa3d_fw_${GIT_BUILD}.zip https://transfer.sh/prusa3d_fw_${GIT_BUILD}.zip -after_success: | - if [ -n "${TRAVIS_TAG}" ]; then - mv prusa3d_fw_${GIT_BUILD}.zip prusa3d_fw_${TRAVIS_TAG}.zip - done +after_success: + - if [ -n "${TRAVIS_TAG}" ]; then + BUILD_NAME=${TRAVIS_TAG} ; + else + BUILD_NAME=${GIT_VERSION} ; + fi + - mkdir -p prusa3d_fw_${BUILD_NAME}/MK1-175mm prusa3d_fw_${BUILD_NAME}/MK2-MultiMaterial prusa3d_fw_${BUILD_NAME}/MK2 + - mv *_MK1-RAMBo* prusa3d_fw_${BUILD_NAME}/MK1-175mm + - mv *_MK2-MultiMaterial-RAMBo* prusa3d_fw_${BUILD_NAME}/MK2-MultiMaterial + - mv *_MK2-RAMBo* prusa3d_fw_${BUILD_NAME}/MK2 + - zip -r prusa3d_fw_${BUILD_NAME}.zip prusa3d_fw_* *.pdf + - curl --upload-file prusa3d_fw_${BUILD_NAME}.zip https://transfer.sh/prusa3d_fw_${BUILD_NAME}.zip deploy: provider: releases @@ -52,6 +54,6 @@ deploy: file: prusa3d_fw_${TRAVIS_TAG}.zip skip_cleanup: true on: - tags: true repo: thess/Prusa-Firmware branch: private-build2 + tags: true diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 0b6d0deea..9049c8dc8 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -10,7 +10,7 @@ // Firmware version #define FW_version "3.1.0" -#define FW_local_variant 4 +#define FW_local_variant 5 #define FW_report_version FW_version " r" STR(FW_local_variant) #define FW_PRUSA3D_MAGIC "PRUSA3DFW" diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b927c5e01..cdef1fe01 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6565,38 +6565,45 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s void kill(const char *full_screen_message) { - cli(); // Stop interrupts + SERIAL_ERROR_START; + SERIAL_ERRORLNRPGM(MSG_ERR_KILLED); + + // Turn things off... disable_heater(); disable_x(); -// SERIAL_ECHOLNPGM("kill - disable Y"); disable_y(); disable_z(); disable_e0(); disable_e1(); disable_e2(); -#if defined(PS_ON_PIN) && PS_ON_PIN > -1 - pinMode(PS_ON_PIN,INPUT); -#endif - SERIAL_ERROR_START; - SERIAL_ERRORLNRPGM(MSG_ERR_KILLED); if (full_screen_message != NULL) { SERIAL_ERRORLNRPGM(full_screen_message); lcd_display_message_fullscreen_P(full_screen_message); } else { LCD_ALERTMESSAGERPGM(MSG_KILLED); + for (int i=5; i--; lcd_update()) + _delay_ms(200); } - // FMC small patch to update the LCD before ending - sei(); // enable interrupts - for ( int i=5; i--; lcd_update()) - { - delay(200); - } - cli(); // disable interrupts + // Wait for screen to settle + _delay_ms(1000); + + // disable ints and reset heaters again + cli(); + _delay_ms(200); + disable_heater(); + +#if defined(PS_ON_PIN) && PS_ON_PIN > -1 + pinMode(PS_ON_PIN,INPUT); +#endif suicide(); - while(1) { /* Intentionally left empty */ } // Wait for reset + // Wait for reset + while(1) { + // nice doggie + watchdog_reset(); + } } void Stop() diff --git a/platformio.ini b/platformio.ini index 2fc9669d8..75638ef9e 100644 --- a/platformio.ini +++ b/platformio.ini @@ -29,7 +29,8 @@ platform = atmelavr board = reprap_rambo framework = arduino board_f_cpu = 16000000L -build_flags = -DBAUDRATE=250000 -I$BUILDSRC_DIR -Wall -Wextra +#build_flags = -DBAUDRATE=250000 -I$BUILDSRC_DIR -Wall -Wextra +build_flags = -I$BUILDSRC_DIR -Wall -Wextra ; Not needed for Prusa-Firmware ;extra_scripts = ./generate_version_header_for_marlin.py ;build_flags = -DUSE_AUTOMATIC_VERSIONING -I$BUILDSRC_DIR -Wall -Wextra