[2.0.x][LPC1768][FIX] NUM_DIGITAL_PINS was negative, fixes PWM, arduino io functions, M42, M43, M226, probably also Servo, some LCD, soft spi, SoftwareSerial, ... may be others
G26 uses logic that looks like:
```
ex = _GET_MESH_X(i + 1) - (SIZE_OF_INTERSECTION_CIRCLES - (SIZE_OF_CROSSHAIRS));
```
The Bi-Linear macros need parenthesis to work correctly.
Travis is having problems at: https://github.com/MarlinFirmware/Marlin/pull/8560
So... doing a direct commit to get things correct. Bugfix_v1.1.x does not have this bug. Nothing needs to be done to that branch.
These changes may need to be warmed over. I tried to fix things with
the least amount of disruption. I just wanted to get the bugfix_v2.0.0
branch working for people again.
include LPC1768 syntax for M42
couple more pin_t changes
consistency
change M42 to R, P format
Revert "change M42 to R, P format"
This reverts commit 01f12f579ec9ccc1bb9126e68d2c86449e9b7edf.
This is a non-intuitive change. @oldmcg says in this post https://github.com/MarlinFirmware/Marlin/issues/7572#issuecomment-340641207 that using DELTA_PRINTABLE_RADIUS is better than DELTA_PROBABLE_RADIUS for setting the probe limits. This is because the automatic probe code checks all locations for being reachable by the probe prior to doing the probe.
LPC1768 VIKI2 & RRDFG are working
looks like all SPIs are working
library change
sh1106 locks up
fixed lockup, started I2C SW com
pretty
re-org
restore a few files
make library happy
switched HAL version of rrd
fix travis error
travis error fixes
another travis fix
cleanup
minor update
one more
correct spacing in platformio.ini
- Fix G26 Circle Drawing.
- Add default extrusion settings so machine can print lines on print bed
- Yet to be done: Get LCD Menu's to use these settings.
* 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
* 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.
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.
Because of the Re-ARM card's pinout there is only one SPI connected to
the RepRap Discount Full Graphic LCD display. The LCD responds to ANY
SCK transitions no matter if it's enable is inactive. The result is
garbage (usually bars) on the LCD display whenever there is SD card
activity.
This code minimizes this by only accessing the SD card when changing
directory levels if :
SDCARD_SORT_ALPHA is enabled
SDSORT_USES_RAM is true
SDSORT_CACHE_NAMES is true
The code changes result in file names being pulled from the ALPHA SORT
memory array rather than the SD card.
The code also gives the file count and file index functions their own
variables. When they shared a common variable the index function
sometimes resulted in the file count being short by 1.
=======================================================================
cardreader.cpp & pins_RAMPS_RE_ARM.h changes
Added another condition to cardreader.cpp to enable getting file names
only from RAM.
pins_RAMPS_RE_ARM.h :
Added comments about the SD card accesses and the LCD display
Combined all versions into this one.
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
* Add Max7219 LED Matrix Debug Support
The Max7219 8x8 LED Matrix's are very helpful for debugging new code.
And for that matter, just trying to maximize printer settings without
causing stuttering.
The displays are very inexpensive (under $2.00 with shipping) and
provide a lot of help when trying to debug complicated code.
* Try to keep Makefile up to date.
Probing with the effector in the printing area, but an eccentric probe (e.g. allen key) outside it but still touching the bed gives meaninfull information for calibration. Since calibration is most accurate when probing as close to the towers as possible the testing was way to restrictive hence this fix.