Closed AnHardt closed 6 years ago
If you get messages like "Serial: incoming chars rejected - ring buffer full" the likely causes are:
With https://github.com/AnHardt/Marlin/pull/32/commits/eab04ebc48bfd72079ecb2986dd67f82e5c5faad you get a printout of the g-code line with the defect, when a communication error is detected.
CRITICAL_SECTION
is not closed properly. The serials RX-interrupt is executed too late - the RX-registers content was replaced by the next char. With the extended ADVANCED_OK
you get a more detailed view on the buffer usage and the info what line is actually 'ok'ed. If you fell there is too much output just deactivate ADVANCED_OK
or comment one of the added lines
If the protocol errors are rare, they like to disappear in the logs history. Activate //kill(PSTR("ERR: ring buffer full"));
. and add something similar to gcode_line_error()
. The printer will be killed then!!! Parts are ruined!!! This is most suitable for testing with dry-runs.
Some little helpers to debug input stream errors.
Activate ADVANCED_OK.