From 6444573c922b1817e612f154fd7745eb46b1fd5b Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 23 Jul 2018 17:14:18 +0200 Subject: [PATCH] BOOTAPP support defined for EINSY W25x20CL test before entering optiboot (in some error cases it hangs in optiboot and then message not shown) --- Firmware/Marlin_main.cpp | 12 +++++++----- Firmware/pins_Einsy_1_0.h | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1377afd2..12a96d38 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1041,12 +1041,14 @@ void erase_eeprom_section(uint16_t offset, uint16_t bytes) for (int i = offset; i < (offset+bytes); i++) eeprom_write_byte((uint8_t*)i, 0xFF); } +#ifdef BOOTAPP +#include "bootapp.h" //bootloader support +#endif //BOOTAPP #if (LANG_MODE != 0) //secondary language support #ifdef W25X20CL -#include "bootapp.h" //bootloader support // language update from external flash #define LANGBOOT_BLOCKSIZE 0x1000 @@ -1146,16 +1148,16 @@ void setup() lcd_splash(); #ifdef W25X20CL - // Enter an STK500 compatible Optiboot boot loader waiting for flashing the languages to an external flash memory. - optiboot_w25x20cl_enter(); + if (!w25x20cl_init()) + kill(_i("External SPI flash W25X20CL not responding.")); + // Enter an STK500 compatible Optiboot boot loader waiting for flashing the languages to an external flash memory. + optiboot_w25x20cl_enter(); #endif #if (LANG_MODE != 0) //secondary language support #ifdef W25X20CL if (w25x20cl_init()) update_sec_lang_from_external_flash(); - else - kill(_i("External SPI flash W25X20CL not responding.")); #endif //W25X20CL #endif //(LANG_MODE != 0) diff --git a/Firmware/pins_Einsy_1_0.h b/Firmware/pins_Einsy_1_0.h index f1c514c7..eabdb4ab 100644 --- a/Firmware/pins_Einsy_1_0.h +++ b/Firmware/pins_Einsy_1_0.h @@ -16,6 +16,7 @@ #define PINDA_THERMISTOR #define W25X20CL // external 256kB flash +#define BOOTAPP // bootloader support #define SWI2C_SDA 20 //SDA on P3