The tramming_point_name[] array is PROGMEM and points to PGMSTR() strings... this apparently means it can't be used with SERIAL_ECHOPAIR() on Arduino.
On my CR-10 v3 with original Creality board, the first output sent a long string of characters to the serial port and then hung.
Expected behavior:
Instructions for tramming are printed
Actual behavior:
The first tramming point name is printed as a very long sequence of letters followed by the instructions after which the firmware hangs and a reboot is required.
Fixed for me with this commit, but the pull request requirements are too onerous for me to be arsed. I know the patch isn't sufficient as-is, but I'm too busy to follow it through properly.
Basically, I just use serialprintPGM((char *)pgm_read_ptr(&tramming_point_name[i])); for the names and it works for me now.
@Speaka reported the same issue in #19896 and verified that the included fix in this Bug report worked.
They also volunteered to prepare a PR for it, so hopefully we will see that show up in the next several days.
Please test with this PR.
Thanks for stepping up and filing the PR @Speaka!
Works for me, thanks a lot @Speaka!