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
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
* 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
* 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