Firmware2/Marlin
Scott Lahteine c9e35004e7 pinsDebug with more features, uses less RAM
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
2017-04-06 14:46:28 -05:00
..
example_configurations Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
blinkm.cpp
blinkm.h
boards.h Board A4JP should be SCOOVO_X9H 2017-03-27 22:22:13 -05:00
buzzer.h fixed warning: ISO C++ forbids compound-literals 2016-10-22 11:23:16 -05:00
cardreader.cpp Additional cleanup of UBL code 2017-03-22 20:51:10 -05:00
cardreader.h Dynamic allocation for SDCARD_SORT_ALPHA 2017-02-14 21:37:25 -06:00
circularqueue.h Patch up CircularQueue 2016-08-02 18:57:15 -07:00
Conditionals_LCD.h Configurable delay for BLTouch servo emulation 2017-04-02 11:14:53 -05:00
Conditionals_post.h Fix: Thermal runaway if nonexistent bed's temp is set 2017-04-02 11:48:10 -05:00
Conditionals.h Make Conditionals.h a catch-all for old configs 2016-07-30 04:25:30 -07:00
Configuration_adv.h G38 optional double touch 2017-03-22 15:08:49 -05:00
configuration_store.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
configuration_store.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
Configuration.h Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
dac_mcp4728.cpp Fix DAC current code 2016-10-17 15:17:57 -05:00
dac_mcp4728.h Fix DAC current code 2016-10-17 15:17:57 -05:00
digipot_mcp4451.cpp Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
dogm_bitmaps.h Updates u8glib's bmp2hex converter 2016-07-19 03:16:30 +01:00
dogm_font_data_6x9_marlin.h
dogm_font_data_HD44780_C.h
dogm_font_data_HD44780_J.h
dogm_font_data_HD44780_W.h
dogm_font_data_ISO10646_1_tr.h Improve M600 with timeout, wait for heatup. 2017-02-15 05:29:34 -06:00
dogm_font_data_ISO10646_1.h
dogm_font_data_ISO10646_5_Cyrillic.h
dogm_font_data_ISO10646_CN.h
dogm_font_data_ISO10646_Greek.h Change font decent to -1 for tt and gr 2016-11-26 02:29:23 +01:00
dogm_font_data_ISO10646_Kana.h
dogm_font_data_Marlin_symbols.h
duration_t.h Fix formatting of print time hours above one day 2017-03-01 18:55:25 +02:00
endstop_interrupts.h Add and apply WITHIN macro 2017-03-31 09:27:48 -05:00
endstops.cpp Merge pull request #5678 from Bob-the-Kuhn/G38-optional-double-tap 2017-04-02 10:32:04 -05:00
endstops.h guaranteed BLTouch detection 2017-02-11 12:01:34 -06:00
enum.h Implement the "manual" option for ABL 2017-03-31 11:50:18 -05:00
fastio.h Merge pull request #4894 from thinkyhead/rc_mightyboard_rev_e 2016-10-31 08:01:41 -05:00
G26_Mesh_Validation_Tool.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
hex_print_routines.cpp Various UBL cleanups and bug fixes 2017-03-30 17:09:49 -05:00
hex_print_routines.h Various UBL cleanups and bug fixes 2017-03-30 17:09:49 -05:00
language_an.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_bg.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_ca.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_cn.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_cz.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_da.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_de.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_el-gr.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_el.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_en.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_es.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_eu.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_fi.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_fr.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_gl.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_hr.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_it.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_kana_utf8.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_kana.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_nl.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_pl.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_pt_utf8.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_pt-br_utf8.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_pt-br.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_pt.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_ru.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_test.h Keep SIMULATE_ROMFONT only language.h 2016-08-15 19:11:31 -07:00
language_tr.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_uk.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_zh_CN.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language_zh_TW.h Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
language.h Immediate commands take precedence 2017-03-19 21:50:48 -05:00
M100_Free_Mem_Chk.cpp Further repairs to UBL, comments, spacing 2017-03-31 02:20:20 -05:00
macros.h Apply FIXFLOAT macro 2017-03-31 09:27:48 -05:00
Makefile Merge pull request #5994 from StefanBruens/fix_Makefile_errors 2017-03-29 06:32:08 -05:00
Marlin_main.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
Marlin.h Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
Marlin.ino TMC2130 Library: @teemuatlut replaces @makertum 2017-03-07 04:22:06 -06:00
MarlinConfig.h Merge pull request #4419 from AnHardt/sd2pinmap 2016-07-28 17:38:46 -07:00
MarlinSerial.cpp Patch MarlinSerial to match up with 32-bit version 2017-04-02 04:39:18 -05:00
MarlinSerial.h Patch MarlinSerial to match up with 32-bit version 2017-04-02 04:39:18 -05:00
mesh_bed_leveling.cpp Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
mesh_bed_leveling.h Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
nozzle.cpp Apply prior nozzle clean update 2017-03-06 03:14:59 -06:00
nozzle.h Added circle pattern for nozzle cleaning feature 2017-03-06 03:03:00 -06:00
pins_3DRAG.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_5DPRINT.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_AZTEEG_X1.h
pins_AZTEEG_X3_PRO.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_AZTEEG_X3.h Follow-up the PR #5087 (Fixed SERVO pins on Azteeg X3), etc 2016-10-27 06:46:03 +09:00
pins_BAM_DICE_DUE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_BQ_ZUM_MEGA_3D.h Updated bq Hephestos 2 example configuration 2016-12-13 09:26:07 +00:00
pins_BRAINWAVE_PRO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_BRAINWAVE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_CHEAPTRONIC.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_CNCONTROLS_11.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_CNCONTROLS_12.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_ELEFU_3.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_FELIX2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN3_MONOLITHIC.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN3_PLUS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN6_DELUXE.h
pins_GEN6.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN7_12.h Label analog pins in a similar way 2016-10-05 06:13:30 -05:00
pins_GEN7_13.h
pins_GEN7_14.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN7_CUSTOM.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_K8200.h
pins_K8400.h Disable SD Detect for K8400 2016-12-28 23:21:18 +01:00
pins_LEAPFROG.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGACONTROLLER.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGATRONICS_2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGATRONICS_3.h Remove unnecessary tabs and spaces 2016-12-16 00:21:32 +09:00
pins_MEGATRONICS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MELZI_MAKR3D.h #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
pins_MELZI.h #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
pins_MIGHTYBOARD_REVE.h Developer note in pins_MIGHTYBOARD_REVE.h 2016-10-31 08:22:39 -05:00
pins_MINIRAMBO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MINITRONICS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MKS_13.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MKS_BASE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_OMCA_A.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_OMCA.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_PRINTRBOARD_REVF.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_PRINTRBOARD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMBO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMPS_13.h pins_RAMPS_14.h => pins_RAMPS.h 2016-07-30 04:17:21 -07:00
pins_RAMPS_OLD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMPS.h Add TMC2130 support 2016-11-21 00:17:45 -06:00
pins_RIGIDBOARD_V2.h Default DAC values for RigidBoard V2 2017-02-09 22:39:00 -06:00
pins_RIGIDBOARD.h Remove BEEPER_PIN override in pins_RIGIDBOARD.h 2017-03-01 18:26:29 -06:00
pins_RUMBA.h Tweak "can not" => "can't" in RUMBA pins 2017-03-29 01:04:50 -05:00
pins_SAINSMART_2IN1.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SANGUINOLOLU_11.h Add Support TinyBoy2 OLED/Encoder panel 2017-03-31 04:05:34 -05:00
pins_SANGUINOLOLU_12.h #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
pins_SAV_MKI.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SCOOVO_X9H.h Board A4JP should be SCOOVO_X9H 2017-03-27 22:22:13 -05:00
pins_SETHI.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_STB_11.h #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
pins_TEENSY2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_TEENSYLU.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAIN_2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAKER_OLD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAKER.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins.h Board A4JP should be SCOOVO_X9H 2017-03-27 22:22:13 -05:00
pinsDebug_list.h pinsDebug with more features, uses less RAM 2017-04-06 14:46:28 -05:00
pinsDebug_Teensyduino.h Remove extraneous whitespace 2017-03-18 03:17:39 -05:00
pinsDebug.h pinsDebug with more features, uses less RAM 2017-04-06 14:46:28 -05:00
planner_bezier.cpp Improve planner kinematics, fix delta ABL 2016-10-09 13:32:46 -05:00
planner_bezier.h Append units to feedrate variables 2016-07-17 13:29:41 -07:00
planner.cpp Syntax cleanup 2017-04-01 21:53:46 -05:00
planner.h Cleanup to planner.cpp 2017-03-29 06:48:07 -05:00
platformio.ini Move platformio directories out of source tree 2016-10-08 13:45:26 -04:00
point_t.h Adds missing documentation to the point_t structure 2016-07-22 15:19:20 +01:00
printcounter.cpp Fix single-char echo and pinMode usage 2017-03-18 11:35:20 -05:00
printcounter.h Adds filamentUsed and longestPrint stats to PrintCounter 2016-07-16 12:12:27 +01:00
qr_solve.cpp Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
qr_solve.h Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
SanityCheck.h Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
Sd2Card.cpp Fix SD_CHECK_AND_RETRY condition 2017-02-11 23:55:56 -06:00
Sd2Card.h repair-software-spi 2016-07-31 15:50:42 +02:00
SdBaseFile.cpp Clear dir_t size, not pointer size 2016-10-25 22:59:40 -05:00
SdBaseFile.h
SdFatConfig.h repair-software-spi 2016-07-31 15:50:42 +02:00
SdFatStructs.h
SdFatUtil.cpp
SdFatUtil.h Cleanup SdFatUtil.h 2016-08-11 12:47:06 -07:00
SdFile.cpp
SdFile.h
SdInfo.h
SdVolume.cpp
SdVolume.h
serial.cpp Relocate serial macros and functions 2017-04-02 01:05:25 -05:00
serial.h Relocate serial macros and functions 2017-04-02 01:05:25 -05:00
servo.cpp Additional cleanup of UBL code 2017-03-22 20:51:10 -05:00
servo.h
speed_lookuptable.h Spacing, cleanup in speed_lookuptable.h 2016-12-19 14:52:45 -08:00
stepper_dac.cpp Remove extraneous whitespace 2017-03-18 03:17:39 -05:00
stepper_dac.h Cleanup of code style 2016-10-07 15:57:24 -05:00
stepper_indirection.cpp TMC2130 Library: @teemuatlut replaces @makertum 2017-03-07 04:22:06 -06:00
stepper_indirection.h TMC2130 Library: @teemuatlut replaces @makertum 2017-03-07 04:22:06 -06:00
stepper.cpp Various UBL cleanups and bug fixes 2017-03-30 17:09:49 -05:00
stepper.h First draft of Unified Stepper / E Advance ISR 2016-12-21 01:34:39 -08:00
stopwatch.cpp Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
stopwatch.h Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
temperature.cpp Fix: Thermal runaway if nonexistent bed's temp is set 2017-04-02 11:48:10 -05:00
temperature.h Fix: Thermal runaway if nonexistent bed's temp is set 2017-04-02 11:48:10 -05:00
thermistornames.h Add Thermistor 75: MGB18 silicon pad 2017-03-18 11:35:20 -05:00
thermistortable_1.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_2.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_3.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_4.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_5.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_6.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_7.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_8.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_9.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_10.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_11.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_12.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_13.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_20.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_51.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_52.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_55.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_60.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_66.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_70.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_71.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_75.h Add Thermistor 75: MGB18 silicon pad 2017-03-18 11:35:20 -05:00
thermistortable_110.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_147.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_998.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_999.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_1010.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortable_1047.h Split up thermistor tables 2016-12-19 14:47:54 -08:00
thermistortables.h Add Thermistor 75: MGB18 silicon pad 2017-03-18 11:35:20 -05:00
twibus.cpp Add and apply WITHIN macro 2017-03-31 09:27:48 -05:00
twibus.h M155=>M260, M156=>M261 2016-11-08 17:54:54 -06:00
types.h Adds types.h 2016-07-30 02:55:52 +01:00
ubl_G29.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
ubl_motion.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
ubl.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
ubl.h Adjust indentation in ubl.h 2017-04-06 05:36:16 -05:00
ultralcd_impl_DOGM.h Apply FIXFLOAT macro 2017-03-31 09:27:48 -05:00
ultralcd_impl_HD44780.h Apply FIXFLOAT macro 2017-03-31 09:27:48 -05:00
ultralcd_st7920_u8glib_rrd.h Distribute GLCD screen updates in time 2016-12-05 12:22:54 -06:00
ultralcd.cpp Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
ultralcd.h status_printf => lcd_status_printf_P 2017-04-02 01:05:25 -05:00
utf_mapper.h utf8-mapper for Turkish 2016-12-12 15:56:59 +01:00
utility.cpp Add and apply WITHIN macro 2017-03-31 09:27:48 -05:00
utility.h Replace ftostr62sign with ftostr62rj 2016-12-12 20:25:20 +01:00
vector_3.cpp Adjust vector_3 code with const, some optimization 2017-03-23 19:41:42 -05:00
vector_3.h Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
Version.h Document PROTOCOL_VERSION 2017-03-05 04:43:46 -06:00
watchdog.cpp Correct comment on watchdog timer 2016-12-19 22:27:28 -08:00
watchdog.h