* Misc fixes and improvements - Get rid of most critical sections on the Serial port drivers for AVR and DUE. Proper usage of FIFOs should allow interrupts to stay enabled without harm to queuing and dequeuing. Also, with 8-bit indices (for AVR) and up to 32-bit indices (for ARM), there is no need to protect reads and writes to those indices. - Simplify the XON/XOFF logic quite a bit. Much cleaner now (both for AVR and ARM) - Prevent a race condition (edge case) that could happen when estimating the proper value for the stepper timer (by reading it) and writing the calculated value for the time to the next ISR by disabling interrupts in those critical and small sections of the code - The problem could lead to lost steps. - Fix dual endstops not properly homing bug (maybe). * Set position immediately when possible |
||
---|---|---|
.. | ||
endstop_interrupts.h | ||
fastio_Stm32f1.h | ||
HAL.cpp | ||
HAL.h | ||
HAL_Servo_Stm32f1.cpp | ||
HAL_Servo_Stm32f1.h | ||
HAL_spi_Stm32f1.cpp | ||
HAL_timers_Stm32f1.cpp | ||
HAL_timers_Stm32f1.h | ||
persistent_store_flash.cpp | ||
persistent_store_impl.cpp | ||
pinsDebug.h | ||
README.md | ||
SanityCheck.h | ||
spi_pins.h | ||
stm32f1_flag_script.py | ||
watchdog_Stm32f1.cpp | ||
watchdog_Stm32f1.h |
This HAL is for STM32F103 boards used with libmaple/stm32duino Arduino core.
This HAL is in development. Currently has been tested in Malyan M200 (103CBT6), Chitu 3d (103ZET6), and custom boards(103VET6).
The stm32 core needs a modification in the file util.h to avoid conflict with Marlin macros for Debug.
Since only 1 file needs change in the stm32duino core, it's preferable over making changes to Marlin.
After these lines: <> #else #define ASSERT_FAULT(exp) (void)((0)) #endif <>
Add the following 3 lines: <> #undef DEBUG_NONE #undef DEBUG_FAULT #undef DEBUG_ALL <>
Main developers:
Victorpv xC000005
Most up to date repository for this HAL:
https://github.com/victorpv/Marlin/tree/bugfix-2.0.x
PRs should only be sent to Marlin bugfix-2.0.x branch once tested in printing so not to introduce new bugs. For testing/dev, you can submit to the above branch