Commit graph

18 commits

Author SHA1 Message Date
etagle 0566badcef Add memory barrier, optimal interrupt on-off
Disabling an ISR on ARM has 3 instructions of latency. A Memory barrier is REQUIRED to ensure proper and predictable disabling. Memory barriers are expensive, so avoid disabling if already disabled (See https://mcuoneclipse.com/2015/10/16/nvic-disabling-interrupts-on-arm-cortex-m-and-the-need-for-a-memory-barrier-instruction/)
2018-05-20 02:39:34 -05:00
Scott Lahteine 99ecdf59af Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine a1062eec5b
Better handling of DELAY_NS and DELAY_US (#10716)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 08:34:04 -05:00
Roxy-3D c2c02bdc67
Change Max7219 coordinates to traditional (X,Y) 2018-05-05 16:08:54 -05:00
Scott Lahteine 212e52e485 Basic delay for Max7219 on ARM 2018-04-27 00:41:29 -05:00
Karl Andersson 58ca3be1ec delayMicroseconds() cannot be called in critical section (#10535)
on the STM32 platform
2018-04-26 14:31:01 -05:00
Luc Van Daele 646aa20b43 Overhaul of G33 Delta Calibration (#8822) 2018-04-11 21:14:48 -05:00
Roxy-3D 26cc12eaa4 Resolve corruption of Max7219 Debug LED Matrix 2018-04-08 21:26:36 -05:00
Roxy-3D f5f1b069ad
Convert UBL mesh tilting to all use the same algorithm (#9204)
A number of regressions were patched also. The UBL G29 P2 and P4 Press and Hold had stopped working. It is very possible this is broken in the bugfix_v1.1.x branch also.

The main purpose of the Pull Request is to get the 3-Point mesh tilting to use the LSF algorithm just like the grid based mesh tilt. This simplifies the logic and reduces the code size some what. But the real reason to do it is the 3-Point case can be solved exactly. And by feeding these numbers into the LSF algorithm it provides a way to check all that code for 'correctness'.
2018-01-16 11:08:00 -06:00
Scott Lahteine 1ce0fb336b Patch Max7219_LED_Set input args 2017-11-20 21:15:15 -06:00
Scott Lahteine 32512332df Apply some formatting 2017-11-18 03:12:30 -06:00
Scott Lahteine d48cb6bf41 Apply coding standards to Max7219 2017-11-17 15:32:21 -06:00
Scott Lahteine 50f09cc029 Miscellaneous cleanup 2017-11-16 00:47:16 -06:00
Scott Lahteine ada90f7335 Clean up trailing spaces 2017-10-26 23:33:43 -05:00
Roxy-3D 3f5f39576b Reprint option for last SD Memory card file (#8106)
* Re-Print of same SD Memory Card file with single click

* Re-Print of same SD Memory Card file with single click
* This is the bugfix-v2.0.0 version of  https://github.com/MarlinFirmware/Marlin/pull/8104
2017-10-26 15:50:18 -05:00
Roxy-3D 6cb26c98c8 Fix Baby Stepping on 32-Bit platforms (#8001)
Also, Max7219 debug code was used for this effort.   It has been
improved and hardened.
2017-10-16 16:29:37 -05:00
Roxy-3D 0e260c6c1d Get FolgerTech i3-2020 working again with 32-bit platforms (#7944)
Setup FolgerTech i3-2020 Configuration files as a reference platform for
32-Bit work.

Also fix MAX7219 debug lights on 32-bit platforms.
2017-10-11 15:23:04 -05:00
Scott Lahteine 8fbb833de9 Encapsulate RGB(W) LEDs 2017-09-21 16:26:46 -05:00