├── .gitignore ├── LCDFirmware ├── DWIN_SET │ ├── 000_boot_animation.bmp │ ├── 001_boot_animation.bmp │ ├── 002_boot_animation.bmp │ ├── 003_boot_animation.bmp │ ├── 004_boot_animation.bmp │ ├── 005_boot_animation.bmp │ ├── 006_boot_animation.bmp │ ├── 007_boot_animation.bmp │ ├── 008_boot_animation.bmp │ ├── 009_boot_animation.bmp │ ├── 010_boot_animation.bmp │ ├── 011_main_menu.bmp │ ├── 012_main_menu_pressed.bmp │ ├── 031 sd card.bmp │ ├── 032 sd card press.bmp │ ├── 033 print.bmp │ ├── 034 print press.bmp │ ├── 035 print config.bmp │ ├── 036 print config press.bmp │ ├── 037 tool menu.bmp │ ├── 038 tool menu press.bmp │ ├── 039 preheat.bmp │ ├── 040 preheat press.bmp │ ├── 041 move.bmp │ ├── 042 move press.bmp │ ├── 043 system menu.bmp │ ├── 044 system menu press.bmp │ ├── 045 pid.bmp │ ├── 046 pid press.bmp │ ├── 047 motor.bmp │ ├── 048 motor press.bmp │ ├── 049 filament.bmp │ ├── 050 filament press.bmp │ ├── 051 unload filament.bmp │ ├── 052 unload filament press.bmp │ ├── 053 load filament.bmp │ ├── 054 load filament press.bmp │ ├── 055 level 1.bmp │ ├── 056 level 2.bmp │ ├── 057 level 2 press.bmp │ ├── 058 lcd update mode.bmp │ ├── 059_statistics.bmp │ ├── 060_statistics_pressed.bmp │ ├── 061_auto_pid.bmp │ ├── 062_auto_pid_pressed.bmp │ ├── 063_temperature_graph.bmp │ ├── 064_temperature_graph_press.bmp │ ├── 065_auto_pid_graph.bmp │ ├── 066_pid_finished.bmp │ ├── 067_pid_finished_pressed.bmp │ ├── 068_thermal_runaway.bmp │ ├── 0_DWIN_ASC.HZK │ ├── 12_PYK_ALL_DGUS.BIN │ ├── 13Touch_Control_Config.bin │ ├── 14Variable_Config.bin │ ├── 22_Config.bin │ ├── 40_font.dzk │ └── CONFIG.txt ├── DWprj.hmi ├── DWprj.tft └── TFT │ ├── 000_boot_animation.bmp.tft │ ├── 001_boot_animation.bmp.tft │ ├── 002_boot_animation.bmp.tft │ ├── 003_boot_animation.bmp.tft │ ├── 004_boot_animation.bmp.tft │ ├── 005_boot_animation.bmp.tft │ ├── 006_boot_animation.bmp.tft │ ├── 007_boot_animation.bmp.tft │ ├── 008_boot_animation.bmp.tft │ ├── 009_boot_animation.bmp.tft │ ├── 010_boot_animation.bmp.tft │ ├── 011_main_menu.bmp.tft │ ├── 012_main_menu_pressed.bmp.bmp.tft │ ├── 012_main_menu_pressed.bmp.tft │ ├── 031 sd card.bmp.tft │ ├── 032 sd card press.bmp.tft │ ├── 033 print.bmp.tft │ ├── 034 print press.bmp.tft │ ├── 035 print config.bmp.tft │ ├── 036 print config press.bmp.tft │ ├── 037 tool menu.bmp.tft │ ├── 038 tool menu press.bmp.tft │ ├── 039 preheat.bmp.tft │ ├── 040 preheat press.bmp.tft │ ├── 041 move.bmp.tft │ ├── 042 move press.bmp.tft │ ├── 043 system menu.bmp.tft │ ├── 044 system menu press.bmp.tft │ ├── 045 pid.bmp.tft │ ├── 046 pid press.bmp.tft │ ├── 047 motor.bmp.tft │ ├── 048 motor press.bmp.tft │ ├── 049 filament.bmp.tft │ ├── 050 filament press.bmp.tft │ ├── 051 unload filament.bmp.tft │ ├── 052 unload filament press.bmp.tft │ ├── 053 load filament.bmp.tft │ ├── 054 load filament press.bmp.tft │ ├── 055 level 1.bmp.tft │ ├── 056 level 2.bmp.tft │ ├── 057 level 2 press.bmp.tft │ ├── 058 lcd update mode.bmp.tft │ ├── 059_statistics.bmp.tft │ ├── 060_statistics_pressed.bmp.tft │ ├── 061_auto_pid.bmp.tft │ ├── 062_auto_pid_pressed.bmp.tft │ ├── 063_temperature_graph.bmp.tft │ ├── 064_temperature_graph_press.bmp.tft │ ├── 065_auto_pid_graph.bmp.tft │ ├── 066_pid_finished.bmp.tft │ ├── 067_pid_finished_pressed.bmp.tft │ └── 068_thermal_runaway.bmp.tft ├── LICENSE ├── Marlin ├── .vs │ └── Marlin │ │ └── v14 │ │ └── .suo ├── Conditionals.h ├── Conditionals_LCD.h ├── Conditionals_post.h ├── Configuration.h ├── Configuration_adv.h ├── G26_Mesh_Validation_Tool.cpp ├── I2CPositionEncoder.cpp ├── I2CPositionEncoder.h ├── M100_Free_Mem_Chk.cpp ├── Makefile ├── Marlin.h ├── Marlin.ino ├── Marlin.vcxproj ├── Marlin.vcxproj.filters ├── MarlinConfig.h ├── MarlinSerial.cpp ├── MarlinSerial.h ├── Marlin_main.cpp ├── SanityCheck.h ├── Sd2Card.cpp ├── Sd2Card.h ├── SdBaseFile.cpp ├── SdBaseFile.h ├── SdFatConfig.h ├── SdFatStructs.h ├── SdFatUtil.cpp ├── SdFatUtil.h ├── SdFile.cpp ├── SdFile.h ├── SdInfo.h ├── SdVolume.cpp ├── SdVolume.h ├── Version.h ├── __vm │ └── .Marlin.vsarduino.h ├── bi3_plus_lcd.cpp ├── bi3_plus_lcd.h ├── blinkm.cpp ├── blinkm.h ├── boards.h ├── buzzer.h ├── cardreader.cpp ├── cardreader.h ├── circularqueue.h ├── configuration_store.cpp ├── configuration_store.h ├── dac_mcp4728.cpp ├── dac_mcp4728.h ├── digipot_mcp4018.cpp ├── digipot_mcp4451.cpp ├── dogm_bitmaps.h ├── 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.h ├── dogm_font_data_ISO10646_1_PL.h ├── dogm_font_data_ISO10646_1_tr.h ├── dogm_font_data_ISO10646_5_Cyrillic.h ├── dogm_font_data_ISO10646_CN.h ├── dogm_font_data_ISO10646_CZ.h ├── dogm_font_data_ISO10646_Greek.h ├── dogm_font_data_ISO10646_Kana.h ├── dogm_font_data_Marlin_symbols.h ├── duration_t.h ├── endstop_interrupts.h ├── endstops.cpp ├── endstops.h ├── enum.h ├── fastio.h ├── fastio_1280.h ├── fastio_1281.h ├── fastio_168.h ├── fastio_644.h ├── fastio_AT90USB.h ├── gcode.cpp ├── gcode.h ├── hex_print_routines.cpp ├── hex_print_routines.h ├── language.h ├── language_an.h ├── language_bg.h ├── language_ca.h ├── language_cn.h ├── language_cz.h ├── language_cz_utf8.h ├── language_da.h ├── language_de.h ├── language_el-gr.h ├── language_el.h ├── language_en.h ├── language_es.h ├── language_eu.h ├── language_fi.h ├── language_fr.h ├── language_gl.h ├── language_hr.h ├── language_it.h ├── language_kana.h ├── language_kana_utf8.h ├── language_nl.h ├── language_pl-DOGM.h ├── language_pl-HD44780.h ├── language_pl.h ├── language_pt-br.h ├── language_pt-br_utf8.h ├── language_pt.h ├── language_pt_utf8.h ├── language_ru.h ├── language_test.h ├── language_tr.h ├── language_uk.h ├── language_zh_CN.h ├── language_zh_TW.h ├── least_squares_fit.cpp ├── least_squares_fit.h ├── macros.h ├── mesh_bed_leveling.cpp ├── mesh_bed_leveling.h ├── nozzle.cpp ├── nozzle.h ├── pca9632.cpp ├── pca9632.h ├── pins.h ├── pinsDebug.h ├── pinsDebug_Teensyduino.h ├── pinsDebug_list.h ├── pinsDebug_plus_70.h ├── pins_3DRAG.h ├── pins_5DPRINT.h ├── pins_ANET_10.h ├── pins_AZTEEG_X1.h ├── pins_AZTEEG_X3.h ├── pins_AZTEEG_X3_PRO.h ├── pins_BAM_DICE_DUE.h ├── pins_BI3_PLUS.h ├── pins_BQ_ZUM_MEGA_3D.h ├── pins_BRAINWAVE.h ├── pins_BRAINWAVE_PRO.h ├── pins_CHEAPTRONIC.h ├── pins_CHEAPTRONICv2.h ├── pins_CNCONTROLS_11.h ├── pins_CNCONTROLS_12.h ├── pins_ELEFU_3.h ├── pins_FELIX2.h ├── pins_GEN3_MONOLITHIC.h ├── pins_GEN3_PLUS.h ├── pins_GEN6.h ├── pins_GEN6_DELUXE.h ├── pins_GEN7_12.h ├── pins_GEN7_13.h ├── pins_GEN7_14.h ├── pins_GEN7_CUSTOM.h ├── pins_K8200.h ├── pins_K8400.h ├── pins_LEAPFROG.h ├── pins_MEGACONTROLLER.h ├── pins_MEGATRONICS.h ├── pins_MEGATRONICS_2.h ├── pins_MEGATRONICS_3.h ├── pins_MELZI.h ├── pins_MELZI_MAKR3D.h ├── pins_MIGHTYBOARD_REVE.h ├── pins_MINIRAMBO.h ├── pins_MINITRONICS.h ├── pins_MKS_13.h ├── pins_MKS_BASE.h ├── pins_OMCA.h ├── pins_OMCA_A.h ├── pins_PRINTRBOARD.h ├── pins_PRINTRBOARD_REVF.h ├── pins_RAMBO.h ├── pins_RAMPS.h ├── pins_RAMPS_13.h ├── pins_RAMPS_OLD.h ├── pins_RIGIDBOARD.h ├── pins_RIGIDBOARD_V2.h ├── pins_RUMBA.h ├── pins_SAINSMART_2IN1.h ├── pins_SANGUINOLOLU_11.h ├── pins_SANGUINOLOLU_12.h ├── pins_SAV_MKI.h ├── pins_SCOOVO_X9H.h ├── pins_SETHI.h ├── pins_STB_11.h ├── pins_TEENSY2.h ├── pins_TEENSYLU.h ├── pins_ULTIMAIN_2.h ├── pins_ULTIMAKER.h ├── pins_ULTIMAKER_OLD.h ├── pins_ZRIB_V20.h ├── planner.cpp ├── planner.h ├── planner_bezier.cpp ├── planner_bezier.h ├── platformio.ini ├── point_t.h ├── printcounter.cpp ├── printcounter.h ├── qr_solve.cpp ├── qr_solve.h ├── serial.cpp ├── serial.h ├── servo.cpp ├── servo.h ├── softspi.h ├── speed_lookuptable.h ├── spi.h ├── stepper.cpp ├── stepper.h ├── stepper_dac.cpp ├── stepper_dac.h ├── stepper_indirection.cpp ├── stepper_indirection.h ├── stopwatch.cpp ├── stopwatch.h ├── temperature.cpp ├── temperature.h ├── thermistornames.h ├── thermistortable_1.h ├── thermistortable_10.h ├── thermistortable_1010.h ├── thermistortable_1047.h ├── thermistortable_11.h ├── thermistortable_110.h ├── thermistortable_12.h ├── thermistortable_13.h ├── thermistortable_147.h ├── thermistortable_2.h ├── thermistortable_20.h ├── thermistortable_3.h ├── thermistortable_4.h ├── thermistortable_5.h ├── thermistortable_51.h ├── thermistortable_52.h ├── thermistortable_55.h ├── thermistortable_6.h ├── thermistortable_60.h ├── thermistortable_66.h ├── thermistortable_7.h ├── thermistortable_70.h ├── thermistortable_71.h ├── thermistortable_75.h ├── thermistortable_8.h ├── thermistortable_9.h ├── thermistortable_998.h ├── thermistortable_999.h ├── thermistortables.h ├── twibus.cpp ├── twibus.h ├── types.h ├── ubl.cpp ├── ubl.h ├── ubl_G29.cpp ├── ubl_motion.cpp ├── ultralcd.cpp ├── ultralcd.h ├── ultralcd_impl_DOGM.h ├── ultralcd_impl_HD44780.h ├── ultralcd_st7920_u8glib_rrd.h ├── utf_mapper.h ├── utility.cpp ├── utility.h ├── vector_3.cpp ├── vector_3.h ├── watchdog.cpp └── watchdog.h ├── OriginalFirmwares ├── OriginalCocconCreateFirmware_fixed.zip ├── Originali3PlusFirmware_v2_18_fixed.zip ├── Originali3PlusFirmware_v3_fixed.zip └── Originali3PlusFirmware_v3_fixed_no_preselect.zip ├── README.md └── buildroot ├── bin ├── build_marlin ├── generate_version_header_for_marlin ├── opt_disable ├── opt_disable_adv ├── opt_enable ├── opt_enable_adv ├── opt_set ├── opt_set_adv ├── pins_set ├── restore_configs └── use_example_configs ├── etc └── .astylerc └── share ├── cmake └── CMakeLists.txt ├── fonts ├── HD44780_C.fon ├── HD44780_J.fon ├── HD44780_W.fon ├── ISO10646-1-tr.fon ├── ISO10646-1.fon ├── ISO10646-4_Greek.fon ├── ISO10646-5_Cyrillic.fon ├── ISO10646_CN.fon ├── ISO10646_Kana.fon ├── Marlin_symbols.fon ├── README.md └── make_fonts.bat ├── git ├── firstpush ├── ghtp ├── mfinfo ├── mfinit ├── mfnew ├── mfpr ├── mfprune ├── mfrb └── mfup ├── pin_interrupt_test └── pin_interrupt_test.ino ├── pixmaps └── logo │ ├── marlin-1080.png │ ├── marlin-250.png │ ├── marlin-old-250.png │ ├── marlin-old-627.png │ ├── marlin-old.svg │ └── marlin.svg └── scripts ├── createSpeedLookupTable.py ├── createTemperatureLookupMarlin.py ├── findMissingTranslations.sh └── g29_auto.py /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Marlin 3D Printer Firmware 3 | # Copyright (C) 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | # 5 | # Based on Sprinter and grbl. 6 | # Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | # 21 | 22 | # Our automatic versioning scheme generates the following file 23 | # NEVER put it in the repository 24 | _Version.h 25 | 26 | # 27 | # OS 28 | # 29 | applet/ 30 | *.DS_Store 31 | 32 | 33 | # 34 | # Misc 35 | # 36 | *~ 37 | *.orig 38 | *.rej 39 | *.bak 40 | *.idea 41 | *.s 42 | *.i 43 | *.ii 44 | *.swp 45 | tags 46 | 47 | # 48 | # C++ 49 | # 50 | # Compiled Object files 51 | *.slo 52 | *.lo 53 | *.o 54 | *.obj 55 | 56 | # Precompiled Headers 57 | *.gch 58 | *.pch 59 | 60 | # Compiled Dynamic libraries 61 | *.so 62 | *.dylib 63 | *.dll 64 | 65 | # Fortran module files 66 | *.mod 67 | *.smod 68 | 69 | # Compiled Static libraries 70 | *.lai 71 | *.la 72 | *.a 73 | *.lib 74 | 75 | # Executables 76 | *.exe 77 | *.out 78 | *.app 79 | 80 | 81 | # 82 | # C 83 | # 84 | # Object files 85 | *.o 86 | *.ko 87 | *.obj 88 | *.elf 89 | 90 | # Precompiled Headers 91 | *.gch 92 | *.pch 93 | 94 | # Libraries 95 | *.lib 96 | *.a 97 | *.la 98 | *.lo 99 | 100 | # Shared objects (inc. Windows DLLs) 101 | *.dll 102 | *.so 103 | *.so.* 104 | *.dylib 105 | 106 | # Executables 107 | *.exe 108 | *.out 109 | *.app 110 | *.i*86 111 | *.x86_64 112 | *.hex 113 | 114 | # Debug files 115 | *.dSYM/ 116 | *.su 117 | 118 | #PlatformIO files/dirs 119 | .pioenvs 120 | .piolib 121 | .piolibdeps 122 | 123 | #Visual Studio 124 | *.sln 125 | *.vcxproj 126 | *.vcxproj.filters 127 | Marlin/Release/ 128 | Marlin/Debug/ 129 | Marlin/__vm/ 130 | Marlin/.vs/ 131 | 132 | #cmake 133 | CMakeLists.txt 134 | Marlin/CMakeLists.txt 135 | 136 | README.md -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/000_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/000_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/001_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/001_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/002_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/002_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/003_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/003_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/004_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/004_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/005_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/005_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/006_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/006_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/007_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/007_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/008_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/008_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/009_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/009_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/010_boot_animation.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/010_boot_animation.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/011_main_menu.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/011_main_menu.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/012_main_menu_pressed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/012_main_menu_pressed.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/031 sd card.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/031 sd card.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/032 sd card press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/032 sd card press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/033 print.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/033 print.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/034 print press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/034 print press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/035 print config.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/035 print config.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/036 print config press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/036 print config press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/037 tool menu.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/037 tool menu.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/038 tool menu press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/038 tool menu press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/039 preheat.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/039 preheat.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/040 preheat press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/040 preheat press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/041 move.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/041 move.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/042 move press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/042 move press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/043 system menu.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/043 system menu.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/044 system menu press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/044 system menu press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/045 pid.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/045 pid.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/046 pid press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/046 pid press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/047 motor.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/047 motor.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/048 motor press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/048 motor press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/049 filament.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/049 filament.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/050 filament press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/050 filament press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/051 unload filament.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/051 unload filament.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/052 unload filament press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/052 unload filament press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/053 load filament.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/053 load filament.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/054 load filament press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/054 load filament press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/055 level 1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/055 level 1.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/056 level 2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/056 level 2.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/057 level 2 press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/057 level 2 press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/058 lcd update mode.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/058 lcd update mode.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/059_statistics.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/059_statistics.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/060_statistics_pressed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/060_statistics_pressed.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/061_auto_pid.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/061_auto_pid.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/062_auto_pid_pressed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/062_auto_pid_pressed.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/063_temperature_graph.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/063_temperature_graph.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/064_temperature_graph_press.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/064_temperature_graph_press.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/065_auto_pid_graph.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/065_auto_pid_graph.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/066_pid_finished.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/066_pid_finished.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/067_pid_finished_pressed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/067_pid_finished_pressed.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/068_thermal_runaway.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/068_thermal_runaway.bmp -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/0_DWIN_ASC.HZK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/0_DWIN_ASC.HZK -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/12_PYK_ALL_DGUS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/12_PYK_ALL_DGUS.BIN -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/13Touch_Control_Config.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/13Touch_Control_Config.bin -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/14Variable_Config.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/14Variable_Config.bin -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/22_Config.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/22_Config.bin -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/40_font.dzk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWIN_SET/40_font.dzk -------------------------------------------------------------------------------- /LCDFirmware/DWIN_SET/CONFIG.txt: -------------------------------------------------------------------------------- 1 | R1=07 ;Band Rate,07=115200 2 | R2=28 ;Sys_CFG 3 | R3=5A ; 4 | R6=40 ; 5 | R7=10 ; 6 | R8=14 ; 7 | RA=A5 ; 8 | RC=00 ; 9 | STOP_DWIN_OS; 10 | 11 | -------------------------------------------------------------------------------- /LCDFirmware/DWprj.hmi: -------------------------------------------------------------------------------- 1 | [INIT] 2 | PICFIX=1 3 | VARCount=64 4 | SCREENDSIZE=480X272 5 | SPADDRESS=5000 6 | [IMG] 7 | 0=000_boot_animation.bmp 8 | 1=001_boot_animation.bmp 9 | 2=002_boot_animation.bmp 10 | 3=003_boot_animation.bmp 11 | 4=004_boot_animation.bmp 12 | 5=005_boot_animation.bmp 13 | 6=006_boot_animation.bmp 14 | 7=007_boot_animation.bmp 15 | 8=008_boot_animation.bmp 16 | 9=009_boot_animation.bmp 17 | 10=010_boot_animation.bmp 18 | 11=011_main_menu.bmp 19 | 12=012_main_menu_pressed.bmp 20 | 31=031 sd card.bmp 21 | 32=032 sd card press.bmp 22 | 33=033 print.bmp 23 | 34=034 print press.bmp 24 | 35=035 print config.bmp 25 | 36=036 print config press.bmp 26 | 37=037 tool menu.bmp 27 | 38=038 tool menu press.bmp 28 | 39=039 preheat.bmp 29 | 40=040 preheat press.bmp 30 | 41=041 move.bmp 31 | 42=042 move press.bmp 32 | 43=043 system menu.bmp 33 | 44=044 system menu press.bmp 34 | 45=045 pid.bmp 35 | 46=046 pid press.bmp 36 | 47=047 motor.bmp 37 | 48=048 motor press.bmp 38 | 49=049 filament.bmp 39 | 50=050 filament press.bmp 40 | 51=051 unload filament.bmp 41 | 52=052 unload filament press.bmp 42 | 53=053 load filament.bmp 43 | 54=054 load filament press.bmp 44 | 55=055 level 1.bmp 45 | 56=056 level 2.bmp 46 | 57=057 level 2 press.bmp 47 | 58=058 lcd update mode.bmp 48 | 59=059_statistics.bmp 49 | 60=060_statistics_pressed.bmp 50 | 61=061_auto_pid.bmp 51 | 62=062_auto_pid_pressed.bmp 52 | 63=063_temperature_graph.bmp 53 | 64=064_temperature_graph_press.bmp 54 | 65=065_auto_pid_graph.bmp 55 | 66=066_pid_finished.bmp 56 | 67=067_pid_finished_pressed.bmp 57 | 68=068_thermal_runaway.bmp 58 | -------------------------------------------------------------------------------- /LCDFirmware/DWprj.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/DWprj.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/000_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/000_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/001_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/001_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/002_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/002_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/003_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/003_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/004_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/004_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/005_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/005_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/006_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/006_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/007_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/007_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/008_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/008_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/009_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/009_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/010_boot_animation.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/010_boot_animation.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/011_main_menu.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/011_main_menu.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/012_main_menu_pressed.bmp.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/012_main_menu_pressed.bmp.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/012_main_menu_pressed.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/012_main_menu_pressed.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/031 sd card.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/031 sd card.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/032 sd card press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/032 sd card press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/033 print.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/033 print.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/034 print press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/034 print press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/035 print config.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/035 print config.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/036 print config press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/036 print config press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/037 tool menu.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/037 tool menu.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/038 tool menu press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/038 tool menu press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/039 preheat.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/039 preheat.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/040 preheat press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/040 preheat press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/041 move.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/041 move.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/042 move press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/042 move press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/043 system menu.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/043 system menu.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/044 system menu press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/044 system menu press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/045 pid.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/045 pid.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/046 pid press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/046 pid press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/047 motor.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/047 motor.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/048 motor press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/048 motor press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/049 filament.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/049 filament.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/050 filament press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/050 filament press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/051 unload filament.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/051 unload filament.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/052 unload filament press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/052 unload filament press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/053 load filament.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/053 load filament.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/054 load filament press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/054 load filament press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/055 level 1.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/055 level 1.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/056 level 2.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/056 level 2.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/057 level 2 press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/057 level 2 press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/058 lcd update mode.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/058 lcd update mode.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/059_statistics.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/059_statistics.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/060_statistics_pressed.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/060_statistics_pressed.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/061_auto_pid.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/061_auto_pid.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/062_auto_pid_pressed.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/062_auto_pid_pressed.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/063_temperature_graph.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/063_temperature_graph.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/064_temperature_graph_press.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/064_temperature_graph_press.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/065_auto_pid_graph.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/065_auto_pid_graph.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/066_pid_finished.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/066_pid_finished.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/067_pid_finished_pressed.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/067_pid_finished_pressed.bmp.tft -------------------------------------------------------------------------------- /LCDFirmware/TFT/068_thermal_runaway.bmp.tft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/LCDFirmware/TFT/068_thermal_runaway.bmp.tft -------------------------------------------------------------------------------- /Marlin/.vs/Marlin/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/Marlin/.vs/Marlin/v14/.suo -------------------------------------------------------------------------------- /Marlin/Conditionals.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Conditionals.h 25 | * OBSOLETE: Replaced by Conditionals_LCD.h and Conditionals_post.h 26 | */ 27 | #error "Old configurations? Please delete all #include lines from Configuration.h and Configuration_adv.h." 28 | -------------------------------------------------------------------------------- /Marlin/Marlin.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * About Marlin 25 | * 26 | * This firmware is a mashup between Sprinter and grbl. 27 | * - https://github.com/kliment/Sprinter 28 | * - https://github.com/simen/grbl/tree 29 | */ 30 | 31 | #include "MarlinConfig.h" 32 | 33 | #if ENABLED(ULTRA_LCD) 34 | #if ENABLED(LCD_I2C_TYPE_PCF8575) 35 | #include 36 | #include 37 | #elif ENABLED(LCD_I2C_TYPE_MCP23017) || ENABLED(LCD_I2C_TYPE_MCP23008) 38 | #include 39 | #include 40 | #elif ENABLED(LCM1602) 41 | #include 42 | #include 43 | #include 44 | #elif ENABLED(DOGLCD) 45 | #include // library for graphics LCD by Oli Kraus (https://github.com/olikraus/U8glib_Arduino) 46 | #else 47 | #include // library for character LCD 48 | #endif 49 | #endif 50 | 51 | #if HAS_DIGIPOTSS 52 | #include 53 | #endif 54 | 55 | #if ENABLED(DIGIPOT_I2C) 56 | #include 57 | #endif 58 | 59 | #if ENABLED(HAVE_TMCDRIVER) 60 | #include 61 | #include 62 | #endif 63 | 64 | #if ENABLED(HAVE_TMC2130) 65 | #include 66 | #include 67 | #endif 68 | 69 | #if ENABLED(HAVE_L6470DRIVER) 70 | #include 71 | #include 72 | #endif 73 | -------------------------------------------------------------------------------- /Marlin/MarlinConfig.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef MARLIN_CONFIG_H 24 | #define MARLIN_CONFIG_H 25 | 26 | #include "fastio.h" 27 | #include "macros.h" 28 | #include "boards.h" 29 | #include "Version.h" 30 | #include "Configuration.h" 31 | #include "Conditionals_LCD.h" 32 | #include "Configuration_adv.h" 33 | #include "pins.h" 34 | #if !(defined(USBCON) || defined(ARDUINO_SERIAL)) 35 | #define HardwareSerial_h // trick to disable the standard HWserial 36 | #endif 37 | #include "Arduino.h" 38 | #include "Conditionals_post.h" 39 | #include "SanityCheck.h" 40 | 41 | #endif // MARLIN_CONFIG_H 42 | -------------------------------------------------------------------------------- /Marlin/SdFatUtil.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Arduino SdFat Library 25 | * Copyright (C) 2008 by William Greiman 26 | * 27 | * This file is part of the Arduino Sd2Card Library 28 | */ 29 | #include "Marlin.h" 30 | 31 | #if ENABLED(SDSUPPORT) 32 | #include "SdFatUtil.h" 33 | 34 | //------------------------------------------------------------------------------ 35 | /** Amount of free RAM 36 | * \return The number of free bytes. 37 | */ 38 | #ifdef __arm__ 39 | extern "C" char* sbrk(int incr); 40 | int SdFatUtil::FreeRam() { 41 | char top; 42 | return &top - reinterpret_cast(sbrk(0)); 43 | } 44 | #else // __arm__ 45 | extern char* __brkval; 46 | extern char __bss_end; 47 | /** Amount of free RAM 48 | * \return The number of free bytes. 49 | */ 50 | int SdFatUtil::FreeRam() { 51 | char top; 52 | return __brkval ? &top - __brkval : &top - &__bss_end; 53 | } 54 | #endif // __arm 55 | 56 | //------------------------------------------------------------------------------ 57 | /** %Print a string in flash memory. 58 | * 59 | * \param[in] pr Print object for output. 60 | * \param[in] str Pointer to string stored in flash memory. 61 | */ 62 | void SdFatUtil::print_P(PGM_P str) { 63 | for (uint8_t c; (c = pgm_read_byte(str)); str++) MYSERIAL.write(c); 64 | } 65 | //------------------------------------------------------------------------------ 66 | /** %Print a string in flash memory followed by a CR/LF. 67 | * 68 | * \param[in] pr Print object for output. 69 | * \param[in] str Pointer to string stored in flash memory. 70 | */ 71 | void SdFatUtil::println_P(PGM_P str) { 72 | print_P(str); 73 | MYSERIAL.println(); 74 | } 75 | //------------------------------------------------------------------------------ 76 | /** %Print a string in flash memory to Serial. 77 | * 78 | * \param[in] str Pointer to string stored in flash memory. 79 | */ 80 | void SdFatUtil::SerialPrint_P(PGM_P str) { 81 | print_P(str); 82 | } 83 | //------------------------------------------------------------------------------ 84 | /** %Print a string in flash memory to Serial followed by a CR/LF. 85 | * 86 | * \param[in] str Pointer to string stored in flash memory. 87 | */ 88 | void SdFatUtil::SerialPrintln_P(PGM_P str) { 89 | println_P(str); 90 | } 91 | #endif 92 | -------------------------------------------------------------------------------- /Marlin/SdFatUtil.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Arduino SdFat Library 25 | * Copyright (C) 2008 by William Greiman 26 | * 27 | * This file is part of the Arduino Sd2Card Library 28 | */ 29 | #ifndef SdFatUtil_h 30 | #define SdFatUtil_h 31 | 32 | #include "Marlin.h" 33 | #if ENABLED(SDSUPPORT) 34 | 35 | /** 36 | * \file 37 | * \brief Useful utility functions. 38 | */ 39 | /** Store and print a string in flash memory.*/ 40 | #define PgmPrint(x) SerialPrint_P(PSTR(x)) 41 | /** Store and print a string in flash memory followed by a CR/LF.*/ 42 | #define PgmPrintln(x) SerialPrintln_P(PSTR(x)) 43 | 44 | namespace SdFatUtil { 45 | int FreeRam(); 46 | void print_P(PGM_P str); 47 | void println_P(PGM_P str); 48 | void SerialPrint_P(PGM_P str); 49 | void SerialPrintln_P(PGM_P str); 50 | } 51 | 52 | using namespace SdFatUtil; // NOLINT 53 | 54 | #endif // SDSUPPORT 55 | 56 | #endif // SdFatUtil_h 57 | -------------------------------------------------------------------------------- /Marlin/SdFile.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Arduino SdFat Library 25 | * Copyright (C) 2009 by William Greiman 26 | * 27 | * This file is part of the Arduino Sd2Card Library 28 | */ 29 | /** 30 | * \file 31 | * \brief SdFile class 32 | */ 33 | #include "Marlin.h" 34 | 35 | #if ENABLED(SDSUPPORT) 36 | #include "SdBaseFile.h" 37 | #include 38 | #ifndef SdFile_h 39 | #define SdFile_h 40 | //------------------------------------------------------------------------------ 41 | /** 42 | * \class SdFile 43 | * \brief SdBaseFile with Print. 44 | */ 45 | class SdFile : public SdBaseFile, public Print { 46 | public: 47 | SdFile() {} 48 | SdFile(const char* name, uint8_t oflag); 49 | #if ARDUINO >= 100 50 | size_t write(uint8_t b); 51 | #else 52 | void write(uint8_t b); 53 | #endif 54 | 55 | int16_t write(const void* buf, uint16_t nbyte); 56 | void write(const char* str); 57 | void write_P(PGM_P str); 58 | void writeln_P(PGM_P str); 59 | }; 60 | #endif // SdFile_h 61 | 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /Marlin/__vm/.Marlin.vsarduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | Editor: http://www.visualmicro.com 3 | visual micro and the arduino ide ignore this code during compilation. this code is automatically maintained by visualmicro, manual changes to this file will be overwritten 4 | the contents of the Visual Micro sketch sub folder can be deleted prior to publishing a project 5 | all non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!). 6 | note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again 7 | 8 | Hardware: Arduino/Genuino Mega w/ ATmega2560 (Mega 2560), Platform=avr, Package=arduino 9 | */ 10 | 11 | #if defined(_VMICRO_INTELLISENSE) 12 | 13 | #ifndef _VSARDUINO_H_ 14 | #define _VSARDUINO_H_ 15 | #define __AVR_ATmega2560__ 16 | #define _VMDEBUG 1 17 | #define F_CPU 16000000L 18 | #define ARDUINO 10801 19 | #define ARDUINO_AVR_MEGA2560 20 | #define ARDUINO_ARCH_AVR 21 | #define __cplusplus 201103L 22 | #define __AVR__ 23 | #define __inline__ 24 | #define __asm__(...) 25 | #define __extension__ 26 | #define __inline__ 27 | #define __volatile__ 28 | #define GCC_VERSION 40902 29 | 30 | #define __cplusplus 201103L 31 | #undef __cplusplus 32 | #define __cplusplus 201103L 33 | 34 | #define volatile(va_arg) 35 | #define _CONST 36 | #define __builtin_va_start 37 | #define __builtin_va_end 38 | #define __attribute__(...) 39 | #define NOINLINE __attribute__((noinline)) 40 | #define prog_void 41 | #define PGM_VOID_P int 42 | 43 | 44 | #ifndef __builtin_constant_p 45 | #define __builtin_constant_p __attribute__((__const__)) 46 | #endif 47 | #ifndef __builtin_strlen 48 | #define __builtin_strlen __attribute__((__const__)) 49 | #endif 50 | 51 | 52 | #define NEW_H 53 | typedef void *__builtin_va_list; 54 | //extern "C" void __cxa_pure_virtual() {;} 55 | 56 | typedef int div_t; 57 | typedef int ldiv_t; 58 | 59 | 60 | typedef void *__builtin_va_list; 61 | //extern "C" void __cxa_pure_virtual() {;} 62 | 63 | 64 | 65 | #include 66 | #include 67 | #undef F 68 | #define F(string_literal) ((const PROGMEM char *)(string_literal)) 69 | #undef PSTR 70 | #define PSTR(string_literal) ((const PROGMEM char *)(string_literal)) 71 | 72 | 73 | #define pgm_read_byte(address_short) uint8_t() 74 | #define pgm_read_word(address_short) uint16_t() 75 | #define pgm_read_dword(address_short) uint32_t() 76 | #define pgm_read_float(address_short) float() 77 | #define pgm_read_ptr(address_short) short() 78 | 79 | #include "Marlin.ino" 80 | #endif 81 | #endif 82 | -------------------------------------------------------------------------------- /Marlin/bi3_plus_lcd.h: -------------------------------------------------------------------------------- 1 | #ifndef BI3PLUSLCD_H 2 | #define BI3PLUSLCD_H 3 | 4 | #include "Marlin.h" 5 | 6 | void lcdSetup(); 7 | void lcdTask(); 8 | 9 | void executeLoopedOperation(millis_t ms); 10 | void lcdStatusUpdate(millis_t ms); 11 | void lcdShowPage(uint8_t pageNumber); 12 | uint8_t lcdgetCurrentPage(); 13 | void readLcdSerial(); 14 | void lcdSendStats(); 15 | void lcdSendMarlinVersion(); 16 | void updateGraphData(); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /Marlin/blinkm.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * blinkm.cpp - Library for controlling a BlinkM over i2c 25 | * Created by Tim Koster, August 21 2013. 26 | */ 27 | 28 | #include "Marlin.h" 29 | 30 | #if ENABLED(BLINKM) 31 | 32 | #include "blinkm.h" 33 | 34 | void SendColors(byte red, byte grn, byte blu) { 35 | Wire.begin(); 36 | Wire.beginTransmission(0x09); 37 | Wire.write('o'); //to disable ongoing script, only needs to be used once 38 | Wire.write('n'); 39 | Wire.write(red); 40 | Wire.write(grn); 41 | Wire.write(blu); 42 | Wire.endTransmission(); 43 | } 44 | 45 | #endif // BLINKM 46 | 47 | -------------------------------------------------------------------------------- /Marlin/blinkm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * blinkm.h - Library for controlling a BlinkM over i2c 25 | * Created by Tim Koster, August 21 2013. 26 | */ 27 | 28 | #include "Arduino.h" 29 | #include "Wire.h" 30 | 31 | void SendColors(byte red, byte grn, byte blu); 32 | -------------------------------------------------------------------------------- /Marlin/configuration_store.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef CONFIGURATION_STORE_H 24 | #define CONFIGURATION_STORE_H 25 | 26 | #include "MarlinConfig.h" 27 | 28 | class MarlinSettings { 29 | public: 30 | MarlinSettings() { } 31 | 32 | static void reset(); 33 | static bool save(); 34 | 35 | #if ENABLED(EEPROM_SETTINGS) 36 | static bool load(); 37 | 38 | #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system 39 | // That can store is enabled 40 | FORCE_INLINE static int get_start_of_meshes() { return meshes_begin; } 41 | FORCE_INLINE static int get_end_of_meshes() { return meshes_end; } 42 | static int calc_num_meshes(); 43 | static void store_mesh(int8_t slot); 44 | static void load_mesh(int8_t slot, void *into = 0); 45 | 46 | //static void delete_mesh(); // necessary if we have a MAT 47 | //static void defrag_meshes(); // " 48 | #endif 49 | #else 50 | FORCE_INLINE 51 | static bool load() { reset(); report(); return true; } 52 | #endif 53 | 54 | #if DISABLED(DISABLE_M503) 55 | static void report(bool forReplay=false); 56 | #else 57 | FORCE_INLINE 58 | static void report(bool forReplay=false) { UNUSED(forReplay); } 59 | #endif 60 | 61 | private: 62 | static void postprocess(); 63 | 64 | #if ENABLED(EEPROM_SETTINGS) 65 | static bool eeprom_error; 66 | 67 | #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system 68 | // That can store is enabled 69 | static int meshes_begin; 70 | const static int meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always 71 | // live at the very end of the eeprom 72 | 73 | #endif 74 | 75 | static void write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc); 76 | static void read_data(int &pos, uint8_t *value, uint16_t size, uint16_t *crc); 77 | #endif 78 | }; 79 | 80 | extern MarlinSettings settings; 81 | 82 | #endif // CONFIGURATION_STORE_H 83 | -------------------------------------------------------------------------------- /Marlin/dac_mcp4728.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Arduino library for MicroChip MCP4728 I2C D/A converter. 25 | */ 26 | 27 | #ifndef DAC_MCP4728_H 28 | #define DAC_MCP4728_H 29 | 30 | #include "MarlinConfig.h" 31 | 32 | #if ENABLED(DAC_STEPPER_CURRENT) 33 | #include "Wire.h" 34 | 35 | #define defaultVDD DAC_STEPPER_MAX //was 5000 but differs with internal Vref 36 | #define BASE_ADDR 0x60 37 | #define RESET 0B00000110 38 | #define WAKE 0B00001001 39 | #define UPDATE 0B00001000 40 | #define MULTIWRITE 0B01000000 41 | #define SINGLEWRITE 0B01011000 42 | #define SEQWRITE 0B01010000 43 | #define VREFWRITE 0B10000000 44 | #define GAINWRITE 0B11000000 45 | #define POWERDOWNWRITE 0B10100000 46 | #define GENERALCALL 0B00000000 47 | #define GAINWRITE 0B11000000 48 | 49 | // This is taken from the original lib, makes it easy to edit if needed 50 | // DAC_OR_ADDRESS defined in pins_BOARD.h file 51 | #define DAC_DEV_ADDRESS (BASE_ADDR | DAC_OR_ADDRESS) 52 | 53 | 54 | void mcp4728_init(); 55 | uint8_t mcp4728_analogWrite(uint8_t channel, uint16_t value); 56 | uint8_t mcp4728_eepromWrite(); 57 | uint8_t mcp4728_setVref_all(uint8_t value); 58 | uint8_t mcp4728_setGain_all(uint8_t value); 59 | uint16_t mcp4728_getValue(uint8_t channel); 60 | uint8_t mcp4728_fastWrite(); 61 | uint8_t mcp4728_simpleCommand(byte simpleCommand); 62 | uint8_t mcp4728_getDrvPct(uint8_t channel); 63 | void mcp4728_setDrvPct(uint8_t pct[XYZE]); 64 | 65 | #endif 66 | #endif // DAC_MCP4728_H 67 | -------------------------------------------------------------------------------- /Marlin/digipot_mcp4451.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #include "MarlinConfig.h" 24 | 25 | #if ENABLED(DIGIPOT_I2C) && DISABLED(DIGIPOT_MCP4018) 26 | 27 | #include "Stream.h" 28 | #include "utility/twi.h" 29 | #include "Wire.h" 30 | 31 | // Settings for the I2C based DIGIPOT (MCP4451) on Azteeg X3 Pro 32 | #if MB(5DPRINT) 33 | #define DIGIPOT_I2C_FACTOR 117.96 34 | #define DIGIPOT_I2C_MAX_CURRENT 1.736 35 | #else 36 | #define DIGIPOT_I2C_FACTOR 106.7 37 | #define DIGIPOT_I2C_MAX_CURRENT 2.5 38 | #endif 39 | 40 | static byte current_to_wiper(const float current) { 41 | return byte(CEIL(float((DIGIPOT_I2C_FACTOR * current)))); 42 | } 43 | 44 | static void i2c_send(const byte addr, const byte a, const byte b) { 45 | Wire.beginTransmission(addr); 46 | Wire.write(a); 47 | Wire.write(b); 48 | Wire.endTransmission(); 49 | } 50 | 51 | // This is for the MCP4451 I2C based digipot 52 | void digipot_i2c_set_current(uint8_t channel, float current) { 53 | current = min((float) max(current, 0.0f), DIGIPOT_I2C_MAX_CURRENT); 54 | // these addresses are specific to Azteeg X3 Pro, can be set to others, 55 | // In this case first digipot is at address A0=0, A1= 0, second one is at A0=0, A1= 1 56 | byte addr = 0x2C; // channel 0-3 57 | if (channel >= 4) { 58 | addr = 0x2E; // channel 4-7 59 | channel -= 4; 60 | } 61 | 62 | // Initial setup 63 | i2c_send(addr, 0x40, 0xFF); 64 | i2c_send(addr, 0xA0, 0xFF); 65 | 66 | // Set actual wiper value 67 | byte addresses[4] = { 0x00, 0x10, 0x60, 0x70 }; 68 | i2c_send(addr, addresses[channel], current_to_wiper(current)); 69 | } 70 | 71 | void digipot_i2c_init() { 72 | static const float digipot_motor_current[] PROGMEM = DIGIPOT_I2C_MOTOR_CURRENTS; 73 | Wire.begin(); 74 | // setup initial currents as defined in Configuration_adv.h 75 | for (uint8_t i = 0; i < COUNT(digipot_motor_current); i++) 76 | digipot_i2c_set_current(i, pgm_read_float(&digipot_motor_current[i])); 77 | } 78 | 79 | #endif // DIGIPOT_I2C 80 | -------------------------------------------------------------------------------- /Marlin/dogm_font_data_Marlin_symbols.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | Fontname: Marlin_symbols 25 | Copyright: Created with Fony 1.4.7 26 | Capital A Height: 0, '1' Height: 0 27 | Calculated Max Values w= 5 h=10 x= 0 y= 3 dx= 6 dy= 0 ascent= 8 len=10 28 | Font Bounding box w= 6 h= 9 x= 0 y=-2 29 | Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 30 | Pure Font ascent = 0 descent= 0 31 | X Font ascent = 0 descent= 0 32 | Max Font ascent = 8 descent=-2 33 | */ 34 | #include 35 | const u8g_fntpgm_uint8_t Marlin_symbols[140] U8G_SECTION(".progmem.Marlin_symbols") = { 36 | 0, 6, 9, 0, 254, 0, 0, 0, 0, 0, 1, 9, 0, 8, 254, 0, 37 | 0, 5, 8, 8, 6, 0, 0, 64, 240, 200, 136, 136, 152, 120, 16, 5, 38 | 8, 8, 6, 0, 0, 192, 248, 136, 136, 136, 136, 136, 248, 5, 5, 5, 39 | 6, 0, 1, 32, 48, 248, 48, 32, 5, 8, 8, 6, 0, 0, 32, 112, 40 | 248, 32, 32, 32, 32, 224, 5, 9, 9, 6, 0, 255, 32, 112, 168, 168, 41 | 184, 136, 136, 112, 32, 5, 9, 9, 6, 0, 255, 224, 128, 192, 176, 168, 42 | 40, 48, 40, 40, 5, 9, 9, 6, 0, 255, 248, 168, 136, 136, 136, 136, 43 | 136, 168, 248, 5, 10, 10, 6, 0, 254, 32, 80, 80, 80, 80, 136, 168, 44 | 168, 136, 112, 3, 3, 3, 6, 0, 3, 64, 160, 64 45 | }; 46 | -------------------------------------------------------------------------------- /Marlin/hex_print_routines.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | #include "Marlin.h" 23 | #include "gcode.h" 24 | 25 | #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(M100_FREE_MEMORY_WATCHER) || ENABLED(DEBUG_GCODE_PARSER) 26 | 27 | #include "hex_print_routines.h" 28 | 29 | static char _hex[7] = "0x0000"; 30 | 31 | char* hex_byte(const uint8_t b) { 32 | _hex[4] = hex_nybble(b >> 4); 33 | _hex[5] = hex_nybble(b); 34 | return &_hex[4]; 35 | } 36 | 37 | char* hex_word(const uint16_t w) { 38 | _hex[2] = hex_nybble(w >> 12); 39 | _hex[3] = hex_nybble(w >> 8); 40 | _hex[4] = hex_nybble(w >> 4); 41 | _hex[5] = hex_nybble(w); 42 | return &_hex[2]; 43 | } 44 | 45 | char* hex_address(const void * const w) { 46 | (void)hex_word((uint16_t)w); 47 | return _hex; 48 | } 49 | 50 | void print_hex_nybble(const uint8_t n) { SERIAL_CHAR(hex_nybble(n)); } 51 | void print_hex_byte(const uint8_t b) { SERIAL_ECHO(hex_byte(b)); } 52 | void print_hex_word(const uint16_t w) { SERIAL_ECHO(hex_word(w)); } 53 | void print_hex_address(const void * const w) { SERIAL_ECHO(hex_address(w)); } 54 | 55 | #endif // AUTO_BED_LEVELING_UBL || M100_FREE_MEMORY_WATCHER || DEBUG_GCODE_PARSER 56 | -------------------------------------------------------------------------------- /Marlin/hex_print_routines.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef HEX_PRINT_ROUTINES_H 24 | #define HEX_PRINT_ROUTINES_H 25 | 26 | #include "MarlinConfig.h" 27 | #include "gcode.h" 28 | 29 | #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(M100_FREE_MEMORY_WATCHER) || ENABLED(DEBUG_GCODE_PARSER) 30 | 31 | // 32 | // Utility functions to create and print hex strings as nybble, byte, and word. 33 | // 34 | 35 | inline char hex_nybble(const uint8_t n) { 36 | return (n & 0xF) + ((n & 0xF) < 10 ? '0' : 'A' - 10); 37 | } 38 | char* hex_byte(const uint8_t b); 39 | char* hex_word(const uint16_t w); 40 | char* hex_address(const void * const w); 41 | 42 | void print_hex_nybble(const uint8_t n); 43 | void print_hex_byte(const uint8_t b); 44 | void print_hex_word(const uint16_t w); 45 | void print_hex_address(const void * const w); 46 | 47 | #endif // AUTO_BED_LEVELING_UBL || M100_FREE_MEMORY_WATCHER || DEBUG_GCODE_PARSER 48 | #endif // HEX_PRINT_ROUTINES_H 49 | -------------------------------------------------------------------------------- /Marlin/language_pl.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Polish 25 | * 26 | * LCD Menu Messages 27 | * See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language 28 | * 29 | */ 30 | #ifndef LANGUAGE_PL_H 31 | #define LANGUAGE_PL_H 32 | 33 | #define DISPLAY_CHARSET_ISO10646_PL 34 | #define MAPPER_C3C4C5_PL 35 | 36 | /** 37 | * One version with accented characters and one without 38 | */ 39 | #if ENABLED(DOGLCD) 40 | #include "language_pl-DOGM.h" 41 | #else 42 | #include "language_pl-HD44780.h" 43 | #endif 44 | 45 | #endif // LANGUAGE_PL_H 46 | -------------------------------------------------------------------------------- /Marlin/least_squares_fit.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Least Squares Best Fit by Roxy and Ed Williams 25 | * 26 | * This algorithm is high speed and has a very small code footprint. 27 | * Its results are identical to both the Iterative Least-Squares published 28 | * earlier by Roxy and the QR_SOLVE solution. If used in place of QR_SOLVE 29 | * it saves roughly 10K of program memory. It also does not require all of 30 | * coordinates to be present during the calculations. Each point can be 31 | * probed and then discarded. 32 | * 33 | */ 34 | 35 | #include "MarlinConfig.h" 36 | 37 | #if ENABLED(AUTO_BED_LEVELING_UBL) // Currently only used by UBL, but is applicable to Grid Based (Linear) Bed Leveling 38 | 39 | #include "macros.h" 40 | #include 41 | 42 | #include "least_squares_fit.h" 43 | 44 | int finish_incremental_LSF(struct linear_fit_data *lsf) { 45 | 46 | const float N = lsf->N; 47 | 48 | if (N == 0.0) 49 | return 1; 50 | 51 | lsf->xbar /= N; 52 | lsf->ybar /= N; 53 | lsf->zbar /= N; 54 | lsf->x2bar = lsf->x2bar / N - sq(lsf->xbar); 55 | lsf->y2bar = lsf->y2bar / N - sq(lsf->ybar); 56 | lsf->z2bar = lsf->z2bar / N - sq(lsf->zbar); 57 | lsf->xybar = lsf->xybar / N - lsf->xbar * lsf->ybar; 58 | lsf->yzbar = lsf->yzbar / N - lsf->ybar * lsf->zbar; 59 | lsf->xzbar = lsf->xzbar / N - lsf->xbar * lsf->zbar; 60 | const float DD = lsf->x2bar * lsf->y2bar - sq(lsf->xybar); 61 | 62 | if (FABS(DD) <= 1e-10 * (lsf->max_absx + lsf->max_absy)) 63 | return 1; 64 | 65 | lsf->A = (lsf->yzbar * lsf->xybar - lsf->xzbar * lsf->y2bar) / DD; 66 | lsf->B = (lsf->xzbar * lsf->xybar - lsf->yzbar * lsf->x2bar) / DD; 67 | lsf->D = -(lsf->zbar + lsf->A * lsf->xbar + lsf->B * lsf->ybar); 68 | return 0; 69 | } 70 | 71 | #endif // AUTO_BED_LEVELING_UBL 72 | -------------------------------------------------------------------------------- /Marlin/mesh_bed_leveling.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #include "mesh_bed_leveling.h" 24 | 25 | #if ENABLED(MESH_BED_LEVELING) 26 | 27 | mesh_bed_leveling mbl; 28 | 29 | uint8_t mesh_bed_leveling::status; 30 | 31 | float mesh_bed_leveling::z_offset, 32 | mesh_bed_leveling::z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y], 33 | mesh_bed_leveling::index_to_xpos[GRID_MAX_POINTS_X], 34 | mesh_bed_leveling::index_to_ypos[GRID_MAX_POINTS_Y]; 35 | 36 | mesh_bed_leveling::mesh_bed_leveling() { 37 | for (uint8_t i = 0; i < GRID_MAX_POINTS_X; ++i) 38 | index_to_xpos[i] = MESH_MIN_X + i * (MESH_X_DIST); 39 | for (uint8_t i = 0; i < GRID_MAX_POINTS_Y; ++i) 40 | index_to_ypos[i] = MESH_MIN_Y + i * (MESH_Y_DIST); 41 | reset(); 42 | } 43 | 44 | void mesh_bed_leveling::reset() { 45 | status = MBL_STATUS_NONE; 46 | z_offset = 0; 47 | ZERO(z_values); 48 | } 49 | 50 | #endif // MESH_BED_LEVELING 51 | -------------------------------------------------------------------------------- /Marlin/pca9632.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /* 24 | * Driver for the Philips PCA9632 LED driver. 25 | * Written by Robert Mendon Feb 2017. 26 | */ 27 | 28 | #ifndef __PCA9632_H__ 29 | #define __PCA9632_H__ 30 | 31 | #include "Arduino.h" 32 | #include "Wire.h" 33 | 34 | void PCA9632_SetColor(const byte r, const byte g, const byte b); 35 | 36 | #endif // __PCA9632_H__ 37 | -------------------------------------------------------------------------------- /Marlin/pins_AZTEEG_X1.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Azteeg X1 pin assignments 25 | */ 26 | 27 | #define BOARD_NAME "Azteeg X1" 28 | 29 | #define SANGUINOLOLU_V_1_2 30 | #include "pins_SANGUINOLOLU_11.h" 31 | -------------------------------------------------------------------------------- /Marlin/pins_AZTEEG_X3.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments 25 | */ 26 | 27 | #ifndef __AVR_ATmega2560__ 28 | #error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu." 29 | #endif 30 | 31 | #if HOTENDS > 2 || E_STEPPERS > 2 32 | #error "Azteeg X3 supports up to 2 hotends / E-steppers. Comment out this line to continue." 33 | #endif 34 | 35 | #if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) 36 | #define CASE_LIGHT_PIN 6 // must define it here or else RAMPS will define it 37 | #endif 38 | #define BOARD_NAME "Azteeg X3" 39 | 40 | #include "pins_RAMPS_13.h" 41 | 42 | // 43 | // Servos 44 | // 45 | #undef SERVO0_PIN 46 | #undef SERVO1_PIN 47 | #define SERVO0_PIN 44 // SERVO1 port 48 | #define SERVO1_PIN 55 // SERVO2 port 49 | 50 | // 51 | // LCD / Controller 52 | // 53 | #if ENABLED(VIKI2) || ENABLED(miniVIKI) 54 | 55 | #undef DOGLCD_A0 56 | #undef DOGLCD_CS 57 | #undef BTN_ENC 58 | #define DOGLCD_A0 31 59 | #define DOGLCD_CS 32 60 | #define BTN_ENC 12 61 | 62 | #undef STAT_LED_RED_PIN 63 | #undef STAT_LED_BLUE_PIN 64 | #define STAT_LED_RED_PIN 64 65 | #define STAT_LED_BLUE_PIN 63 66 | 67 | #else 68 | 69 | #define STAT_LED_RED_PIN 6 70 | #define STAT_LED_BLUE_PIN 11 71 | 72 | #endif 73 | 74 | // 75 | // Misc 76 | // 77 | #if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && PIN_EXISTS(STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN 78 | #undef STAT_LED_RED_PIN 79 | #endif 80 | 81 | // 82 | // M3/M4/M5 - Spindle/Laser Control 83 | // 84 | #undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3 board 85 | #undef SPINDLE_LASER_ENABLE_PIN 86 | #undef SPINDLE_DIR_PIN 87 | 88 | #if ENABLED(SPINDLE_LASER_ENABLE) 89 | #undef SDA // use EXP3 header 90 | #undef SCL 91 | #if SERVO0_PIN == 7 92 | #undef SERVO0_PIN 93 | #def SERVO0_PIN 11 94 | #endif 95 | #define SPINDLE_LASER_PWM_PIN 7 // MUST BE HARDWARE PWM 96 | #define SPINDLE_LASER_ENABLE_PIN 20 // Pin should have a pullup! 97 | #define SPINDLE_DIR_PIN 21 98 | #endif 99 | -------------------------------------------------------------------------------- /Marlin/pins_BAM_DICE_DUE.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * BAM&DICE Due (Arduino Mega) pin assignments 25 | */ 26 | 27 | #if HOTENDS > 2 || E_STEPPERS > 2 28 | #error "2PrintBeta Due supports up to 2 hotends / E-steppers. Comment out this line to continue." 29 | #endif 30 | 31 | #define BOARD_NAME "2PrintBeta Due" 32 | 33 | // 34 | // M3/M4/M5 - Spindle/Laser Control 35 | // 36 | #define SPINDLE_LASER_ENABLE_PIN 66 // Pin should have a pullup/pulldown! 37 | #define SPINDLE_DIR_PIN 67 38 | #define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM 39 | 40 | #include "pins_RAMPS.h" 41 | 42 | // 43 | // Temperature Sensors 44 | // 45 | #undef TEMP_0_PIN 46 | #undef TEMP_1_PIN 47 | #define TEMP_0_PIN 9 // Analog Input 48 | #define TEMP_1_PIN 11 // Analog Input 49 | -------------------------------------------------------------------------------- /Marlin/pins_BI3_PLUS.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Bi3Plus pin assignments 25 | */ 26 | 27 | #ifndef __AVR_ATmega2560__ 28 | #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." 29 | #endif 30 | 31 | #define BOARD_NAME "Bi3Plus" 32 | 33 | #define ARDUINO_SERIAL 1 34 | 35 | // 36 | // Limit Switches 37 | // 38 | #define X_STOP_PIN 54 39 | #define Y_STOP_PIN 24 40 | #define Z_STOP_PIN 23//23 41 | 42 | // 43 | // Steppers 44 | // 45 | #define X_STEP_PIN 61 46 | #define X_DIR_PIN 62 47 | #define X_ENABLE_PIN 60 48 | 49 | #define Y_STEP_PIN 64 50 | #define Y_DIR_PIN 65 51 | #define Y_ENABLE_PIN 63 52 | 53 | #define Z_STEP_PIN 67 54 | #define Z_DIR_PIN 69 55 | #define Z_ENABLE_PIN 66 56 | #define Z_MIN_PROBE_PIN 25 57 | 58 | #define E0_STEP_PIN 58 59 | #define E0_DIR_PIN 59 60 | #define E0_ENABLE_PIN 57 61 | 62 | // 63 | // Temperature Sensors 64 | // 65 | #define TEMP_0_PIN 1 66 | #define TEMP_BED_PIN 14 67 | 68 | // 69 | // Heaters / Fans 70 | // 71 | #define HEATER_0_PIN 4 72 | #define HEATER_BED_PIN 3 //34 mod 3 orig 73 | 74 | #define FAN_PIN 5 75 | 76 | // 77 | // Misc. Functions 78 | // 79 | #define SDSS 53 80 | #define LED_PIN 13 81 | -------------------------------------------------------------------------------- /Marlin/pins_CHEAPTRONIC.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Cheaptronic v1.0 pin assignments 25 | */ 26 | 27 | #ifndef __AVR_ATmega2560__ 28 | #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." 29 | #endif 30 | 31 | #define BOARD_NAME "Cheaptronic v1.0" 32 | #define LARGE_FLASH true 33 | 34 | // 35 | // Limit Switches 36 | // 37 | #define X_STOP_PIN 3 38 | #define Y_STOP_PIN 2 39 | #define Z_STOP_PIN 5 40 | 41 | // 42 | // Steppers 43 | // 44 | #define X_STEP_PIN 14 45 | #define X_DIR_PIN 15 46 | #define X_ENABLE_PIN 24 47 | 48 | #define Y_STEP_PIN 35 49 | #define Y_DIR_PIN 36 50 | #define Y_ENABLE_PIN 31 51 | 52 | #define Z_STEP_PIN 40 53 | #define Z_DIR_PIN 41 54 | #define Z_ENABLE_PIN 37 55 | 56 | #define E0_STEP_PIN 26 57 | #define E0_DIR_PIN 28 58 | #define E0_ENABLE_PIN 25 59 | 60 | #define E1_STEP_PIN 33 61 | #define E1_DIR_PIN 34 62 | #define E1_ENABLE_PIN 30 63 | 64 | // 65 | // Temperature sensors 66 | // 67 | #define TEMP_0_PIN 15 // Analog Input 68 | #define TEMP_1_PIN 14 // Analog Input 69 | #define TEMP_BED_PIN 13 // Analog Input 70 | 71 | // 72 | // Heaters / Fans 73 | // 74 | #define HEATER_0_PIN 19 // EXTRUDER 1 75 | #define HEATER_1_PIN 23 // EXTRUDER 2 76 | #define HEATER_BED_PIN 22 77 | 78 | // 79 | // LCD / Controller 80 | // 81 | // Cheaptronic v1.0 doesn't support LCD 82 | #define LCD_PINS_RS -1 83 | #define LCD_PINS_ENABLE -1 84 | #define LCD_PINS_D4 -1 85 | #define LCD_PINS_D5 -1 86 | #define LCD_PINS_D6 -1 87 | #define LCD_PINS_D7 -1 88 | 89 | // Cheaptronic v1.0 doesn't support keypad 90 | #define BTN_EN1 -1 91 | #define BTN_EN2 -1 92 | #define BTN_ENC -1 93 | -------------------------------------------------------------------------------- /Marlin/pins_FELIX2.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * FELIXprinters v2.0/3.0 (RAMPS v1.4) pin assignments 25 | */ 26 | 27 | #if HOTENDS > 2 || E_STEPPERS > 2 28 | #error "Felix 2.0+ supports up to 2 hotends / E-steppers. Comment out this line to continue." 29 | #endif 30 | 31 | #define BOARD_NAME "Felix 2.0+" 32 | 33 | // 34 | // Heaters / Fans 35 | // 36 | // Power outputs EFBF or EFBE 37 | #define MOSFET_D_PIN 7 38 | 39 | #include "pins_RAMPS.h" 40 | 41 | // 42 | // Misc. Functions 43 | // 44 | #undef SDPOWER 45 | #define SDPOWER 1 46 | 47 | #define PS_ON_PIN 12 48 | 49 | // 50 | // LCD / Controller 51 | // 52 | #if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) 53 | 54 | #define SD_DETECT_PIN 6 55 | 56 | #endif // NEWPANEL && ULTRA_LCD 57 | 58 | // 59 | // M3/M4/M5 - Spindle/Laser Control 60 | // 61 | #undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not valid with this board 62 | #undef SPINDLE_LASER_ENABLE_PIN 63 | #undef SPINDLE_DIR_PIN 64 | -------------------------------------------------------------------------------- /Marlin/pins_GEN3_MONOLITHIC.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Gen3 Monolithic Electronics pin assignments 25 | */ 26 | 27 | /** 28 | * Rev B 26 DEC 2016 29 | * 30 | * added pointer to a current Arduino IDE extension 31 | * 32 | */ 33 | 34 | /** 35 | * A useable Arduino IDE extension (board manager) can be found at 36 | * https://github.com/Lauszus/Sanguino 37 | * 38 | * This extension has been tested on Arduino 1.6.12 & 1.8.0 39 | * 40 | * Here's the JSON path: 41 | * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json 42 | * 43 | * When installing select 1.0.2 44 | * 45 | * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino 46 | * Just use the above JSON URL instead of Sparkfun's JSON. 47 | * 48 | * Once installed select the Sanguino board and then select the CPU. 49 | * 50 | */ 51 | 52 | #ifndef __AVR_ATmega644P__ 53 | #error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu." 54 | #endif 55 | 56 | #define BOARD_NAME "Gen3 Monolithic" 57 | #define DEBUG_PIN 0 58 | 59 | // 60 | // Limit Switches 61 | // 62 | #define X_STOP_PIN 20 63 | #define Y_STOP_PIN 25 64 | #define Z_STOP_PIN 30 65 | 66 | // 67 | // Steppers 68 | // 69 | #define X_STEP_PIN 15 70 | #define X_DIR_PIN 18 71 | #define X_ENABLE_PIN 24 // actually uses Y_enable_pin 72 | 73 | #define Y_STEP_PIN 23 74 | #define Y_DIR_PIN 22 75 | #define Y_ENABLE_PIN 24 // shared with X_enable_pin 76 | 77 | #define Z_STEP_PIN 27 78 | #define Z_DIR_PIN 28 79 | #define Z_ENABLE_PIN 29 80 | 81 | #define E0_STEP_PIN 12 82 | #define E0_DIR_PIN 17 83 | #define E0_ENABLE_PIN 3 84 | 85 | // 86 | // Temperature Sensors 87 | // 88 | #define TEMP_0_PIN 0 // Analog Input 89 | 90 | // 91 | // Heaters 92 | // 93 | #define HEATER_0_PIN 16 94 | 95 | // 96 | // Misc. Functions 97 | // 98 | #define PS_ON_PIN 14 // Alex, does this work on the card? 99 | 100 | // Alex extras from Gen3+ 101 | 102 | -------------------------------------------------------------------------------- /Marlin/pins_GEN3_PLUS.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Gen3+ pin assignments 25 | */ 26 | 27 | /** 28 | * Rev B 26 DEC 2016 29 | * 30 | * added pointer to a current Arduino IDE extension 31 | * 32 | */ 33 | 34 | /** 35 | * A useable Arduino IDE extension (board manager) can be found at 36 | * https://github.com/Lauszus/Sanguino 37 | * 38 | * This extension has been tested on Arduino 1.6.12 & 1.8.0 39 | * 40 | * Here's the JSON path: 41 | * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json 42 | * 43 | * When installing select 1.0.2 44 | * 45 | * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino 46 | * Just use the above JSON URL instead of Sparkfun's JSON. 47 | * 48 | * Once installed select the SANGUINO board and then select the CPU. 49 | * 50 | */ 51 | 52 | 53 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) 54 | #error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu." 55 | #endif 56 | 57 | #define BOARD_NAME "Gen3+" 58 | 59 | // 60 | // Limit Switches 61 | // 62 | #define X_STOP_PIN 20 63 | #define Y_STOP_PIN 25 64 | #define Z_STOP_PIN 30 65 | 66 | // 67 | // Steppers 68 | // 69 | #define X_STEP_PIN 15 70 | #define X_DIR_PIN 18 71 | #define X_ENABLE_PIN 19 72 | 73 | #define Y_STEP_PIN 23 74 | #define Y_DIR_PIN 22 75 | #define Y_ENABLE_PIN 24 76 | 77 | #define Z_STEP_PIN 27 78 | #define Z_DIR_PIN 28 79 | #define Z_ENABLE_PIN 29 80 | 81 | #define E0_STEP_PIN 17 82 | #define E0_DIR_PIN 21 83 | #define E0_ENABLE_PIN 13 84 | 85 | // 86 | // Temperature Sensors 87 | // 88 | #define TEMP_0_PIN 0 // Analog Input (pin 33 extruder) 89 | #define TEMP_BED_PIN 5 // Analog Input (pin 34 bed) 90 | 91 | // 92 | // Heaters 93 | // 94 | #define HEATER_0_PIN 12 95 | #define HEATER_BED_PIN 16 96 | 97 | // 98 | // Misc. Functions 99 | // 100 | #define SDSS 4 101 | #define PS_ON_PIN 14 102 | -------------------------------------------------------------------------------- /Marlin/pins_GEN6_DELUXE.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Gen6 Deluxe pin assignments 25 | */ 26 | 27 | /** 28 | * Rev B 26 DEC 2016 29 | * 30 | * added pointer to a current Arduino IDE extension 31 | * 32 | */ 33 | 34 | /** 35 | * A useable Arduino IDE extension (board manager) can be found at 36 | * https://github.com/Lauszus/Sanguino 37 | * 38 | * This extension has been tested on Arduino 1.6.12 & 1.8.0 39 | * 40 | * Here's the JSON path: 41 | * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json 42 | * 43 | * When installing select 1.0.2 44 | * 45 | * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino 46 | * Just use the above JSON URL instead of Sparkfun's JSON. 47 | * 48 | * Once installed select the SANGUINO board and then select the CPU. 49 | * 50 | */ 51 | 52 | 53 | #define BOARD_NAME "Gen6 Deluxe" 54 | 55 | #include "pins_GEN6.h" 56 | -------------------------------------------------------------------------------- /Marlin/pins_GEN7_13.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Gen7 v1.3 pin assignments 25 | */ 26 | 27 | /** 28 | * Rev B 26 DEC 2016 29 | * 30 | * added pointer to a current Arduino IDE extension 31 | * 32 | */ 33 | 34 | /** 35 | * A useable Arduino IDE extension (board manager) can be found at 36 | * https://github.com/Lauszus/Sanguino 37 | * 38 | * This extension has been tested on Arduino 1.6.12 & 1.8.0 39 | * 40 | * Here's the JSON path: 41 | * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json 42 | * 43 | * When installing select 1.0.2 44 | * 45 | * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino 46 | * Just use the above JSON URL instead of Sparkfun's JSON. 47 | * 48 | * Once installed select the Sanguino board and then select the CPU. 49 | * 50 | */ 51 | 52 | #define BOARD_NAME "Gen7 v1.3" 53 | 54 | #define GEN7_VERSION 13 // v1.3 55 | #include "pins_GEN7_12.h" 56 | -------------------------------------------------------------------------------- /Marlin/pins_K8200.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * K8200 Arduino Mega with RAMPS v1.3 pin assignments 25 | * Identical to 3DRAG 26 | */ 27 | 28 | #define BOARD_NAME "Velleman K8200" 29 | #define DEFAULT_MACHINE_NAME "K8200" 30 | #define DEFAULT_SOURCE_CODE_URL "https://github.com/CONSULitAS/Marlin-K8200" 31 | 32 | #include "pins_3DRAG.h" 33 | -------------------------------------------------------------------------------- /Marlin/pins_K8400.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Velleman K8400 (Vertex) 25 | * 3DRAG clone 26 | * 27 | * K8400 has some minor differences over a normal 3Drag: 28 | * - No X/Y max endstops 29 | * - Second extruder step pin has moved 30 | * - No power supply control 31 | * - Second heater has moved pin 32 | */ 33 | 34 | #define BOARD_NAME "K8400" 35 | #define DEFAULT_MACHINE_NAME "Vertex" 36 | #define DEFAULT_SOURCE_CODE_URL "https://github.com/birkett/Vertex-K8400-Firmware" 37 | 38 | #include "pins_3DRAG.h" 39 | 40 | // 41 | // Limit Switches 42 | // 43 | #define X_STOP_PIN 3 44 | #define Y_STOP_PIN 14 45 | 46 | #undef X_MIN_PIN 47 | #undef X_MAX_PIN 48 | #undef Y_MIN_PIN 49 | #undef Y_MAX_PIN 50 | 51 | // 52 | // Steppers 53 | // 54 | #undef E1_STEP_PIN 55 | #define E1_STEP_PIN 32 56 | 57 | // 58 | // Heaters / Fans 59 | // 60 | #undef HEATER_1_PIN 61 | #define HEATER_1_PIN 11 62 | 63 | // 64 | // Misc. Functions 65 | // 66 | #undef PS_ON_PIN 67 | #undef KILL_PIN 68 | #undef SD_DETECT_PIN 69 | 70 | #if Z_STEP_PIN == 26 71 | #undef Z_STEP_PIN 72 | #define Z_STEP_PIN 32 73 | #endif 74 | -------------------------------------------------------------------------------- /Marlin/pins_LEAPFROG.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Leapfrog Driver board pin assignments 25 | */ 26 | 27 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) 28 | #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." 29 | #endif 30 | 31 | #define BOARD_NAME "Leapfrog" 32 | 33 | // 34 | // Limit Switches 35 | // 36 | #define X_MIN_PIN 47 37 | #define X_MAX_PIN 2 38 | #define Y_MIN_PIN 48 39 | #define Y_MAX_PIN 15 40 | #define Z_MIN_PIN 49 41 | #define Z_MAX_PIN -1 42 | 43 | // 44 | // Steppers 45 | // 46 | #define X_STEP_PIN 28 47 | #define X_DIR_PIN 63 48 | #define X_ENABLE_PIN 29 49 | 50 | #define Y_STEP_PIN 14 // A6 51 | #define Y_DIR_PIN 15 // A0 52 | #define Y_ENABLE_PIN 39 53 | 54 | #define Z_STEP_PIN 31 // A2 55 | #define Z_DIR_PIN 32 // A6 56 | #define Z_ENABLE_PIN 30 // A1 57 | 58 | #define E0_STEP_PIN 34 // 34 59 | #define E0_DIR_PIN 35 // 35 60 | #define E0_ENABLE_PIN 33 // 33 61 | 62 | #define E1_STEP_PIN 37 // 37 63 | #define E1_DIR_PIN 40 // 40 64 | #define E1_ENABLE_PIN 36 // 36 65 | 66 | // 67 | // Temperature Sensors 68 | // 69 | #define TEMP_0_PIN 13 // Analog Input (D27) 70 | #define TEMP_1_PIN 15 // Analog Input (1) 71 | #define TEMP_BED_PIN 14 // Analog Input (1,2 or I2C) 72 | 73 | // 74 | // Heaters / Fans 75 | // 76 | #define HEATER_0_PIN 9 77 | #define HEATER_1_PIN 8 // 12 78 | #define HEATER_2_PIN 11 // 13 79 | #define HEATER_BED_PIN 10 // 14/15 80 | 81 | #define FAN_PIN 7 82 | 83 | // 84 | // Misc. Functions 85 | // 86 | #define SDSS 11 87 | #define LED_PIN 13 88 | #define SOL1_PIN 16 89 | #define SOL2_PIN 17 90 | 91 | /* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */ 92 | -------------------------------------------------------------------------------- /Marlin/pins_MELZI.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Melzi pin assignments 25 | */ 26 | 27 | #define BOARD_NAME "Melzi" 28 | 29 | #ifdef __AVR_ATmega1284P__ 30 | #define LARGE_FLASH true 31 | #endif 32 | 33 | #define SANGUINOLOLU_V_1_2 34 | #include "pins_SANGUINOLOLU_11.h" 35 | -------------------------------------------------------------------------------- /Marlin/pins_MELZI_MAKR3D.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Melzi with ATmega1284 (MaKr3d version) pin assignments 25 | */ 26 | 27 | #define BOARD_NAME "Melzi ATmega1284" 28 | 29 | #ifdef __AVR_ATmega1284P__ 30 | #define LARGE_FLASH true 31 | #endif 32 | 33 | #define SANGUINOLOLU_V_1_2 34 | #include "pins_SANGUINOLOLU_11.h" 35 | -------------------------------------------------------------------------------- /Marlin/pins_MKS_BASE.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * MKS BASE 1.0 – Arduino Mega2560 with RAMPS v1.4 pin assignments 25 | * 26 | * Rev B - Override pin definitions for CASE_LIGHT and M3/M4/M5 spindle control 27 | */ 28 | 29 | #if HOTENDS > 2 || E_STEPPERS > 2 30 | #error "MKS BASE 1.0 supports up to 2 hotends / E-steppers. Comment out this line to continue." 31 | #endif 32 | 33 | #define BOARD_NAME "MKS BASE 1.0" 34 | 35 | // 36 | // Heaters / Fans 37 | // 38 | // Power outputs EFBF or EFBE 39 | #define MOSFET_D_PIN 7 40 | 41 | #define CASE_LIGHT_PIN 2 42 | 43 | // 44 | // M3/M4/M5 - Spindle/Laser Control 45 | // 46 | #define SPINDLE_LASER_PWM_PIN 2 // MUST BE HARDWARE PWM 47 | #define SPINDLE_LASER_ENABLE_PIN 15 // Pin should have a pullup! 48 | #define SPINDLE_DIR_PIN 19 49 | 50 | #include "pins_RAMPS.h" 51 | -------------------------------------------------------------------------------- /Marlin/pins_RAMPS_13.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Arduino Mega with RAMPS v1.3 pin assignments 25 | * 26 | * Applies to the following boards: 27 | * 28 | * RAMPS_13_EFB (Extruder, Fan, Bed) 29 | * RAMPS_13_EEB (Extruder, Extruder, Bed) 30 | * RAMPS_13_EFF (Extruder, Fan, Fan) 31 | * RAMPS_13_EEF (Extruder, Extruder, Fan) 32 | * RAMPS_13_SF (Spindle, Controller Fan) 33 | * 34 | */ 35 | 36 | #ifndef BOARD_NAME 37 | #define BOARD_NAME "RAMPS 1.3" 38 | #endif 39 | 40 | #define IS_RAMPS_13 41 | #include "pins_RAMPS.h" 42 | -------------------------------------------------------------------------------- /Marlin/pins_RIGIDBOARD_V2.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * RIGIDBOARD V2 Arduino Mega with RAMPS v1.4 pin assignments 25 | */ 26 | 27 | #include "pins_RIGIDBOARD.h" 28 | 29 | #undef BOARD_NAME 30 | #define BOARD_NAME "RigidBoard V2" 31 | 32 | // 33 | // Steppers 34 | // 35 | 36 | // I2C based DAC like on the Printrboard REVF 37 | #define DAC_STEPPER_CURRENT 38 | 39 | // Channels available for DAC, For Rigidboard there are 4 40 | #define DAC_STEPPER_ORDER { 0, 1, 2, 3 } 41 | 42 | #define DAC_STEPPER_SENSE 0.05 // sense resistors on rigidboard stepper chips are .05 value 43 | #define DAC_STEPPER_ADDRESS 0 44 | #define DAC_STEPPER_MAX 4096 // was 5000 but max allowable value is actually 4096 45 | #define DAC_STEPPER_VREF 1 // internal Vref, gain 2x = 4.096V 46 | #define DAC_STEPPER_GAIN 1 // value of 1 here sets gain of 2 47 | #define DAC_DISABLE_PIN 42 // set low to enable DAC 48 | #define DAC_OR_ADDRESS 0x01 49 | 50 | #ifndef DAC_MOTOR_CURRENT_DEFAULT 51 | #define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis 52 | #endif 53 | -------------------------------------------------------------------------------- /Marlin/pins_SAINSMART_2IN1.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Sainsmart 2-in-1 pin assignments 25 | */ 26 | 27 | #if HOTENDS > 2 || E_STEPPERS > 2 28 | #error "Sainsmart 2-in-1 supports up to 2 hotends / E-steppers. Comment out this line to continue." 29 | #endif 30 | 31 | #define BOARD_NAME "Sainsmart" 32 | 33 | // 34 | // Heaters / Fans 35 | // 36 | #define RAMPS_D10_PIN 9 // E 37 | #define RAMPS_D9_PIN 7 // F PART FAN in front of board next to Extruder heat 38 | // RAMPS_D8_PIN 8 // B 39 | #define MOSFET_D_PIN 10 // F / E 40 | 41 | #include "pins_RAMPS.h" 42 | -------------------------------------------------------------------------------- /Marlin/pins_SANGUINOLOLU_12.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * Sanguinololu V1.2 pin assignments 25 | * 26 | * Applies to the following boards: 27 | * 28 | * AZTEEG_X1 29 | * MELZI 30 | * MELZI_MAKR3D 31 | * SANGUINOLOLU_12 32 | * STB_11 33 | */ 34 | 35 | #define BOARD_NAME "Sanguinololu 1.2" 36 | 37 | #ifdef __AVR_ATmega1284P__ 38 | #define LARGE_FLASH true 39 | #endif 40 | 41 | #define SANGUINOLOLU_V_1_2 42 | #include "pins_SANGUINOLOLU_11.h" 43 | -------------------------------------------------------------------------------- /Marlin/pins_STB_11.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * STB V1.1 pin assignments 25 | */ 26 | 27 | #define BOARD_NAME "STB V1.1" 28 | 29 | #ifdef __AVR_ATmega1284P__ 30 | #define LARGE_FLASH true 31 | #endif 32 | 33 | #define SANGUINOLOLU_V_1_2 34 | #include "pins_SANGUINOLOLU_11.h" 35 | -------------------------------------------------------------------------------- /Marlin/pins_ZRIB_V20.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * ZRIB V2.0 pin assignments 25 | */ 26 | 27 | #define ZRIB_V20_D6_PIN 6 28 | #define ZRIB_V20_D9_PIN 9 29 | #define RAMPS_D9_PIN ZRIB_V20_D6_PIN 30 | #define ORIG_E0_AUTO_FAN_PIN ZRIB_V20_D9_PIN 31 | #define ORIG_E1_AUTO_FAN_PIN ZRIB_V20_D9_PIN 32 | #define ORIG_E2_AUTO_FAN_PIN ZRIB_V20_D9_PIN 33 | #define ORIG_E3_AUTO_FAN_PIN ZRIB_V20_D9_PIN 34 | 35 | #ifndef FILWIDTH_PIN 36 | #define FILWIDTH_PIN 11 // Analog Input 37 | #endif 38 | 39 | #include "pins_MKS_13.h" 40 | -------------------------------------------------------------------------------- /Marlin/planner_bezier.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | * planner_bezier.h 25 | * 26 | * Compute and buffer movement commands for bezier curves 27 | * 28 | */ 29 | 30 | #ifndef PLANNER_BEZIER_H 31 | #define PLANNER_BEZIER_H 32 | 33 | #include "Marlin.h" 34 | 35 | void cubic_b_spline( 36 | const float position[NUM_AXIS], // current position 37 | const float target[NUM_AXIS], // target position 38 | const float offset[4], // a pair of offsets 39 | float fr_mm_s, 40 | uint8_t extruder 41 | ); 42 | 43 | #endif // PLANNER_BEZIER_H 44 | -------------------------------------------------------------------------------- /Marlin/platformio.ini: -------------------------------------------------------------------------------- 1 | # 2 | # Project Configuration File 3 | # 4 | # A detailed documentation with the EXAMPLES is located here: 5 | # http://docs.platformio.org/en/latest/projectconf.html 6 | # 7 | 8 | # A sign `#` at the beginning of the line indicates a comment 9 | # Comment lines are ignored. 10 | 11 | # Automatic targets - enable auto-uploading 12 | # targets = upload 13 | 14 | [platformio] 15 | src_dir = ./ 16 | envs_dir = ../.pioenvs 17 | lib_dir = ../.piolib 18 | libdeps_dir = ../.piolibdeps 19 | env_default = mega2560 20 | 21 | [common] 22 | lib_deps = U8glib@1.19.1 23 | 24 | [env:mega2560] 25 | platform = atmelavr 26 | framework = arduino 27 | board = megaatmega2560 28 | build_flags = -I $BUILDSRC_DIR 29 | board_f_cpu = 16000000L 30 | lib_deps = ${common.lib_deps} 31 | 32 | [env:mega1280] 33 | platform = atmelavr 34 | framework = arduino 35 | board = megaatmega1280 36 | build_flags = -I $BUILDSRC_DIR 37 | board_f_cpu = 16000000L 38 | lib_deps = ${common.lib_deps} 39 | 40 | [env:printrboard] 41 | platform = teensy 42 | framework = arduino 43 | board = teensy20pp 44 | build_flags = -I $BUILDSRC_DIR -D MOTHERBOARD=BOARD_PRINTRBOARD 45 | # Bug in arduino framework does not allow boards running at 20Mhz 46 | #board_f_cpu = 20000000L 47 | lib_deps = ${common.lib_deps} 48 | 49 | [env:brainwavepro] 50 | platform = teensy 51 | framework = arduino 52 | board = teensy20pp 53 | build_flags = -I $BUILDSRC_DIR -D MOTHERBOARD=BOARD_BRAINWAVE_PRO -D AT90USBxx_TEENSYPP_ASSIGNMENTS 54 | lib_deps = ${common.lib_deps} 55 | 56 | [env:rambo] 57 | platform = atmelavr 58 | framework = arduino 59 | board = reprap_rambo 60 | build_flags = -I $BUILDSRC_DIR 61 | board_f_cpu = 16000000L 62 | lib_deps = ${common.lib_deps} 63 | -------------------------------------------------------------------------------- /Marlin/point_t.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef __POINT_T__ 24 | #define __POINT_T__ 25 | 26 | /** 27 | * @brief Cartesian Point 28 | * @details Represents a three dimensional point on Cartesian coordinate system, 29 | * using an additional fourth dimension for the extrusion length. 30 | * 31 | * @param x The x-coordinate of the point. 32 | * @param y The y-coordinate of the point. 33 | * @param z The z-coordinate of the point. 34 | * @param e The e-coordinate of the point. 35 | */ 36 | struct point_t { 37 | float x; 38 | float y; 39 | float z; 40 | float e; 41 | 42 | /** 43 | * @brief Two dimensional point constructor 44 | * 45 | * @param x The x-coordinate of the point. 46 | * @param y The y-coordinate of the point. 47 | */ 48 | point_t(float const x, float const y) 49 | : point_t(x, y, NAN, NAN) {} 50 | 51 | /** 52 | * @brief Three dimensional point constructor 53 | * 54 | * @param x The x-coordinate of the point. 55 | * @param y The y-coordinate of the point. 56 | * @param z The z-coordinate of the point. 57 | */ 58 | point_t(float const x, float const y, float const z) 59 | : point_t(x, y, z, NAN) {} 60 | 61 | /** 62 | * @brief Tree dimensional point constructor with extrusion length 63 | * 64 | * @param x The x-coordinate of the point. 65 | * @param y The y-coordinate of the point. 66 | * @param z The z-coordinate of the point. 67 | * @param e The e-coordinate of the point. 68 | */ 69 | point_t(float const x, float const y, float const z, float const e) { 70 | this->x = x; 71 | this->y = y; 72 | this->z = z; 73 | this->e = e; 74 | } 75 | }; 76 | 77 | #endif // __POINT_T__ 78 | -------------------------------------------------------------------------------- /Marlin/qr_solve.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #include "MarlinConfig.h" 24 | 25 | #if ENABLED(AUTO_BED_LEVELING_LINEAR) 26 | 27 | void daxpy(int n, float da, float dx[], int incx, float dy[], int incy); 28 | float ddot(int n, float dx[], int incx, float dy[], int incy); 29 | float dnrm2(int n, float x[], int incx); 30 | void dqrank(float a[], int lda, int m, int n, float tol, int* kr, 31 | int jpvt[], float qraux[]); 32 | void dqrdc(float a[], int lda, int n, int p, float qraux[], int jpvt[], 33 | float work[], int job); 34 | int dqrls(float a[], int lda, int m, int n, float tol, int* kr, float b[], 35 | float x[], float rsd[], int jpvt[], float qraux[], int itask); 36 | void dqrlss(float a[], int lda, int m, int n, int kr, float b[], float x[], 37 | float rsd[], int jpvt[], float qraux[]); 38 | int dqrsl(float a[], int lda, int n, int k, float qraux[], float y[], 39 | float qy[], float qty[], float b[], float rsd[], float ab[], int job); 40 | void dscal(int n, float sa, float x[], int incx); 41 | void dswap(int n, float x[], int incx, float y[], int incy); 42 | void qr_solve(float x[], int m, int n, float a[], float b[]); 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /Marlin/serial.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #include "serial.h" 24 | 25 | const char errormagic[] PROGMEM = "Error:"; 26 | const char echomagic[] PROGMEM = "echo:"; 27 | 28 | void serial_echopair_P(const char* s_P, const char *v) { serialprintPGM(s_P); SERIAL_ECHO(v); } 29 | void serial_echopair_P(const char* s_P, char v) { serialprintPGM(s_P); SERIAL_CHAR(v); } 30 | void serial_echopair_P(const char* s_P, int v) { serialprintPGM(s_P); SERIAL_ECHO(v); } 31 | void serial_echopair_P(const char* s_P, long v) { serialprintPGM(s_P); SERIAL_ECHO(v); } 32 | void serial_echopair_P(const char* s_P, float v) { serialprintPGM(s_P); SERIAL_ECHO(v); } 33 | void serial_echopair_P(const char* s_P, double v) { serialprintPGM(s_P); SERIAL_ECHO(v); } 34 | void serial_echopair_P(const char* s_P, unsigned long v) { serialprintPGM(s_P); SERIAL_ECHO(v); } 35 | 36 | void serial_spaces(uint8_t count) { count *= (PROPORTIONAL_FONT_RATIO); while (count--) MYSERIAL.write(' '); } 37 | -------------------------------------------------------------------------------- /Marlin/spi.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef __SPI_H__ 24 | #define __SPI_H__ 25 | 26 | #include 27 | #include "softspi.h" 28 | 29 | template 30 | class SPI { 31 | static SoftSPI softSPI; 32 | public: 33 | FORCE_INLINE static void init() { softSPI.begin(); } 34 | FORCE_INLINE static void send(uint8_t data) { softSPI.send(data); } 35 | FORCE_INLINE static uint8_t receive() { return softSPI.receive(); } 36 | }; 37 | 38 | 39 | // Hardware SPI 40 | template<> 41 | class SPI { 42 | public: 43 | FORCE_INLINE static void init() { 44 | OUT_WRITE(SCK_PIN, LOW); 45 | OUT_WRITE(MOSI_PIN, HIGH); 46 | SET_INPUT(MISO_PIN); 47 | WRITE(MISO_PIN, HIGH); 48 | } 49 | FORCE_INLINE static uint8_t receive() { 50 | SPDR = 0; 51 | for (;!TEST(SPSR, SPIF);); 52 | return SPDR; 53 | } 54 | 55 | }; 56 | 57 | #endif // __SPI_H__ 58 | -------------------------------------------------------------------------------- /Marlin/stepper_dac.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | stepper_dac.h - To set stepper current via DAC 25 | 26 | Part of Marlin 27 | 28 | Copyright (c) 2016 MarlinFirmware 29 | 30 | Marlin is free software: you can redistribute it and/or modify 31 | it under the terms of the GNU General Public License as published by 32 | the Free Software Foundation, either version 3 of the License, or 33 | (at your option) any later version. 34 | 35 | Marlin is distributed in the hope that it will be useful, 36 | but WITHOUT ANY WARRANTY; without even the implied warranty of 37 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 38 | GNU General Public License for more details. 39 | 40 | You should have received a copy of the GNU General Public License 41 | along with Marlin. If not, see . 42 | */ 43 | 44 | #ifndef STEPPER_DAC_H 45 | #define STEPPER_DAC_H 46 | 47 | #include "dac_mcp4728.h" 48 | 49 | int dac_init(); 50 | void dac_current_percent(uint8_t channel, float val); 51 | void dac_current_raw(uint8_t channel, uint16_t val); 52 | void dac_print_values(); 53 | void dac_commit_eeprom(); 54 | uint8_t dac_current_get_percent(AxisEnum axis); 55 | void dac_current_set_percents(const uint8_t pct[XYZE]); 56 | 57 | #endif // STEPPER_DAC_H 58 | -------------------------------------------------------------------------------- /Marlin/stopwatch.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #include "Marlin.h" 24 | #include "stopwatch.h" 25 | 26 | Stopwatch::Stopwatch() { 27 | this->reset(); 28 | } 29 | 30 | bool Stopwatch::stop() { 31 | #if ENABLED(DEBUG_STOPWATCH) 32 | Stopwatch::debug(PSTR("stop")); 33 | #endif 34 | 35 | if (this->isRunning() || this->isPaused()) { 36 | this->state = STOPPED; 37 | this->stopTimestamp = millis(); 38 | return true; 39 | } 40 | else return false; 41 | } 42 | 43 | bool Stopwatch::pause() { 44 | #if ENABLED(DEBUG_STOPWATCH) 45 | Stopwatch::debug(PSTR("pause")); 46 | #endif 47 | 48 | if (this->isRunning()) { 49 | this->state = PAUSED; 50 | this->stopTimestamp = millis(); 51 | return true; 52 | } 53 | else return false; 54 | } 55 | 56 | bool Stopwatch::start() { 57 | #if ENABLED(DEBUG_STOPWATCH) 58 | Stopwatch::debug(PSTR("start")); 59 | #endif 60 | 61 | if (!this->isRunning()) { 62 | if (this->isPaused()) this->accumulator = this->duration(); 63 | else this->reset(); 64 | 65 | this->state = RUNNING; 66 | this->startTimestamp = millis(); 67 | return true; 68 | } 69 | else return false; 70 | } 71 | 72 | void Stopwatch::reset() { 73 | #if ENABLED(DEBUG_STOPWATCH) 74 | Stopwatch::debug(PSTR("reset")); 75 | #endif 76 | 77 | this->state = STOPPED; 78 | this->startTimestamp = 0; 79 | this->stopTimestamp = 0; 80 | this->accumulator = 0; 81 | } 82 | 83 | bool Stopwatch::isRunning() { 84 | return (this->state == RUNNING) ? true : false; 85 | } 86 | 87 | bool Stopwatch::isPaused() { 88 | return (this->state == PAUSED) ? true : false; 89 | } 90 | 91 | millis_t Stopwatch::duration() { 92 | return (((this->isRunning()) ? millis() : this->stopTimestamp) 93 | - this->startTimestamp) / 1000UL + this->accumulator; 94 | } 95 | 96 | #if ENABLED(DEBUG_STOPWATCH) 97 | 98 | void Stopwatch::debug(const char func[]) { 99 | if (DEBUGGING(INFO)) { 100 | SERIAL_ECHOPGM("Stopwatch::"); 101 | serialprintPGM(func); 102 | SERIAL_ECHOLNPGM("()"); 103 | } 104 | } 105 | 106 | #endif 107 | -------------------------------------------------------------------------------- /Marlin/thermistortable_10.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k RS thermistor 198-961 (4.7k pullup) 24 | const short temptable_10[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 929 }, 26 | { 36 * OVERSAMPLENR, 299 }, 27 | { 71 * OVERSAMPLENR, 246 }, 28 | { 106 * OVERSAMPLENR, 217 }, 29 | { 141 * OVERSAMPLENR, 198 }, 30 | { 176 * OVERSAMPLENR, 184 }, 31 | { 211 * OVERSAMPLENR, 173 }, 32 | { 246 * OVERSAMPLENR, 163 }, 33 | { 281 * OVERSAMPLENR, 154 }, 34 | { 316 * OVERSAMPLENR, 147 }, 35 | { 351 * OVERSAMPLENR, 140 }, 36 | { 386 * OVERSAMPLENR, 134 }, 37 | { 421 * OVERSAMPLENR, 128 }, 38 | { 456 * OVERSAMPLENR, 122 }, 39 | { 491 * OVERSAMPLENR, 117 }, 40 | { 526 * OVERSAMPLENR, 112 }, 41 | { 561 * OVERSAMPLENR, 107 }, 42 | { 596 * OVERSAMPLENR, 102 }, 43 | { 631 * OVERSAMPLENR, 97 }, 44 | { 666 * OVERSAMPLENR, 91 }, 45 | { 701 * OVERSAMPLENR, 86 }, 46 | { 736 * OVERSAMPLENR, 81 }, 47 | { 771 * OVERSAMPLENR, 76 }, 48 | { 806 * OVERSAMPLENR, 70 }, 49 | { 841 * OVERSAMPLENR, 63 }, 50 | { 876 * OVERSAMPLENR, 56 }, 51 | { 911 * OVERSAMPLENR, 48 }, 52 | { 946 * OVERSAMPLENR, 38 }, 53 | { 981 * OVERSAMPLENR, 23 }, 54 | { 1005 * OVERSAMPLENR, 5 }, 55 | { 1016 * OVERSAMPLENR, 0 } 56 | }; 57 | -------------------------------------------------------------------------------- /Marlin/thermistortable_1010.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // Pt1000 with 1k0 pullup 24 | const short temptable_1010[][2] PROGMEM = { 25 | PtLine( 0, 1000, 1000) 26 | PtLine( 25, 1000, 1000) 27 | PtLine( 50, 1000, 1000) 28 | PtLine( 75, 1000, 1000) 29 | PtLine(100, 1000, 1000) 30 | PtLine(125, 1000, 1000) 31 | PtLine(150, 1000, 1000) 32 | PtLine(175, 1000, 1000) 33 | PtLine(200, 1000, 1000) 34 | PtLine(225, 1000, 1000) 35 | PtLine(250, 1000, 1000) 36 | PtLine(275, 1000, 1000) 37 | PtLine(300, 1000, 1000) 38 | }; 39 | -------------------------------------------------------------------------------- /Marlin/thermistortable_1047.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // Pt1000 with 4k7 pullup 24 | const short temptable_1047[][2] PROGMEM = { 25 | // only a few values are needed as the curve is very flat 26 | PtLine( 0, 1000, 4700) 27 | PtLine( 50, 1000, 4700) 28 | PtLine(100, 1000, 4700) 29 | PtLine(150, 1000, 4700) 30 | PtLine(200, 1000, 4700) 31 | PtLine(250, 1000, 4700) 32 | PtLine(300, 1000, 4700) 33 | }; 34 | -------------------------------------------------------------------------------- /Marlin/thermistortable_11.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // QU-BD silicone bed QWG-104F-3950 thermistor 24 | const short temptable_11[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 938 }, 26 | { 31 * OVERSAMPLENR, 314 }, 27 | { 41 * OVERSAMPLENR, 290 }, 28 | { 51 * OVERSAMPLENR, 272 }, 29 | { 61 * OVERSAMPLENR, 258 }, 30 | { 71 * OVERSAMPLENR, 247 }, 31 | { 81 * OVERSAMPLENR, 237 }, 32 | { 91 * OVERSAMPLENR, 229 }, 33 | { 101 * OVERSAMPLENR, 221 }, 34 | { 111 * OVERSAMPLENR, 215 }, 35 | { 121 * OVERSAMPLENR, 209 }, 36 | { 131 * OVERSAMPLENR, 204 }, 37 | { 141 * OVERSAMPLENR, 199 }, 38 | { 151 * OVERSAMPLENR, 195 }, 39 | { 161 * OVERSAMPLENR, 190 }, 40 | { 171 * OVERSAMPLENR, 187 }, 41 | { 181 * OVERSAMPLENR, 183 }, 42 | { 191 * OVERSAMPLENR, 179 }, 43 | { 201 * OVERSAMPLENR, 176 }, 44 | { 221 * OVERSAMPLENR, 170 }, 45 | { 241 * OVERSAMPLENR, 165 }, 46 | { 261 * OVERSAMPLENR, 160 }, 47 | { 281 * OVERSAMPLENR, 155 }, 48 | { 301 * OVERSAMPLENR, 150 }, 49 | { 331 * OVERSAMPLENR, 144 }, 50 | { 361 * OVERSAMPLENR, 139 }, 51 | { 391 * OVERSAMPLENR, 133 }, 52 | { 421 * OVERSAMPLENR, 128 }, 53 | { 451 * OVERSAMPLENR, 123 }, 54 | { 491 * OVERSAMPLENR, 117 }, 55 | { 531 * OVERSAMPLENR, 111 }, 56 | { 571 * OVERSAMPLENR, 105 }, 57 | { 611 * OVERSAMPLENR, 100 }, 58 | { 641 * OVERSAMPLENR, 95 }, 59 | { 681 * OVERSAMPLENR, 90 }, 60 | { 711 * OVERSAMPLENR, 85 }, 61 | { 751 * OVERSAMPLENR, 79 }, 62 | { 791 * OVERSAMPLENR, 72 }, 63 | { 811 * OVERSAMPLENR, 69 }, 64 | { 831 * OVERSAMPLENR, 65 }, 65 | { 871 * OVERSAMPLENR, 57 }, 66 | { 881 * OVERSAMPLENR, 55 }, 67 | { 901 * OVERSAMPLENR, 51 }, 68 | { 921 * OVERSAMPLENR, 45 }, 69 | { 941 * OVERSAMPLENR, 39 }, 70 | { 971 * OVERSAMPLENR, 28 }, 71 | { 981 * OVERSAMPLENR, 23 }, 72 | { 991 * OVERSAMPLENR, 17 }, 73 | { 1001 * OVERSAMPLENR, 9 }, 74 | { 1021 * OVERSAMPLENR, -27 } 75 | }; 76 | -------------------------------------------------------------------------------- /Marlin/thermistortable_110.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // Pt100 with 1k0 pullup 24 | const short temptable_110[][2] PROGMEM = { 25 | // only a few values are needed as the curve is very flat 26 | PtLine( 0, 100, 1000) 27 | PtLine( 50, 100, 1000) 28 | PtLine(100, 100, 1000) 29 | PtLine(150, 100, 1000) 30 | PtLine(200, 100, 1000) 31 | PtLine(250, 100, 1000) 32 | PtLine(300, 100, 1000) 33 | }; 34 | -------------------------------------------------------------------------------- /Marlin/thermistortable_12.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) 24 | const short temptable_12[][2] PROGMEM = { 25 | { 35 * OVERSAMPLENR, 180 }, // top rating 180C 26 | { 211 * OVERSAMPLENR, 140 }, 27 | { 233 * OVERSAMPLENR, 135 }, 28 | { 261 * OVERSAMPLENR, 130 }, 29 | { 290 * OVERSAMPLENR, 125 }, 30 | { 328 * OVERSAMPLENR, 120 }, 31 | { 362 * OVERSAMPLENR, 115 }, 32 | { 406 * OVERSAMPLENR, 110 }, 33 | { 446 * OVERSAMPLENR, 105 }, 34 | { 496 * OVERSAMPLENR, 100 }, 35 | { 539 * OVERSAMPLENR, 95 }, 36 | { 585 * OVERSAMPLENR, 90 }, 37 | { 629 * OVERSAMPLENR, 85 }, 38 | { 675 * OVERSAMPLENR, 80 }, 39 | { 718 * OVERSAMPLENR, 75 }, 40 | { 758 * OVERSAMPLENR, 70 }, 41 | { 793 * OVERSAMPLENR, 65 }, 42 | { 822 * OVERSAMPLENR, 60 }, 43 | { 841 * OVERSAMPLENR, 55 }, 44 | { 875 * OVERSAMPLENR, 50 }, 45 | { 899 * OVERSAMPLENR, 45 }, 46 | { 926 * OVERSAMPLENR, 40 }, 47 | { 946 * OVERSAMPLENR, 35 }, 48 | { 962 * OVERSAMPLENR, 30 }, 49 | { 977 * OVERSAMPLENR, 25 }, 50 | { 987 * OVERSAMPLENR, 20 }, 51 | { 995 * OVERSAMPLENR, 15 }, 52 | { 1001 * OVERSAMPLENR, 10 }, 53 | { 1010 * OVERSAMPLENR, 0 }, 54 | { 1023 * OVERSAMPLENR, -40 } 55 | }; 56 | -------------------------------------------------------------------------------- /Marlin/thermistortable_13.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // Hisens thermistor B25/50 =3950 +/-1% 24 | const short temptable_13[][2] PROGMEM = { 25 | { 20.04 * OVERSAMPLENR, 300 }, 26 | { 23.19 * OVERSAMPLENR, 290 }, 27 | { 26.71 * OVERSAMPLENR, 280 }, 28 | { 31.23 * OVERSAMPLENR, 270 }, 29 | { 36.52 * OVERSAMPLENR, 260 }, 30 | { 42.75 * OVERSAMPLENR, 250 }, 31 | { 50.68 * OVERSAMPLENR, 240 }, 32 | { 60.22 * OVERSAMPLENR, 230 }, 33 | { 72.03 * OVERSAMPLENR, 220 }, 34 | { 86.84 * OVERSAMPLENR, 210 }, 35 | { 102.79 * OVERSAMPLENR, 200 }, 36 | { 124.46 * OVERSAMPLENR, 190 }, 37 | { 151.02 * OVERSAMPLENR, 180 }, 38 | { 182.86 * OVERSAMPLENR, 170 }, 39 | { 220.72 * OVERSAMPLENR, 160 }, 40 | { 316.96 * OVERSAMPLENR, 140 }, 41 | { 447.17 * OVERSAMPLENR, 120 }, 42 | { 590.61 * OVERSAMPLENR, 100 }, 43 | { 737.31 * OVERSAMPLENR, 80 }, 44 | { 857.77 * OVERSAMPLENR, 60 }, 45 | { 939.52 * OVERSAMPLENR, 40 }, 46 | { 986.03 * OVERSAMPLENR, 20 }, 47 | { 1008.7 * OVERSAMPLENR, 0 } 48 | }; 49 | -------------------------------------------------------------------------------- /Marlin/thermistortable_147.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // Pt100 with 4k7 pullup 24 | const short temptable_147[][2] PROGMEM = { 25 | // only a few values are needed as the curve is very flat 26 | PtLine( 0, 100, 4700) 27 | PtLine( 50, 100, 4700) 28 | PtLine(100, 100, 4700) 29 | PtLine(150, 100, 4700) 30 | PtLine(200, 100, 4700) 31 | PtLine(250, 100, 4700) 32 | PtLine(300, 100, 4700) 33 | }; 34 | -------------------------------------------------------------------------------- /Marlin/thermistortable_2.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 24 | // 200k ATC Semitec 204GT-2 25 | // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf 26 | // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance 27 | // 28 | const short temptable_2[][2] PROGMEM = { 29 | { 1 * OVERSAMPLENR, 848 }, 30 | { 30 * OVERSAMPLENR, 300 }, // top rating 300C 31 | { 34 * OVERSAMPLENR, 290 }, 32 | { 39 * OVERSAMPLENR, 280 }, 33 | { 46 * OVERSAMPLENR, 270 }, 34 | { 53 * OVERSAMPLENR, 260 }, 35 | { 63 * OVERSAMPLENR, 250 }, 36 | { 74 * OVERSAMPLENR, 240 }, 37 | { 87 * OVERSAMPLENR, 230 }, 38 | { 104 * OVERSAMPLENR, 220 }, 39 | { 124 * OVERSAMPLENR, 210 }, 40 | { 148 * OVERSAMPLENR, 200 }, 41 | { 176 * OVERSAMPLENR, 190 }, 42 | { 211 * OVERSAMPLENR, 180 }, 43 | { 252 * OVERSAMPLENR, 170 }, 44 | { 301 * OVERSAMPLENR, 160 }, 45 | { 357 * OVERSAMPLENR, 150 }, 46 | { 420 * OVERSAMPLENR, 140 }, 47 | { 489 * OVERSAMPLENR, 130 }, 48 | { 562 * OVERSAMPLENR, 120 }, 49 | { 636 * OVERSAMPLENR, 110 }, 50 | { 708 * OVERSAMPLENR, 100 }, 51 | { 775 * OVERSAMPLENR, 90 }, 52 | { 835 * OVERSAMPLENR, 80 }, 53 | { 884 * OVERSAMPLENR, 70 }, 54 | { 924 * OVERSAMPLENR, 60 }, 55 | { 955 * OVERSAMPLENR, 50 }, 56 | { 977 * OVERSAMPLENR, 40 }, 57 | { 993 * OVERSAMPLENR, 30 }, 58 | { 1004 * OVERSAMPLENR, 20 }, 59 | { 1012 * OVERSAMPLENR, 10 }, 60 | { 1016 * OVERSAMPLENR, 0 } 61 | }; 62 | -------------------------------------------------------------------------------- /Marlin/thermistortable_3.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // mendel-parts 24 | const short temptable_3[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 864 }, 26 | { 21 * OVERSAMPLENR, 300 }, 27 | { 25 * OVERSAMPLENR, 290 }, 28 | { 29 * OVERSAMPLENR, 280 }, 29 | { 33 * OVERSAMPLENR, 270 }, 30 | { 39 * OVERSAMPLENR, 260 }, 31 | { 46 * OVERSAMPLENR, 250 }, 32 | { 54 * OVERSAMPLENR, 240 }, 33 | { 64 * OVERSAMPLENR, 230 }, 34 | { 75 * OVERSAMPLENR, 220 }, 35 | { 90 * OVERSAMPLENR, 210 }, 36 | { 107 * OVERSAMPLENR, 200 }, 37 | { 128 * OVERSAMPLENR, 190 }, 38 | { 154 * OVERSAMPLENR, 180 }, 39 | { 184 * OVERSAMPLENR, 170 }, 40 | { 221 * OVERSAMPLENR, 160 }, 41 | { 265 * OVERSAMPLENR, 150 }, 42 | { 316 * OVERSAMPLENR, 140 }, 43 | { 375 * OVERSAMPLENR, 130 }, 44 | { 441 * OVERSAMPLENR, 120 }, 45 | { 513 * OVERSAMPLENR, 110 }, 46 | { 588 * OVERSAMPLENR, 100 }, 47 | { 734 * OVERSAMPLENR, 80 }, 48 | { 856 * OVERSAMPLENR, 60 }, 49 | { 938 * OVERSAMPLENR, 40 }, 50 | { 986 * OVERSAMPLENR, 20 }, 51 | { 1008 * OVERSAMPLENR, 0 }, 52 | { 1018 * OVERSAMPLENR, -20 } 53 | }; 54 | -------------------------------------------------------------------------------- /Marlin/thermistortable_4.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 10k thermistor 24 | const short temptable_4[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 430 }, 26 | { 54 * OVERSAMPLENR, 137 }, 27 | { 107 * OVERSAMPLENR, 107 }, 28 | { 160 * OVERSAMPLENR, 91 }, 29 | { 213 * OVERSAMPLENR, 80 }, 30 | { 266 * OVERSAMPLENR, 71 }, 31 | { 319 * OVERSAMPLENR, 64 }, 32 | { 372 * OVERSAMPLENR, 57 }, 33 | { 425 * OVERSAMPLENR, 51 }, 34 | { 478 * OVERSAMPLENR, 46 }, 35 | { 531 * OVERSAMPLENR, 41 }, 36 | { 584 * OVERSAMPLENR, 35 }, 37 | { 637 * OVERSAMPLENR, 30 }, 38 | { 690 * OVERSAMPLENR, 25 }, 39 | { 743 * OVERSAMPLENR, 20 }, 40 | { 796 * OVERSAMPLENR, 14 }, 41 | { 849 * OVERSAMPLENR, 7 }, 42 | { 902 * OVERSAMPLENR, 0 }, 43 | { 955 * OVERSAMPLENR, -11 }, 44 | { 1008 * OVERSAMPLENR, -35 } 45 | }; 46 | -------------------------------------------------------------------------------- /Marlin/thermistortable_5.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k ParCan thermistor (104GT-2) 24 | // ATC Semitec 104GT-2 (Used in ParCan) 25 | // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf 26 | // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance 27 | const short temptable_5[][2] PROGMEM = { 28 | { 1 * OVERSAMPLENR, 713 }, 29 | { 17 * OVERSAMPLENR, 300 }, // top rating 300C 30 | { 20 * OVERSAMPLENR, 290 }, 31 | { 23 * OVERSAMPLENR, 280 }, 32 | { 27 * OVERSAMPLENR, 270 }, 33 | { 31 * OVERSAMPLENR, 260 }, 34 | { 37 * OVERSAMPLENR, 250 }, 35 | { 43 * OVERSAMPLENR, 240 }, 36 | { 51 * OVERSAMPLENR, 230 }, 37 | { 61 * OVERSAMPLENR, 220 }, 38 | { 73 * OVERSAMPLENR, 210 }, 39 | { 87 * OVERSAMPLENR, 200 }, 40 | { 106 * OVERSAMPLENR, 190 }, 41 | { 128 * OVERSAMPLENR, 180 }, 42 | { 155 * OVERSAMPLENR, 170 }, 43 | { 189 * OVERSAMPLENR, 160 }, 44 | { 230 * OVERSAMPLENR, 150 }, 45 | { 278 * OVERSAMPLENR, 140 }, 46 | { 336 * OVERSAMPLENR, 130 }, 47 | { 402 * OVERSAMPLENR, 120 }, 48 | { 476 * OVERSAMPLENR, 110 }, 49 | { 554 * OVERSAMPLENR, 100 }, 50 | { 635 * OVERSAMPLENR, 90 }, 51 | { 713 * OVERSAMPLENR, 80 }, 52 | { 784 * OVERSAMPLENR, 70 }, 53 | { 846 * OVERSAMPLENR, 60 }, 54 | { 897 * OVERSAMPLENR, 50 }, 55 | { 937 * OVERSAMPLENR, 40 }, 56 | { 966 * OVERSAMPLENR, 30 }, 57 | { 986 * OVERSAMPLENR, 20 }, 58 | { 1000 * OVERSAMPLENR, 10 }, 59 | { 1010 * OVERSAMPLENR, 0 } 60 | }; 61 | -------------------------------------------------------------------------------- /Marlin/thermistortable_51.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!) 24 | // Verified by linagee. 25 | // Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance 26 | // Advantage: Twice the resolution and better linearity from 150C to 200C 27 | const short temptable_51[][2] PROGMEM = { 28 | { 1 * OVERSAMPLENR, 350 }, 29 | { 190 * OVERSAMPLENR, 250 }, // top rating 250C 30 | { 203 * OVERSAMPLENR, 245 }, 31 | { 217 * OVERSAMPLENR, 240 }, 32 | { 232 * OVERSAMPLENR, 235 }, 33 | { 248 * OVERSAMPLENR, 230 }, 34 | { 265 * OVERSAMPLENR, 225 }, 35 | { 283 * OVERSAMPLENR, 220 }, 36 | { 302 * OVERSAMPLENR, 215 }, 37 | { 322 * OVERSAMPLENR, 210 }, 38 | { 344 * OVERSAMPLENR, 205 }, 39 | { 366 * OVERSAMPLENR, 200 }, 40 | { 390 * OVERSAMPLENR, 195 }, 41 | { 415 * OVERSAMPLENR, 190 }, 42 | { 440 * OVERSAMPLENR, 185 }, 43 | { 467 * OVERSAMPLENR, 180 }, 44 | { 494 * OVERSAMPLENR, 175 }, 45 | { 522 * OVERSAMPLENR, 170 }, 46 | { 551 * OVERSAMPLENR, 165 }, 47 | { 580 * OVERSAMPLENR, 160 }, 48 | { 609 * OVERSAMPLENR, 155 }, 49 | { 638 * OVERSAMPLENR, 150 }, 50 | { 666 * OVERSAMPLENR, 145 }, 51 | { 695 * OVERSAMPLENR, 140 }, 52 | { 722 * OVERSAMPLENR, 135 }, 53 | { 749 * OVERSAMPLENR, 130 }, 54 | { 775 * OVERSAMPLENR, 125 }, 55 | { 800 * OVERSAMPLENR, 120 }, 56 | { 823 * OVERSAMPLENR, 115 }, 57 | { 845 * OVERSAMPLENR, 110 }, 58 | { 865 * OVERSAMPLENR, 105 }, 59 | { 884 * OVERSAMPLENR, 100 }, 60 | { 901 * OVERSAMPLENR, 95 }, 61 | { 917 * OVERSAMPLENR, 90 }, 62 | { 932 * OVERSAMPLENR, 85 }, 63 | { 944 * OVERSAMPLENR, 80 }, 64 | { 956 * OVERSAMPLENR, 75 }, 65 | { 966 * OVERSAMPLENR, 70 }, 66 | { 975 * OVERSAMPLENR, 65 }, 67 | { 982 * OVERSAMPLENR, 60 }, 68 | { 989 * OVERSAMPLENR, 55 }, 69 | { 995 * OVERSAMPLENR, 50 }, 70 | { 1000 * OVERSAMPLENR, 45 }, 71 | { 1004 * OVERSAMPLENR, 40 }, 72 | { 1007 * OVERSAMPLENR, 35 }, 73 | { 1010 * OVERSAMPLENR, 30 }, 74 | { 1013 * OVERSAMPLENR, 25 }, 75 | { 1015 * OVERSAMPLENR, 20 }, 76 | { 1017 * OVERSAMPLENR, 15 }, 77 | { 1018 * OVERSAMPLENR, 10 }, 78 | { 1019 * OVERSAMPLENR, 5 }, 79 | { 1020 * OVERSAMPLENR, 0 }, 80 | { 1021 * OVERSAMPLENR, -5 } 81 | }; 82 | -------------------------------------------------------------------------------- /Marlin/thermistortable_52.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!) 24 | // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf 25 | // Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance 26 | // Advantage: More resolution and better linearity from 150C to 200C 27 | const short temptable_52[][2] PROGMEM = { 28 | { 1 * OVERSAMPLENR, 500 }, 29 | { 125 * OVERSAMPLENR, 300 }, // top rating 300C 30 | { 142 * OVERSAMPLENR, 290 }, 31 | { 162 * OVERSAMPLENR, 280 }, 32 | { 185 * OVERSAMPLENR, 270 }, 33 | { 211 * OVERSAMPLENR, 260 }, 34 | { 240 * OVERSAMPLENR, 250 }, 35 | { 274 * OVERSAMPLENR, 240 }, 36 | { 312 * OVERSAMPLENR, 230 }, 37 | { 355 * OVERSAMPLENR, 220 }, 38 | { 401 * OVERSAMPLENR, 210 }, 39 | { 452 * OVERSAMPLENR, 200 }, 40 | { 506 * OVERSAMPLENR, 190 }, 41 | { 563 * OVERSAMPLENR, 180 }, 42 | { 620 * OVERSAMPLENR, 170 }, 43 | { 677 * OVERSAMPLENR, 160 }, 44 | { 732 * OVERSAMPLENR, 150 }, 45 | { 783 * OVERSAMPLENR, 140 }, 46 | { 830 * OVERSAMPLENR, 130 }, 47 | { 871 * OVERSAMPLENR, 120 }, 48 | { 906 * OVERSAMPLENR, 110 }, 49 | { 935 * OVERSAMPLENR, 100 }, 50 | { 958 * OVERSAMPLENR, 90 }, 51 | { 976 * OVERSAMPLENR, 80 }, 52 | { 990 * OVERSAMPLENR, 70 }, 53 | { 1000 * OVERSAMPLENR, 60 }, 54 | { 1008 * OVERSAMPLENR, 50 }, 55 | { 1013 * OVERSAMPLENR, 40 }, 56 | { 1017 * OVERSAMPLENR, 30 }, 57 | { 1019 * OVERSAMPLENR, 20 }, 58 | { 1021 * OVERSAMPLENR, 10 }, 59 | { 1022 * OVERSAMPLENR, 0 } 60 | }; 61 | -------------------------------------------------------------------------------- /Marlin/thermistortable_55.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!) 24 | // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf 25 | // Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance 26 | // Advantage: More resolution and better linearity from 150C to 200C 27 | const short temptable_55[][2] PROGMEM = { 28 | { 1 * OVERSAMPLENR, 500 }, 29 | { 76 * OVERSAMPLENR, 300 }, 30 | { 87 * OVERSAMPLENR, 290 }, 31 | { 100 * OVERSAMPLENR, 280 }, 32 | { 114 * OVERSAMPLENR, 270 }, 33 | { 131 * OVERSAMPLENR, 260 }, 34 | { 152 * OVERSAMPLENR, 250 }, 35 | { 175 * OVERSAMPLENR, 240 }, 36 | { 202 * OVERSAMPLENR, 230 }, 37 | { 234 * OVERSAMPLENR, 220 }, 38 | { 271 * OVERSAMPLENR, 210 }, 39 | { 312 * OVERSAMPLENR, 200 }, 40 | { 359 * OVERSAMPLENR, 190 }, 41 | { 411 * OVERSAMPLENR, 180 }, 42 | { 467 * OVERSAMPLENR, 170 }, 43 | { 527 * OVERSAMPLENR, 160 }, 44 | { 590 * OVERSAMPLENR, 150 }, 45 | { 652 * OVERSAMPLENR, 140 }, 46 | { 713 * OVERSAMPLENR, 130 }, 47 | { 770 * OVERSAMPLENR, 120 }, 48 | { 822 * OVERSAMPLENR, 110 }, 49 | { 867 * OVERSAMPLENR, 100 }, 50 | { 905 * OVERSAMPLENR, 90 }, 51 | { 936 * OVERSAMPLENR, 80 }, 52 | { 961 * OVERSAMPLENR, 70 }, 53 | { 979 * OVERSAMPLENR, 60 }, 54 | { 993 * OVERSAMPLENR, 50 }, 55 | { 1003 * OVERSAMPLENR, 40 }, 56 | { 1010 * OVERSAMPLENR, 30 }, 57 | { 1015 * OVERSAMPLENR, 20 }, 58 | { 1018 * OVERSAMPLENR, 10 }, 59 | { 1020 * OVERSAMPLENR, 0 } 60 | }; 61 | -------------------------------------------------------------------------------- /Marlin/thermistortable_6.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k Epcos thermistor 24 | const short temptable_6[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 350 }, 26 | { 28 * OVERSAMPLENR, 250 }, // top rating 250C 27 | { 31 * OVERSAMPLENR, 245 }, 28 | { 35 * OVERSAMPLENR, 240 }, 29 | { 39 * OVERSAMPLENR, 235 }, 30 | { 42 * OVERSAMPLENR, 230 }, 31 | { 44 * OVERSAMPLENR, 225 }, 32 | { 49 * OVERSAMPLENR, 220 }, 33 | { 53 * OVERSAMPLENR, 215 }, 34 | { 62 * OVERSAMPLENR, 210 }, 35 | { 71 * OVERSAMPLENR, 205 }, // fitted graphically 36 | { 78 * OVERSAMPLENR, 200 }, // fitted graphically 37 | { 94 * OVERSAMPLENR, 190 }, 38 | { 102 * OVERSAMPLENR, 185 }, 39 | { 116 * OVERSAMPLENR, 170 }, 40 | { 143 * OVERSAMPLENR, 160 }, 41 | { 183 * OVERSAMPLENR, 150 }, 42 | { 223 * OVERSAMPLENR, 140 }, 43 | { 270 * OVERSAMPLENR, 130 }, 44 | { 318 * OVERSAMPLENR, 120 }, 45 | { 383 * OVERSAMPLENR, 110 }, 46 | { 413 * OVERSAMPLENR, 105 }, 47 | { 439 * OVERSAMPLENR, 100 }, 48 | { 484 * OVERSAMPLENR, 95 }, 49 | { 513 * OVERSAMPLENR, 90 }, 50 | { 607 * OVERSAMPLENR, 80 }, 51 | { 664 * OVERSAMPLENR, 70 }, 52 | { 781 * OVERSAMPLENR, 60 }, 53 | { 810 * OVERSAMPLENR, 55 }, 54 | { 849 * OVERSAMPLENR, 50 }, 55 | { 914 * OVERSAMPLENR, 45 }, 56 | { 914 * OVERSAMPLENR, 40 }, 57 | { 935 * OVERSAMPLENR, 35 }, 58 | { 954 * OVERSAMPLENR, 30 }, 59 | { 970 * OVERSAMPLENR, 25 }, 60 | { 978 * OVERSAMPLENR, 22 }, 61 | { 1008 * OVERSAMPLENR, 3 }, 62 | { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C 63 | }; 64 | -------------------------------------------------------------------------------- /Marlin/thermistortable_66.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // DyzeDesign 500°C Thermistor 24 | const short temptable_66[][2] PROGMEM = { 25 | { 17.5 * OVERSAMPLENR, 850 }, 26 | { 17.9 * OVERSAMPLENR, 500 }, 27 | { 21.7 * OVERSAMPLENR, 480 }, 28 | { 26.6 * OVERSAMPLENR, 460 }, 29 | { 33.1 * OVERSAMPLENR, 440 }, 30 | { 41.0 * OVERSAMPLENR, 420 }, 31 | { 52.3 * OVERSAMPLENR, 400 }, 32 | { 67.7 * OVERSAMPLENR, 380 }, 33 | { 86.5 * OVERSAMPLENR, 360 }, 34 | { 112.0 * OVERSAMPLENR, 340 }, 35 | { 147.2 * OVERSAMPLENR, 320 }, 36 | { 194.0 * OVERSAMPLENR, 300 }, 37 | { 254.3 * OVERSAMPLENR, 280 }, 38 | { 330.2 * OVERSAMPLENR, 260 }, 39 | { 427.9 * OVERSAMPLENR, 240 }, 40 | { 533.4 * OVERSAMPLENR, 220 }, 41 | { 646.5 * OVERSAMPLENR, 200 }, 42 | { 754.4 * OVERSAMPLENR, 180 }, 43 | { 844.3 * OVERSAMPLENR, 160 }, 44 | { 911.7 * OVERSAMPLENR, 140 }, 45 | { 958.6 * OVERSAMPLENR, 120 }, 46 | { 988.8 * OVERSAMPLENR, 100 }, 47 | { 1006.6 * OVERSAMPLENR, 80 }, 48 | { 1015.8 * OVERSAMPLENR, 60 }, 49 | { 1021.3 * OVERSAMPLENR, 30 }, 50 | { 1023 * OVERSAMPLENR - 1, 25}, 51 | { 1023 * OVERSAMPLENR, 20} 52 | }; 53 | -------------------------------------------------------------------------------- /Marlin/thermistortable_7.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k Honeywell 135-104LAG-J01 24 | const short temptable_7[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 941 }, 26 | { 19 * OVERSAMPLENR, 362 }, 27 | { 37 * OVERSAMPLENR, 299 }, // top rating 300C 28 | { 55 * OVERSAMPLENR, 266 }, 29 | { 73 * OVERSAMPLENR, 245 }, 30 | { 91 * OVERSAMPLENR, 229 }, 31 | { 109 * OVERSAMPLENR, 216 }, 32 | { 127 * OVERSAMPLENR, 206 }, 33 | { 145 * OVERSAMPLENR, 197 }, 34 | { 163 * OVERSAMPLENR, 190 }, 35 | { 181 * OVERSAMPLENR, 183 }, 36 | { 199 * OVERSAMPLENR, 177 }, 37 | { 217 * OVERSAMPLENR, 171 }, 38 | { 235 * OVERSAMPLENR, 166 }, 39 | { 253 * OVERSAMPLENR, 162 }, 40 | { 271 * OVERSAMPLENR, 157 }, 41 | { 289 * OVERSAMPLENR, 153 }, 42 | { 307 * OVERSAMPLENR, 149 }, 43 | { 325 * OVERSAMPLENR, 146 }, 44 | { 343 * OVERSAMPLENR, 142 }, 45 | { 361 * OVERSAMPLENR, 139 }, 46 | { 379 * OVERSAMPLENR, 135 }, 47 | { 397 * OVERSAMPLENR, 132 }, 48 | { 415 * OVERSAMPLENR, 129 }, 49 | { 433 * OVERSAMPLENR, 126 }, 50 | { 451 * OVERSAMPLENR, 123 }, 51 | { 469 * OVERSAMPLENR, 121 }, 52 | { 487 * OVERSAMPLENR, 118 }, 53 | { 505 * OVERSAMPLENR, 115 }, 54 | { 523 * OVERSAMPLENR, 112 }, 55 | { 541 * OVERSAMPLENR, 110 }, 56 | { 559 * OVERSAMPLENR, 107 }, 57 | { 577 * OVERSAMPLENR, 105 }, 58 | { 595 * OVERSAMPLENR, 102 }, 59 | { 613 * OVERSAMPLENR, 99 }, 60 | { 631 * OVERSAMPLENR, 97 }, 61 | { 649 * OVERSAMPLENR, 94 }, 62 | { 667 * OVERSAMPLENR, 92 }, 63 | { 685 * OVERSAMPLENR, 89 }, 64 | { 703 * OVERSAMPLENR, 86 }, 65 | { 721 * OVERSAMPLENR, 84 }, 66 | { 739 * OVERSAMPLENR, 81 }, 67 | { 757 * OVERSAMPLENR, 78 }, 68 | { 775 * OVERSAMPLENR, 75 }, 69 | { 793 * OVERSAMPLENR, 72 }, 70 | { 811 * OVERSAMPLENR, 69 }, 71 | { 829 * OVERSAMPLENR, 66 }, 72 | { 847 * OVERSAMPLENR, 62 }, 73 | { 865 * OVERSAMPLENR, 59 }, 74 | { 883 * OVERSAMPLENR, 55 }, 75 | { 901 * OVERSAMPLENR, 51 }, 76 | { 919 * OVERSAMPLENR, 46 }, 77 | { 937 * OVERSAMPLENR, 41 }, 78 | { 955 * OVERSAMPLENR, 35 }, 79 | { 973 * OVERSAMPLENR, 27 }, 80 | { 991 * OVERSAMPLENR, 17 }, 81 | { 1009 * OVERSAMPLENR, 1 }, 82 | { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C 83 | }; 84 | -------------------------------------------------------------------------------- /Marlin/thermistortable_70.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // bqh2 stock thermistor 24 | const short temptable_70[][2] PROGMEM = { 25 | { 22 * OVERSAMPLENR, 300 }, 26 | { 24 * OVERSAMPLENR, 295 }, 27 | { 25 * OVERSAMPLENR, 290 }, 28 | { 27 * OVERSAMPLENR, 285 }, 29 | { 29 * OVERSAMPLENR, 280 }, 30 | { 32 * OVERSAMPLENR, 275 }, 31 | { 34 * OVERSAMPLENR, 270 }, 32 | { 37 * OVERSAMPLENR, 265 }, 33 | { 40 * OVERSAMPLENR, 260 }, 34 | { 43 * OVERSAMPLENR, 255 }, 35 | { 46 * OVERSAMPLENR, 250 }, 36 | { 50 * OVERSAMPLENR, 245 }, 37 | { 54 * OVERSAMPLENR, 240 }, 38 | { 59 * OVERSAMPLENR, 235 }, 39 | { 64 * OVERSAMPLENR, 230 }, 40 | { 70 * OVERSAMPLENR, 225 }, 41 | { 76 * OVERSAMPLENR, 220 }, 42 | { 83 * OVERSAMPLENR, 215 }, 43 | { 90 * OVERSAMPLENR, 210 }, 44 | { 99 * OVERSAMPLENR, 205 }, 45 | { 108 * OVERSAMPLENR, 200 }, 46 | { 118 * OVERSAMPLENR, 195 }, 47 | { 129 * OVERSAMPLENR, 190 }, 48 | { 141 * OVERSAMPLENR, 185 }, 49 | { 154 * OVERSAMPLENR, 180 }, 50 | { 169 * OVERSAMPLENR, 175 }, 51 | { 185 * OVERSAMPLENR, 170 }, 52 | { 203 * OVERSAMPLENR, 165 }, 53 | { 222 * OVERSAMPLENR, 160 }, 54 | { 243 * OVERSAMPLENR, 155 }, 55 | { 266 * OVERSAMPLENR, 150 }, 56 | { 290 * OVERSAMPLENR, 145 }, 57 | { 317 * OVERSAMPLENR, 140 }, 58 | { 346 * OVERSAMPLENR, 135 }, 59 | { 376 * OVERSAMPLENR, 130 }, 60 | { 408 * OVERSAMPLENR, 125 }, 61 | { 442 * OVERSAMPLENR, 120 }, 62 | { 477 * OVERSAMPLENR, 115 }, 63 | { 513 * OVERSAMPLENR, 110 }, 64 | { 551 * OVERSAMPLENR, 105 }, 65 | { 588 * OVERSAMPLENR, 100 }, 66 | { 626 * OVERSAMPLENR, 95 }, 67 | { 663 * OVERSAMPLENR, 90 }, 68 | { 699 * OVERSAMPLENR, 85 }, 69 | { 735 * OVERSAMPLENR, 80 }, 70 | { 768 * OVERSAMPLENR, 75 }, 71 | { 800 * OVERSAMPLENR, 70 }, 72 | { 829 * OVERSAMPLENR, 65 }, 73 | { 856 * OVERSAMPLENR, 60 }, 74 | { 881 * OVERSAMPLENR, 55 }, 75 | { 903 * OVERSAMPLENR, 50 }, 76 | { 922 * OVERSAMPLENR, 45 }, 77 | { 939 * OVERSAMPLENR, 40 }, 78 | { 954 * OVERSAMPLENR, 35 }, 79 | { 966 * OVERSAMPLENR, 30 }, 80 | { 977 * OVERSAMPLENR, 25 }, 81 | { 986 * OVERSAMPLENR, 20 }, 82 | { 994 * OVERSAMPLENR, 15 }, 83 | { 1000 * OVERSAMPLENR, 10 }, 84 | { 1005 * OVERSAMPLENR, 5 }, 85 | { 1009 * OVERSAMPLENR, 0 } // safety 86 | }; 87 | -------------------------------------------------------------------------------- /Marlin/thermistortable_8.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) 24 | const short temptable_8[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 704 }, 26 | { 54 * OVERSAMPLENR, 216 }, 27 | { 107 * OVERSAMPLENR, 175 }, 28 | { 160 * OVERSAMPLENR, 152 }, 29 | { 213 * OVERSAMPLENR, 137 }, 30 | { 266 * OVERSAMPLENR, 125 }, 31 | { 319 * OVERSAMPLENR, 115 }, 32 | { 372 * OVERSAMPLENR, 106 }, 33 | { 425 * OVERSAMPLENR, 99 }, 34 | { 478 * OVERSAMPLENR, 91 }, 35 | { 531 * OVERSAMPLENR, 85 }, 36 | { 584 * OVERSAMPLENR, 78 }, 37 | { 637 * OVERSAMPLENR, 71 }, 38 | { 690 * OVERSAMPLENR, 65 }, 39 | { 743 * OVERSAMPLENR, 58 }, 40 | { 796 * OVERSAMPLENR, 50 }, 41 | { 849 * OVERSAMPLENR, 42 }, 42 | { 902 * OVERSAMPLENR, 31 }, 43 | { 955 * OVERSAMPLENR, 17 }, 44 | { 1008 * OVERSAMPLENR, 0 } 45 | }; 46 | -------------------------------------------------------------------------------- /Marlin/thermistortable_9.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) 24 | const short temptable_9[][2] PROGMEM = { 25 | { 1 * OVERSAMPLENR, 936 }, 26 | { 36 * OVERSAMPLENR, 300 }, 27 | { 71 * OVERSAMPLENR, 246 }, 28 | { 106 * OVERSAMPLENR, 218 }, 29 | { 141 * OVERSAMPLENR, 199 }, 30 | { 176 * OVERSAMPLENR, 185 }, 31 | { 211 * OVERSAMPLENR, 173 }, 32 | { 246 * OVERSAMPLENR, 163 }, 33 | { 281 * OVERSAMPLENR, 155 }, 34 | { 316 * OVERSAMPLENR, 147 }, 35 | { 351 * OVERSAMPLENR, 140 }, 36 | { 386 * OVERSAMPLENR, 134 }, 37 | { 421 * OVERSAMPLENR, 128 }, 38 | { 456 * OVERSAMPLENR, 122 }, 39 | { 491 * OVERSAMPLENR, 117 }, 40 | { 526 * OVERSAMPLENR, 112 }, 41 | { 561 * OVERSAMPLENR, 107 }, 42 | { 596 * OVERSAMPLENR, 102 }, 43 | { 631 * OVERSAMPLENR, 97 }, 44 | { 666 * OVERSAMPLENR, 92 }, 45 | { 701 * OVERSAMPLENR, 87 }, 46 | { 736 * OVERSAMPLENR, 81 }, 47 | { 771 * OVERSAMPLENR, 76 }, 48 | { 806 * OVERSAMPLENR, 70 }, 49 | { 841 * OVERSAMPLENR, 63 }, 50 | { 876 * OVERSAMPLENR, 56 }, 51 | { 911 * OVERSAMPLENR, 48 }, 52 | { 946 * OVERSAMPLENR, 38 }, 53 | { 981 * OVERSAMPLENR, 23 }, 54 | { 1005 * OVERSAMPLENR, 5 }, 55 | { 1016 * OVERSAMPLENR, 0 } 56 | }; 57 | -------------------------------------------------------------------------------- /Marlin/thermistortable_998.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // User-defined table 1 24 | // Dummy Thermistor table.. It will ALWAYS read a fixed value. 25 | #ifndef DUMMY_THERMISTOR_998_VALUE 26 | #define DUMMY_THERMISTOR_998_VALUE 25 27 | #endif 28 | 29 | const short temptable_998[][2] PROGMEM = { 30 | { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE }, 31 | { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE } 32 | }; 33 | -------------------------------------------------------------------------------- /Marlin/thermistortable_999.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | // User-defined table 2 24 | // Dummy Thermistor table.. It will ALWAYS read a fixed value. 25 | #ifndef DUMMY_THERMISTOR_999_VALUE 26 | #define DUMMY_THERMISTOR_999_VALUE 25 27 | #endif 28 | 29 | const short temptable_999[][2] PROGMEM = { 30 | { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE }, 31 | { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE } 32 | }; 33 | -------------------------------------------------------------------------------- /Marlin/types.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef __TYPES_H__ 24 | #define __TYPES_H__ 25 | 26 | typedef unsigned long millis_t; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Marlin/vector_3.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | /** 24 | vector_3.cpp - Vector library for bed leveling 25 | Copyright (c) 2012 Lars Brubaker. All right reserved. 26 | 27 | This library is free software; you can redistribute it and/or 28 | modify it under the terms of the GNU Lesser General Public 29 | License as published by the Free Software Foundation; either 30 | version 2.1 of the License, or (at your option) any later version. 31 | 32 | This library is distributed in the hope that it will be useful, 33 | but WITHOUT ANY WARRANTY; without even the implied warranty of 34 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 35 | Lesser General Public License for more details. 36 | 37 | You should have received a copy of the GNU Lesser General Public 38 | License along with this library; if not, write to the Free Software 39 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 40 | */ 41 | #ifndef VECTOR_3_H 42 | #define VECTOR_3_H 43 | 44 | #if HAS_ABL 45 | 46 | class matrix_3x3; 47 | 48 | struct vector_3 { 49 | float x, y, z; 50 | 51 | vector_3(); 52 | vector_3(float x, float y, float z); 53 | 54 | static vector_3 cross(vector_3 a, vector_3 b); 55 | 56 | vector_3 operator+(vector_3 v); 57 | vector_3 operator-(vector_3 v); 58 | void normalize(); 59 | float get_length(); 60 | vector_3 get_normal(); 61 | 62 | void debug(const char * const title); 63 | 64 | void apply_rotation(matrix_3x3 matrix); 65 | }; 66 | 67 | struct matrix_3x3 { 68 | float matrix[9]; 69 | 70 | static matrix_3x3 create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2); 71 | static matrix_3x3 create_look_at(vector_3 target); 72 | static matrix_3x3 transpose(matrix_3x3 original); 73 | 74 | void set_to_identity(); 75 | 76 | void debug(const char * const title); 77 | }; 78 | 79 | 80 | void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float &y, float &z); 81 | 82 | #endif // HAS_ABL 83 | #endif // VECTOR_3_H 84 | -------------------------------------------------------------------------------- /Marlin/watchdog.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #include "Marlin.h" 24 | 25 | #if ENABLED(USE_WATCHDOG) 26 | 27 | #include "watchdog.h" 28 | 29 | // Initialize watchdog with a 4 sec interrupt time 30 | void watchdog_init() { 31 | #if ENABLED(WATCHDOG_RESET_MANUAL) 32 | // We enable the watchdog timer, but only for the interrupt. 33 | // Take care, as this requires the correct order of operation, with interrupts disabled. See the datasheet of any AVR chip for details. 34 | wdt_reset(); 35 | _WD_CONTROL_REG = _BV(_WD_CHANGE_BIT) | _BV(WDE); 36 | _WD_CONTROL_REG = _BV(WDIE) | WDTO_4S; 37 | #else 38 | wdt_enable(WDTO_4S); 39 | #endif 40 | } 41 | 42 | //=========================================================================== 43 | //=================================== ISR =================================== 44 | //=========================================================================== 45 | 46 | // Watchdog timer interrupt, called if main program blocks >4sec and manual reset is enabled. 47 | #if ENABLED(WATCHDOG_RESET_MANUAL) 48 | ISR(WDT_vect) { 49 | SERIAL_ERROR_START(); 50 | SERIAL_ERRORLNPGM("Something is wrong, please turn off the printer."); 51 | kill(PSTR("ERR:Please Reset")); //kill blocks //16 characters so it fits on a 16x2 display 52 | while (1); //wait for user or serial reset 53 | } 54 | #endif // WATCHDOG_RESET_MANUAL 55 | 56 | #endif // USE_WATCHDOG 57 | -------------------------------------------------------------------------------- /Marlin/watchdog.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Marlin 3D Printer Firmware 3 | * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] 4 | * 5 | * Based on Sprinter and grbl. 6 | * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | 23 | #ifndef WATCHDOG_H 24 | #define WATCHDOG_H 25 | 26 | #include "Marlin.h" 27 | #include 28 | 29 | // Initialize watchdog with a 4 second interrupt time 30 | void watchdog_init(); 31 | 32 | // Reset watchdog. MUST be called at least every 4 seconds after the 33 | // first watchdog_init or AVR will go into emergency procedures. 34 | inline void watchdog_reset() { wdt_reset(); } 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /OriginalFirmwares/OriginalCocconCreateFirmware_fixed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/OriginalFirmwares/OriginalCocconCreateFirmware_fixed.zip -------------------------------------------------------------------------------- /OriginalFirmwares/Originali3PlusFirmware_v2_18_fixed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/OriginalFirmwares/Originali3PlusFirmware_v2_18_fixed.zip -------------------------------------------------------------------------------- /OriginalFirmwares/Originali3PlusFirmware_v3_fixed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/OriginalFirmwares/Originali3PlusFirmware_v3_fixed.zip -------------------------------------------------------------------------------- /OriginalFirmwares/Originali3PlusFirmware_v3_fixed_no_preselect.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Silverquark/i3PlusPlus/07ddfbf9b5e690793646ef2bcdbf1e8d3675eea4/OriginalFirmwares/Originali3PlusFirmware_v3_fixed_no_preselect.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Info here: https://silverquark.github.io/i3PlusPlusSite/ 2 | 3 | ![Screenshot](http://i.imgur.com/KTvwPuP.jpg) 4 | 5 | # Usefull development links: 6 | 7 | Marlin changes for LCD: 8 | 9 | http://3dprinterwiki.info/wiki/wanhao-duplicator-i3-plus/wanhao-i3-plus-firmware-description/ 10 | 11 | LCD Manufraturer (contains sdk, datasheets, drivers and more): 12 | 13 | http://dwin.com.cn/english/products/bt-72876584214435.html 14 | 15 | # Disclaimer 16 | 17 | I'm not responsible for any damage done to your printer or lcd. 18 | 19 | Based on i3Extra by nepeee 20 | 21 | This is a modified version of the Marlin 1.1.1 firmware for the WANHAO Duplicator i3 Plus 3d printer. 22 | Currently it's in alpha state, same lcd functions are working and some of them is not. 23 | 24 | If you like to help us to make a better software for the printer don't hesitate to contribute in this project! 25 | -------------------------------------------------------------------------------- /buildroot/bin/build_marlin: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | arduino --verify --board arduino:avr:mega:cpu=atmega2560 Marlin/Marlin.ino 4 | -------------------------------------------------------------------------------- /buildroot/bin/generate_version_header_for_marlin: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # generate_version_header_for_marlin 3 | 4 | DIR="${1}" 5 | 6 | BUILDATE=$(date '+%s') 7 | DISTDATE=$(date '+%Y-%m-%d %H:%M') 8 | 9 | BRANCH=$(git -C "${DIR}" symbolic-ref -q --short HEAD) 10 | VERSION=$(git -C "${DIR}" describe --tags --first-parent 2>/dev/null) 11 | 12 | if [ -z "${BRANCH}" ]; then 13 | BRANCH=$(echo "${TRAVIS_BRANCH}") 14 | fi 15 | 16 | if [ -z "${VERSION}" ]; then 17 | VERSION=$(git -C "${DIR}" describe --tags --first-parent --always 2>/dev/null) 18 | fi 19 | 20 | SHORT_BUILD_VERSION=$(echo "${BRANCH}") 21 | DETAILED_BUILD_VERSION=$(echo "${BRANCH}-${VERSION}") 22 | 23 | # Gets some misc options from their defaults 24 | DEFAULT_MACHINE_UUID=$(awk -F'"' \ 25 | '/#define DEFAULT_MACHINE_UUID/{ print $2 }' < "${DIR}/Version.h") 26 | MACHINE_NAME=$(awk -F'"' \ 27 | '/#define MACHINE_NAME/{ print $2 }' < "${DIR}/Version.h") 28 | PROTOCOL_VERSION=$(awk -F'"' \ 29 | '/#define PROTOCOL_VERSION/{ print $2 }' < "${DIR}/Version.h") 30 | SOURCE_CODE_URL=$(awk -F'"' \ 31 | '/#define SOURCE_CODE_URL/{ print $2 }' < "${DIR}/Version.h") 32 | WEBSITE_URL=$(awk -F'"' \ 33 | '/#define WEBSITE_URL/{ print $2 }' < "${DIR}/Version.h") 34 | 35 | cat > "${DIR}/_Version.h" <&2 17 | echo -e " \e[0;92m-h\e[0m to switch to HTTPS" 1>&2 18 | echo -e " \e[0;92m-s\e[0m to switch to SSH" 1>&2 19 | exit 1 20 | ;; 21 | esac 22 | 23 | REMOTES=$(git remote -v | egrep "\t$MATCH" | gawk '{print $1 " " $2}' | sort -u | sed "s/$FORMULA/") 24 | 25 | if [[ -z $REMOTES ]]; then 26 | echo "Nothing to do." ; exit 27 | fi 28 | 29 | echo "$REMOTES" | xargs -n2 git remote set-url 30 | 31 | echo -n "Remotes set to $TYPE: " 32 | echo "$REMOTES" | gawk '{printf "%s ", $1}' 33 | echo 34 | -------------------------------------------------------------------------------- /buildroot/share/git/mfinfo: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfinfo 4 | # 5 | # Get the following helpful git info about the working directory: 6 | # 7 | # - Remote (upstream) Org name (MarlinFirmware) 8 | # - Remote (origin) Org name (your Github username) 9 | # - Repo Name (Marlin or MarlinDev) 10 | # - Marlin Target branch (RCBugFix or dev) 11 | # - Branch Name (the current branch or the one that was passed) 12 | # 13 | 14 | REPO=$(git remote get-url upstream 2>/dev/null | sed -E 's/.*\/(.*)\.git/\1/') 15 | 16 | if [[ -z $REPO ]]; then 17 | echo "`basename $0`: No 'upstream' remote found." 1>&2 ; exit 1 18 | fi 19 | 20 | ORG=$(git remote get-url upstream 2>/dev/null | sed -E 's/.*[\/:](.*)\/.*$/\1/') 21 | 22 | if [[ $ORG != MarlinFirmware ]]; then 23 | echo "`basename $0`: Not a Marlin repository." 24 | exit 1 25 | fi 26 | 27 | case "$REPO" in 28 | Marlin ) TARG=RCBugFix ;; 29 | MarlinDev ) TARG=dev ;; 30 | esac 31 | 32 | FORK=$(git remote get-url origin 2>/dev/null | sed -E 's/.*[\/:](.*)\/.*$/\1/') 33 | 34 | case "$#" in 35 | 0 ) BRANCH=$(git branch 2>/dev/null | grep ^* | sed 's/\* //g') ;; 36 | 1 ) BRANCH=$1 ;; 37 | * ) echo "Usage: `basename $0` [branch]" 1>&2 ; exit 1 ;; 38 | esac 39 | 40 | echo "$ORG $FORK $REPO $TARG $BRANCH" 41 | -------------------------------------------------------------------------------- /buildroot/share/git/mfinit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfinit 4 | # 5 | # Create the upstream repository for Marlin 6 | # 7 | 8 | git remote add upstream git@github.com:MarlinFirmware/Marlin.git 9 | -------------------------------------------------------------------------------- /buildroot/share/git/mfnew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfnew 4 | # 5 | # Create a new branch based on RCBugFix or dev a given branch name 6 | # 7 | 8 | MFINFO=$(mfinfo) || exit 9 | IFS=' ' read -a INFO <<< "$MFINFO" 10 | TARG=${INFO[3]} 11 | 12 | if [[ ${INFO[4]} == "(no" ]]; then 13 | echo "Branch is unavailable!" 14 | exit 1 15 | fi 16 | 17 | case "$#" in 18 | 0 ) BRANCH=pr_for_$TARG-$(date +"%G-%d-%m|%H:%M:%S") ;; 19 | 1 ) BRANCH=$1 ;; 20 | * ) echo "Usage: `basename $0` [branch]" 1>&2 ; exit 1 ;; 21 | esac 22 | 23 | git checkout $TARG -b $BRANCH 24 | -------------------------------------------------------------------------------- /buildroot/share/git/mfpr: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfpr 4 | # 5 | # Make a PR of the current branch against RCBugFix or dev 6 | # 7 | 8 | MFINFO=$(mfinfo "$@") || exit 9 | 10 | IFS=' ' read -a INFO <<< "$MFINFO" 11 | 12 | ORG=${INFO[0]} 13 | FORK=${INFO[1]} 14 | REPO=${INFO[2]} 15 | TARG=${INFO[3]} 16 | BRANCH=${INFO[4]} 17 | 18 | if [[ $BRANCH == "(no" ]]; then 19 | echo "Git is busy with merge, rebase, etc." 20 | exit 1 21 | fi 22 | 23 | if [[ ! -z "$1" ]]; then { BRANCH=$1 ; git checkout $1 || exit 1; } fi 24 | 25 | if [[ $BRANCH == $TARG ]]; then 26 | echo "Can't make a PR from $BRANCH" ; exit 27 | fi 28 | 29 | if [ -z "$(git branch -vv | grep ^\* | grep \\[origin)" ]; then firstpush; fi 30 | 31 | TOOL=$(which gnome-open xdg-open open | awk '{ print $1 }') 32 | URL="https://github.com/$ORG/$REPO/compare/$TARG...$FORK:$BRANCH?expand=1" 33 | 34 | if [ -z "$TOOL" ]; then 35 | echo "Can't find a tool to open the URL:" 36 | echo $URL 37 | else 38 | echo "Opening a New PR Form..." 39 | "$TOOL" "$URL" 40 | fi 41 | -------------------------------------------------------------------------------- /buildroot/share/git/mfprune: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfprune 4 | # 5 | # Prune all your merged branches and any branches whose remotes are gone 6 | # Great way to clean up your branches after messing around a lot 7 | # 8 | 9 | echo "Pruning Merged Branches..." 10 | git branch --merged | egrep -v "^\*|RC|RCBugFix|dev" | xargs -n 1 git branch -d 11 | echo 12 | 13 | echo "Pruning Remotely-deleted Branches..." 14 | git branch -vv | egrep -v "^\*|RC|RCBugFix|dev" | grep ': gone]' | gawk '{print $1}' | xargs -n 1 git branch -D 15 | echo 16 | 17 | echo "You may want to remove these remote tracking references..." 18 | comm -23 \ 19 | <(git branch --all | sed 's/^[\* ] //' | grep origin/ | grep -v "\->" | awk '{ print $1; }' | sed 's/remotes\/origin\///') \ 20 | <(git branch --all | sed 's/^[\* ] //' | grep -v remotes/ | awk '{ print $1; }') \ 21 | | awk '{ print "git branch -d -r origin/" $1; }' 22 | echo 23 | -------------------------------------------------------------------------------- /buildroot/share/git/mfrb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfrb 4 | # 5 | # Do "git rebase -i" against the "target" branch (RCBugFix or dev) 6 | # 7 | 8 | MFINFO=$(mfinfo) || exit 9 | IFS=' ' read -a INFO <<< "$MFINFO" 10 | 11 | if [[ ${INFO[4]} == "(no" ]]; then 12 | echo "Branch is unavailable!" 13 | exit 1 14 | fi 15 | 16 | case "$#" in 17 | 0 ) ;; 18 | * ) echo "Usage: `basename $0`" 1>&2 ; exit 1 ;; 19 | esac 20 | 21 | git rebase -i ${INFO[3]} 22 | -------------------------------------------------------------------------------- /buildroot/share/git/mfup: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # mfup 4 | # 5 | # Fetch and merge upstream changes, optionally with a branch 6 | # 7 | 8 | MFINFO=$(mfinfo) || exit 9 | 10 | IFS=' ' read -a INFO <<< "$MFINFO" 11 | 12 | ORG=${INFO[0]} 13 | FORK=${INFO[1]} 14 | REPO=${INFO[2]} 15 | TARG=${INFO[3]} 16 | OLDBRANCH=${INFO[4]} 17 | 18 | if [[ $OLDBRANCH == "(no" ]]; then 19 | echo "Branch is unavailable!" 20 | exit 1 21 | fi 22 | 23 | case "$#" in 24 | 0 ) BRANCH=$OLDBRANCH ;; 25 | 1 ) BRANCH=$1 ;; 26 | * ) echo "Usage: `basename $0` [branch]" 1>&2 ; exit 1 ;; 27 | esac 28 | 29 | set -e 30 | 31 | echo "Fetching upstream ($ORG/$REPO)..." 32 | git fetch upstream 33 | 34 | echo ; echo "Bringing $TARG up to date..." 35 | git checkout -q $TARG || git branch checkout upstream/$TARG -b $TARG && git push --set-upstream origin $TARG 36 | git merge upstream/$TARG 37 | git push origin 38 | 39 | if [[ $BRANCH != $TARG ]]; then 40 | echo ; echo "Rebasing $BRANCH on $TARG..." 41 | if git checkout $BRANCH; then 42 | echo 43 | if git rebase $TARG; then 44 | git push -f ; echo 45 | [[ $BRANCH != $OLDBRANCH ]] && git checkout $OLDBRANCH 46 | else 47 | echo "Looks like merge conflicts. Stopping here." 48 | fi 49 | else 50 | echo "No such branch!" ; echo 51 | git checkout $OLDBRANCH 52 | fi 53 | fi 54 | -------------------------------------------------------------------------------- /buildroot/share/pin_interrupt_test/pin_interrupt_test.ino: -------------------------------------------------------------------------------- 1 | // Search pins uasable for endstop-interupts 2 | // Compile with the same settings you'd use with Marlin. 3 | 4 | #if defined(ARDUINO_AVR_MEGA2560) || defined(ARDUINO_AVR_MEGA) 5 | #undef digitalPinToPCICR 6 | #define digitalPinToPCICR(p) ( (((p) >= 10) && ((p) <= 15)) || \ 7 | (((p) >= 50) && ((p) <= 53)) || \ 8 | (((p) >= 62) && ((p) <= 69)) ? (&PCICR) : ((uint8_t *)0) ) 9 | #endif 10 | 11 | void setup() { 12 | Serial.begin(9600); 13 | Serial.println("PINs causing interrups are:"); 14 | for(int i=2; i