Commit Graph

50 Commits

Author SHA1 Message Date
android444
16da5c62d0 Teensy 3.x fastio pullup (#10890) 2018-05-28 16:25:12 -05:00
Scott Lahteine
9b9b62b218 delay(SERVO_DELAY) => safe_delay(servo_delay[servo_index]) 2018-05-28 03:44:32 -05:00
android444
9c235ef821 [HAL]Add support for ST7920 - Teensy 3.x (#10872) 2018-05-27 03:36:57 -05:00
etagle
569df3fc0c Fix interrupt-based endstop detection
- Also implemented real endstop reading on interrupt.
2018-05-20 07:10:24 -05:00
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
37b15fe4cf Reorder HAL timer header items 2018-05-13 16:50:39 -05:00
Eduardo José Tagle
c1e5ebbc1e [2.0.x] AVR: Atomic bit set and clear of upper pin ports without critical section (#10502)
* AVR: Atomic bit set and clear

The critical section can be dropped, saving 3 cycles per access. Also simplified pin toggling for all ports.
2018-04-24 13:45:43 -05:00
Scott Lahteine
a3ce8a3fcd Add sanity checks for EMERGENCY_PARSER 2018-04-24 09:24:26 -05:00
Eduardo José Tagle
0c428a66d9 Proper AVR preemptive interrupt handling (#10496)
Also simplify logic on all ARM-based interrupts. Now, it is REQUIRED to properly configure interrupt priority. USART should have highest priority, followed by Stepper, and then all others.
2018-04-23 22:05:07 -05:00
Chris Pepper
cc6d41e1d3 Use a macro for HAL header redirection (#10380) 2018-04-12 20:25:08 -05:00
Bob-the-Kuhn
3c58ca181c [2.0.x] Correct step pulse width on LPC1768, DUE & Teensy35_36 (#10016) 2018-03-09 02:11:28 -06:00
Scott Lahteine
98d48fc731 Followup to HAL_timer_restrain
Followup to #9985
2018-03-07 22:18:37 -06:00
Scott Lahteine
d45f19d385 Remove Unicode from var name 2018-03-07 19:08:44 -06:00
Chris Pepper
a1a88ebabc HAL function to ensure min stepper interrupt interval (#9985) 2018-03-07 17:53:25 -06:00
Scott Lahteine
a810e585db Drop HAL_timer_set_count 2018-02-20 03:10:39 -06:00
Scott Lahteine
03d790451f
[2.0.x] HAL timer set/get count => set/get compare (#9581)
To reduce confusion over the current timer count vs. the compare (aka "top") value. Caution: this re-uses the function name, changing its meaning.
2018-02-10 20:42:00 -06:00
Scott Lahteine
b13099de3f General cleanup of HAL code 2018-02-02 03:37:15 -06:00
Bob-the-Kuhn
21179f8300 Fix the "slow" version of the G-code parser 2018-02-02 00:35:58 -06:00
teemuatlut
5c69d45f5b [2.0.x] TMC2130 support for LPC platform (#9114) 2018-02-01 21:49:40 -06:00
Scott Lahteine
2c18faf3e4 General cleanups for HAL 2018-01-15 02:46:37 -06:00
Scott Lahteine
ac368f2788 Add STEPPER_ISR_ENABLED() to HALs
Some also get a `HAL_timer_interrupt_enabled` function.
2018-01-14 21:07:10 -06:00
Thomas Moore
f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
Scott Lahteine
51e0f2bee3 Add MarlinSettings::validate() 2018-01-05 14:35:24 -06:00
Scott Lahteine
1c41de16d4 Trailing whitespace clean 2018-01-05 10:11:31 -06:00
revilor
959a2d2527 Add beginTransaction to HAL SPI (#9019) 2018-01-03 05:12:25 -06:00
Bob-the-Kuhn
adb9ecf3cc copy of PR #8990 2018-01-01 16:11:56 -06:00
Scott Lahteine
8b12371e45 Change some hex case 2017-12-15 15:47:22 -06:00
Scott Lahteine
6149b82119 Allow setting current timer counter 2017-12-10 18:38:53 -06:00
Scott Lahteine
82ef6b5242 Add an option to specify "pulse" timer 2017-12-10 18:38:53 -06:00
Scott Lahteine
b8bc965414 General cleanup HAL timers 2017-12-10 18:38:52 -06:00
Scott Lahteine
de3d3b9cb1 Put FORCE_INLINE before static 2017-12-08 00:46:22 -06:00
Thomas Moore
7bb1721f35 Fix _BV already defined warnings for Teensy 2017-11-24 22:34:39 -06:00
Scott Lahteine
c2fc78c3a8 #ifndef => #if !PIN_EXISTS 2017-11-22 16:28:52 -06:00
Scott Lahteine
8836623e0f Fix sq/min/max macros after platform headers 2017-11-19 15:43:39 -06:00
Scott Lahteine
550f1025f0 Try using <Arduino.h> everywhere 2017-11-19 14:23:02 -06:00
Scott Lahteine
32512332df Apply some formatting 2017-11-18 03:12:30 -06:00
Scott Lahteine
2246316605 Fix name collision. timer_t => hal_timer_t 2017-11-05 19:31:07 -06:00
Thomas Moore
9e699811d2 Make LPC1768 pinmapping not specific to Re-ARM (#8063)
* Merging early because of build failures.  See #8105

* Make LPC1768 pinmapping not specific to Re-ARM

* Add HAL_PIN_TYPE and LPC1768 pin features

* M43 Updates

* Move pin map into pinsDebug_LPC1768.h

* Incorporate comments and M226

* Fix persistent store compilation issues

* Update pin features

* Update MKS SBASE pins

* Use native LPC1768 pin numbers in M42, M43, and M226
2017-10-26 13:37:26 -05:00
Roxy-3D
572cf0ec95 UBL able to generate mesh and save and load it on 32-bit platforms (#8015)
* Get UBL Mesh Generation, Mesh Save & Mesh Load working with 32-Bit platforms

* clean up read_data() and write_data() for non-LPC1768 HAL's

* Get read_data() and write_data() return codes consistent

All HAL's read_data() and write_data() return false if they succeed.

* Get read_data() and write_data() return codes to be consistent

Make read_data() and write_data() return true if an error happens.

* Say UBL is now checked out on machine types in default Configuration.h file.
2017-10-18 14:00:29 -05:00
Scott Lahteine
8315a8a716 Apply fixes for DUE
Alternative to #7882. If F_CPU is greater than 1000 it can be evenly divided by 8. Over 10000, 16; over 100000, 32; over 1 million, 64; etc.
2017-10-07 14:31:18 -05:00
Scott Lahteine
c2b1d51f16 HAL whitespace and style cleanup 2017-09-27 10:55:36 -05:00
Scott Lahteine
358656acc3 Tweak HAL_adc_start_conversion 2017-09-27 10:41:27 -05:00
Scott Lahteine
0cb4d25431 Tweaks to Servo classes 2017-09-27 10:41:27 -05:00
Scott Lahteine
54326fb06a HAL updates 2017-09-21 15:52:17 -05:00
Scott Lahteine
2af62a5d8d Apply spacing, const to some HAL code 2017-08-31 18:33:07 -05:00
Scott Lahteine
105324b85b Match the license headers in other files 2017-08-31 18:31:07 -05:00
Chris Pepper
61c0a10efe Revert "SPI API platform implementation stubs" (#7416)
This reverts commit 2dfa6ca72a2e8d43caf4932ca0d35792f0638917.

Revert "Base HAL SPI Changes"

This reverts commit 2afc521b8b6a81b2281a038f1b99a69f4a008e64.

Revert "Initial HAL SPI API"

This reverts commit 58f7ffe09ab5bc034b6510f5204f8d342138abaa.
2017-08-31 18:31:07 -05:00
Bob-the-Kuhn
84a11cfedc HAL compatible pinsDebug & misc
Re-ARM has been tested.  AVR has not been tested.

1) moved all cpu specific items to files in the low level HAL directory
for that CPU (pinDebug_Re-ARM.h & pinsDebug_AVR_8_bit.h

2) added pinsDebug.h to the top level directory

3) modified HAL_pinsDebug.h to select the correct support file for the
selected CPU

4) Patched sanitycheck to stop throwing false errors.  A long term
solution will be done

5) misc changes & bug fixes
arduino.cpp - included macros.h to fix a missing definition
pinmap_re-arm.h - removed a duplicated line.
pinmapping.h - changed from "ENABLED" to "defined" to fix a compile
error

======================================================================

split SanityCheck up, improve pinsDebug system

======================================================================

switch to latest pins_RAMPS_RE_ARM.h
2017-08-31 18:23:44 -05:00
Christopher Pepper
32e759c928 SPI API platform implementation stubs 2017-08-31 18:23:44 -05:00
teemuatlut
f3e562e46e HAL for 32-bit Teensy (3.5, 3.6) architecture 2017-08-31 18:15:07 -05:00