diff --git a/avr/libraries/Optiboot_flasher/examples/Flash_iterate/Flash_iterate.ino b/avr/libraries/Optiboot_flasher/examples/Flash_iterate/Flash_iterate.ino index dfdde37a..b0d11280 100644 --- a/avr/libraries/Optiboot_flasher/examples/Flash_iterate/Flash_iterate.ino +++ b/avr/libraries/Optiboot_flasher/examples/Flash_iterate/Flash_iterate.ino @@ -72,6 +72,12 @@ void setup() delay(2000); Serial.begin(9600); + if(!flash.check_writable()) + { + Serial.println(F("Incompatible or no bootloader present! Please burn correct bootloader")); + while(1); + } + // Fetch flash page 1, where we may have a flag flash.fetch_page(1); diff --git a/avr/libraries/Optiboot_flasher/examples/Flash_put_get/Flash_put_get.ino b/avr/libraries/Optiboot_flasher/examples/Flash_put_get/Flash_put_get.ino index c8e61c99..fa65f2de 100644 --- a/avr/libraries/Optiboot_flasher/examples/Flash_put_get/Flash_put_get.ino +++ b/avr/libraries/Optiboot_flasher/examples/Flash_put_get/Flash_put_get.ino @@ -106,6 +106,12 @@ void setup() delay(2000); Serial.begin(9600); + if(!flash.check_writable()) + { + Serial.println(F("Incompatible or no bootloader present! Please burn correct bootloader")); + while(1); + } + // Fetch flash page 1, where we may have a flag flash.fetch_page(1); diff --git a/avr/libraries/Optiboot_flasher/examples/Read_write_without_buffer/Read_write_without_buffer.ino b/avr/libraries/Optiboot_flasher/examples/Read_write_without_buffer/Read_write_without_buffer.ino index 821e2dcf..a3ec672d 100644 --- a/avr/libraries/Optiboot_flasher/examples/Read_write_without_buffer/Read_write_without_buffer.ino +++ b/avr/libraries/Optiboot_flasher/examples/Read_write_without_buffer/Read_write_without_buffer.ino @@ -79,6 +79,12 @@ void setup() delay(2000); Serial.begin(9600); + if(!optiboot_check_writable()) + { + Serial.println(F("Incompatible or no bootloader present! Please burn correct bootloader")); + while(1); + } + static uint16_t addr = 0; Serial.print(F("Filling up flash page 0 with 16-bit values...\n")); diff --git a/avr/libraries/Optiboot_flasher/examples/Serial_read_write/Serial_read_write.ino b/avr/libraries/Optiboot_flasher/examples/Serial_read_write/Serial_read_write.ino index 5d9ab939..b9172f84 100644 --- a/avr/libraries/Optiboot_flasher/examples/Serial_read_write/Serial_read_write.ino +++ b/avr/libraries/Optiboot_flasher/examples/Serial_read_write/Serial_read_write.ino @@ -51,6 +51,12 @@ void setup() { // Initialize serial Serial.begin(9600); + + if(!optiboot_check_writable()) + { + Serial.println(F("Incompatible or no bootloader present! Please burn correct bootloader")); + while(1); + } } diff --git a/avr/libraries/Optiboot_flasher/keywords.txt b/avr/libraries/Optiboot_flasher/keywords.txt index acb6c512..351b9767 100644 --- a/avr/libraries/Optiboot_flasher/keywords.txt +++ b/avr/libraries/Optiboot_flasher/keywords.txt @@ -27,6 +27,7 @@ put KEYWORD2 # Optiboot do_spm_cli KEYWORD2 +optiboot_check_writable KEYWORD2 optiboot_page_erase KEYWORD2 optiboot_page_fill KEYWORD2 optiboot_page_write KEYWORD2