This repository has been archived on 2022-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
Marlin-Artillery-M600/Marlin/src/HAL/HAL_STM32F1
Eduardo José Tagle d3c02410a8 [2.0.x] Small assorted collection of fixes and improvements (#10911)
* 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
2018-06-01 19:02:22 -05:00
..
endstop_interrupts.h Fix interrupt-based endstop detection 2018-05-20 07:10:24 -05:00
fastio_Stm32f1.h HAL FastIO cleanup and fixes 2018-04-26 00:40:16 -05:00
HAL.cpp Additional temp-oriented improvements 2018-05-02 08:43:22 -05:00
HAL.h [2.0.x] Small assorted collection of fixes and improvements (#10911) 2018-06-01 19:02:22 -05:00
HAL_Servo_Stm32f1.cpp delay(SERVO_DELAY) => safe_delay(servo_delay[servo_index]) 2018-05-28 03:44:32 -05:00
HAL_Servo_Stm32f1.h Allow libServo::attach to work on Teensy 3.5/3.6 2018-05-28 20:56:24 -05:00
HAL_spi_Stm32f1.cpp Use a macro for HAL header redirection (#10380) 2018-04-12 20:25:08 -05:00
HAL_timers_Stm32f1.cpp Smarter MIN, MAX, ABS macros 2018-05-13 04:52:56 -05:00
HAL_timers_Stm32f1.h Reorder HAL timer header items 2018-05-13 16:50:39 -05:00
persistent_store_flash.cpp Add MarlinSettings::validate() 2018-01-05 14:35:24 -06:00
persistent_store_impl.cpp Remove stray ` from STM32F1 HAL 2018-02-14 01:06:37 -06:00
pinsDebug.h Use a macro for HAL header redirection (#10380) 2018-04-12 20:25:08 -05:00
README.md Update readme.md 2017-12-11 23:14:13 -06:00
SanityCheck.h Add sanity checks for EMERGENCY_PARSER 2018-04-24 09:24:26 -05:00
spi_pins.h Changes to STM32F1 HAL (#8833) 2017-12-20 16:16:36 -06:00
stm32f1_flag_script.py Add platformio support for stm32 (#8246) 2017-11-06 23:03:59 -06:00
watchdog_Stm32f1.cpp Apply some formatting 2017-11-18 03:12:30 -06:00
watchdog_Stm32f1.h snapshot 2018-02-03 21:28:05 -06:00

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