Commit Graph

5102 Commits

Author SHA1 Message Date
Yuri D'Elia
776b82a6db elf_mem_map: expand member arrays 2021-07-30 06:38:12 +02:00
Yuri D'Elia
29513a369d elf_mem_map: allow to customize the name column's width 2021-07-30 06:38:12 +02:00
Yuri D'Elia
7f76f62af9 elf_mem_map: fix uleb128 decoding (fixes incorrect member offsets) 2021-07-30 06:38:12 +02:00
Yuri D'Elia
a5635997b2 elf_mem_map: allow to annotate overlapping regions for clarity 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1d82d2da64 get_elf_map: do not reprocess members twice 2021-07-30 06:38:12 +02:00
Yuri D'Elia
615e8575bb elf_mem_map: decode structs 2021-07-30 06:38:12 +02:00
Yuri D'Elia
9ddb5991f2 elf_mem_map: allow to disable gap dumps 2021-07-30 06:38:12 +02:00
Yuri D'Elia
bb8d171f34 elf_mem_map: decode integers with correct endianness 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1181e78484 elf_mem_map: handle all pointer types correctly 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c311266a83 elf_mem_map: handle abstract locations 2021-07-30 06:38:12 +02:00
Yuri D'Elia
2718dbb42c elf_mem_map: array n-dimensional expansion 2021-07-30 06:38:12 +02:00
Yuri D'Elia
29b8c89ec2 elf_mem_map: decode arrays (first dimension) 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1de3fa51c9 elf_mem_map: decode doubles correctly 2021-07-30 06:38:12 +02:00
Yuri D'Elia
40b737e33d elf_mem_map: switch to a named tuple for extensibility 2021-07-30 06:38:12 +02:00
Yuri D'Elia
f2192dc5e6 elf_mem_dump: fix unknown address 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c321ba4821 elf_mem_map: also dump gaps between known regions 2021-07-30 06:38:12 +02:00
Yuri D'Elia
4c6339ac46 elf_mem_map: decode correctly void pointers 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1095b26570 Add several low-level debugging tools 2021-07-30 06:38:12 +02:00
D.R.racer
4580b8a78c Version changed (3.10.1 build 4587) 2021-07-16 07:37:11 +02:00
Yuri D'Elia
1279a6cf4b Correctly read FW_VERSION_NR array from progmem
In PR #3093 the progmem array FW_VERSION_NR was introduced to store the
version components, however the code didn't read it properly using the
pgm_read_* functions, making version comparisons fail.

Fix the existing/unused is_provided_version_newer() and reuse it in
show_upgrade_dialog_if_version_newer().

Similarly also read/update correctly the version in the eeprom.
2021-06-28 06:36:26 +02:00
Yuri D'Elia
56e531d40a Improve/fix D23 for M2.5/S printers
- Move D23 into it's own function inside Dcodes
- Correctly include a break in the switch statement
- Show the dumper status (enabled/disabled) after toggling
- Allow to generate an immediate dump via g-code using D23 E for
  symmetry with D20 E
2021-06-25 08:46:55 +02:00
Yuri D'Elia
380e34d481 Include "Dcodes.h" after "Marlin.h" for configuration
This is needed in order to get the function prototypes right according
to the actual enabled configuration.
2021-06-25 08:46:55 +02:00
Voinea Dragos
ecce6f865f write_command() no line number handling 2021-06-25 08:12:30 +02:00
Yuri D'Elia
53fcd6fc8f Work-around GCC LTO codegen bug in process_commands()
When building with GCC 4.9.2 (bundled with PF-build-env-1.0.6.*), -Os
and LTO enabled, PID_autotune gets automatically inlined into
process_commands().

Sadly, due to the massive size of process_commands(), it results in
codegen bug doing a partial stack overwrite in process_commands()
itself, manifesting as random behavior depending on the timing of
interrupts and the codepath taken inside the merged function.

Mark the function as noinline and add a note about the affected compiler
version in order to be checked again in the future.
2021-06-24 07:39:28 +02:00
Yuri D'Elia
66ee9a295f Remove useless function EEPROM_read_st 2021-06-22 19:08:20 +02:00
Yuri D'Elia
8d11ad9d2d xfdump: correctly erase all sectors in xfdump_erase 2021-06-22 19:07:49 +02:00
DRracer
8ff9b184c2
Merge pull request #3093 from DRracer/version-shave
Remove FW version parsing
2021-06-22 10:27:42 +02:00
D.R.racer
88074ac6c8 Remove FW version parsing
as it can be done at compile time. Code size dropped by >800 bytes.
2021-06-22 08:49:52 +02:00
DRracer
6188870c2e
Merge pull request #3157 from wavexx/improve_d2
Add extra debugging functions & crash analysis
2021-06-22 07:37:30 +02:00
DRracer
f36b9173da
Merge pull request #3191 from wavexx/fix_longpress_isr
Handle Long-Press in the main loop
2021-06-22 07:09:01 +02:00
Yuri D'Elia
79287ffb3d Use uint8_t consistently for the block buffer's index
Instead of using a mixture of int8_t, unsigned char and (incorrectly)
int, use uint8_t consistently for indexing the current block.

This improves the performance of the wait loop in plan_buffer_line,
which currently expands all comparisons to a word for no reason.

This also extends the theoretical limit to 128 entries.
Add some static assertions to ensure BLOCK_BUFFER_SIZE is correct.
2021-06-22 06:59:57 +02:00
Yuri D'Elia
f4fcdae630 Fixup the DUMP_MAGIC constant 2021-06-22 00:04:39 +02:00
Yuri D'Elia
934b567e5a Remove "bonus" exclamation points from the crash message 2021-06-21 22:37:28 +02:00
jfestrada
72be8f7be5
Fix spanish translation for MSG_UNLOAD_SUCCESSFUL (#3185)
Fix spanish transtalation for MSG_UNLOAD_SUCCESSFUL by: jfestrada <jfestrada@cloudhd.eu>
2021-06-21 12:42:56 +02:00
Yuri D'Elia
edde002cdc Merge remote-tracking branch 'upstream/MK3' into fix_longpress_isr 2021-06-21 11:51:45 +02:00
Alex Voinea
30d9faef9d
Minor fixes to SD presence handling (#3139)
* Remove forgotten function protorypes

* Fix code indentation

* Fix double sorting if SD card is inserted during setup()

* Correctly handle SD removal during sorting
2021-06-21 07:30:47 +02:00
Voinea Dragos
0cbc759d8b Second attempt at retrieving the SN from the 32u2 IC 2021-06-21 07:24:41 +02:00
Alex Voinea
6d25345fc4 optiboot_xflash comment about w25x20cl messages
Mention supported ICs
2021-06-21 07:21:40 +02:00
Yuri D'Elia
a92c0278fe Use LCD_WIDTH instead of hardcoding 20 2021-06-21 07:21:10 +02:00
metacollin
8a7dd08116 Fixed C++ bug 2021-06-21 07:05:17 +02:00
Yuri D'Elia
09e935d27b Fix two new explicit case fallthru warnings 2021-06-21 06:52:52 +02:00
Yuri D'Elia
d727a949dd Silence explicit case-fallthru 2021-06-21 06:52:52 +02:00
Yuri D'Elia
c096462aab Clarify statement by adding extra braces 2021-06-21 06:52:52 +02:00
Yuri D'Elia
051f03119b Fix misleading indentation warnings by expanding tabs 2021-06-21 06:52:52 +02:00
Yuri D'Elia
f2fe57bfc0 Fix unused static declaration warnings
Guard declarations using the appropriate defines
2021-06-21 06:52:52 +02:00
Jonas Meyer
7bd43b77d7 Remove unnecessary assignment 2021-06-21 06:47:59 +02:00
Yuri D'Elia
eafdf6c216 Also move host_keepalive to manage_inactivity()
This avoids the "busy" output interleaving with regular output in very
rare scenarios.

We should focus in finding which calls are not using manage_inactivity()
properly instead of working it around.
2021-06-21 06:46:24 +02:00
Yuri D'Elia
29322d4bf3 Move host_autoreport() to manage_inactivity()
This makes autoreport work more consistently.
2021-06-21 06:46:24 +02:00
Yuri D'Elia
5c8a231ed6 Move autoreporting out of the temperature ISR
Code running in the temperature ISR needs to be fully reentrant, which
is hard to track down.

Move autoreporting to the main processing loop. This can make the
autoreporting slower or pause at times, but removes the reentrant
restriction, which allows us to use printf_P.
2021-06-21 06:46:24 +02:00
Yuri D'Elia
97f66a6a13 Remove ignored/incorrect PROGMEM
This PROGMEM is currently ignored by gcc, but even if it wasn't it
wouldn't be correct since the following code is expecting to read "item"
without fetching the array itself from PROGMEM.
2021-06-21 06:44:19 +02:00