diff --git a/tools/README.md b/tools/README.md index 30648d0d..63c1731d 100644 --- a/tools/README.md +++ b/tools/README.md @@ -12,6 +12,11 @@ Requires ``printcore`` from [Pronterface]. Dump the content of the entire SRAM using the D2 command. Requires ``printcore`` from [Pronterface]. +### ``dump_crash`` + +Dump the content of the last crash dump on MK3+ printers using D21. +Requires ``printcore`` from [Pronterface]. + ### ``elf_mem_map`` Generate a symbol table map with decoded information starting directly from an ELF firmware with DWARF debugging information (which is the default using the stock board definition). diff --git a/tools/dump_crash b/tools/dump_crash new file mode 100755 index 00000000..f74e8bf2 --- /dev/null +++ b/tools/dump_crash @@ -0,0 +1,17 @@ +#!/bin/sh +prg=$(basename "$0") +port="$1" +if [ -z "$port" -o "$port" = "-h" ] +then + echo "usage: $0 " >&2 + echo "Connect to and dump the content of last crash using D21 to stdout" >&2 + exit 1 +fi + +set -e +tmp=$(mktemp) +trap "rm -f \"$tmp\"" EXIT + +echo D21 > "$tmp" +printcore -v "$port" "$tmp" 2>&1 | \ + sed -ne '/^RECV: D21 /,/RECV: ok$/s/^RECV: //p'