-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix more STM32F1 Serial hangs due to overflows #19464
Fix more STM32F1 Serial hangs due to overflows #19464
Conversation
I believe the TMC Hardware Serial changes will work, but I have not tested them yet. This also needs some more work to let this |
It is building for the STM32 HAL now, but I have not yet tested it. I need to test the following:
|
@minosg did the original investigation into the Serial hangs and was the remaining person able to still reproduce hangs after the changes from @rhapsodyv. They just posted this comment in the bug report:
I will try to finish the remaining testing needed on this tonight. |
I consolidated to a single |
Is I ask because in 4b928b2, the pins file for the SKR Mini E3 V2 (and others) changed
It compiles, but I still need to test it on real hardware to see if TMCs work correctly. |
It will probably crash or otherwise behave badly right now, since it doesn't have the change to MarlinSerial.cpp that makes sure these are always instantiated. The change to MSerial is important, because it solved the hangs due to the Serial ISR, but part of the change has already been committed and part is still in this PR. |
Testing update, related to the current state of this PR (not Keith's comment above): Malyan LCD is still working fine on an SKR E3 DIP. No hangs observed. Switched to an SKR Mini E3 1.0, so that I could test with hardware serial for TMC UARTs.
I then started the print and sent M122 repeatedly. I reproduced hangs several times within the first 10 queries or so. With the exact same configuration, but switched back to Now to try this on an actual Malyan board... |
On a Malyan STM32F070CB board I was able to communicate with the Malyan LCD, which is the main thing I wanted to test with that board. |
@thinkyhead I just found one more tiny fix that I pushed. I think this is ready to go in, I'm not planning any more testing on my end. I didn't test the Emergency Parser. I realized I didn't have a great way to test it since my F1 boards use USB Serial for host communication and not one of the impacted UARTs. Given the issue @thisiskeithb pointed out, where STM32F1 pins files were already updated to use |
I haven't looked too closely at the details of the emergency parser changes, but I see that the initializer structures (e.g., if (Cfg::EMERGENCYPARSER) emergency_parser.update(emergency_state, c); if (serial.emergency_parser_enabled)
emergency_parser.update(serial.emergency_state, c); |
I've done some more review while looking at adding an I see that STM32F1 version of Should we modify this I'll push my commit adding I also noticed that we could filter out construction of unused serial ports with the addition of an |
MarlinSerial from: LPC, STM32F1 and STM32 inherits from the current framework HardwareSerial class. But yes, we can try to have a more standard MarlinSerial class. I took STM32 and LPC MarlinSerial as base, when I did it to STM32F1. |
Well, Typically, when a question like this arises, we'll try both, see what kind of garbage the compiler produces, and then pick the one that seems less bad. |
Just make sure this includes TMC Hardware Serial. I think I saw a similar macro that was only checking for the three “parsing” ports. This is really only needed for STM32F1, where TMC serial needs to use MSerial to get the safe interrupt handler. |
It looks like we may only be able to skip those that are trivially defined. It's unfortunate that the pins files are declaring the hardware ports by name instead of by index. If they were defined by index they could be used both to determine the serial port index they use, but also to determine if an extra serial port needs to be defined for them. |
Perhaps this could be a good follow up. That would also allow removing the hacky static asserts I used to detect if the wrong serial class was specified. I’d rather see it as a follow up than block this PR for that work, especially since bugfix is currently broken for some of these F1 boards. |
Agreed. |
Looks like the merge beat my last comment. Thanks! |
* Clean up W25QXXFlash class * Fix Creality RET6 env - RE (MarlinFirmware#19340) * [cron] Bump distribution date (2020-09-12) * Fix Print Stats appearance (MarlinFirmware#19348) * M872 wait for probe temperature (MarlinFirmware#19344) * [cron] Bump distribution date (2020-09-13) * Highlight Creality DWIN menu icons (MarlinFirmware#19368) * Update Italian language (MarlinFirmware#19365) * Fix EXP2 pin define for MKS SGEN_L (MarlinFirmware#19369) * Read from backup TMC StealthChop state (MarlinFirmware#19364) * Fix extra string substitution bug (MarlinFirmware#19351) * Touch UI "Leveling" menu, misc. fixes (MarlinFirmware#19349) * Allow SWD debug on Robin Nano (MarlinFirmware#19345) * heater_ind_t => heater_id_t * [cron] Bump distribution date (2020-09-14) * Improve temperature runaway, idle timeout (MarlinFirmware#19339) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Better choice of code Followup to MarlinFirmware#19344 * Always show Compiled: * M115 strings * Allow E3 V2 DWIN without EEPROM, POWER_LOSS_RECOVERY * Add missing FTDI EVE menu source (MarlinFirmware#19382) * More strict STATIC_ITEM_N (MarlinFirmware#19378) * Only set up SPI pins as needed (MarlinFirmware#19372) * [cron] Bump distribution date (2020-09-15) * [cron] Bump distribution date (2020-09-16) * E3 V2 DWIN cleanup * More DWIN cleanup * MarlinUI percent methods for all * [cron] Bump distribution date (2020-09-17) * Demo and test multiple PID defaults (MarlinFirmware#19413) * Fix missing spaces in info menu (MarlinFirmware#19404) * Add more DWIN commands, docs (MarlinFirmware#19395) * E3 V2 DWIN: Z-Offset, cleanup, versatility (MarlinFirmware#19384) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * SHOW_REMAINING_TIME for HD44780 character LCD (MarlinFirmware#19416) * Add warning to ExtUI Bed Mesh Screen. (MarlinFirmware#19397) - Show a warning on the Mesh Bed Leveling screen if some points aren't probed. * Fix MKS UI SPI flash typo (MarlinFirmware#19410) * Expose JOYSTICK_DEBUG to the general user (MarlinFirmware#19394) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Update stale issue message and parameters (MarlinFirmware#19412) * Update stale issue bot * Update close-stale.yml * Update close-stale.yml Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Host Action: Start (MarlinFirmware#19398) * Move screen for Color UI (MarlinFirmware#19386) * [cron] Bump distribution date (2020-09-18) * Fix missing include (MarlinFirmware#19418) Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com> * [cron] Bump distribution date (2020-09-19) * Fix CoreXY compile with backlash cal. (MarlinFirmware#19422) * Change some dwin defines * Fix compile for Taz Pro (MarlinFirmware#19424) * Fix case light brightness save/load (MarlinFirmware#19436) * Optional Host Start menu item (MarlinFirmware#19443) * Ultratronics Pro SPI pins (MarlinFirmware#19444) * Fix Creality DWIN Control menu icons (MarlinFirmware#19441) * [cron] Bump distribution date (2020-09-20) * Whitespace cleanup * Add multi-extruder condition * Cleanup before MKS changes * Add HAS_ROTARY_ENCODER * [cron] Bump distribution date (2020-09-21) * Add MKS Robin E3P, improve LVGL UI (MarlinFirmware#19442) * Optional menu item for Assisted Tramming (MarlinFirmware#19447) * Replace Serial with Serial1 in pins files (MarlinFirmware#19459) * Update pins_ANET_10.h * [cron] Bump distribution date (2020-09-22) * Fix up K8800 pins (MarlinFirmware#19476) * Define <u8,u8,u8>::softSPI (MarlinFirmware#19419) * MKS SGEN L V2 adaptable heaters/fans (MarlinFirmware#19462) * Update board/teensy comment (MarlinFirmware#19456) * Fix Teensy 4.1 include * [cron] Bump distribution date (2020-09-23) * Fix up tests, warnings * Catch a TMC address conflict early (MarlinFirmware#19458) * New Touch UI buttons (MarlinFirmware#19465) * Include pins.h in dependencies script (MarlinFirmware#19468) * MKS Robin Mini uses ONBOARD_SPI_DEVICE (MarlinFirmware#19460) * Teensy pins cleanup * Preserve brightness in EEPROM validate (MarlinFirmware#19485) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Define UART pins for LPC debug based on LPC_PINCFG_UART (MarlinFirmware#19475) * Whitespace cleanup * [cron] Bump distribution date (2020-09-24) * HAL and serial cleanup Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com> * HAL/serial followup * Fix some pin inits * [cron] Bump distribution date (2020-09-25) * Fix and improve STM32F1 serial (MarlinFirmware#19464) * BigTreeTech SKR E3 Turbo (MarlinFirmware#19500) * Sanity check old serial names * TFT: No timeout on Move Screen (MarlinFirmware#19426) * [cron] Bump distribution date (2020-09-26) * Escape the M33 string arg (MarlinFirmware#19515) * Fix MKS Robin undefined pins error (MarlinFirmware#19507) * Fix SKR 1.4 thermistor pin comments (MarlinFirmware#19510) * SKR E3 Turbo followup (MarlinFirmware#19513) * Fix MBL "Click to continue" on Color UI touchscreen (MarlinFirmware#19514) * Allow ColorUI color customization (MarlinFirmware#19484) * MMU2 S Mode spins the BMG gears during C0 (MarlinFirmware#19429) * [cron] Bump distribution date (2020-09-27) * Tweak MMU beeps, misc. cleanup * Drop extra Bed PID * Allow M524 between M23 and M24 * E3 DWIN: General cleanup * E3 DWIN: "No Media" message * CardReader cleanup * [cron] Bump distribution date (2020-09-28) * LVGL followup fixing "C", etc. (MarlinFirmware#19517) * Fix Allen Key Probe pin test (MarlinFirmware#19520) * Working LCD_USE_DMA_FSMC (MarlinFirmware#19522) * Thermistor: Kis3d Silicone heater + precision cast plate (MarlinFirmware#19528) * Update AnyCubic deps * Menu tweak * Prettier INI * Rename LCD conditionals (MarlinFirmware#19533) * MarlinUI for SPI/I2C TFT-GLCD character-based display bridge (MarlinFirmware#19375) * Update configs to 020007 * Tweaks to git helpers * Default E3 V2 to English * Change "Fr" on LCD to ">>" (MarlinFirmware#18830) * Multi-line comments cleanup (MarlinFirmware#19535) * Fix diveToFile with open Dir object (MarlinFirmware#19539) * Fix CardReader diveToFile * Add CardReader::fileExists * Improve Power-Loss Recovery (MarlinFirmware#19540) * Add extra CardReader debugging * Fetch longname when a file exists * Fix up E3 DWIN Power Panic * Anycubic Chiron full feature support (MarlinFirmware#19505) * [cron] Bump distribution date (2020-09-29) * Marlin 2.0.7 * Keep HAL tasks running during PID Autotune (MarlinFirmware#19671) * [cron] Bump distribution date (2020-09-30) * [cron] Bump distribution date (2020-10-01) * Fix Move Screen with disabled Touch (MarlinFirmware#19558) * Fix Buzzer (pin) init for uninitialized FastIO (MarlinFirmware#19559) * Update Slovak language (MarlinFirmware#19561) * No move on Park = No move on Resume (MarlinFirmware#19569) * Fix Anycubic i3 Mega target temperature display (MarlinFirmware#19572) Also includes a workaround for missing (probably un-fetched) long name in file listing * G35 workaround for Pronterface "feature" (MarlinFirmware#19577) * [cron] Bump distribution date (2020-10-02) * Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (MarlinFirmware#19565) * Replace tabs with spaces * Adjust HAL platform defines, comments * Fix onboard SD card support for Teensy 3.6 & 4.1 (MarlinFirmware#19593) * Fix compile of MMU2 with S-mode disabled (MarlinFirmware#19584) * Fix TEMP_ADC_PROBE support for STM32F1 (MarlinFirmware#19582) Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box> * Fix wrappers on HAL/STM32F1 .cpp files (MarlinFirmware#19581) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Touch UI support for X2, Y2 and Z2 (MarlinFirmware#19538) * Fix 'bossac' upload on Windows (MarlinFirmware#19545) * [cron] Bump distribution date (2020-10-03) * [cron] Bump distribution date (2020-10-04) * Fix Tune/Fan edit items - Fixes MarlinFirmware#19617 - Followup to MarlinFirmware#18400 * Shared singlenozzle item * Fix German translation purging/unloading (MarlinFirmware#19615) * Move SF_ARC_FIX option * Fix Z_AFTER_HOMING without probe (MarlinFirmware#19607) * Add HAS_FAST_MOVES * Fix Archim1 stepper timing (with new variant) (MarlinFirmware#19596) * [cron] Bump distribution date (2020-10-05) * Allow bypass for cold E movement (MarlinFirmware#19606) * Z Probe Offset Wizard (MarlinFirmware#18866) * Sync config to examples * Trailing whitespace * [cron] Bump distribution date (2020-10-06) * Improve retract / unretract labels * Fix Ender-3 V2 DWIN Stop SD Print (MarlinFirmware#19642) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Add Chamber servo vent, auto fan (MarlinFirmware#19519) * Update language fonts * [cron] Bump distribution date (2020-10-07) * Fix small font section directive, mixer warning * Chamber vent/fan followup * Restore ° to 6x9 small info font (MarlinFirmware#19645) * More accessible PROBE_OFFSET_WIZARD (MarlinFirmware#19647) * [cron] Bump distribution date (2020-10-08) * Update PROBE_OFFSET_WIZARD comment (MarlinFirmware#19652) * Apply env:mega2560ext to relevant boards (MarlinFirmware#19624) * Use 0xFF (not 'ff') for byte transfer * Permit touch calibration override * Fix and improve Makefile / CMake (MarlinFirmware#19640) * [cron] Bump distribution date (2020-10-09) * Update Italian language (MarlinFirmware#19654) * Fix touch ifndefs (MarlinFirmware#19661) * Support for FLY MINI (MarlinFirmware#19185) * Support for Debug Codes - Dnnn (MarlinFirmware#19225) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Optional `M42`/`M226`; Add more features filters (MarlinFirmware#19664) * Batch appercase hex values * [cron] Bump distribution date (2020-10-10) * HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (MarlinFirmware#19673) * Fixes for TFTGLCD Panel, FastIO (MarlinFirmware#19614) * Marlin 2.0.7.1 * TFT Refactoring (MarlinFirmware#19192) * split tft folder in two: tft for color ui; tft_io for shared tft code * after the files got moved, now the code was moved to the right place * classic ui using TFT IO init lcd codes * feature to compile tft_io when enabled * compiling fix * lvgl spi tft working with tft io init codes * there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything * remove debug * base for TFT rotation and mirroring API, and ILI9488 support * ST7796S rotate and mirror support * ST7789V rotate and mirror support * ST7735 rotate and mirror support * ILI9341 rotate and mirror support * ILI9328 rotate and mirror support * R61505 rotate and mirror support * MKS TFT definitions * more configs for mks tfts * update config * naming typo * to configure the user interface * ANYCUBIC_TFT35 * tft configs * support for SSD1963 * tft display types * updated conditionals lcd; first board fully working with the new code - all 3 ui! * compatiblity * changed name * move classic ui file name * rename TURN -> ROTATE * GRAPHICAL_TFT_ROTATE_180 deprecated * first fsmc board fully working - chitu v5 * mks robin nano v1.2 + tft 35 ok! * right pin name * anycubic tft tested in a TRIGORILLA_PRO * chitu v6 * nano 32 tft orientation * mks tft43 * mks tft43 rotation * fixed LONGER LK tft setup * GRAPHICAL_TFT_UPSCALE defined by the display type * better offsets defaults * Update Configuration.h * Update tft_fsmc.cpp * Update Conditionals_LCD.h * Tweak comments * update nano tests * Revert "update nano tests" This reverts commit a071ebb. * default tft * outdated comments * to not break non-vscode builds * upscale tft 35 * support tft 180 rotation for color ui * Each TFT Driver is responsible for its default color mode. * use auto detect in mks displays, because some of them could be shipped with diferent drivers * extra s * unused code * wrong -1 * missing mirror options * Smaller regex pattern * Comment updates * Clean up old defines * Apply pins formatting * GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180 * MKS_ROBIN_TFT_V1_1R * merge fix * correct resolution * auto is default, dont need be there, and it will allow the user to configure it even for named displays * to not use rotation with MKS_ROBIN_TFT_V1_1R * i like () in macros * avoid sleepy commits * default for st7789 is rgb * nano follow up * to allow ili9328 rotation * default is rgb * boards merge follow up * to match bootloader orientation * HAS_TOUCH_XPT2046 is not hal specific anymore * lets not forget LPC * 180 rotation for ili9328 and R61505 * Clean up whitespace Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com> * G34 Mechanical Gantry Calibration (like Prusa M915) (MarlinFirmware#18972) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Sanity-check mutually-exclusive G34 features (MarlinFirmware#19706) * Fix screen click reading too often (MarlinFirmware#19696) Co-authored-by: andreibobirica <39415547+andreibobirica@users.noreply.github.com> * Option to prevent (extra) Watchdog init on STM32 (MarlinFirmware#19693) * Implement wait_for_user for Color UI (MarlinFirmware#19694) * Fix UTF8 handling for Color UI (MarlinFirmware#19708) * Fixes for TFTGLCD Panel, FastIO (MarlinFirmware#19614) * Restore correct STM32 port-bits code (MarlinFirmware#19678) * Save PLR on resume from pause (MarlinFirmware#19676) Co-Authored-By: shahab <32130261+SHBnik@users.noreply.github.com> * Digipots refactor / cleanup (MarlinFirmware#19690) * Fix at90usb1286 build (MarlinFirmware#19687) * Skip check for USBCON during dependency detection * Ignore incompatible Teensy_ADC library, which requires Teensy >= 3 * Add IS_AT90USB Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Fix various errors, warnings in example config builds (MarlinFirmware#19686) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Fix I2C_ADDRESS sign warning (MarlinFirmware#19685) * Fix motion compile w/out probe-oriented settings (MarlinFirmware#19684) * Add REPORT_TRAMMING_MM option (MarlinFirmware#19682) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Allow MAX31865 resistance values configuration (MarlinFirmware#19695) * Add D100 Watchdog Test (MarlinFirmware#19697) * Add loose soft endstop state, apply to UBL fine-tune (MarlinFirmware#19681) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Fixes for TFTGLCD Panel, FastIO (MarlinFirmware#19614) * Restore correct STM32 port-bits code (MarlinFirmware#19678) * [cron] Bump distribution date (2020-10-11) * Fix various errors, warnings in example config builds (MarlinFirmware#19686) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * [cron] Bump distribution date (2020-10-12) * [cron] Bump distribution date (2020-10-13) * Simple bool in soft_endstops_t * Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (MarlinFirmware#19734) * [cron] Bump distribution date (2020-10-14) * [cron] Bump distribution date (2020-10-15) * Fix mega2560ext environment (MarlinFirmware#19730) * Watchdog Refresh for LVGL Asset Load (MarlinFirmware#19724) * TFT followup fixes (MarlinFirmware#19710) * If needed, home before G34 (MarlinFirmware#19713) * Add NUCLEO-F767ZI dev board (MarlinFirmware#19373) Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com> * Don't define IS_ULTIPANEL empty * Fix HAL/STM32 FastIO for analog pins (MarlinFirmware#19735) * Fix SAMD Serial name macro (MarlinFirmware#19765) * Marlin 2.0.7.2 * Update "Bug Report" template (MarlinFirmware#19906) * Fix bilinear_line_to_destination definition See MarlinFirmware#19431 * Fix extraneous Linear Advance DIR change (MarlinFirmware#20131) * Fix bad SET_FAST_PWM_FREQ calls (MarlinFirmware#20227) * Set "lcd_move_e" index to fix the label (MarlinFirmware#20263) * Help hosts when password-locked (MarlinFirmware#20348) * Fix TMC_HOME_PHASE divide by zero (MarlinFirmware#20368) * Fix TEMP_0_TR_ENABLE * Fixes for TFTGLCD (MarlinFirmware#20734) * Fix PR template, lock action Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com> * Ignore M22 during SD print * Trust XY after Quiet Probing short sleep (MarlinFirmware#21237) * Clean up labels on close * Token for "Clean Closed" action (MarlinFirmware#21320) * Remove one label at a time * Emojis and donate link * Add emojis * Change issue templates to YML * Enhance workflows * Auto-label Feature Requests (MarlinFirmware#21348) * Fix bool++ warning * Fix Hotend-abort-on-idle Check (MarlinFirmware#21535) * Sanity Check newer Configs too (MarlinFirmware#21550) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Keep 'confirmed bug' open * Fix check-pr action * 'issue_body' obsolete in templates * Update Issue Templates (MarlinFirmware#21702) * Fix SDIO buffer alignment (MarlinFirmware#21396) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> Co-authored-by: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Co-authored-by: Haxk20 <16738302+Haxk20@users.noreply.github.com> Co-authored-by: Neskik <axel.gouverneur@gmail.com> Co-authored-by: Jesse S <jschmidt@aerospike.com> Co-authored-by: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Co-authored-by: Jason Smith <jason.inet@gmail.com> Co-authored-by: ManuelMcLure <manuel@mclure.org> Co-authored-by: ellensp <ellensp@hotmail.com> Co-authored-by: Marcio T <mlt4356-github@yahoo.com> Co-authored-by: mmajoor <m.majoor@majority.nl> Co-authored-by: Zachary Annand <baconfixation@gmail.com> Co-authored-by: Victor Oliveira <rhapsodyv@gmail.com> Co-authored-by: tovam <tovam@users.noreply.github.com> Co-authored-by: enigmaquip <enigmaquip@users.noreply.github.com> Co-authored-by: cosmoderp <36945803+cosmoderp@users.noreply.github.com> Co-authored-by: deram <deram@iki.fi> Co-authored-by: jahartley <52391697+jahartley@users.noreply.github.com> Co-authored-by: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com> Co-authored-by: Cole Markham <github@themarkhams.us> Co-authored-by: qwewer0 <57561110+qwewer0@users.noreply.github.com> Co-authored-by: makerbase <4164049@qq.com> Co-authored-by: Chris Pepper <p3p@p3psoft.co.uk> Co-authored-by: riodoro1 <bialek.rafal@gmail.com> Co-authored-by: Jason Smith <20053467+sjasonsmith@users.noreply.github.com> Co-authored-by: Luke Harrison <looxonline@gmail.com> Co-authored-by: Trocololo <isanchez@neuda.net> Co-authored-by: Siana Gearz <siana.sg@live.de> Co-authored-by: Tanguy Pruvot <tpruvot@users.noreply.github.com> Co-authored-by: Emperor <leetspeak@me.com> Co-authored-by: Serhiy-K <52166448+Serhiy-K@users.noreply.github.com> Co-authored-by: Pavel Melnikov <positron96@gmail.com> Co-authored-by: Nick <nick@n-wells.co.uk> Co-authored-by: Roman Moravčík <roman.moravcik@gmail.com> Co-authored-by: Ilya <xxorza@gmail.com> Co-authored-by: Stéphane <43587190+stef-ladefense@users.noreply.github.com> Co-authored-by: swissnorp <67485708+swissnorp@users.noreply.github.com> Co-authored-by: bilsef <bilsef1@gmail.com> Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box> Co-authored-by: Ryan V1 <55478432+V1EngineeringInc@users.noreply.github.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com> Co-authored-by: Speaka <48431623+Speaka@users.noreply.github.com> Co-authored-by: Cory Ory <ace@ac3-servers.eu> Co-authored-by: Mathew Winters <mathew@winters.org.nz> Co-authored-by: signetica <66766598+signetica@users.noreply.github.com> Co-authored-by: ladismrkolj <ladismrkolj@gmail.com> Co-authored-by: Samantaz Fox <coding@samantaz.fr> Co-authored-by: 石立枫 <49380822+FLYmaker@users.noreply.github.com> Co-authored-by: andreibobirica <39415547+andreibobirica@users.noreply.github.com> Co-authored-by: shahab <32130261+SHBnik@users.noreply.github.com> Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com> Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com> Co-authored-by: phcay <58492957+phcay@users.noreply.github.com> Co-authored-by: Simone Primarosa <simonepri@outlook.com> Co-authored-by: Luu Lac <45380455+shitcreek@users.noreply.github.com> Co-authored-by: ldursw <37294448+ldursw@users.noreply.github.com>
Description
Earlier changes to the STM32F1 serial ISR has eliminated hanging due to serial overflows when using serial 1-5 for Marlin or DGUS communication.
These changes missed the following two usages of Serial, which could still hang:
Serial1
in its cpp file.To resolve this, several changes were made:
MALYAN_LCD_SERIAL_PORT
toConfiguration.h
.HAL.h
to handle this new port like it does for other ports which may control the printer.MSerial
instead ofSerial
.Serial
classes, since they can cause the board to hang.Benefits
Avoid potentially unsafe hangs when using hardware serial for a Malyan LCD or TMC UART communication.
Configurations
These configurations are for an SKR E3 DIP with TMC 2209 drivers and a Malyan LCD attached to the TFT port.
Using this I was able to reproduce hangs while printing prior to this change, even though this is using SoftwareSerial for the TMC Drivers.
Configurations_Malyan.zip
Related Issues
#18358