Commit Graph

42 Commits

Author SHA1 Message Date
LinFor
a84e3d1b80 Use native ADC resolution where possible (#15719) 2019-11-06 17:49:17 -06:00
Chris Pepper
b9116d4050
LPC176x Framework update (#15722)
Changes required for compatibility with framework-arduino-lpc176x 0.2.0
2019-11-03 02:34:09 +00:00
Scott Lahteine
139b7196a0
Watchdog cleanup (#15283) 2019-09-29 17:57:29 -05:00
Scott Lahteine
f01f0d1956 Drop C-style 'void' argument 2019-09-16 20:31:21 -05:00
Scott Lahteine
8d036e94bf Combine channel-based SPI headers 2019-09-05 17:09:24 -05:00
Scott Lahteine
75efa3cdac
Reorganize HAL (#14832) 2019-09-02 19:49:58 -05:00
Scott Lahteine
fb579212ea Reduce unused function warnings 2019-08-06 04:56:17 -05:00
Robby Candra
5bc2fb022c THERMAL_PROTECTION_GRACE_PERIOD is obsolete (#14798) 2019-08-05 20:33:15 -05:00
Chris Pepper
b6095fd084
Reduce default LPC176x ADC lowpass filtering 2019-07-25 00:40:51 +01:00
Scott Lahteine
4cc83b6330 Allow THERMAL_PROTECTION_GRACE_PERIOD override
Co-Authored-By: MarcelMo <marcelmo@users.noreply.github.com>
2019-07-18 23:38:03 -05:00
Scott Lahteine
a2ba0aaaac
HAL include and other adjustments (#14525) 2019-07-08 23:42:29 -05:00
Scott Lahteine
93cd66ac11 Tweaky change from (C) to (c) 2019-06-27 23:58:16 -05:00
Scott Lahteine
6664b90bbb
Init servo pins in HAL_init (#14425) 2019-06-27 16:29:17 -05:00
Scott Lahteine
9853331b34 Fix temp init, loosen ADC grace period 2019-05-05 22:55:03 -05:00
Scott Lahteine
e7682eea42
Use Arduino.h include wrapper (#13877) 2019-05-02 00:45:50 -05:00
Scott Lahteine
b6279abd30 Better THERMAL_PROTECTION_GRACE_PERIOD
See #13783
2019-04-27 14:40:09 +02:00
Kajetan Rzepecki
875e673a8c Add HAL-based thermal protection grace period for all heaters (#13778) 2019-04-21 20:50:32 -05:00
Chris Pepper
ffc2c2d7c5 Move FAST_PWM_FAN code to HALs (#13491) 2019-03-26 01:03:23 -05:00
Chris Pepper
b0553d2d97 Add M997 support and simple implementation for LPC176x (#13281) 2019-03-01 20:11:50 -06:00
Scott Lahteine
0feeef2604 Update copyright in headers 2019-02-12 15:30:11 -06:00
Scott Lahteine
f5eab912ed
Apply #pragma once, misc cleanup (#12322)
* Apply #pragma once in headers
* Adjust some thermistors formatting
* Misc cleanup and formatting
2018-11-04 02:25:55 -06:00
Ludy
44369d536a Use millis_t where needed (#12152) 2018-10-20 23:21:27 -05:00
Christopher Pepper
254b68fe2c servo update 2018-10-14 18:43:48 +01:00
Andy Shaw
870bfd08f5 usb and sdcard sharing improvements
* Add traceback after watchdog timeout

Add the cpability to perform a traceback following a watchdog timeout.

* Enhanced hardware SPI

Allow use of either SSP0 or SSP1.
Ensure that no data is left in I/O buffers after calls to enable sharing of SSP hardware.

* Make flash emulation of eeprom the default

Make use of flash for eeprom storage the default. This means that usage of eeprom will not cause USB drive mount/unmount operations.

* Allow sharing of SD card

SD card I/O operations from the USB stack take place in idle loop, rather than at interrupt time. Allowing sharing of the SPI bus.

New configuration options to allow usage of the SD card to be specified.

* Fix problem with hardware SPI pins
2018-10-14 18:43:48 +01:00
Christopher Pepper
5ddf52d58e [HAL][LPC176x] Pull out framework into separate repository
Framework and build platform now located at https://github.com/p3p/pio-framework-arduino-lpc176x and https://github.com/p3p/pio-nxplpc-arduino-lpc176x respectively

fix mkssbase leds

move hardware serial

remove hardware/software serial

Hardware Serial extraction

HardwareSerial ISRs

fix disabled serial2 causing Serial object to link

move usb devices out to framework

separate out adc/pwm peripheral function from hal.cpp

fix includes

remove unused pwm init

move adc

HAL header update

templated filtered adc

LPC1769 platform
2018-10-14 18:43:48 +01:00
Scott Lahteine
ad21a4f07b Tweaks to HAL format and order 2018-09-28 15:59:50 -05:00
Dave Johnson
c64199941e Compile only selected PIO environment (#11519) 2018-08-14 03:28:52 -05:00
Scott Lahteine
15d68cb496 Pre-override of ST7920 delays before HAL.h 2018-07-26 23:33:18 -05:00
Andy Shaw
624986d423 Ensure ADC conversion is complete before reading (#11336)
The current Marlin implementation relies on a timer interrupt to start the ADC conversion and read it. However in some circumstances the interrupt can be delayed resulting in insufficient time being available for the ADC conversion. This results in a bad reading and false temperature fluctuations. These changes make sure that the conversion is complete (by checking the ADC hardware via the HAL) before reading a value.

See: https://github.com/MarlinFirmware/Marlin/issues/11323
2018-07-26 03:59:19 -05:00
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
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
Chris Pepper
cc6d41e1d3 Use a macro for HAL header redirection (#10380) 2018-04-12 20:25:08 -05:00
Scott Lahteine
90fa423737
Preliminary cleanup of #include structure (#9763) 2018-02-23 00:52:52 -06:00
Scott Lahteine
799e3b2b40 LPC1768 HAL formatting/comments 2018-02-22 14:36:17 -06:00
teemuatlut
5c69d45f5b [2.0.x] TMC2130 support for LPC platform (#9114) 2018-02-01 21:49:40 -06:00
Chris Pepper
f875f49caa [2.0.x] LPC1768: Fix: Serial pins disabled correctly when in use (#9193) 2018-01-22 01:54:41 -06:00
Christopher Pepper
1e65562d55 LPC1768: HAL: only initialise used HardwareSerial ports
Misc formatting
2018-01-15 22:00:59 +00:00
Thomas Moore
f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
Scott Lahteine
8836623e0f Fix sq/min/max macros after platform headers 2017-11-19 15:43:39 -06:00
Thomas Moore
51fafccc16 [2.0.x] Enable hardware serial ports on LPC1768 (#8004)
* Enable hardware serial ports on LPC1768

* Fix compilation errors with other HALs

* FIx order of includes in LPC1768 HAL main.cpp

* Add support for RX_BUFFER_SIZE and TX_BUFFER_SIZE options in Configuration_adv.h
2017-10-24 17:28:33 -05:00
Scott Lahteine
358656acc3 Tweak HAL_adc_start_conversion 2017-09-27 10:41:27 -05:00
Christopher Pepper
44b0c186a6 HAL for Re:ARM (LPC1768) architecture 2017-08-31 18:21:38 -05:00