This is the ONLY way to be able to override ISRs stolen by the Arduino Runtime, such as Serial or USB device interrupts. This feature is needed so Arduino modules can be replaced and enhanced.
* 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
* 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
* 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.
* Add files via upload
* Add files via upload
* Add files via upload
* Checked LCD / edited / revised pins_MKS_BASE.h
As requested :)
* Delete Configuration_adv.h
* Delete Configuration.h
* Deleted /Marlin/Marlin/src/config/examples/MksSbase/*.* and moved them to /Marlin/Marlin/src/config/examples/Mks/Sbase/*.*
* Add files via upload
This change initialize any data in eeprom.dat beyond the current file size to FF.
That way if eeprom.dat is deleted and created again, it doesn't take the old values or random ones, but rather starts with FF in all positions as a real brand new or erased eeprom.dat
Currently if you delete eeprom.dat and restart the board, the new file is created in the same sector with the same content, since FAT does not actually delete the data, just marks the sector as free. I tested by deleting the file, and then rebooting the board, and checking the file content.
The change can be tested in the same way, deleting, rebooting the board, and then the new content should be all FF.
If an eeprom file already exist with data on it, but smaller than E2END, it will be padded with FF on first access, so it will not have random or old content appended.
* fixed some include paths
* LPC1768: Fix Serial API
Add missing serial methods used if TX_BUFFER_SIZE is set
Change return value of HalSerial:read to match Arduino API
* LPC1768: add filters to ADC
This is to try and compensate for hardware issue and oversensitivity to noise
* LPC1768: remove the polling section of delayMicroseconds
* LPC1768: lock usb mass storage device while device accesses it.
Currently only applicable to persistent store,
The device always has priority and will unmount the sd card from the host, Windows then tries to automount again so it can look like the explorer window freezes. Linux Mint, by default, just closes the Nemo window.
* Add timeout to make sure if Serial never connects that Marlin still boots
* Remove unneeded ifdef CPU_32_BIT
In general the need for ifdef CPU_32_BIT blocks means that something is missing from the HAL API or a Platform, in this case HAL_TICKS_PER_US was missing from the AVR Platform
* LPC1768: relocate RE-ARM debug_extra_script.py
Adding files for STM32F1 HAL based on libmaple/stm32duino core.
Current persistent_store uses cardreader changes to be sent in separate
commit, but could be changed to use i2c eeprom.
HardwareSerial has been tested on Uart0 (debug header) and Uart3 (i2c connector)
Software Serial has been tested to work bi-directionally at 9600 and 115200
using pins 6 and 63 on J5, and unidirectionally (write only) at 250000.
The code used to test was Teemuatlut's tmc2208 patch, and a few small changes to main used to echo recieved chars back to a host pc.
Uses PWM1 to directly control pins 4, 6 & 11 (servo 0, 1 & 3) and PWM1
generated interrupts to control other pins.
Interupt control of the servo pins had too much jitter so switched all
that we could to PWM1 direct control. The PWM1 direct control pins have
less than 1 microsecond pulse width jitter while the interrupt
controlled ones can have 20+ microseconds of jitter.
Also added insurance to the servo code in the "disable servo after move"
section.
* LCD_UBL_memory_slot_corrections
Changed the memory slot edit function to work with the
`settings.calc_num_meshes()`
* Add a little more safety margin...
* More corrections
Error handling when the EEPROM is not available.
This reverts commit 2dfa6ca72a.
Revert "Base HAL SPI Changes"
This reverts commit 2afc521b8b.
Revert "Initial HAL SPI API"
This reverts commit 58f7ffe09a.
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