I've just uploaded a major change to pinsDebug.
The big change was creating an array in FLASH that contained every
active pin definition. That reduced the RAM memory usage considerably
but increased the FLASH usage.
Creating the array requires going through the pin list twice. Rather
than having two copies of it in the code I moved the list out to another
file (pinsDebug_list.h) and then just did two #includes.
From the user’s view they’ll see the following changes:
1. Now reports all the names assigned to a pin
2. The port is now reported in addition to the pin number.
3. When PWM0A & PWM1C share a pin, both PWMs are reported
4. More PWM/Timer info is reported
One new item that may cause some concern is the usage of the LINE
predefined preprocessor macro. It may not be available if the Arduino
IDE goes to a different compiler.
Includes support for 1284 & 1286 families.
Memory usage changes when enabling PINS_DEBUGGING:
ATmega2560
FLASH
. without 52576
. with new 64592
. with old 62826
. new-out 12016
. old-out 10250
. new-old 1766
.
RAM
. without 2807
. with new 2875
. with old 3545
. new-out 68
. old-out 738
. new-old -670
==================================================================
minor changes - mostly formatting
1) added newline to end of teensyduino file
2) changed flag name from TEENSYDUINO to TEENSYDUINO_IDE. Got warnings
about redefining TEENSYDUINO
3) removed some trailing spaces
reduce PROGMEM size & update pin list
Reduced PROGMEM usage by
1) converting often used macro to a function
2) moved as much as possible into the function
This required creating two arrays of address pointers for the PWM
registers.
==================================================================
update with new M3, M4, M5 pin names
==================================================================
report I/O status for unused/unknown pins
Since run_probe was altered to return the probe Z position rather than the nozzle Z position bilinear levelling has been broken because the Z-offset has been applied twice - once in the run_probe function, and then again in the G29 code for bilinear levelling.
The TB2 is a Indiegogo funded 3d printer. It uses a MKS SMELZI V1.0
main board (based on MELZI, i.e. Sanguinololu). I comes as a complete kit,
including display and panel.
Two variants exists, L10 and L16, with a height of 100 and 160 mm.
The heating function of the provided bed can enabled by soldering a
thermistor and some wires to it.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
The OLED is driven by an SSD1306, connected to the board via
I2C, the rotary encoder is connected to 3 GPIO pins.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>