Fix kill() routine to display full-screen message correctly, working on Travis deploy

This commit is contained in:
Ted Hess 2017-12-23 19:33:31 -05:00
parent c870a5be49
commit ab16ff24f0
4 changed files with 39 additions and 29 deletions

View File

@ -26,24 +26,26 @@ install:
- arduino --pref "compiler.warning_level=all" --save-prefs - arduino --pref "compiler.warning_level=all" --save-prefs
script: script:
- GIT_BUILD=$(git rev-parse --short HEAD) - GIT_VERSION=$(git rev-parse --short HEAD)
- VARIANTS=$(ls Firmware/variants/) - VARIANTS=$(ls Firmware/variants/)
- for VARIANT in $VARIANTS; do - for VARIANT in $VARIANTS; do
cp Firmware/variants/${VARIANT} Firmware/Configuration_prusa.h ; cp Firmware/variants/${VARIANT} Firmware/Configuration_prusa.h ;
arduino --pref build.path=. --verify --verbose-build --board rambo:avr:rambo $PWD/Firmware/Firmware.ino ; arduino --pref build.path=. --verify --verbose-build --board rambo:avr:rambo $PWD/Firmware/Firmware.ino ;
mv Firmware.ino.hex "${VARIANT}"ex ; mv Firmware.ino.hex "${VARIANT}"ex ;
done 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: | after_success:
if [ -n "${TRAVIS_TAG}" ]; then - if [ -n "${TRAVIS_TAG}" ]; then
mv prusa3d_fw_${GIT_BUILD}.zip prusa3d_fw_${TRAVIS_TAG}.zip BUILD_NAME=${TRAVIS_TAG} ;
done 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: deploy:
provider: releases provider: releases
@ -52,6 +54,6 @@ deploy:
file: prusa3d_fw_${TRAVIS_TAG}.zip file: prusa3d_fw_${TRAVIS_TAG}.zip
skip_cleanup: true skip_cleanup: true
on: on:
tags: true
repo: thess/Prusa-Firmware repo: thess/Prusa-Firmware
branch: private-build2 branch: private-build2
tags: true

View File

@ -10,7 +10,7 @@
// Firmware version // Firmware version
#define FW_version "3.1.0" #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_report_version FW_version " r" STR(FW_local_variant)
#define FW_PRUSA3D_MAGIC "PRUSA3DFW" #define FW_PRUSA3D_MAGIC "PRUSA3DFW"

View File

@ -6565,38 +6565,45 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s
void kill(const char *full_screen_message) void kill(const char *full_screen_message)
{ {
cli(); // Stop interrupts SERIAL_ERROR_START;
SERIAL_ERRORLNRPGM(MSG_ERR_KILLED);
// Turn things off...
disable_heater(); disable_heater();
disable_x(); disable_x();
// SERIAL_ECHOLNPGM("kill - disable Y");
disable_y(); disable_y();
disable_z(); disable_z();
disable_e0(); disable_e0();
disable_e1(); disable_e1();
disable_e2(); 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) { if (full_screen_message != NULL) {
SERIAL_ERRORLNRPGM(full_screen_message); SERIAL_ERRORLNRPGM(full_screen_message);
lcd_display_message_fullscreen_P(full_screen_message); lcd_display_message_fullscreen_P(full_screen_message);
} else { } else {
LCD_ALERTMESSAGERPGM(MSG_KILLED); LCD_ALERTMESSAGERPGM(MSG_KILLED);
for (int i=5; i--; lcd_update())
_delay_ms(200);
} }
// FMC small patch to update the LCD before ending // Wait for screen to settle
sei(); // enable interrupts _delay_ms(1000);
for ( int i=5; i--; lcd_update())
{ // disable ints and reset heaters again
delay(200); cli();
} _delay_ms(200);
cli(); // disable interrupts disable_heater();
#if defined(PS_ON_PIN) && PS_ON_PIN > -1
pinMode(PS_ON_PIN,INPUT);
#endif
suicide(); suicide();
while(1) { /* Intentionally left empty */ } // Wait for reset // Wait for reset
while(1) {
// nice doggie
watchdog_reset();
}
} }
void Stop() void Stop()

View File

@ -29,7 +29,8 @@ platform = atmelavr
board = reprap_rambo board = reprap_rambo
framework = arduino framework = arduino
board_f_cpu = 16000000L 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 ; Not needed for Prusa-Firmware
;extra_scripts = ./generate_version_header_for_marlin.py ;extra_scripts = ./generate_version_header_for_marlin.py
;build_flags = -DUSE_AUTOMATIC_VERSIONING -I$BUILDSRC_DIR -Wall -Wextra ;build_flags = -DUSE_AUTOMATIC_VERSIONING -I$BUILDSRC_DIR -Wall -Wextra