Commit Graph

17 Commits

Author SHA1 Message Date
Alex Voinea
f0eedf301d
optiboot: check boot_app_magic as well before early exit 2021-03-03 16:31:55 +02:00
Alex Voinea
c95d2fcbd7
Use avr-libc wdt library 2021-03-03 16:31:06 +02:00
Alex Voinea
8ced0579d6
Move SerialHead declaration outside of loops 2021-03-03 14:35:37 +02:00
Alex Voinea
026145b78b
Fix CFM message end pointer 2021-03-03 12:31:14 +02:00
D.R.racer
3922bf2877 Fix flashing languages with inline wdr instructions
A fairly mysterious situation happened recently in the MK3 branch.
After merging #3033 (change watchdogReset() into a single inline wdr instruction)
we were unable to flash languages.

Since it looked similarly suspicious like issue #2954 we started investigating deeply.
The problem was in the code as described in the comment in this PR.
2021-03-03 11:19:39 +01:00
D.R.racer
4e768057e7 Use standard wdt_reset() from AVR lib
which translates to the one `wdr` instruction like before
+ wrap configuration of watchdog into cli/sei
2021-02-17 15:59:52 +01:00
D.R.racer
a456c4a52d Make watchdogReset() force_inline
It makes no sense keeping watchdogReset as a separate function which
must be called, since it only contains one instruction: "wdr".

Not only was the code larger by 32 bytes in total, but also much slower
(call+ret take 4 cycles together for no reason in this case).

Surprisingly, doing just this on FW 3.9.3 solves issue #2954 on the one
affected EINSY board, even though it makes not much sense (there must be
some other timing issue).
2021-02-17 13:04:46 +01:00
Alex Voinea
c84aef3a28
Handle second serial port correctly 2020-05-27 17:40:14 +03:00
Alex Voinea
b1e446ef97
Remember the serial characters during Optiboot initialization 2020-05-27 13:50:02 +03:00
Alex Voinea
e985d17bd1
Document code 2020-05-27 10:16:44 +03:00
Alex Voinea
4ffa4dd8fd
Fix missing start on MK3/S 2020-05-27 09:44:28 +03:00
Alex Voinea
89dfb00b04
Fix optiboot erase function after address 0xFFFF 2019-12-08 08:43:43 +02:00
Marek Bel
75fac9dab2 Do not kill printer if External SPI flash W25X20CL is not responding.
Remove internationalization macro for this message. It has no sense to be translated as internationalization in most cases doesn't work if it is not responding.
Show this message instead of splash screen if the error is encountered.
There is no additional delay or wait for click, as such functions doesn't work in setup function.
2019-04-16 22:20:53 +02:00
Robert Pelnar
6c13225f49 Fix PFW651 - cannot upload MK3 languages with slic3r (firmware compiled on linux arduino 1.8.5 + lto) 2018-11-09 10:45:16 +01:00
Marek Bel
5ac98afeec Fix compiler warning sketch/optiboot_w25x20cl.cpp: In function 'void optiboot_w25x20cl_enter()':
sketch/optiboot_w25x20cl.cpp:275:15: warning: variable 'desttype' set but not used [-Wunused-but-set-variable]
2018-08-02 14:55:38 +02:00
Robert Pelnar
296f3ab23a New ML support - resized reserved space, skip optiboot durring sec_lang update process 2018-06-14 23:07:54 +02:00
bubnikv
eef6c68c9f Added support for a secondary boot loader, based on the OptiBoot project,
modified to update the external flash memory on Einsy boards.
Due to a bug in the USB to serial converter firmware on the Prusa Einsy
boards, the STK500 protocol has been modified to never send semicolon
characters towards the main processor.

This firmware updater is compatible with a modified avrdude using
the "arduino" protocol, see the following commit.
https://github.com/prusa3d/Slic3r/tree/fwupdater_languages
2018-06-14 15:13:21 +02:00