├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── firmware
├── Marlin_Mondrian3-dual
│ ├── Conditionals.h
│ ├── Configuration.h
│ ├── Configuration_adv.h
│ ├── Marlin.h
│ ├── Marlin.ino
│ ├── MarlinSerial.cpp
│ ├── MarlinSerial.h
│ ├── Marlin_Mondrian3-dual.ino
│ ├── Marlin_main.cpp
│ ├── SanityCheck.h
│ ├── Sd2Card.cpp
│ ├── Sd2Card.h
│ ├── Sd2PinMap.h
│ ├── SdBaseFile.cpp
│ ├── SdBaseFile.h
│ ├── SdFatConfig.h
│ ├── SdFatStructs.h
│ ├── SdFatUtil.cpp
│ ├── SdFatUtil.h
│ ├── SdFile.cpp
│ ├── SdFile.h
│ ├── SdInfo.h
│ ├── SdVolume.cpp
│ ├── SdVolume.h
│ ├── blinkm.cpp
│ ├── blinkm.h
│ ├── boards.h
│ ├── cardreader.cpp
│ ├── cardreader.h
│ ├── configuration_store.cpp
│ ├── configuration_store.h
│ ├── 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_5_Cyrillic.h
│ ├── dogm_font_data_ISO10646_CN.h
│ ├── dogm_font_data_ISO10646_Kana.h
│ ├── dogm_font_data_Marlin_symbols.h
│ ├── dogm_lcd_implementation.h
│ ├── fastio.h
│ ├── language.h
│ ├── language_an.h
│ ├── language_ca.h
│ ├── language_cn.h
│ ├── language_de.h
│ ├── language_en.h
│ ├── language_es.h
│ ├── language_eu.h
│ ├── language_fi.h
│ ├── language_fr.h
│ ├── language_it.h
│ ├── language_kana.h
│ ├── language_kana_utf8.h
│ ├── language_nl.h
│ ├── language_pl.h
│ ├── language_pt-br.h
│ ├── language_pt.h
│ ├── language_ru.h
│ ├── language_test.h
│ ├── mesh_bed_leveling.cpp
│ ├── mesh_bed_leveling.h
│ ├── motion_control.cpp
│ ├── motion_control.h
│ ├── pins.h
│ ├── pins_3DRAG.h
│ ├── pins_5DPRINT.h
│ ├── pins_99.h
│ ├── pins_AZTEEG_X1.h
│ ├── pins_AZTEEG_X3.h
│ ├── pins_AZTEEG_X3_PRO.h
│ ├── pins_BAM_DICE_DUE.h
│ ├── pins_BRAINWAVE.h
│ ├── pins_BRAINWAVE_PRO.h
│ ├── pins_CHEAPTRONIC.h
│ ├── pins_DUEMILANOVE_328P.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_HEPHESTOS.h
│ ├── pins_K8200.h
│ ├── pins_LEAPFROG.h
│ ├── pins_MEGATRONICS.h
│ ├── pins_MEGATRONICS_1.h
│ ├── pins_MEGATRONICS_2.h
│ ├── pins_MEGATRONICS_3.h
│ ├── pins_MELZI.h
│ ├── pins_MELZI_1284.h
│ ├── pins_OMCA.h
│ ├── pins_OMCA_A.h
│ ├── pins_PRINTRBOARD.h
│ ├── pins_RAMBO.h
│ ├── pins_RAMPS_13.h
│ ├── pins_RAMPS_OLD.h
│ ├── pins_RUMBA.h
│ ├── pins_SANGUINOLOLU_11.h
│ ├── pins_SANGUINOLOLU_12.h
│ ├── pins_SAV_MKI.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_WITBOX.h
│ ├── planner.cpp
│ ├── planner.h
│ ├── qr_solve.cpp
│ ├── qr_solve.h
│ ├── servo.cpp
│ ├── servo.h
│ ├── speed_lookuptable.h
│ ├── stepper.cpp
│ ├── stepper.h
│ ├── stepper_indirection.cpp
│ ├── stepper_indirection.h
│ ├── temperature.cpp
│ ├── temperature.h
│ ├── thermistortables.h
│ ├── ultralcd.cpp
│ ├── ultralcd.h
│ ├── ultralcd_implementation_hitachi_HD44780.h
│ ├── ultralcd_st7920_u8glib_rrd.h
│ ├── utf_mapper.h
│ ├── vector_3.cpp
│ ├── vector_3.h
│ ├── watchdog.cpp
│ └── watchdog.h
└── Marlin_Mondrian3-mono
│ ├── Conditionals.h
│ ├── Configuration.h
│ ├── Configuration_adv.h
│ ├── Marlin.h
│ ├── Marlin.ino
│ ├── MarlinSerial.cpp
│ ├── MarlinSerial.h
│ ├── Marlin_Mondrian3-mono.ino
│ ├── Marlin_main.cpp
│ ├── SanityCheck.h
│ ├── Sd2Card.cpp
│ ├── Sd2Card.h
│ ├── Sd2PinMap.h
│ ├── SdBaseFile.cpp
│ ├── SdBaseFile.h
│ ├── SdFatConfig.h
│ ├── SdFatStructs.h
│ ├── SdFatUtil.cpp
│ ├── SdFatUtil.h
│ ├── SdFile.cpp
│ ├── SdFile.h
│ ├── SdInfo.h
│ ├── SdVolume.cpp
│ ├── SdVolume.h
│ ├── blinkm.cpp
│ ├── blinkm.h
│ ├── boards.h
│ ├── cardreader.cpp
│ ├── cardreader.h
│ ├── configuration_store.cpp
│ ├── configuration_store.h
│ ├── 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_5_Cyrillic.h
│ ├── dogm_font_data_ISO10646_CN.h
│ ├── dogm_font_data_ISO10646_Kana.h
│ ├── dogm_font_data_Marlin_symbols.h
│ ├── dogm_lcd_implementation.h
│ ├── fastio.h
│ ├── language.h
│ ├── language_an.h
│ ├── language_ca.h
│ ├── language_cn.h
│ ├── language_de.h
│ ├── language_en.h
│ ├── language_es.h
│ ├── language_eu.h
│ ├── language_fi.h
│ ├── language_fr.h
│ ├── language_it.h
│ ├── language_kana.h
│ ├── language_kana_utf8.h
│ ├── language_nl.h
│ ├── language_pl.h
│ ├── language_pt-br.h
│ ├── language_pt.h
│ ├── language_ru.h
│ ├── language_test.h
│ ├── mesh_bed_leveling.cpp
│ ├── mesh_bed_leveling.h
│ ├── motion_control.cpp
│ ├── motion_control.h
│ ├── pins.h
│ ├── pins_3DRAG.h
│ ├── pins_5DPRINT.h
│ ├── pins_99.h
│ ├── pins_AZTEEG_X1.h
│ ├── pins_AZTEEG_X3.h
│ ├── pins_AZTEEG_X3_PRO.h
│ ├── pins_BAM_DICE_DUE.h
│ ├── pins_BRAINWAVE.h
│ ├── pins_BRAINWAVE_PRO.h
│ ├── pins_CHEAPTRONIC.h
│ ├── pins_DUEMILANOVE_328P.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_HEPHESTOS.h
│ ├── pins_K8200.h
│ ├── pins_LEAPFROG.h
│ ├── pins_MEGATRONICS.h
│ ├── pins_MEGATRONICS_1.h
│ ├── pins_MEGATRONICS_2.h
│ ├── pins_MEGATRONICS_3.h
│ ├── pins_MELZI.h
│ ├── pins_MELZI_1284.h
│ ├── pins_OMCA.h
│ ├── pins_OMCA_A.h
│ ├── pins_PRINTRBOARD.h
│ ├── pins_RAMBO.h
│ ├── pins_RAMPS_13.h
│ ├── pins_RAMPS_OLD.h
│ ├── pins_RUMBA.h
│ ├── pins_SANGUINOLOLU_11.h
│ ├── pins_SANGUINOLOLU_12.h
│ ├── pins_SAV_MKI.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_WITBOX.h
│ ├── planner.cpp
│ ├── planner.h
│ ├── qr_solve.cpp
│ ├── qr_solve.h
│ ├── servo.cpp
│ ├── servo.h
│ ├── speed_lookuptable.h
│ ├── stepper.cpp
│ ├── stepper.h
│ ├── stepper_indirection.cpp
│ ├── stepper_indirection.h
│ ├── temperature.cpp
│ ├── temperature.h
│ ├── thermistortables.h
│ ├── ultralcd.cpp
│ ├── ultralcd.h
│ ├── ultralcd_implementation_hitachi_HD44780.h
│ ├── ultralcd_st7920_u8glib_rrd.h
│ ├── utf_mapper.h
│ ├── vector_3.cpp
│ ├── vector_3.h
│ ├── watchdog.cpp
│ └── watchdog.h
├── hardware
├── DXF
│ ├── arriere.dxf
│ ├── bas.dxf
│ ├── bed
│ │ ├── plateau-alu_220x220x4.dwg
│ │ ├── plateau-alu_220x220x4.png
│ │ └── plateau-alu_220x220x4mm.skp
│ ├── capot-elec_dessus.dxf
│ ├── capot-elec_megatronics.dxf
│ ├── equerre.dxf
│ ├── flanc.dxf
│ ├── front-door.dxf
│ ├── gabarit.dxf
│ ├── hotend-insulation.dxf
│ └── plateau Z.dxf
└── STL
│ ├── Dual
│ ├── PIM30 Entrainement-fil corps.stl
│ ├── PIM30 Entrainement-fil levier.stl
│ ├── PIM30-dual Bouchon.stl
│ ├── PIM30-dual Clip-tube-cables.stl
│ ├── PIM30-dual Devidoir-bobine.stl
│ ├── PIM30-dual Devidoir-bobine_x2.stl
│ └── PIM30-dual Entrainement-fil capot-2.stl
│ ├── Mono
│ ├── PIM30-mono Clip-tube-gaine.stl
│ └── PIM30-mono Crochet-bobine-70mm.stl
│ ├── PIM30 Butee-capteur-Z.stl
│ ├── PIM30 Capot-tete-dual.stl
│ ├── PIM30 Chariot-X.stl
│ ├── PIM30 Chariot-Y-droite.stl
│ ├── PIM30 Chariot-Y-gauche.stl
│ ├── PIM30 Chariot-Z.stl
│ ├── PIM30 Chariots-Y.stl
│ ├── PIM30 Coin-inferieur.stl
│ ├── PIM30 Coin-superieur.stl
│ ├── PIM30 Coupelle.stl
│ ├── PIM30 Entrainement-fil capot-1.stl
│ ├── PIM30 Entrainement-fil corps.stl
│ ├── PIM30 Entrainement-fil levier.stl
│ ├── PIM30 Loquet-porte-ecrou.stl
│ ├── PIM30 Loquet-porte-vis.stl
│ ├── PIM30 Molette-ecrou-M3.stl
│ ├── PIM30 Support-courroie.stl
│ ├── PIM30 Support-courroie_x2.stl
│ └── PIM30 Support-tête.stl
├── software
├── Slic3r_config_bundle_Mondrian3_DUAL-OEV4.ini
└── Slic3r_config_bundle_Mondrian3_MONO-OEV5.ini
└── source
└── Mondrian.skp
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # Windows shortcuts
18 | *.lnk
19 |
20 | # =========================
21 | # Operating System Files
22 | # =========================
23 |
24 | # OSX
25 | # =========================
26 |
27 | .DS_Store
28 | .AppleDouble
29 | .LSOverride
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear in the root of a volume
35 | .DocumentRevisions-V100
36 | .fseventsd
37 | .Spotlight-V100
38 | .TemporaryItems
39 | .Trashes
40 | .VolumeIcon.icns
41 |
42 | # Directories potentially created on remote AFP share
43 | .AppleDB
44 | .AppleDesktop
45 | Network Trash Folder
46 | Temporary Items
47 | .apdisk
48 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Mondrian, The Modular RepRap
2 | ============================
3 |
4 | For instructions, see the [RepRap wiki](http://reprap.org/wiki/Mondrian) :)
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/Marlin.ino:
--------------------------------------------------------------------------------
1 | /* -*- c++ -*- */
2 |
3 | /*
4 | Reprap firmware based on Sprinter and grbl.
5 | Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
6 |
7 | This program is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | /*
22 | This firmware is a mashup between Sprinter and grbl.
23 | (https://github.com/kliment/Sprinter)
24 | (https://github.com/simen/grbl/tree)
25 |
26 | It has preliminary support for Matthew Roberts advance algorithm
27 | http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
28 | */
29 |
30 | /* All the implementation is done in *.cpp files to get better compatibility with avr-gcc without the Arduino IDE */
31 | /* Use this file to help the Arduino IDE find which Arduino libraries are needed and to keep documentation on GCode */
32 |
33 | #include "Configuration.h"
34 | #include "pins.h"
35 |
36 | #ifdef ULTRA_LCD
37 | #if defined(LCD_I2C_TYPE_PCF8575)
38 | #include
39 | #include
40 | #elif defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)
41 | #include
42 | #include
43 | #elif defined(DOGLCD)
44 | #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/)
45 | #else
46 | #include // library for character LCD
47 | #endif
48 | #endif
49 |
50 | #if HAS_DIGIPOTSS
51 | #include
52 | #endif
53 |
54 | #if defined(DIGIPOT_I2C)
55 | #include
56 | #endif
57 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/Marlin_Mondrian3-dual.ino:
--------------------------------------------------------------------------------
1 | /* -*- c++ -*- */
2 |
3 | /*
4 | Reprap firmware based on Sprinter and grbl.
5 | Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
6 |
7 | This program is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | /*
22 | This firmware is a mashup between Sprinter and grbl.
23 | (https://github.com/kliment/Sprinter)
24 | (https://github.com/simen/grbl/tree)
25 |
26 | It has preliminary support for Matthew Roberts advance algorithm
27 | http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
28 | */
29 |
30 | /* All the implementation is done in *.cpp files to get better compatibility with avr-gcc without the Arduino IDE */
31 | /* Use this file to help the Arduino IDE find which Arduino libraries are needed and to keep documentation on GCode */
32 |
33 | #include "Configuration.h"
34 | #include "pins.h"
35 |
36 | #ifdef ULTRA_LCD
37 | #if defined(LCD_I2C_TYPE_PCF8575)
38 | #include
39 | #include
40 | #elif defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)
41 | #include
42 | #include
43 | #elif defined(DOGLCD)
44 | #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/)
45 | #else
46 | #include // library for character LCD
47 | #endif
48 | #endif
49 |
50 | #if HAS_DIGIPOTSS
51 | #include
52 | #endif
53 |
54 | #if defined(DIGIPOT_I2C)
55 | #include
56 | #endif
57 |
58 | #ifdef HAVE_TMCDRIVER
59 | #include
60 | #include
61 | #endif
62 |
63 | #ifdef HAVE_L6470DRIVER
64 | #include
65 | #include
66 | #endif
67 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/SdFatUtil.cpp:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2008 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | #include "Marlin.h"
21 |
22 | #ifdef SDSUPPORT
23 | #include "SdFatUtil.h"
24 |
25 | //------------------------------------------------------------------------------
26 | /** Amount of free RAM
27 | * \return The number of free bytes.
28 | */
29 | #ifdef __arm__
30 | extern "C" char* sbrk(int incr);
31 | int SdFatUtil::FreeRam() {
32 | char top;
33 | return &top - reinterpret_cast(sbrk(0));
34 | }
35 | #else // __arm__
36 | extern char *__brkval;
37 | extern char __bss_end;
38 | /** Amount of free RAM
39 | * \return The number of free bytes.
40 | */
41 | int SdFatUtil::FreeRam() {
42 | char top;
43 | return __brkval ? &top - __brkval : &top - &__bss_end;
44 | }
45 | #endif // __arm
46 |
47 | //------------------------------------------------------------------------------
48 | /** %Print a string in flash memory.
49 | *
50 | * \param[in] pr Print object for output.
51 | * \param[in] str Pointer to string stored in flash memory.
52 | */
53 | void SdFatUtil::print_P( PGM_P str) {
54 | for (uint8_t c; (c = pgm_read_byte(str)); str++) MYSERIAL.write(c);
55 | }
56 | //------------------------------------------------------------------------------
57 | /** %Print a string in flash memory followed by a CR/LF.
58 | *
59 | * \param[in] pr Print object for output.
60 | * \param[in] str Pointer to string stored in flash memory.
61 | */
62 | void SdFatUtil::println_P( PGM_P str) {
63 | print_P( str);
64 | MYSERIAL.println();
65 | }
66 | //------------------------------------------------------------------------------
67 | /** %Print a string in flash memory to Serial.
68 | *
69 | * \param[in] str Pointer to string stored in flash memory.
70 | */
71 | void SdFatUtil::SerialPrint_P(PGM_P str) {
72 | print_P(str);
73 | }
74 | //------------------------------------------------------------------------------
75 | /** %Print a string in flash memory to Serial followed by a CR/LF.
76 | *
77 | * \param[in] str Pointer to string stored in flash memory.
78 | */
79 | void SdFatUtil::SerialPrintln_P(PGM_P str) {
80 | println_P( str);
81 | }
82 | #endif
83 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/SdFatUtil.h:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2008 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | #include "Marlin.h"
21 | #ifdef SDSUPPORT
22 |
23 | #ifndef SdFatUtil_h
24 | #define SdFatUtil_h
25 | /**
26 | * \file
27 | * \brief Useful utility functions.
28 | */
29 | #include "Marlin.h"
30 | #include "MarlinSerial.h"
31 | /** Store and print a string in flash memory.*/
32 | #define PgmPrint(x) SerialPrint_P(PSTR(x))
33 | /** Store and print a string in flash memory followed by a CR/LF.*/
34 | #define PgmPrintln(x) SerialPrintln_P(PSTR(x))
35 |
36 | namespace SdFatUtil {
37 | int FreeRam();
38 | void print_P( PGM_P str);
39 | void println_P( PGM_P str);
40 | void SerialPrint_P(PGM_P str);
41 | void SerialPrintln_P(PGM_P str);
42 | }
43 |
44 | using namespace SdFatUtil; // NOLINT
45 | #endif // #define SdFatUtil_h
46 |
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/SdFile.cpp:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2009 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | #include "Marlin.h"
21 |
22 | #ifdef SDSUPPORT
23 | #include "SdFile.h"
24 | /** Create a file object and open it in the current working directory.
25 | *
26 | * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
27 | *
28 | * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
29 | * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
30 | */
31 | SdFile::SdFile(const char* path, uint8_t oflag) : SdBaseFile(path, oflag) {
32 | }
33 | //------------------------------------------------------------------------------
34 | /** Write data to an open file.
35 | *
36 | * \note Data is moved to the cache but may not be written to the
37 | * storage device until sync() is called.
38 | *
39 | * \param[in] buf Pointer to the location of the data to be written.
40 | *
41 | * \param[in] nbyte Number of bytes to write.
42 | *
43 | * \return For success write() returns the number of bytes written, always
44 | * \a nbyte. If an error occurs, write() returns -1. Possible errors
45 | * include write() is called before a file has been opened, write is called
46 | * for a read-only file, device is full, a corrupt file system or an I/O error.
47 | *
48 | */
49 | int16_t SdFile::write(const void* buf, uint16_t nbyte) {
50 | return SdBaseFile::write(buf, nbyte);
51 | }
52 | //------------------------------------------------------------------------------
53 | /** Write a byte to a file. Required by the Arduino Print class.
54 | * \param[in] b the byte to be written.
55 | * Use writeError to check for errors.
56 | */
57 | #if ARDUINO >= 100
58 | size_t SdFile::write(uint8_t b)
59 | {
60 | return SdBaseFile::write(&b, 1);
61 | }
62 | #else
63 | void SdFile::write(uint8_t b)
64 | {
65 | SdBaseFile::write(&b, 1);
66 | }
67 | #endif
68 | //------------------------------------------------------------------------------
69 | /** Write a string to a file. Used by the Arduino Print class.
70 | * \param[in] str Pointer to the string.
71 | * Use writeError to check for errors.
72 | */
73 | void SdFile::write(const char* str) {
74 | SdBaseFile::write(str, strlen(str));
75 | }
76 | //------------------------------------------------------------------------------
77 | /** Write a PROGMEM string to a file.
78 | * \param[in] str Pointer to the PROGMEM string.
79 | * Use writeError to check for errors.
80 | */
81 | void SdFile::write_P(PGM_P str) {
82 | for (uint8_t c; (c = pgm_read_byte(str)); str++) write(c);
83 | }
84 | //------------------------------------------------------------------------------
85 | /** Write a PROGMEM string followed by CR/LF to a file.
86 | * \param[in] str Pointer to the PROGMEM string.
87 | * Use writeError to check for errors.
88 | */
89 | void SdFile::writeln_P(PGM_P str) {
90 | write_P(str);
91 | write_P(PSTR("\r\n"));
92 | }
93 |
94 |
95 | #endif
96 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/SdFile.h:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2009 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | /**
21 | * \file
22 | * \brief SdFile class
23 | */
24 | #include "Marlin.h"
25 |
26 | #ifdef SDSUPPORT
27 | #include "SdBaseFile.h"
28 | #include
29 | #ifndef SdFile_h
30 | #define SdFile_h
31 | //------------------------------------------------------------------------------
32 | /**
33 | * \class SdFile
34 | * \brief SdBaseFile with Print.
35 | */
36 | class SdFile : public SdBaseFile, public Print {
37 | public:
38 | SdFile() {}
39 | SdFile(const char* name, uint8_t oflag);
40 | #if ARDUINO >= 100
41 | size_t write(uint8_t b);
42 | #else
43 | void write(uint8_t b);
44 | #endif
45 |
46 | int16_t write(const void* buf, uint16_t nbyte);
47 | void write(const char* str);
48 | void write_P(PGM_P str);
49 | void writeln_P(PGM_P str);
50 | };
51 | #endif // SdFile_h
52 |
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/blinkm.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | blinkm.cpp - Library for controlling a BlinkM over i2c
3 | Created by Tim Koster, August 21 2013.
4 | */
5 | #include "Marlin.h"
6 | #ifdef BLINKM
7 |
8 | #include "blinkm.h"
9 |
10 | void SendColors(byte red, byte grn, byte blu) {
11 | Wire.begin();
12 | Wire.beginTransmission(0x09);
13 | Wire.write('o'); //to disable ongoing script, only needs to be used once
14 | Wire.write('n');
15 | Wire.write(red);
16 | Wire.write(grn);
17 | Wire.write(blu);
18 | Wire.endTransmission();
19 | }
20 |
21 | #endif //BLINKM
22 |
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/blinkm.h:
--------------------------------------------------------------------------------
1 | /*
2 | blinkm.h
3 | Library header file for BlinkM library
4 | */
5 | #if ARDUINO >= 100
6 | #include "Arduino.h"
7 | #else
8 | #include "WProgram.h"
9 | #endif
10 |
11 | #include "Wire.h"
12 |
13 | void SendColors(byte red, byte grn, byte blu);
14 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/boards.h:
--------------------------------------------------------------------------------
1 | #ifndef BOARDS_H
2 | #define BOARDS_H
3 |
4 | #define BOARD_UNKNOWN -1
5 |
6 | #define BOARD_GEN7_CUSTOM 10 // Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
7 | #define BOARD_GEN7_12 11 // Gen7 v1.1, v1.2
8 | #define BOARD_GEN7_13 12 // Gen7 v1.3
9 | #define BOARD_GEN7_14 13 // Gen7 v1.4
10 | #define BOARD_CHEAPTRONIC 2 // Cheaptronic v1.0
11 | #define BOARD_SETHI 20 // Sethi 3D_1
12 | #define BOARD_RAMPS_OLD 3 // MEGA/RAMPS up to 1.2
13 | #define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
14 | #define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)
15 | #define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
16 | #define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan)
17 | #define BOARD_FELIX2 37 // Felix 2.0+ Electronics Board (RAMPS like)
18 | #define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments
19 | #define BOARD_GEN6 5 // Gen6
20 | #define BOARD_GEN6_DELUXE 51 // Gen6 deluxe
21 | #define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2
22 | #define BOARD_SANGUINOLOLU_12 62 // Sanguinololu 1.2 and above
23 | #define BOARD_MELZI 63 // Melzi
24 | #define BOARD_STB_11 64 // STB V1.1
25 | #define BOARD_AZTEEG_X1 65 // Azteeg X1
26 | #define BOARD_MELZI_1284 66 // Melzi with ATmega1284 (MaKr3d version)
27 | #define BOARD_AZTEEG_X3 67 // Azteeg X3
28 | #define BOARD_AZTEEG_X3_PRO 68 // Azteeg X3 Pro
29 | #define BOARD_ULTIMAKER 7 // Ultimaker
30 | #define BOARD_ULTIMAKER_OLD 71 // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
31 | #define BOARD_ULTIMAIN_2 72 // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
32 | #define BOARD_3DRAG 77 // 3Drag Controller
33 | #define BOARD_K8200 78 // Vellemann K8200 Controller (derived from 3Drag Controller)
34 | #define BOARD_TEENSYLU 8 // Teensylu
35 | #define BOARD_RUMBA 80 // Rumba
36 | #define BOARD_PRINTRBOARD 81 // Printrboard (AT90USB1286)
37 | #define BOARD_BRAINWAVE 82 // Brainwave (AT90USB646)
38 | #define BOARD_SAV_MKI 83 // SAV Mk-I (AT90USB1286)
39 | #define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make
40 | #define BOARD_BRAINWAVE_PRO 85 // Brainwave Pro (AT90USB1286)
41 | #define BOARD_GEN3_PLUS 9 // Gen3+
42 | #define BOARD_GEN3_MONOLITHIC 22 // Gen3 Monolithic Electronics
43 | #define BOARD_MEGATRONICS 70 // Megatronics
44 | #define BOARD_MEGATRONICS_2 701 // Megatronics v2.0
45 | #define BOARD_MEGATRONICS_1 702 // Minitronics v1.0
46 | #define BOARD_MEGATRONICS_3 703 // Megatronics v3.0
47 | #define BOARD_OMCA_A 90 // Alpha OMCA board
48 | #define BOARD_OMCA 91 // Final OMCA board
49 | #define BOARD_RAMBO 301 // Rambo
50 | #define BOARD_ELEFU_3 21 // Elefu Ra Board (v3)
51 | #define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board
52 | #define BOARD_LEAPFROG 999 // Leapfrog
53 | #define BOARD_WITBOX 41 // bq WITBOX
54 | #define BOARD_HEPHESTOS 42 // bq Prusa i3 Hephestos
55 | #define BOARD_BAM_DICE 401 // 2PrintBeta BAM&DICE with STK drivers
56 | #define BOARD_BAM_DICE_DUE 402 // 2PrintBeta BAM&DICE Due with STK drivers
57 |
58 | #define BOARD_99 99 // This is in pins.h but...?
59 |
60 | #define MB(board) (MOTHERBOARD==BOARD_##board)
61 |
62 | #endif //__BOARDS_H
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/cardreader.h:
--------------------------------------------------------------------------------
1 | #ifndef CARDREADER_H
2 | #define CARDREADER_H
3 |
4 | #ifdef SDSUPPORT
5 |
6 | #define MAX_DIR_DEPTH 10 // Maximum folder depth
7 |
8 | #include "SdFile.h"
9 | enum LsAction { LS_SerialPrint, LS_Count, LS_GetFilename };
10 |
11 | class CardReader {
12 | public:
13 | CardReader();
14 |
15 | void initsd();
16 | void write_command(char *buf);
17 | //files auto[0-9].g on the sd card are performed in a row
18 | //this is to delay autostart and hence the initialisaiton of the sd card to some seconds after the normal init, so the device is available quick after a reset
19 |
20 | void checkautostart(bool x);
21 | void openFile(char* name,bool read,bool replace_current=true);
22 | void openLogFile(char* name);
23 | void removeFile(char* name);
24 | void closefile(bool store_location=false);
25 | void release();
26 | void startFileprint();
27 | void pauseSDPrint();
28 | void getStatus();
29 | void printingHasFinished();
30 |
31 | void getfilename(uint16_t nr, const char* const match=NULL);
32 | uint16_t getnrfilenames();
33 |
34 | void getAbsFilename(char *t);
35 |
36 | void ls();
37 | void chdir(const char * relpath);
38 | void updir();
39 | void setroot();
40 |
41 |
42 | FORCE_INLINE bool isFileOpen() { return file.isOpen(); }
43 | FORCE_INLINE bool eof() { return sdpos >= filesize; }
44 | FORCE_INLINE int16_t get() { sdpos = file.curPosition(); return (int16_t)file.read(); }
45 | FORCE_INLINE void setIndex(long index) { sdpos = index; file.seekSet(index); }
46 | FORCE_INLINE uint8_t percentDone() { return (isFileOpen() && filesize) ? sdpos / ((filesize + 99) / 100) : 0; }
47 | FORCE_INLINE char* getWorkDirName() { workDir.getFilename(filename); return filename; }
48 |
49 | public:
50 | bool saving, logging, sdprinting, cardOK, filenameIsDir;
51 | char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH];
52 | int autostart_index;
53 | private:
54 | SdFile root, *curDir, workDir, workDirParents[MAX_DIR_DEPTH];
55 | uint16_t workDirDepth;
56 | Sd2Card card;
57 | SdVolume volume;
58 | SdFile file;
59 | #define SD_PROCEDURE_DEPTH 1
60 | #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH + MAX_DIR_DEPTH + 1)
61 | uint8_t file_subcall_ctr;
62 | uint32_t filespos[SD_PROCEDURE_DEPTH];
63 | char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
64 | uint32_t filesize;
65 | millis_t next_autostart_ms;
66 | uint32_t sdpos;
67 |
68 | bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
69 |
70 | LsAction lsAction; //stored for recursion.
71 | uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory.
72 | char* diveDirName;
73 | void lsDive(const char *prepend, SdFile parent, const char * const match=NULL);
74 | };
75 |
76 | extern CardReader card;
77 |
78 | #define IS_SD_PRINTING (card.sdprinting)
79 |
80 | #if (SDCARDDETECT > -1)
81 | #ifdef SDCARDDETECTINVERTED
82 | #define IS_SD_INSERTED (READ(SDCARDDETECT) != 0)
83 | #else
84 | #define IS_SD_INSERTED (READ(SDCARDDETECT) == 0)
85 | #endif
86 | #else
87 | //No card detect line? Assume the card is inserted.
88 | #define IS_SD_INSERTED true
89 | #endif
90 |
91 | #else
92 |
93 | #define IS_SD_PRINTING (false)
94 |
95 | #endif //SDSUPPORT
96 |
97 | #endif //__CARDREADER_H
98 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/configuration_store.h:
--------------------------------------------------------------------------------
1 | #ifndef CONFIGURATION_STORE_H
2 | #define CONFIGURATION_STORE_H
3 |
4 | #include "Configuration.h"
5 |
6 | void Config_ResetDefault();
7 |
8 | #ifndef DISABLE_M503
9 | void Config_PrintSettings(bool forReplay=false);
10 | #else
11 | FORCE_INLINE void Config_PrintSettings(bool forReplay=false) {}
12 | #endif
13 |
14 | #ifdef EEPROM_SETTINGS
15 | void Config_StoreSettings();
16 | void Config_RetrieveSettings();
17 | #else
18 | FORCE_INLINE void Config_StoreSettings() {}
19 | FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); }
20 | #endif
21 |
22 | #endif //CONFIGURATION_STORE_H
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/digipot_mcp4451.cpp:
--------------------------------------------------------------------------------
1 | #include "Configuration.h"
2 |
3 | #ifdef DIGIPOT_I2C
4 |
5 | #include "Stream.h"
6 | #include "utility/twi.h"
7 | #include "Wire.h"
8 |
9 | // Settings for the I2C based DIGIPOT (MCP4451) on Azteeg X3 Pro
10 | #if MB(5DPRINT)
11 | #define DIGIPOT_I2C_FACTOR 117.96
12 | #define DIGIPOT_I2C_MAX_CURRENT 1.736
13 | #else
14 | #define DIGIPOT_I2C_FACTOR 106.7
15 | #define DIGIPOT_I2C_MAX_CURRENT 2.5
16 | #endif
17 |
18 | static byte current_to_wiper(float current) {
19 | return byte(ceil(float((DIGIPOT_I2C_FACTOR*current))));
20 | }
21 |
22 | static void i2c_send(byte addr, byte a, byte b) {
23 | Wire.beginTransmission(addr);
24 | Wire.write(a);
25 | Wire.write(b);
26 | Wire.endTransmission();
27 | }
28 |
29 | // This is for the MCP4451 I2C based digipot
30 | void digipot_i2c_set_current(int channel, float current) {
31 | current = min( (float) max( current, 0.0f ), DIGIPOT_I2C_MAX_CURRENT);
32 | // these addresses are specific to Azteeg X3 Pro, can be set to others,
33 | // In this case first digipot is at address A0=0, A1= 0, second one is at A0=0, A1= 1
34 | byte addr = 0x2C; // channel 0-3
35 | if (channel >= 4) {
36 | addr = 0x2E; // channel 4-7
37 | channel -= 4;
38 | }
39 |
40 | // Initial setup
41 | i2c_send(addr, 0x40, 0xff);
42 | i2c_send(addr, 0xA0, 0xff);
43 |
44 | // Set actual wiper value
45 | byte addresses[4] = { 0x00, 0x10, 0x60, 0x70 };
46 | i2c_send(addr, addresses[channel], current_to_wiper(current));
47 | }
48 |
49 | void digipot_i2c_init() {
50 | const float digipot_motor_current[] = DIGIPOT_I2C_MOTOR_CURRENTS;
51 | Wire.begin();
52 | // setup initial currents as defined in Configuration_adv.h
53 | for(int i = 0; i <= sizeof(digipot_motor_current) / sizeof(float); i++) {
54 | digipot_i2c_set_current(i, digipot_motor_current[i]);
55 | }
56 | }
57 |
58 | #endif //DIGIPOT_I2C
59 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/dogm_font_data_Marlin_symbols.h:
--------------------------------------------------------------------------------
1 | /*
2 | Fontname: Marlin_symbols
3 | Copyright: Created with Fony 1.4.7
4 | Capital A Height: 0, '1' Height: 0
5 | Calculated Max Values w= 5 h=10 x= 0 y= 3 dx= 6 dy= 0 ascent= 8 len=10
6 | Font Bounding box w= 6 h= 9 x= 0 y=-2
7 | Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
8 | Pure Font ascent = 0 descent= 0
9 | X Font ascent = 0 descent= 0
10 | Max Font ascent = 8 descent=-2
11 | */
12 | #include
13 | const u8g_fntpgm_uint8_t Marlin_symbols[140] U8G_SECTION(".progmem.Marlin_symbols") = {
14 | 0,6,9,0,254,0,0,0,0,0,1,9,0,8,254,0,
15 | 0,5,8,8,6,0,0,64,240,200,136,136,152,120,16,5,
16 | 8,8,6,0,0,192,248,136,136,136,136,136,248,5,5,5,
17 | 6,0,1,32,48,248,48,32,5,8,8,6,0,0,32,112,
18 | 248,32,32,32,32,224,5,9,9,6,0,255,32,112,168,168,
19 | 184,136,136,112,32,5,9,9,6,0,255,224,128,192,176,168,
20 | 40,48,40,40,5,9,9,6,0,255,248,168,136,136,136,136,
21 | 136,168,248,5,10,10,6,0,254,32,80,80,80,80,136,168,
22 | 168,136,112,3,3,3,6,0,3,64,160,64};
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/mesh_bed_leveling.cpp:
--------------------------------------------------------------------------------
1 | #include "mesh_bed_leveling.h"
2 |
3 | #ifdef MESH_BED_LEVELING
4 |
5 | mesh_bed_leveling mbl;
6 |
7 | mesh_bed_leveling::mesh_bed_leveling() { reset(); }
8 |
9 | void mesh_bed_leveling::reset() {
10 | active = 0;
11 | for (int y = 0; y < MESH_NUM_Y_POINTS; y++)
12 | for (int x = 0; x < MESH_NUM_X_POINTS; x++)
13 | z_values[y][x] = 0;
14 | }
15 |
16 | #endif // MESH_BED_LEVELING
17 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/mesh_bed_leveling.h:
--------------------------------------------------------------------------------
1 | #include "Marlin.h"
2 |
3 | #ifdef MESH_BED_LEVELING
4 |
5 | #define MESH_X_DIST ((MESH_MAX_X - MESH_MIN_X)/(MESH_NUM_X_POINTS - 1))
6 | #define MESH_Y_DIST ((MESH_MAX_Y - MESH_MIN_Y)/(MESH_NUM_Y_POINTS - 1))
7 |
8 | class mesh_bed_leveling {
9 | public:
10 | uint8_t active;
11 | float z_values[MESH_NUM_Y_POINTS][MESH_NUM_X_POINTS];
12 |
13 | mesh_bed_leveling();
14 |
15 | void reset();
16 |
17 | float get_x(int i) { return MESH_MIN_X + MESH_X_DIST * i; }
18 | float get_y(int i) { return MESH_MIN_Y + MESH_Y_DIST * i; }
19 | void set_z(int ix, int iy, float z) { z_values[iy][ix] = z; }
20 |
21 | int select_x_index(float x) {
22 | int i = 1;
23 | while (x > get_x(i) && i < MESH_NUM_X_POINTS-1) i++;
24 | return i - 1;
25 | }
26 |
27 | int select_y_index(float y) {
28 | int i = 1;
29 | while (y > get_y(i) && i < MESH_NUM_Y_POINTS - 1) i++;
30 | return i - 1;
31 | }
32 |
33 | float calc_z0(float a0, float a1, float z1, float a2, float z2) {
34 | float delta_z = (z2 - z1)/(a2 - a1);
35 | float delta_a = a0 - a1;
36 | return z1 + delta_a * delta_z;
37 | }
38 |
39 | float get_z(float x0, float y0) {
40 | int x_index = select_x_index(x0);
41 | int y_index = select_y_index(y0);
42 | float z1 = calc_z0(x0,
43 | get_x(x_index), z_values[y_index][x_index],
44 | get_x(x_index+1), z_values[y_index][x_index+1]);
45 | float z2 = calc_z0(x0,
46 | get_x(x_index), z_values[y_index+1][x_index],
47 | get_x(x_index+1), z_values[y_index+1][x_index+1]);
48 | float z0 = calc_z0(y0,
49 | get_y(y_index), z1,
50 | get_y(y_index+1), z2);
51 | return z0;
52 | }
53 | };
54 |
55 | extern mesh_bed_leveling mbl;
56 |
57 | #endif // MESH_BED_LEVELING
58 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/motion_control.h:
--------------------------------------------------------------------------------
1 | /*
2 | motion_control.h - high level interface for issuing motion commands
3 | Part of Grbl
4 |
5 | Copyright (c) 2009-2011 Simen Svale Skogsrud
6 | Copyright (c) 2011 Sungeun K. Jeon
7 |
8 | Grbl 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 | Grbl 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 Grbl. If not, see .
20 | */
21 |
22 | #ifndef motion_control_h
23 | #define motion_control_h
24 |
25 | // Execute an arc in offset mode format. position == current xyz, target == target xyz,
26 | // offset == offset from current xyz, axis_XXX defines circle plane in tool space, axis_linear is
27 | // the direction of helical travel, radius == circle radius, isclockwise boolean. Used
28 | // for vector transformation direction.
29 | void mc_arc(float *position, float *target, float *offset, unsigned char axis_0, unsigned char axis_1,
30 | unsigned char axis_linear, float feed_rate, float radius, unsigned char isclockwise, uint8_t extruder);
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_3DRAG.h:
--------------------------------------------------------------------------------
1 | /**
2 | * 3DRAG (and K8200) Arduino Mega with RAMPS v1.3 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef Z_ENABLE_PIN
8 | #define Z_ENABLE_PIN 63
9 |
10 | #undef X_MAX_PIN
11 | #undef Y_MAX_PIN
12 | #undef Z_MAX_PIN
13 | #define X_MAX_PIN 2
14 | #define Y_MAX_PIN 15
15 | #define Z_MAX_PIN -1
16 |
17 | #undef SDSS
18 | #define SDSS 25//53
19 |
20 | #undef FAN_PIN
21 | #define FAN_PIN 8
22 |
23 | #undef HEATER_1_PIN
24 | #undef HEATER_2_PIN
25 | #undef HEATER_BED_PIN
26 | #define HEATER_0_PIN 10
27 | #define HEATER_1_PIN 12
28 | #define HEATER_2_PIN 6
29 |
30 | #define HEATER_BED_PIN 9 // BED
31 |
32 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
33 | #undef BEEPER
34 | #define BEEPER -1
35 |
36 | #undef LCD_PINS_RS
37 | #undef LCD_PINS_ENABLE
38 | #undef LCD_PINS_D4
39 | #undef LCD_PINS_D5
40 | #undef LCD_PINS_D6
41 | #undef LCD_PINS_D7
42 | #define LCD_PINS_RS 27
43 | #define LCD_PINS_ENABLE 29
44 | #define LCD_PINS_D4 37
45 | #define LCD_PINS_D5 35
46 | #define LCD_PINS_D6 33
47 | #define LCD_PINS_D7 31
48 |
49 | // Buttons
50 | #undef BTN_EN1
51 | #undef BTN_EN2
52 | #undef BTN_ENC
53 | #define BTN_EN1 16
54 | #define BTN_EN2 17
55 | #define BTN_ENC 23 //the click
56 |
57 | #else
58 |
59 | #define BEEPER 33
60 |
61 | #endif // ULTRA_LCD && NEWPANEL
62 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_5DPRINT.h:
--------------------------------------------------------------------------------
1 | /**
2 | * 5DPrint D8 Driver board pin assignments
3 | *
4 | * https://bitbucket.org/makible/5dprint-d8-controller-board
5 | */
6 |
7 | #ifndef __AVR_AT90USB1286__
8 | #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
9 | #endif
10 |
11 | #define AT90USB 1286 // Disable MarlinSerial etc.
12 |
13 | #define LARGE_FLASH true
14 |
15 | #define X_STEP_PIN 0
16 | #define X_DIR_PIN 1
17 | #define X_ENABLE_PIN 23
18 | #define X_STOP_PIN 37
19 |
20 | #define Y_STEP_PIN 2
21 | #define Y_DIR_PIN 3
22 | #define Y_ENABLE_PIN 19
23 | #define Y_STOP_PIN 36
24 |
25 | #define Z_STEP_PIN 4
26 | #define Z_DIR_PIN 5
27 | #define Z_ENABLE_PIN 18
28 | #define Z_STOP_PIN 39
29 |
30 | #define E0_STEP_PIN 6
31 | #define E0_DIR_PIN 7
32 | #define E0_ENABLE_PIN 17
33 |
34 | #define HEATER_0_PIN 21 // Extruder
35 | #define HEATER_1_PIN -1
36 | #define HEATER_2_PIN -1
37 | #define HEATER_BED_PIN 20 // Bed
38 | // You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h
39 | // for the fan and Teensyduino uses a different pin mapping.
40 | #define FAN_PIN 16 // Fan
41 |
42 | #define TEMP_0_PIN 1 // Extruder / Analog pin numbering
43 | #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
44 |
45 | #define TEMP_1_PIN -1
46 | #define TEMP_2_PIN -1
47 |
48 | #define SDPOWER -1
49 | #define LED_PIN -1
50 | #define PS_ON_PIN -1
51 | #define KILL_PIN -1
52 | #define ALARM_PIN -1
53 |
54 | // The SDSS pin uses a different pin mapping from file Sd2PinMap.h
55 | #define SDSS 20
56 |
57 | #ifndef SDSUPPORT
58 | // these pins are defined in the SD library if building with SD support
59 | #define SCK_PIN 9
60 | #define MISO_PIN 11
61 | #define MOSI_PIN 10
62 | #endif
63 |
64 | // Microstepping pins
65 | // Note that the pin mapping is not from fastio.h
66 | // See Sd2PinMap.h for the pin configurations
67 |
68 | #undef X_MS1_PIN
69 | #undef X_MS2_PIN
70 | #undef Y_MS1_PIN
71 | #undef Y_MS2_PIN
72 | #undef Z_MS1_PIN
73 | #undef Z_MS2_PIN
74 | #undef E0_MS1_PIN
75 | #undef E0_MS2_PIN
76 | #define X_MS1_PIN 25
77 | #define X_MS2_PIN 26
78 | #define Y_MS1_PIN 9
79 | #define Y_MS2_PIN 8
80 | #define Z_MS1_PIN 7
81 | #define Z_MS2_PIN 6
82 | #define E0_MS1_PIN 5
83 | #define E0_MS2_PIN 4
84 |
85 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_99.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Board 99 pin assignments
3 | */
4 |
5 | #define X_STEP_PIN 2
6 | #define X_DIR_PIN 3
7 | #define X_ENABLE_PIN -1
8 | #define X_STOP_PIN 16
9 |
10 | #define Y_STEP_PIN 5
11 | #define Y_DIR_PIN 6
12 | #define Y_ENABLE_PIN -1
13 | #define Y_STOP_PIN 67
14 |
15 | #define Z_STEP_PIN 62
16 | #define Z_DIR_PIN 63
17 | #define Z_ENABLE_PIN -1
18 | #define Z_STOP_PIN 59
19 |
20 | #define E0_STEP_PIN 65
21 | #define E0_DIR_PIN 66
22 | #define E0_ENABLE_PIN -1
23 |
24 | #define SDPOWER -1
25 | #define SDSS 53
26 | #define LED_PIN -1
27 | #define FAN_PIN -1
28 | #define PS_ON_PIN 9
29 | #define KILL_PIN -1
30 |
31 | #define HEATER_0_PIN 13
32 | #define HEATER_1_PIN -1
33 | #define HEATER_2_PIN -1
34 | #define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
35 | #define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
36 | #define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
37 | #define HEATER_BED_PIN 4
38 | #define TEMP_BED_PIN 10
39 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_AZTEEG_X1.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Azteeg X1 pin assignments
3 | */
4 |
5 | #define SANGUINOLOLU_V_1_2
6 |
7 | #include "pins_SANGUINOLOLU_11.h"
8 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_AZTEEG_X3.h:
--------------------------------------------------------------------------------
1 | /**
2 | * AZTEEG_X3 Arduino Mega with RAMPS v1.3 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #define FAN_PIN 9 // (Sprinter config)
8 | #define HEATER_1_PIN -1
9 |
10 | //LCD Pins//
11 |
12 | #if defined(VIKI2) || defined(miniVIKI)
13 | #define BEEPER 33
14 | // Pins for DOGM SPI LCD Support
15 | #define DOGLCD_A0 31
16 | #define DOGLCD_CS 32
17 | #define LCD_SCREEN_ROT_180
18 |
19 | //The encoder and click button
20 | #define BTN_EN1 22
21 | #define BTN_EN2 7
22 | #define BTN_ENC 12 //the click switch
23 |
24 | #define SDSS 53
25 | #define SDCARDDETECT -1 // Pin 49 if using display sd interface
26 |
27 | #ifdef TEMP_STAT_LEDS
28 | #define STAT_LED_RED 64
29 | #define STAT_LED_BLUE 63
30 | #endif
31 | #elif defined(TEMP_STAT_LEDS)
32 | #define STAT_LED_RED 6
33 | #define STAT_LED_BLUE 11
34 | #endif
35 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_AZTEEG_X3_PRO.h:
--------------------------------------------------------------------------------
1 | /**
2 | * AZTEEG_X3_PRO (Arduino Mega) pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 6 //Part Cooling System
9 | #define BEEPER 33
10 | #define CONTROLLERFAN_PIN 4 //Pin used for the fan to cool motherboard (-1 to disable)
11 | //Fans/Water Pump to cool the hotend cool side.
12 | #define EXTRUDER_0_AUTO_FAN_PIN 5
13 | #define EXTRUDER_1_AUTO_FAN_PIN 5
14 | #define EXTRUDER_2_AUTO_FAN_PIN 5
15 | #define EXTRUDER_3_AUTO_FAN_PIN 5
16 | //
17 | //This section is to swap the MIN and MAX pins because the X3 Pro comes with only
18 | //MIN endstops soldered onto the board. Delta code wants the homing endstops to be
19 | //the MAX so I swapped them here.
20 | //
21 | #ifdef DELTA
22 | #undef X_MIN_PIN
23 | #undef X_MAX_PIN
24 | #undef Y_MIN_PIN
25 | #undef Y_MAX_PIN
26 | #undef Z_MIN_PIN
27 | #undef Z_MAX_PIN
28 |
29 | #define X_MIN_PIN 2
30 | #define X_MAX_PIN 3
31 | #define Y_MIN_PIN 15
32 | #define Y_MAX_PIN 14
33 | #define Z_MIN_PIN 19
34 | #define Z_MAX_PIN 18
35 | #endif
36 | //
37 | #ifdef Z_PROBE_ENDSTOP
38 | //#undef Z_MIN_PIN
39 | //#define Z_MIN_PIN 15
40 | #define Z_PROBE_PIN 19
41 | #endif
42 | //
43 | #define E2_STEP_PIN 23
44 | #define E2_DIR_PIN 25
45 | #define E2_ENABLE_PIN 40
46 |
47 | #define E3_STEP_PIN 27
48 | #define E3_DIR_PIN 29
49 | #define E3_ENABLE_PIN 41
50 |
51 | #define E4_STEP_PIN 43
52 | #define E4_DIR_PIN 37
53 | #define E4_ENABLE_PIN 42
54 |
55 | #undef HEATER_1_PIN
56 | #undef HEATER_2_PIN
57 | #undef HEATER_3_PIN
58 | #define HEATER_1_PIN 9
59 | #define HEATER_2_PIN 16
60 | #define HEATER_3_PIN 17
61 | #define HEATER_4_PIN 4
62 | #define HEATER_5_PIN 5
63 | #define HEATER_6_PIN 6
64 | #define HEATER_7_PIN 11
65 |
66 | #undef TEMP_2_PIN
67 | #undef TEMP_3_PIN
68 | #define TEMP_2_PIN 12 // ANALOG NUMBERING
69 | #define TEMP_3_PIN 11 // ANALOG NUMBERING
70 | #define TEMP_4_PIN 10 // ANALOG NUMBERING
71 | #define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro
72 | #define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro
73 |
74 | //
75 | //These Servo pins are for when they are defined. Tested for usage with bed leveling
76 | //on a Delta with 1 servo. Running through the Z servo endstop in code.
77 | //Physical wire attachment was done on EXT1 on the GND, 5V, and D47 pins.
78 | //
79 | #undef SERVO0_PIN
80 | #undef SERVO1_PIN
81 | #undef SERVO2_PIN
82 | #undef SERVO3_PIN
83 |
84 | #ifdef NUM_SERVOS
85 | #define SERVO0_PIN 47
86 | #if NUM_SERVOS > 1
87 | #define SERVO1_PIN -1
88 | #if NUM_SERVOS > 2
89 | #define SERVO2_PIN -1
90 | #if NUM_SERVOS > 3
91 | #define SERVO3_PIN -1
92 | #endif
93 | #endif
94 | #endif
95 | #endif
96 |
97 | //LCD Pins//
98 |
99 | #if defined(VIKI2) || defined(miniVIKI)
100 | #define BEEPER 33
101 | // Pins for DOGM SPI LCD Support
102 | #define DOGLCD_A0 44
103 | #define DOGLCD_CS 45
104 | #define LCD_SCREEN_ROT_180
105 |
106 | //The encoder and click button
107 | #define BTN_EN1 22
108 | #define BTN_EN2 7
109 | #define BTN_ENC 39 //the click switch
110 |
111 | #define SDSS 53
112 | #define SDCARDDETECT 49
113 |
114 | #define KILL_PIN 31
115 | #endif
116 |
117 | #ifdef TEMP_STAT_LEDS
118 | #define STAT_LED_RED 32
119 | #define STAT_LED_BLUE 35
120 | #endif
121 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_BAM_DICE_DUE.h:
--------------------------------------------------------------------------------
1 | /**
2 | * BAM&DICE Due (Arduino Mega) pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 9 // (Sprinter config)
9 |
10 | #undef HEATER_1_PIN
11 | #define HEATER_1_PIN -1
12 |
13 | #undef TEMP_0_PIN
14 | #undef TEMP_1_PIN
15 | #define TEMP_0_PIN 9 // ANALOG NUMBERING
16 | #define TEMP_1_PIN 11 // ANALOG NUMBERING
17 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_BRAINWAVE.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Brainwave 1.0 pin assignments (AT90USB646)
3 | *
4 | * Requires hardware bundle for Arduino:
5 | * https://github.com/unrepentantgeek/brainwave-arduino
6 | */
7 |
8 | #ifndef __AVR_AT90USB646__
9 | #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #define AT90USB 646 // Disable MarlinSerial etc.
13 |
14 | #define X_STEP_PIN 27
15 | #define X_DIR_PIN 29
16 | #define X_ENABLE_PIN 28
17 | #define X_STOP_PIN 7
18 | #define X_ATT_PIN 26
19 |
20 | #define Y_STEP_PIN 31
21 | #define Y_DIR_PIN 33
22 | #define Y_ENABLE_PIN 32
23 | #define Y_STOP_PIN 6
24 | #define Y_ATT_PIN 30
25 |
26 | #define Z_STEP_PIN 17
27 | #define Z_DIR_PIN 19
28 | #define Z_ENABLE_PIN 18
29 | #define Z_STOP_PIN 5
30 | #define Z_ATT_PIN 16
31 |
32 | #define E0_STEP_PIN 21
33 | #define E0_DIR_PIN 23
34 | #define E0_ENABLE_PIN 22
35 | #define E0_ATT_PIN 20
36 |
37 | #define HEATER_0_PIN 4 // Extruder
38 | #define HEATER_1_PIN -1
39 | #define HEATER_2_PIN -1
40 | #define HEATER_BED_PIN 38 // Bed
41 | #define FAN_PIN 3 // Fan
42 |
43 | #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
44 | #define TEMP_1_PIN -1
45 | #define TEMP_2_PIN -1
46 | #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
47 |
48 | #define SDPOWER -1
49 | #define SDSS -1
50 | #define LED_PIN 39
51 | #define PS_ON_PIN -1
52 | #define KILL_PIN -1
53 | #define ALARM_PIN -1
54 |
55 | #ifndef SDSUPPORT
56 | // these pins are defined in the SD library if building with SD support
57 | #define SCK_PIN 9
58 | #define MISO_PIN 11
59 | #define MOSI_PIN 10
60 | #endif
61 |
62 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_BRAINWAVE_PRO.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Brainwave Pro pin assignments (AT90USB186)
3 | *
4 | * Requires hardware bundle for Arduino:
5 | * https://github.com/unrepentantgeek/brainwave-arduino
6 | */
7 |
8 | #ifndef __AVR_AT90USB1286__
9 | #error Oops! Make sure you have 'Brainwave Pro' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical.
13 | #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config
14 | #endif
15 |
16 | #define AT90USB 1286 // Disable MarlinSerial etc.
17 |
18 | #define X_STEP_PIN 33
19 | #define X_DIR_PIN 32
20 | #define X_ENABLE_PIN 11
21 | #define X_STOP_PIN 47
22 |
23 | #define Y_STEP_PIN 31
24 | #define Y_DIR_PIN 30
25 | #define Y_ENABLE_PIN 8
26 | #define Y_STOP_PIN 18
27 |
28 | #define Z_STEP_PIN 29
29 | #define Z_DIR_PIN 28
30 | #define Z_ENABLE_PIN 37
31 | #define Z_MAX_PIN 36
32 | #define Z_MIN_PIN 17 // Bed probe
33 |
34 | #define E0_STEP_PIN 35
35 | #define E0_DIR_PIN 34
36 | #define E0_ENABLE_PIN 13
37 |
38 | #define HEATER_0_PIN 15
39 | #define HEATER_1_PIN -1
40 | #define HEATER_2_PIN -1
41 | #define HEATER_BED_PIN 14 // Bed
42 | #define FAN_PIN 16 // Fan, PWM
43 |
44 | #define TEMP_0_PIN 2 // Extruder / Analog pin numbering
45 | #define TEMP_1_PIN 1 // Spare / Analog pin numbering
46 | #define TEMP_2_PIN -1
47 | #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
48 |
49 | #define SDPOWER -1
50 | #define SDSS 20
51 | #define LED_PIN 19
52 | #define PS_ON_PIN -1
53 | #define KILL_PIN -1
54 | #define ALARM_PIN -1
55 | #define SDCARDDETECT 12
56 |
57 | #ifndef SDSUPPORT
58 | // these pins are defined in the SD library if building with SD support
59 | #define SCK_PIN 21
60 | #define MISO_PIN 23
61 | #define MOSI_PIN 22
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_CHEAPTRONIC.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Cheaptronic v1.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | // X motor stepper
12 | #define X_STEP_PIN 14
13 | #define X_DIR_PIN 15
14 | #define X_ENABLE_PIN 24
15 |
16 | // X endstop
17 | #define X_MIN_PIN 3
18 | #define X_MAX_PIN -1
19 |
20 | // Y motor stepper
21 | #define Y_STEP_PIN 35
22 | #define Y_DIR_PIN 36
23 | #define Y_ENABLE_PIN 31
24 |
25 | // Y endstop
26 | #define Y_MIN_PIN 2
27 | #define Y_MAX_PIN -1
28 |
29 | // Z motor stepper
30 | #define Z_STEP_PIN 40
31 | #define Z_DIR_PIN 41
32 | #define Z_ENABLE_PIN 37
33 |
34 | // Z endstop
35 | #define Z_MIN_PIN 5
36 | #define Z_MAX_PIN -1
37 |
38 | // Extruder 0 stepper
39 | #define E0_STEP_PIN 26
40 | #define E0_DIR_PIN 28
41 | #define E0_ENABLE_PIN 25
42 |
43 | // Extruder 1 stepper
44 | #define E1_STEP_PIN 33
45 | #define E1_DIR_PIN 34
46 | #define E1_ENABLE_PIN 30
47 |
48 | #define SDPOWER -1
49 | #define SDSS -1
50 | #define LED_PIN -1
51 |
52 | // FAN
53 | #define FAN_PIN -1
54 |
55 | #define PS_ON_PIN -1
56 | #define KILL_PIN -1
57 |
58 | #define HEATER_0_PIN 19 // EXTRUDER 1
59 | #define HEATER_1_PIN 23 // EXTRUDER 2
60 | // HeatedBad
61 | #define HEATER_BED_PIN 22
62 | // Cheaptronic v1.0 hasent EXTRUDER 3
63 | #define HEATER_2_PIN -1
64 |
65 | // Temperature sensors
66 | #define TEMP_0_PIN 15
67 | #define TEMP_1_PIN 14
68 | #define TEMP_2_PIN -1
69 | #define TEMP_BED_PIN 13
70 |
71 | // Cheaptronic v1.0 doesn't support LCD
72 | #define LCD_PINS_RS -1
73 | #define LCD_PINS_ENABLE -1
74 | #define LCD_PINS_D4 -1
75 | #define LCD_PINS_D5 -1
76 | #define LCD_PINS_D6 -1
77 | #define LCD_PINS_D7 -1
78 |
79 | // Cheaptronic v1.0 doesn't support keypad
80 | #define BTN_EN1 -1
81 | #define BTN_EN2 -1
82 | #define BTN_ENC -1
83 |
84 | #define BLEN_C 2
85 | #define BLEN_B 1
86 | #define BLEN_A 0
87 |
88 | // Cheaptronic v1.0 does not use this port
89 | #define SDCARDDETECT -1
90 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_DUEMILANOVE_328P.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Duemilanove w/ ATMega328P pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega328P__
6 | #error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 19
10 | #define X_DIR_PIN 18
11 | #define X_ENABLE_PIN -1
12 | #define X_STOP_PIN 17
13 |
14 | #define Y_STEP_PIN 10
15 | #define Y_DIR_PIN 7
16 | #define Y_ENABLE_PIN -1
17 | #define Y_STOP_PIN 8
18 |
19 | #define Z_STEP_PIN 13
20 | #define Z_DIR_PIN 3
21 | #define Z_ENABLE_PIN 2
22 | #define Z_STOP_PIN 4
23 |
24 | #define E0_STEP_PIN 11
25 | #define E0_DIR_PIN 12
26 | #define E0_ENABLE_PIN -1
27 |
28 | #define SDPOWER -1
29 | #define SDSS -1
30 | #define LED_PIN -1
31 | #define FAN_PIN 5
32 | #define PS_ON_PIN -1
33 | #define KILL_PIN -1
34 |
35 | #define HEATER_0_PIN 6
36 | #define HEATER_1_PIN -1
37 | #define HEATER_2_PIN -1
38 | #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
39 | #define TEMP_1_PIN -1
40 | #define TEMP_2_PIN -1
41 | #define HEATER_BED_PIN -1
42 | #define TEMP_BED_PIN -1
43 |
44 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_FELIX2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * FELIXprinters v2.0/3.0 (RAMPS v1.3) pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef X_MAX_PIN
8 | #undef Y_MAX_PIN
9 | #undef Z_MAX_PIN
10 | #define X_MAX_PIN -1
11 | #define Y_MAX_PIN -1
12 | #define Z_MAX_PIN -1
13 |
14 | #undef Y2_STEP_PIN
15 | #undef Y2_DIR_PIN
16 | #undef Y2_ENABLE_PIN
17 | #define Y2_STEP_PIN -1
18 | #define Y2_DIR_PIN -1
19 | #define Y2_ENABLE_PIN -1
20 |
21 | #undef Z2_STEP_PIN
22 | #undef Z2_DIR_PIN
23 | #undef Z2_ENABLE_PIN
24 | #define Z2_STEP_PIN -1
25 | #define Z2_DIR_PIN -1
26 | #define Z2_ENABLE_PIN -1
27 |
28 | #define E1_STEP_PIN 36 // FELIX E1 uses RAMPS Y2/Z2 pins
29 | #define E1_DIR_PIN 34
30 | #define E1_ENABLE_PIN 30
31 |
32 | #undef SDPOWER
33 | #define SDPOWER 1
34 |
35 | #undef FAN_PIN
36 | #define FAN_PIN 9 // (Sprinter config)
37 | #define PS_ON_PIN 12
38 |
39 | #undef HEATER_1_PIN
40 | #define HEATER_1_PIN 7 // EXTRUDER 2
41 |
42 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
43 |
44 | #define BLEN_C 2
45 | #define BLEN_B 1
46 | #define BLEN_A 0
47 | #define SDCARDDETECT 6
48 |
49 | #endif // NEWPANEL && ULTRA_LCD
50 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN3_MONOLITHIC.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen3 Monolithic Electronics pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega644P__
6 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define DEBUG_PIN 0
10 |
11 | // x axis
12 | #define X_STEP_PIN 15
13 | #define X_DIR_PIN 18
14 | #define X_MIN_PIN 20
15 | // Alex Checar #define X_STOP_PIN 20
16 | #define X_ENABLE_PIN 24 // actually uses Y_enable_pin
17 | #define X_MAX_PIN -1
18 |
19 | // y axis
20 | #define Y_STEP_PIN 23
21 | #define Y_DIR_PIN 22
22 | #define Y_MIN_PIN 25
23 | // Alex Checar #define Y_STOP_PIN 25
24 | #define Y_ENABLE_PIN 24 // shared with X_enable_pin
25 | #define Y_MAX_PIN -1
26 |
27 | // z axis
28 | #define Z_STEP_PIN 27
29 | #define Z_DIR_PIN 28
30 | #define Z_MIN_PIN 30
31 | // Alex Checar #define Z_STOP_PIN 30
32 | #define Z_ENABLE_PIN 29
33 | #define Z_MAX_PIN -1
34 |
35 | // extruder pins
36 | #define E0_STEP_PIN 12
37 | #define E0_DIR_PIN 17
38 | #define E0_ENABLE_PIN 3
39 |
40 | #define HEATER_0_PIN 16
41 | #define TEMP_0_PIN 0
42 |
43 | #define FAN_PIN -1
44 |
45 | // bed pins
46 | #define HEATER_BED_PIN -1
47 | #define TEMP_BED_PIN -1
48 |
49 |
50 | #define SDSS -1
51 | #define SDPOWER -1
52 | #define LED_PIN -1
53 |
54 | // pin for controlling the PSU.
55 | #define PS_ON_PIN 14 // Alex, Do this work on the card?
56 |
57 | // Alex extras from Gen3+
58 | #define KILL_PIN -1
59 | #define TEMP_1_PIN -1
60 | #define TEMP_2_PIN -1
61 | #define HEATER_2_PIN -1
62 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN3_PLUS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen3+ pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
6 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 15
10 | #define X_DIR_PIN 18
11 | #define X_STOP_PIN 20
12 |
13 | #define Y_STEP_PIN 23
14 | #define Y_DIR_PIN 22
15 | #define Y_STOP_PIN 25
16 |
17 | #define Z_STEP_PIN 27
18 | #define Z_DIR_PIN 28
19 | #define Z_STOP_PIN 30
20 |
21 | #define E0_STEP_PIN 17
22 | #define E0_DIR_PIN 21
23 |
24 | #define LED_PIN -1
25 |
26 | #define FAN_PIN -1
27 |
28 | #define PS_ON_PIN 14
29 | #define KILL_PIN -1
30 |
31 | #define HEATER_0_PIN 12 // (extruder)
32 |
33 | #define HEATER_BED_PIN 16 // (bed)
34 | #define X_ENABLE_PIN 19
35 | #define Y_ENABLE_PIN 24
36 | #define Z_ENABLE_PIN 29
37 | #define E0_ENABLE_PIN 13
38 |
39 | #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
40 | #define TEMP_1_PIN -1
41 | #define TEMP_2_PIN -1
42 | #define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
43 | #define SDPOWER -1
44 | #define SDSS 4
45 | #define HEATER_2_PIN -1
46 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen6 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega644P__
6 | #ifndef __AVR_ATmega1284P__
7 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
8 | #endif
9 | #endif
10 |
11 | //x axis pins
12 | #define X_STEP_PIN 15
13 | #define X_DIR_PIN 18
14 | #define X_ENABLE_PIN 19
15 | #define X_STOP_PIN 20
16 |
17 | //y axis pins
18 | #define Y_STEP_PIN 23
19 | #define Y_DIR_PIN 22
20 | #define Y_ENABLE_PIN 24
21 | #define Y_STOP_PIN 25
22 |
23 | //z axis pins
24 | #define Z_STEP_PIN 27
25 | #define Z_DIR_PIN 28
26 | #define Z_ENABLE_PIN 29
27 | #define Z_STOP_PIN 30
28 |
29 | //extruder pins
30 | #define E0_STEP_PIN 4 //Edited @ EJE Electronics 20100715
31 | #define E0_DIR_PIN 2 //Edited @ EJE Electronics 20100715
32 | #define E0_ENABLE_PIN 3 //Added @ EJE Electronics 20100715
33 | #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410
34 | #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
35 |
36 |
37 | #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410
38 | #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410
39 | #define HEATER_1_PIN -1
40 | #define HEATER_2_PIN -1
41 |
42 | #if MB(GEN6)
43 | #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410
44 | #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410
45 | #else
46 | #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410
47 | #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410
48 | #endif
49 |
50 | #define SDPOWER -1
51 | #define SDSS 17
52 | #define LED_PIN -1 //changed @ rkoeppl 20110410
53 | #define FAN_PIN -1 //changed @ rkoeppl 20110410
54 | #define PS_ON_PIN -1 //changed @ rkoeppl 20110410
55 | #define KILL_PIN -1 //changed @ drakelive 20120830
56 | //our pin for debugging.
57 |
58 | #define DEBUG_PIN 0
59 |
60 | //our RS485 pins
61 | #define TX_ENABLE_PIN 12
62 | #define RX_ENABLE_PIN 13
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN6_DELUXE.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen6 Deluxe pin assignments
3 | */
4 |
5 | #include "pins_GEN6.h"
6 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN7_12.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 v1.1, v1.2, v1.3 pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
6 | #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #ifndef GEN7_VERSION
10 | #define GEN7_VERSION 12 // v1.x
11 | #endif
12 |
13 | //x axis pins
14 | #define X_STEP_PIN 19
15 | #define X_DIR_PIN 18
16 | #define X_ENABLE_PIN 24
17 | #define X_STOP_PIN 7
18 |
19 | //y axis pins
20 | #define Y_STEP_PIN 23
21 | #define Y_DIR_PIN 22
22 | #define Y_ENABLE_PIN 24
23 | #define Y_STOP_PIN 5
24 |
25 | //z axis pins
26 | #define Z_STEP_PIN 26
27 | #define Z_DIR_PIN 25
28 | #define Z_ENABLE_PIN 24
29 | #define Z_MIN_PIN 1
30 | #define Z_MAX_PIN 0
31 |
32 | //extruder pins
33 | #define E0_STEP_PIN 28
34 | #define E0_DIR_PIN 27
35 | #define E0_ENABLE_PIN 24
36 |
37 | #define TEMP_0_PIN 1
38 | #define TEMP_1_PIN -1
39 | #define TEMP_2_PIN -1
40 | #define TEMP_BED_PIN 2
41 |
42 | #define HEATER_0_PIN 4
43 | #define HEATER_1_PIN -1
44 | #define HEATER_2_PIN -1
45 | #define HEATER_BED_PIN 3
46 |
47 | #define KILL_PIN -1
48 |
49 | #define SDPOWER -1
50 | #define SDSS -1 // SCL pin of I2C header
51 | #define LED_PIN -1
52 |
53 | #if (GEN7_VERSION >= 13)
54 | // Gen7 v1.3 removed the fan pin
55 | #define FAN_PIN -1
56 | #else
57 | #define FAN_PIN 31
58 | #endif
59 |
60 | #define PS_ON_PIN 15
61 |
62 | //All these generations of Gen7 supply thermistor power
63 | //via PS_ON, so ignore bad thermistor readings
64 | #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
65 |
66 | //our pin for debugging.
67 | #define DEBUG_PIN 0
68 |
69 | //our RS485 pins
70 | #define TX_ENABLE_PIN 12
71 | #define RX_ENABLE_PIN 13
72 |
73 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN7_13.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 v1.3 pin assignments
3 | */
4 |
5 | #define MOTHERBOARD BOARD_GEN7_12
6 | #define GEN7_VERSION 13 // v1.3
7 |
8 | #include "pins_GEN7_12.h"
9 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN7_14.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 v1.4 pin assignments
3 | */
4 |
5 | #define GEN7_VERSION 14 // v1.4
6 |
7 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
8 | #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
9 | #endif
10 |
11 | //x axis pins
12 | #define X_STEP_PIN 29
13 | #define X_DIR_PIN 28
14 | #define X_ENABLE_PIN 25
15 | #define X_STOP_PIN 0
16 |
17 | //y axis pins
18 | #define Y_STEP_PIN 27
19 | #define Y_DIR_PIN 26
20 | #define Y_ENABLE_PIN 25
21 | #define Y_STOP_PIN 1
22 |
23 | //z axis pins
24 | #define Z_STEP_PIN 23
25 | #define Z_DIR_PIN 22
26 | #define Z_ENABLE_PIN 25
27 | #define Z_STOP_PIN 2
28 |
29 | //extruder pins
30 | #define E0_STEP_PIN 19
31 | #define E0_DIR_PIN 18
32 | #define E0_ENABLE_PIN 25
33 |
34 | #define TEMP_0_PIN 1
35 | #define TEMP_1_PIN -1
36 | #define TEMP_2_PIN -1
37 | #define TEMP_BED_PIN 0
38 |
39 | #define HEATER_0_PIN 4
40 | #define HEATER_1_PIN -1
41 | #define HEATER_2_PIN -1
42 | #define HEATER_BED_PIN 3
43 |
44 | #define KILL_PIN -1
45 |
46 | #define SDPOWER -1
47 | #define SDSS -1 // SCL pin of I2C header
48 | #define LED_PIN -1
49 |
50 | #define FAN_PIN -1
51 |
52 | #define PS_ON_PIN 15
53 |
54 | //our pin for debugging.
55 | #define DEBUG_PIN 0
56 |
57 | //our RS485 pins
58 | #define TX_ENABLE_PIN 12
59 | #define RX_ENABLE_PIN 13
60 |
61 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_GEN7_CUSTOM.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 Alfons3 board pin assignments
3 | *
4 | * These Pins are assigned for the modified GEN7 Board from Alfons3.
5 | * Please review the pins and adjust them for your needs.
6 | */
7 |
8 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
9 | #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | //x axis pins
13 | #define X_STEP_PIN 21 // different from standard GEN7
14 | #define X_DIR_PIN 20 // different from standard GEN7
15 | #define X_ENABLE_PIN 24
16 | #define X_STOP_PIN 0
17 |
18 | //y axis pins
19 | #define Y_STEP_PIN 23
20 | #define Y_DIR_PIN 22
21 | #define Y_ENABLE_PIN 24
22 | #define Y_STOP_PIN 1
23 |
24 | //z axis pins
25 | #define Z_STEP_PIN 26
26 | #define Z_DIR_PIN 25
27 | #define Z_ENABLE_PIN 24
28 | #define Z_STOP_PIN 2
29 |
30 | //extruder pins
31 | #define E0_STEP_PIN 28
32 | #define E0_DIR_PIN 27
33 | #define E0_ENABLE_PIN 24
34 |
35 | #define TEMP_0_PIN 2
36 | #define TEMP_1_PIN -1
37 | #define TEMP_2_PIN -1
38 | #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
39 |
40 | #define HEATER_0_PIN 4
41 | #define HEATER_1_PIN -1
42 | #define HEATER_2_PIN -1
43 | #define HEATER_BED_PIN 3 // (bed)
44 |
45 | #define SDPOWER -1
46 | #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
47 | #define LED_PIN -1
48 |
49 | #define FAN_PIN -1
50 | #define PS_ON_PIN 19
51 | //our pin for debugging.
52 |
53 | #define DEBUG_PIN -1
54 |
55 | //our RS485 pins
56 | //#define TX_ENABLE_PIN 12
57 | //#define RX_ENABLE_PIN 13
58 |
59 | #define BEEPER -1
60 | #define SDCARDDETECT -1
61 | #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work
62 |
63 | #define KILL_PIN -1
64 | //Pins for 4bit LCD Support
65 | #define LCD_PINS_RS 18
66 | #define LCD_PINS_ENABLE 17
67 | #define LCD_PINS_D4 16
68 | #define LCD_PINS_D5 15
69 | #define LCD_PINS_D6 13
70 | #define LCD_PINS_D7 14
71 |
72 | //buttons are directly attached
73 | #define BTN_EN1 11
74 | #define BTN_EN2 10
75 | #define BTN_ENC 12 //the click
76 |
77 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_HEPHESTOS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * bq Prusa i3 Hephestos – Arduino Mega with RAMPS v1.3/1.4 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 9 // (Sprinter config)
9 |
10 | #undef HEATER_1_PIN
11 | #define HEATER_1_PIN -1
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_K8200.h:
--------------------------------------------------------------------------------
1 | /**
2 | * K8200 Arduino Mega with RAMPS v1.3 pin assignments
3 | * Identical to 3DRAG
4 | */
5 |
6 | #include "pins_3DRAG.h"
7 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_LEAPFROG.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Leapfrog Driver board pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 28
10 | #define X_DIR_PIN 63
11 | #define X_ENABLE_PIN 29
12 | #define X_MIN_PIN 47
13 | #define X_MAX_PIN 2 //Max endstops default to disabled "-1", set to commented value to enable.
14 |
15 | #define Y_STEP_PIN 14 // A6
16 | #define Y_DIR_PIN 15 // A0
17 | #define Y_ENABLE_PIN 39
18 | #define Y_MIN_PIN 48
19 | #define Y_MAX_PIN 15
20 |
21 | #define Z_STEP_PIN 31 // A2
22 | #define Z_DIR_PIN 32 // A6
23 | #define Z_ENABLE_PIN 30 // A1
24 | #define Z_MIN_PIN 49
25 | #define Z_MAX_PIN -1
26 |
27 | #define E0_STEP_PIN 34 //34
28 | #define E0_DIR_PIN 35 //35
29 | #define E0_ENABLE_PIN 33 //33
30 |
31 | #define E1_STEP_PIN 37 //37
32 | #define E1_DIR_PIN 40 //40
33 | #define E1_ENABLE_PIN 36 //36
34 |
35 | #define Y2_STEP_PIN 37
36 | #define Y2_DIR_PIN 40
37 | #define Y2_ENABLE_PIN 36
38 |
39 | #define Z2_STEP_PIN 37
40 | #define Z2_DIR_PIN 40
41 | #define Z2_ENABLE_PIN 36
42 |
43 | #define SDPOWER -1
44 | #define SDSS 11
45 | #define SDCARDDETECT -1 // 10 optional also used as mode pin
46 | #define LED_PIN 13
47 | #define FAN_PIN 7
48 | #define PS_ON_PIN -1
49 | #define KILL_PIN -1
50 | #define SOL1_PIN 16
51 | #define SOL2_PIN 17
52 |
53 | #define HEATER_0_PIN 9
54 | #define HEATER_1_PIN 8 // 12
55 | #define HEATER_2_PIN 11 //-1 // 13
56 | #define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
57 | #define TEMP_1_PIN 15 // 1
58 | #define TEMP_2_PIN -1 // 2
59 | #define HEATER_BED_PIN 10 // 14/15
60 | #define TEMP_BED_PIN 14 // 1,2 or I2C
61 | /* 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) */
62 |
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_MEGATRONICS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * MegaTronics pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 26
12 | #define X_DIR_PIN 28
13 | #define X_ENABLE_PIN 24
14 | #define X_MIN_PIN 41
15 | #define X_MAX_PIN 37
16 |
17 | #define Y_STEP_PIN 60 // A6
18 | #define Y_DIR_PIN 61 // A7
19 | #define Y_ENABLE_PIN 22
20 | #define Y_MIN_PIN 14
21 | #define Y_MAX_PIN 15
22 |
23 | #define Z_STEP_PIN 54 // A0
24 | #define Z_DIR_PIN 55 // A1
25 | #define Z_ENABLE_PIN 56 // A2
26 | #define Z_MIN_PIN 18
27 | #define Z_MAX_PIN 19
28 |
29 | #define E0_STEP_PIN 31
30 | #define E0_DIR_PIN 32
31 | #define E0_ENABLE_PIN 38
32 |
33 | #define E1_STEP_PIN 34
34 | #define E1_DIR_PIN 36
35 | #define E1_ENABLE_PIN 30
36 |
37 | #define SDPOWER -1
38 | #define SDSS 53
39 | #define LED_PIN 13
40 |
41 |
42 | #define FAN_PIN 7 // IO pin. Buffer needed
43 | #define PS_ON_PIN 12
44 | #define KILL_PIN -1
45 |
46 | #define HEATER_0_PIN 9 // EXTRUDER 1
47 | #define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter)
48 | #define HEATER_2_PIN -1
49 |
50 | #if TEMP_SENSOR_0 == -1
51 | #define TEMP_0_PIN 8 // ANALOG NUMBERING
52 | #else
53 | #define TEMP_0_PIN 13 // ANALOG NUMBERING
54 |
55 | #endif
56 |
57 | #define TEMP_1_PIN 15 // ANALOG NUMBERING
58 | #define TEMP_2_PIN -1 // ANALOG NUMBERING
59 | #define HEATER_BED_PIN 10 // BED
60 | #define TEMP_BED_PIN 14 // ANALOG NUMBERING
61 |
62 | #define BEEPER 33 // Beeper on AUX-4
63 |
64 |
65 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
66 | //arduino pin which triggers an piezzo beeper
67 |
68 | #define LCD_PINS_RS 16
69 | #define LCD_PINS_ENABLE 17
70 | #define LCD_PINS_D4 23
71 | #define LCD_PINS_D5 25
72 | #define LCD_PINS_D6 27
73 | #define LCD_PINS_D7 29
74 |
75 | //buttons are directly attached using AUX-2
76 | #define BTN_EN1 59
77 | #define BTN_EN2 64
78 | #define BTN_ENC 43 //the click
79 |
80 | #define BLEN_C 2
81 | #define BLEN_B 1
82 | #define BLEN_A 0
83 |
84 | #define SDCARDDETECT -1 // Ramps does not use this port
85 |
86 | #endif // ULTRA_LCD && NEWPANEL
87 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_MEGATRONICS_1.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Minitronics v1.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega1281__
6 | #error Oops! Make sure you have 'Minitronics' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 48
12 | #define X_DIR_PIN 47
13 | #define X_ENABLE_PIN 49
14 | #define X_MIN_PIN 5
15 | #define X_MAX_PIN 2
16 |
17 | #define Y_STEP_PIN 42 // A6 was 39
18 | #define Y_DIR_PIN 43 // A0 was 40
19 | #define Y_ENABLE_PIN 41 // was 38
20 | #define Y_MIN_PIN 6 // was 2
21 | #define Y_MAX_PIN -1 //15
22 |
23 | #define Z_STEP_PIN 39 // A2 was 42
24 | #define Z_DIR_PIN 40 // A6 was 43
25 | #define Z_ENABLE_PIN 38 // A1 was 41
26 | #define Z_MIN_PIN 2 // was 6
27 | #define Z_MAX_PIN -1
28 |
29 | #define E0_STEP_PIN 45
30 | #define E0_DIR_PIN 44
31 | #define E0_ENABLE_PIN 27
32 |
33 | #define E1_STEP_PIN 36
34 | #define E1_DIR_PIN 35
35 | #define E1_ENABLE_PIN 37
36 |
37 | #define E2_STEP_PIN -1
38 | #define E2_DIR_PIN -1
39 | #define E2_ENABLE_PIN -1
40 |
41 | #define SDPOWER -1
42 | #define SDSS 16
43 | #define LED_PIN 46
44 |
45 | #define FAN_PIN 9
46 | #define FAN2_PIN -1
47 | #define PS_ON_PIN -1
48 | #define KILL_PIN -1
49 |
50 | #define HEATER_0_PIN 7 // EXTRUDER 1
51 | #define HEATER_1_PIN 8 // EXTRUDER 2
52 | #define HEATER_2_PIN -1
53 |
54 |
55 | #define TEMP_0_PIN 7 // ANALOG NUMBERING
56 | #define TEMP_1_PIN 6 // ANALOG NUMBERING
57 | #define TEMP_2_PIN -1 // ANALOG NUMBERING
58 |
59 | #define HEATER_BED_PIN 3 // BED
60 | #define TEMP_BED_PIN 6 // ANALOG NUMBERING
61 |
62 | #define BEEPER -1
63 |
64 |
65 | #define LCD_PINS_RS -1
66 | #define LCD_PINS_ENABLE -1
67 | #define LCD_PINS_D4 -1
68 | #define LCD_PINS_D5 -1
69 | #define LCD_PINS_D6 -1
70 | #define LCD_PINS_D7 -1
71 |
72 |
73 | // Buttons are directly attached using keypad
74 | #define BTN_EN1 -1
75 | #define BTN_EN2 -1
76 | #define BTN_ENC -1 // the click
77 |
78 | #define BLEN_C 2
79 | #define BLEN_B 1
80 | #define BLEN_A 0
81 |
82 | #define SDCARDDETECT -1 // Megatronics does not use this port
83 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_MEGATRONICS_2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * MegaTronics v2.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 26
12 | #define X_DIR_PIN 27
13 | #define X_ENABLE_PIN 25
14 | #define X_MIN_PIN 37
15 | #define X_MAX_PIN 40
16 |
17 | #define Y_STEP_PIN 4 // A6
18 | #define Y_DIR_PIN 54 // A0
19 | #define Y_ENABLE_PIN 5
20 | #define Y_MIN_PIN 41
21 | #define Y_MAX_PIN 38
22 |
23 | #define Z_STEP_PIN 56 // A2
24 | #define Z_DIR_PIN 60 // A6
25 | #define Z_ENABLE_PIN 55 // A1
26 | #define Z_MIN_PIN 18
27 | #define Z_MAX_PIN 19
28 |
29 | #define E0_STEP_PIN 35
30 | #define E0_DIR_PIN 36
31 | #define E0_ENABLE_PIN 34
32 |
33 | #define E1_STEP_PIN 29
34 | #define E1_DIR_PIN 39
35 | #define E1_ENABLE_PIN 28
36 |
37 | #define E2_STEP_PIN 23
38 | #define E2_DIR_PIN 24
39 | #define E2_ENABLE_PIN 22
40 |
41 | #define SDPOWER -1
42 | #define SDSS 53
43 | #define LED_PIN 13
44 |
45 | #define FAN_PIN 7
46 | #define FAN2_PIN 6
47 | #define PS_ON_PIN 12
48 | #define KILL_PIN -1
49 |
50 | #define HEATER_0_PIN 9 // EXTRUDER 1
51 | #define HEATER_1_PIN 8 // EXTRUDER 2
52 | #define HEATER_2_PIN -1
53 |
54 | #if TEMP_SENSOR_0 == -1
55 | #define TEMP_0_PIN 4 // ANALOG NUMBERING
56 | #else
57 | #define TEMP_0_PIN 13 // ANALOG NUMBERING
58 | #endif
59 |
60 |
61 | #if TEMP_SENSOR_1 == -1
62 | #define TEMP_1_PIN 8 // ANALOG NUMBERING
63 | #else
64 | #define TEMP_1_PIN 15 // ANALOG NUMBERING
65 | #endif
66 |
67 | #define TEMP_2_PIN -1 // ANALOG NUMBERING
68 |
69 | #define HEATER_BED_PIN 10 // BED
70 |
71 | #if TEMP_SENSOR_BED == -1
72 | #define TEMP_BED_PIN 8 // ANALOG NUMBERING
73 | #else
74 | #define TEMP_BED_PIN 14 // ANALOG NUMBERING
75 | #endif
76 |
77 | #define BEEPER 64
78 |
79 |
80 | #define LCD_PINS_RS 14
81 | #define LCD_PINS_ENABLE 15
82 | #define LCD_PINS_D4 30
83 | #define LCD_PINS_D5 31
84 | #define LCD_PINS_D6 32
85 | #define LCD_PINS_D7 33
86 |
87 |
88 | // Buttons are directly attached using keypad
89 | #define BTN_EN1 61
90 | #define BTN_EN2 59
91 | #define BTN_ENC 43 //the click
92 |
93 | #define BLEN_C 2
94 | #define BLEN_B 1
95 | #define BLEN_A 0
96 |
97 | #define SDCARDDETECT -1 // Megatronics does not use this port
98 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_MEGATRONICS_3.h:
--------------------------------------------------------------------------------
1 | /**
2 | * MegaTronics v3.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | // Servo support
12 | #ifdef NUM_SERVOS
13 | #define SERVO0_PIN 46 //AUX3-6
14 | #if NUM_SERVOS > 1
15 | #define SERVO1_PIN 47 //AUX3-5
16 | #if NUM_SERVOS > 2
17 | #define SERVO2_PIN 48 //AUX3-4
18 | #if NUM_SERVOS > 3
19 | #define SERVO2_PIN 49 //AUX3-3
20 | #endif
21 | #endif
22 | #endif
23 | #endif
24 |
25 | #define X_STEP_PIN 58
26 | #define X_DIR_PIN 57
27 | #define X_ENABLE_PIN 59
28 | #define X_MIN_PIN 37
29 | #define X_MAX_PIN 40 // put to -1 to disable
30 |
31 | #define Y_STEP_PIN 16 // was 5
32 | #define Y_DIR_PIN 11 // was 17
33 | #define Y_ENABLE_PIN 3 // was 4
34 | #define Y_MIN_PIN 18 // was 41
35 | #define Y_MAX_PIN 19 // was 38 - put to -1 to disable
36 |
37 | #define Z_STEP_PIN 5 // was 16
38 | #define Z_DIR_PIN 17 // was 11
39 | #define Z_ENABLE_PIN 4 // was 3
40 | #define Z_MIN_PIN 41 // was 18
41 | #define Z_MAX_PIN 38 // was 19 - put to -1 to disable
42 |
43 | #define E0_STEP_PIN 28
44 | #define E0_DIR_PIN 27
45 | #define E0_ENABLE_PIN 29
46 |
47 | #define E1_STEP_PIN 25
48 | #define E1_DIR_PIN 24
49 | #define E1_ENABLE_PIN 26
50 |
51 | #define E2_STEP_PIN 22
52 | #define E2_DIR_PIN 60
53 | #define E2_ENABLE_PIN 23
54 |
55 | #define SDPOWER -1
56 | #define SDSS 53
57 | #define LED_PIN 13
58 |
59 | #define PS_ON_PIN 12
60 | #define KILL_PIN -1
61 |
62 | #define HEATER_0_PIN 2
63 | #define HEATER_1_PIN 9
64 | #define HEATER_2_PIN 8
65 | #define HEATER_BED_PIN 10
66 | #define FAN_PIN 6
67 | #define FAN2_PIN 7
68 |
69 | #define TEMP_0_PIN (TEMP_SENSOR_0 == -1 ? 11 : 15) // ANALOG NUMBERING
70 | #define TEMP_1_PIN (TEMP_SENSOR_1 == -1 ? 10 : 13) // ANALOG NUMBERING
71 | #define TEMP_2_PIN (TEMP_SENSOR_2 == -1 ? 9 : 12) // ANALOG NUMBERING
72 | #define TEMP_BED_PIN (TEMP_SENSOR_BED == -1 ? 8 : 14) // ANALOG NUMBERING
73 |
74 | #define BEEPER 61
75 |
76 | #define LCD_PINS_RS 32
77 | #define LCD_PINS_ENABLE 31
78 | #define LCD_PINS_D4 14
79 | #define LCD_PINS_D5 30
80 | #define LCD_PINS_D6 39
81 | #define LCD_PINS_D7 15
82 |
83 | #define SHIFT_CLK 43
84 | #define SHIFT_LD 35
85 | #define SHIFT_OUT 34
86 | #define SHIFT_EN 44
87 |
88 | // Buttons are directly attached using keypad
89 | #define BTN_EN1 44
90 | #define BTN_EN2 45
91 | #define BTN_ENC 33 // the click
92 |
93 | #define BLEN_C 2
94 | #define BLEN_B 1
95 | #define BLEN_A 0
96 |
97 | #define SDCARDDETECT -1 // Megatronics does not use this port
98 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_MELZI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Melzi pin assignments
3 | */
4 |
5 | #define SANGUINOLOLU_V_1_2
6 |
7 | #if defined(__AVR_ATmega1284P__)
8 | #define LARGE_FLASH true
9 | #endif
10 |
11 | #include "pins_SANGUINOLOLU_11.h"
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_MELZI_1284.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Melzi with ATmega1284 (MaKr3d version) pin assignments
3 | */
4 |
5 | #define MELZI
6 |
7 | #undef MOTHERBOARD
8 | #define MOTHERBOARD BOARD_SANGUINOLOLU_11
9 | #define SANGUINOLOLU_V_1_2
10 |
11 | #if defined(__AVR_ATmega1284P__)
12 | #define LARGE_FLASH true
13 | #endif
14 |
15 | #include "pins_SANGUINOLOLU_11.h"
16 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_OMCA.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Open Motion controller with enable based extruders (Final!)
3 | *
4 | * ATMega644
5 | *
6 | * +---\/---+
7 | * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
8 | * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
9 | * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
10 | * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
11 | * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
12 | * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
13 | * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
14 | * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
15 | * RST 9| |32 AREF
16 | * VCC 10| |31 GND
17 | * GND 11| |30 AVCC
18 | * XTAL2 12| |29 PC7 (D 23)
19 | * XTAL1 13| |28 PC6 (D 22)
20 | * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
21 | * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
22 | * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
23 | * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
24 | * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
25 | * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
26 | * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
27 | * +--------+
28 | *
29 | * REF http://sanguino.cc/hardware
30 | */
31 |
32 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
33 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board)
34 | #endif
35 |
36 | #define X_STEP_PIN 26
37 | #define X_DIR_PIN 25
38 | #define X_ENABLE_PIN 10
39 | #define X_STOP_PIN 0
40 |
41 | #define Y_STEP_PIN 28
42 | #define Y_DIR_PIN 27
43 | #define Y_ENABLE_PIN 10
44 | #define Y_STOP_PIN 1
45 |
46 | #define Z_STEP_PIN 23
47 | #define Z_DIR_PIN 22
48 | #define Z_ENABLE_PIN 10
49 | #define Z_STOP_PIN 2
50 |
51 | #define E0_STEP_PIN 24
52 | #define E0_DIR_PIN 21
53 | #define E0_ENABLE_PIN 10
54 |
55 | // future proofing
56 | #define __FS 20
57 | #define __FD 19
58 | #define __GS 18
59 | #define __GD 13
60 |
61 | #define UNUSED_PWM 14 // PWM on LEFT connector
62 |
63 | #define E1_STEP_PIN -1 // 21
64 | #define E1_DIR_PIN -1 // 20
65 | #define E1_ENABLE_PIN -1 // 19
66 |
67 | #define E2_STEP_PIN -1 // 21
68 | #define E2_DIR_PIN -1 // 20
69 | #define E2_ENABLE_PIN -1 // 18
70 |
71 | #define SDPOWER -1
72 | #define SDSS 11
73 | #define SDCARDDETECT -1 // 10 optional also used as mode pin
74 | #define LED_PIN -1
75 | #define FAN_PIN 14 // PWM on MIDDLE connector
76 | #define PS_ON_PIN -1
77 | #define KILL_PIN -1
78 |
79 | #define HEATER_0_PIN 3 // DONE PWM on RIGHT connector
80 | #define HEATER_1_PIN -1
81 | #define HEATER_2_PIN -1
82 | #define HEATER_1_PIN -1
83 | #define HEATER_2_PIN -1
84 | #define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING
85 | #define TEMP_1_PIN 1 // ANALOG
86 | #define TEMP_2_PIN -1 // 2
87 | #define HEATER_BED_PIN 4
88 | #define TEMP_BED_PIN 2 // 1,2 or I2C
89 |
90 | #define I2C_SCL 16
91 | #define I2C_SDA 17
92 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_OMCA_A.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Open Motion controller with enable based extruders (Alpha!)
3 | *
4 | * ATMega644
5 | *
6 | * +---\/---+
7 | * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
8 | * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
9 | * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
10 | * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
11 | * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
12 | * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
13 | * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
14 | * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
15 | * RST 9| |32 AREF
16 | * VCC 10| |31 GND
17 | * GND 11| |30 AVCC
18 | * XTAL2 12| |29 PC7 (D 23)
19 | * XTAL1 13| |28 PC6 (D 22)
20 | * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
21 | * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
22 | * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
23 | * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
24 | * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
25 | * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
26 | * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
27 | * +--------+
28 | *
29 | */
30 |
31 | #ifndef __AVR_ATmega644__
32 | #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu.
33 | #endif
34 |
35 | #define X_STEP_PIN 21
36 | #define X_DIR_PIN 20
37 | #define X_ENABLE_PIN 24
38 | #define X_STOP_PIN 0
39 |
40 | #define Y_STEP_PIN 23
41 | #define Y_DIR_PIN 22
42 | #define Y_ENABLE_PIN 24
43 | #define Y_STOP_PIN 1
44 |
45 | #define Z_STEP_PIN 26
46 | #define Z_DIR_PIN 25
47 | #define Z_ENABLE_PIN 24
48 | #define Z_STOP_PIN 2
49 |
50 | #define E0_STEP_PIN 28
51 | #define E0_DIR_PIN 27
52 | #define E0_ENABLE_PIN 24
53 |
54 | #define E1_STEP_PIN -1 // 19
55 | #define E1_DIR_PIN -1 // 18
56 | #define E1_ENABLE_PIN 24
57 |
58 | #define E2_STEP_PIN -1 // 17
59 | #define E2_DIR_PIN -1 // 16
60 | #define E2_ENABLE_PIN 24
61 |
62 | #define SDPOWER -1
63 | #define SDSS 11
64 | #define SDCARDDETECT -1 // 10 optional also used as mode pin
65 | #define LED_PIN -1
66 | #define FAN_PIN 3
67 | #define PS_ON_PIN -1
68 | #define KILL_PIN -1
69 |
70 | #define HEATER_0_PIN 4
71 | #define HEATER_1_PIN -1 // 12
72 | #define HEATER_2_PIN -1 // 13
73 | #define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
74 | #define TEMP_1_PIN -1 // 1
75 | #define TEMP_2_PIN -1 // 2
76 | #define HEATER_BED_PIN -1 // 14/15
77 | #define TEMP_BED_PIN -1 // 1,2 or I2C
78 | /* 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) */
79 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_RAMPS_OLD.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | // Uncomment the following line for RAMPS v1.0
10 | //#define RAMPS_V_1_0
11 |
12 | #define X_STEP_PIN 26
13 | #define X_DIR_PIN 28
14 | #define X_ENABLE_PIN 24
15 | #define X_MIN_PIN 3
16 | #define X_MAX_PIN 2
17 |
18 | #define Y_STEP_PIN 38
19 | #define Y_DIR_PIN 40
20 | #define Y_ENABLE_PIN 36
21 | #define Y_MIN_PIN 16
22 | #define Y_MAX_PIN 17
23 |
24 | #define Z_STEP_PIN 44
25 | #define Z_DIR_PIN 46
26 | #define Z_ENABLE_PIN 42
27 | #define Z_MIN_PIN 18
28 | #define Z_MAX_PIN 19
29 |
30 | #define E0_STEP_PIN 32
31 | #define E0_DIR_PIN 34
32 | #define E0_ENABLE_PIN 30
33 |
34 | #define SDPOWER 48
35 | #define SDSS 53
36 | #define LED_PIN 13
37 | #define PS_ON_PIN -1
38 | #define KILL_PIN -1
39 |
40 | #ifdef RAMPS_V_1_0 // RAMPS_V_1_0
41 | #define HEATER_0_PIN 12 // RAMPS 1.0
42 | #define HEATER_BED_PIN -1 // RAMPS 1.0
43 | #define FAN_PIN 11 // RAMPS 1.0
44 | #else // RAMPS_V_1_1 or RAMPS_V_1_2
45 | #define HEATER_0_PIN 10 // RAMPS 1.1
46 | #define HEATER_BED_PIN 8 // RAMPS 1.1
47 | #define FAN_PIN 9 // RAMPS 1.1
48 | #endif
49 |
50 | #define HEATER_1_PIN -1
51 | #define HEATER_2_PIN -1
52 | #define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
53 | #define TEMP_1_PIN -1
54 | #define TEMP_2_PIN -1
55 | #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
56 |
57 | // SPI for Max6675 Thermocouple
58 | #ifndef SDSUPPORT
59 | #define MAX6675_SS 66// Do not use pin 53 if there is even the remote possibility of using Display/SD card
60 | #else
61 | #define MAX6675_SS 66// Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
62 | #endif
63 |
64 | #ifndef SDSUPPORT
65 | // these pins are defined in the SD library if building with SD support
66 | #define SCK_PIN 52
67 | #define MISO_PIN 50
68 | #define MOSI_PIN 51
69 | #endif
70 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_SANGUINOLOLU_12.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Sanguinololu V1.2 pin assignments
3 | *
4 | * Applies to the following boards:
5 | *
6 | * AZTEEG_X1
7 | * MELZI
8 | * MELZI_1284
9 | * SANGUINOLOLU_12
10 | * STB_11
11 | */
12 |
13 | #define SANGUINOLOLU_V_1_2
14 |
15 | #if defined(__AVR_ATmega1284P__)
16 | #define LARGE_FLASH true
17 | #endif
18 |
19 | #include "pins_SANGUINOLOLU_11.h"
20 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_SAV_MKI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * SAV MkI pin assignments (AT90USB1286)
3 | * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
4 | * http://www.pjrc.com/teensy/teensyduino.html
5 | * RepRap Clone Wars project board.
6 | */
7 |
8 | #ifndef __AVR_AT90USB1286__
9 | #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #define AT90USB 1286 // Disable MarlinSerial etc.
13 |
14 | #define LARGE_FLASH true
15 |
16 | #define X_STEP_PIN 0
17 | #define X_DIR_PIN 1
18 | #define X_ENABLE_PIN 39
19 |
20 | #define Y_STEP_PIN 2
21 | #define Y_DIR_PIN 3
22 | #define Y_ENABLE_PIN 38
23 |
24 | #define Z_STEP_PIN 4
25 | #define Z_DIR_PIN 5
26 | #define Z_ENABLE_PIN 23
27 |
28 | #define E0_STEP_PIN 6
29 | #define E0_DIR_PIN 7
30 | #define E0_ENABLE_PIN 19
31 |
32 | #define HEATER_0_PIN 21 // Extruder
33 | #define HEATER_1_PIN -1
34 | #define HEATER_2_PIN -1
35 | #define HEATER_BED_PIN 20 // Bed
36 | #define FAN_PIN 16 // Fan -- from Teensyduino environment.
37 | // For the fan and Teensyduino uses a different pin mapping.
38 |
39 | #define X_STOP_PIN 13
40 | #define Y_STOP_PIN 14
41 | #define Z_STOP_PIN 15
42 | //#define Z_STOP_PIN 36 // For inductive sensor.
43 |
44 | #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
45 | #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
46 |
47 | #define TEMP_1_PIN -1
48 | #define TEMP_2_PIN -1
49 |
50 | #define SDPOWER -1
51 | #define SDSS 20 // PB0 - 8 in marlin env.
52 | #define LED_PIN -1
53 | #define PS_ON_PIN -1
54 | #define ALARM_PIN -1
55 | #define SDCARDDETECT -1
56 |
57 | #ifndef SDSUPPORT
58 | // these pins are defined in the SD library if building with SD support
59 | #define SCK_PIN 9
60 | #define MISO_PIN 11
61 | #define MOSI_PIN 10
62 | #endif
63 |
64 | #define BEEPER -1
65 | #define LCD_PINS_RS -1
66 | #define LCD_PINS_ENABLE -1
67 | #define LCD_PINS_D4 -1
68 | #define LCD_PINS_D5 -1
69 | #define LCD_PINS_D6 -1
70 | #define LCD_PINS_D7 -1
71 |
72 | #ifdef SAV_3DLCD
73 | // For LCD SHIFT register LCD
74 | #define SR_DATA_PIN 1
75 | #define SR_CLK_PIN 0
76 |
77 | #define BTN_EN1 41
78 | #define BTN_EN2 40
79 | #define BTN_ENC 12
80 |
81 | #define KILL_PIN 42 // A2 = 42 - teensy = 40
82 | #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42
83 |
84 | #ifdef NUM_SERVOS
85 | #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in servo.cpp)
86 | #endif
87 |
88 | #endif // SAV_3DLCD
89 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_SETHI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Sethi 3D_1 pin assignments - www.sethi3d.com.br
3 | */
4 |
5 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
6 | #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #ifndef GEN7_VERSION
10 | #define GEN7_VERSION 12 // v1.x
11 | #endif
12 |
13 | //x axis pins
14 | #define X_STEP_PIN 19
15 | #define X_DIR_PIN 18
16 | #define X_ENABLE_PIN 24
17 | #define X_STOP_PIN 2
18 |
19 | //y axis pins
20 | #define Y_STEP_PIN 23
21 | #define Y_DIR_PIN 22
22 | #define Y_ENABLE_PIN 24
23 | #define Y_STOP_PIN 0
24 |
25 | //z axis pins
26 | #define Z_STEP_PIN 26
27 | #define Z_DIR_PIN 25
28 | #define Z_ENABLE_PIN 24
29 | #define Z_MIN_PIN 1
30 | #define Z_MAX_PIN 0
31 |
32 | //extruder pins
33 | #define E0_STEP_PIN 28
34 | #define E0_DIR_PIN 27
35 | #define E0_ENABLE_PIN 24
36 |
37 | #define TEMP_0_PIN 1
38 | #define TEMP_1_PIN -1
39 | #define TEMP_2_PIN -1
40 | #define TEMP_BED_PIN 2
41 |
42 | #define HEATER_0_PIN 4
43 | #define HEATER_1_PIN -1
44 | #define HEATER_2_PIN -1
45 | #define HEATER_BED_PIN 3
46 |
47 | #define KILL_PIN -1
48 |
49 | #define SDPOWER -1
50 | #define SDSS -1 // SCL pin of I2C header
51 | #define LED_PIN -1
52 |
53 | #if (GEN7_VERSION >= 13)
54 | // Gen7 v1.3 removed the fan pin
55 | #define FAN_PIN -1
56 | #else
57 | #define FAN_PIN 31
58 | #endif
59 |
60 | #define PS_ON_PIN 15
61 |
62 | //All these generations of Gen7 supply thermistor power
63 | //via PS_ON, so ignore bad thermistor readings
64 | #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
65 |
66 | //our pin for debugging.
67 | #define DEBUG_PIN 0
68 |
69 | //our RS485 pins
70 | #define TX_ENABLE_PIN 12
71 | #define RX_ENABLE_PIN 13
72 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_STB_11.h:
--------------------------------------------------------------------------------
1 | /**
2 | * STB V1.1 pin assignments
3 | */
4 |
5 | #define SANGUINOLOLU_V_1_2
6 |
7 | #if defined(__AVR_ATmega1284P__)
8 | #define LARGE_FLASH true
9 | #endif
10 |
11 | #include "pins_SANGUINOLOLU_11.h"
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_TEENSYLU.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Teensylu 0.7 pin assignments (AT90USB1286)
3 | * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
4 | * http://www.pjrc.com/teensy/teensyduino.html
5 | * See http://reprap.org/wiki/Printrboard for more info
6 | */
7 |
8 | #ifndef __AVR_AT90USB1286__
9 | #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional.
13 | #error These Teensylu assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h
14 | #endif
15 |
16 | #define AT90USB 1286 // Disable MarlinSerial etc.
17 |
18 | #define LARGE_FLASH true
19 |
20 | #define X_STEP_PIN 0
21 | #define X_DIR_PIN 1
22 | #define X_ENABLE_PIN 39
23 |
24 | #define Y_STEP_PIN 2
25 | #define Y_DIR_PIN 3
26 | #define Y_ENABLE_PIN 38
27 |
28 | #define Z_STEP_PIN 4
29 | #define Z_DIR_PIN 5
30 | #define Z_ENABLE_PIN 23
31 |
32 | #define E0_STEP_PIN 6
33 | #define E0_DIR_PIN 7
34 | #define E0_ENABLE_PIN 19
35 |
36 | #define HEATER_0_PIN 21 // Extruder
37 | #define HEATER_1_PIN 46
38 | #define HEATER_2_PIN 47
39 | #define HEATER_BED_PIN 20
40 |
41 | // If soft or fast PWM is off then use Teensyduino pin numbering, Marlin
42 | // fastio pin numbering otherwise
43 | #ifdef FAN_SOFT_PWM || FAST_PWM_FAN
44 | #define FAN_PIN 22
45 | #else
46 | #define FAN_PIN 16
47 | #endif
48 |
49 | #define X_STOP_PIN 13
50 | #define Y_STOP_PIN 14
51 | #define Z_STOP_PIN 15
52 | #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
53 | #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
54 |
55 | #define TEMP_1_PIN -1
56 | #define TEMP_2_PIN -1
57 |
58 | #define SDPOWER -1
59 | #define SDSS 8
60 | #define LED_PIN -1
61 | #define PS_ON_PIN -1
62 | #define KILL_PIN -1
63 | #define ALARM_PIN -1
64 |
65 | #ifndef SDSUPPORT
66 | // these pins are defined in the SD library if building with SD support
67 | #define SCK_PIN 9
68 | #define MISO_PIN 11
69 | #define MOSI_PIN 10
70 | #endif
71 |
72 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
73 | //we have no buzzer installed
74 | #define BEEPER -1
75 | //LCD Pins
76 | #ifdef LCD_I2C_PANELOLU2
77 | #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27
78 | #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26
79 | #define BTN_ENC 43 //A3 - fastio.h pin mapping 43
80 | #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping)
81 | #endif // LCD_I2C_PANELOLU2
82 | //not connected to a pin
83 | #define SDCARDDETECT -1
84 | #endif // ULTRA_LCD && NEWPANEL
85 |
86 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_ULTIMAIN_2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Ultiboard v2.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 25
10 | #define X_DIR_PIN 23
11 | #define X_STOP_PIN 22
12 | #define X_ENABLE_PIN 27
13 |
14 | #define Y_STEP_PIN 32
15 | #define Y_DIR_PIN 33
16 | #define Y_STOP_PIN 26
17 | #define Y_ENABLE_PIN 31
18 |
19 | #define Z_STEP_PIN 35
20 | #define Z_DIR_PIN 36
21 | #define Z_STOP_PIN 29
22 | #define Z_ENABLE_PIN 34
23 |
24 | #define HEATER_BED_PIN 4
25 | #define TEMP_BED_PIN 10
26 |
27 | #define HEATER_0_PIN 2
28 | #define TEMP_0_PIN 8
29 |
30 | #define HEATER_1_PIN 3
31 | #define TEMP_1_PIN 9
32 |
33 | #define HEATER_2_PIN -1
34 | #define TEMP_2_PIN -1
35 |
36 | #define E0_STEP_PIN 42
37 | #define E0_DIR_PIN 43
38 | #define E0_ENABLE_PIN 37
39 |
40 | #define E1_STEP_PIN 49
41 | #define E1_DIR_PIN 47
42 | #define E1_ENABLE_PIN 48
43 |
44 | #define SDPOWER -1
45 | #define SDSS 53
46 | #define LED_PIN 8
47 | #define FAN_PIN 7
48 | #define PS_ON_PIN -1
49 | #define KILL_PIN -1
50 | #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
51 | #define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered
52 | #define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
53 |
54 | #define MOTOR_CURRENT_PWM_XY_PIN 44
55 | #define MOTOR_CURRENT_PWM_Z_PIN 45
56 | #define MOTOR_CURRENT_PWM_E_PIN 46
57 | //Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
58 | #define MOTOR_CURRENT_PWM_RANGE 2000
59 | #define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
60 |
61 | //arduino pin witch triggers an piezzo beeper
62 | #define BEEPER 18
63 |
64 | #define LCD_PINS_RS 20
65 | #define LCD_PINS_ENABLE 15
66 | #define LCD_PINS_D4 14
67 | #define LCD_PINS_D5 21
68 | #define LCD_PINS_D6 5
69 | #define LCD_PINS_D7 6
70 |
71 | //buttons are directly attached
72 | #define BTN_EN1 40
73 | #define BTN_EN2 41
74 | #define BTN_ENC 19 //the click
75 |
76 | #define BLEN_C 2
77 | #define BLEN_B 1
78 | #define BLEN_A 0
79 |
80 | #define SDCARDDETECT 39
81 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_ULTIMAKER.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Ultimaker pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 25
12 | #define X_DIR_PIN 23
13 | #define X_MIN_PIN 22
14 | #define X_MAX_PIN 24
15 | #define X_ENABLE_PIN 27
16 |
17 | #define Y_STEP_PIN 31
18 | #define Y_DIR_PIN 33
19 | #define Y_MIN_PIN 26
20 | #define Y_MAX_PIN 28
21 | #define Y_ENABLE_PIN 29
22 |
23 | #define Z_STEP_PIN 37
24 | #define Z_DIR_PIN 39
25 | #define Z_MIN_PIN 30
26 | #define Z_MAX_PIN 32
27 | #define Z_ENABLE_PIN 35
28 |
29 | #define HEATER_BED_PIN 4
30 | #define TEMP_BED_PIN 10
31 |
32 | #define HEATER_0_PIN 2
33 | #define TEMP_0_PIN 8
34 |
35 | #define HEATER_1_PIN 3
36 | #define TEMP_1_PIN 9
37 |
38 | #define HEATER_2_PIN -1
39 | #define TEMP_2_PIN -1
40 |
41 | #define E0_STEP_PIN 43
42 | #define E0_DIR_PIN 45
43 | #define E0_ENABLE_PIN 41
44 |
45 | #define E1_STEP_PIN 49
46 | #define E1_DIR_PIN 47
47 | #define E1_ENABLE_PIN 48
48 |
49 | #define SDPOWER -1
50 | #define SDSS 53
51 | #define LED_PIN 13
52 | #define FAN_PIN 7
53 | #define PS_ON_PIN 12
54 | #define KILL_PIN -1
55 | #define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing.
56 | #define SERVO0_PIN 13 // untested
57 |
58 | #ifdef ULTRA_LCD
59 |
60 | #ifdef NEWPANEL
61 | //arduino pin witch triggers an piezzo beeper
62 | #define BEEPER 18
63 |
64 | #define LCD_PINS_RS 20
65 | #define LCD_PINS_ENABLE 17
66 | #define LCD_PINS_D4 16
67 | #define LCD_PINS_D5 21
68 | #define LCD_PINS_D6 5
69 | #define LCD_PINS_D7 6
70 |
71 | //buttons are directly attached
72 | #define BTN_EN1 40
73 | #define BTN_EN2 42
74 | #define BTN_ENC 19 //the click
75 |
76 | #define SDCARDDETECT 38
77 |
78 | #else //!NEWPANEL - Old style panel with shift register
79 |
80 | //arduino pin witch triggers an piezzo beeper
81 | #define BEEPER 18
82 |
83 | //buttons are attached to a shift register
84 | #define SHIFT_CLK 38
85 | #define SHIFT_LD 42
86 | #define SHIFT_OUT 40
87 | #define SHIFT_EN 17
88 |
89 | #define LCD_PINS_RS 16
90 | #define LCD_PINS_ENABLE 5
91 | #define LCD_PINS_D4 6
92 | #define LCD_PINS_D5 21
93 | #define LCD_PINS_D6 20
94 | #define LCD_PINS_D7 19
95 |
96 | #define SDCARDDETECT -1
97 |
98 | #endif // !NEWPANEL
99 |
100 | #endif // ULTRA_LCD
101 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_ULTIMAKER_OLD.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Ultimaker pin assignments (Old electronics)
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 25
12 | #define X_DIR_PIN 23
13 | #define X_MIN_PIN 15
14 | #define X_MAX_PIN 14
15 | #define X_ENABLE_PIN 27
16 |
17 | #define Y_STEP_PIN 31
18 | #define Y_DIR_PIN 33
19 | #define Y_MIN_PIN 17
20 | #define Y_MAX_PIN 16
21 | #define Y_ENABLE_PIN 29
22 |
23 | #define Z_STEP_PIN 37
24 | #define Z_DIR_PIN 39
25 | #define Z_MIN_PIN 19
26 | #define Z_MAX_PIN 18
27 | #define Z_ENABLE_PIN 35
28 |
29 | #define HEATER_BED_PIN -1
30 | #define TEMP_BED_PIN -1
31 |
32 | #define HEATER_0_PIN 2
33 | #define TEMP_0_PIN 8
34 |
35 | #define HEATER_1_PIN 1
36 | #define TEMP_1_PIN 1
37 |
38 | #define HEATER_2_PIN -1
39 | #define TEMP_2_PIN -1
40 |
41 | #define E0_STEP_PIN 43
42 | #define E0_DIR_PIN 45
43 | #define E0_ENABLE_PIN 41
44 |
45 | #define E1_STEP_PIN -1
46 | #define E1_DIR_PIN -1
47 | #define E1_ENABLE_PIN -1
48 |
49 | #define SDPOWER -1
50 | #define SDSS -1
51 | #define LED_PIN -1
52 | #define FAN_PIN -1
53 | #define PS_ON_PIN -1
54 | #define KILL_PIN -1
55 | #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
56 |
57 | #define LCD_PINS_RS 24
58 | #define LCD_PINS_ENABLE 22
59 | #define LCD_PINS_D4 36
60 | #define LCD_PINS_D5 34
61 | #define LCD_PINS_D6 32
62 | #define LCD_PINS_D7 30
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/pins_WITBOX.h:
--------------------------------------------------------------------------------
1 | /**
2 | * bq WITBOX Arduino Mega with RAMPS v1.3/1.4 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 9 // (Sprinter config)
9 |
10 | #undef HEATER_1_PIN
11 | #define HEATER_1_PIN -1
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/qr_solve.h:
--------------------------------------------------------------------------------
1 | #include "Configuration.h"
2 |
3 | #ifdef AUTO_BED_LEVELING_GRID
4 |
5 | void daxpy ( int n, double da, double dx[], int incx, double dy[], int incy );
6 | double ddot ( int n, double dx[], int incx, double dy[], int incy );
7 | double dnrm2 ( int n, double x[], int incx );
8 | void dqrank ( double a[], int lda, int m, int n, double tol, int *kr,
9 | int jpvt[], double qraux[] );
10 | void dqrdc ( double a[], int lda, int n, int p, double qraux[], int jpvt[],
11 | double work[], int job );
12 | int dqrls ( double a[], int lda, int m, int n, double tol, int *kr, double b[],
13 | double x[], double rsd[], int jpvt[], double qraux[], int itask );
14 | void dqrlss ( double a[], int lda, int m, int n, int kr, double b[], double x[],
15 | double rsd[], int jpvt[], double qraux[] );
16 | int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[],
17 | double qy[], double qty[], double b[], double rsd[], double ab[], int job );
18 | void dscal ( int n, double sa, double x[], int incx );
19 | void dswap ( int n, double x[], int incx, double y[], int incy );
20 | double *qr_solve ( int m, int n, double a[], double b[] );
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/vector_3.h:
--------------------------------------------------------------------------------
1 | /*
2 | vector_3.cpp - Vector library for bed leveling
3 | Copyright (c) 2012 Lars Brubaker. All right reserved.
4 |
5 | This library is free software; you can redistribute it and/or
6 | modify it under the terms of the GNU Lesser General Public
7 | License as published by the Free Software Foundation; either
8 | version 2.1 of the License, or (at your option) any later version.
9 |
10 | This library is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public
16 | License along with this library; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 | */
19 | #ifndef VECTOR_3_H
20 | #define VECTOR_3_H
21 |
22 | #ifdef ENABLE_AUTO_BED_LEVELING
23 | class matrix_3x3;
24 |
25 | struct vector_3
26 | {
27 | float x, y, z;
28 |
29 | vector_3();
30 | vector_3(float x, float y, float z);
31 |
32 | static vector_3 cross(vector_3 a, vector_3 b);
33 |
34 | vector_3 operator+(vector_3 v);
35 | vector_3 operator-(vector_3 v);
36 | void normalize();
37 | float get_length();
38 | vector_3 get_normal();
39 |
40 | void debug(const char title[]);
41 |
42 | void apply_rotation(matrix_3x3 matrix);
43 | };
44 |
45 | struct matrix_3x3
46 | {
47 | float matrix[9];
48 |
49 | static matrix_3x3 create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2);
50 | static matrix_3x3 create_look_at(vector_3 target);
51 | static matrix_3x3 transpose(matrix_3x3 original);
52 |
53 | void set_to_identity();
54 |
55 | void debug(const char title[]);
56 | };
57 |
58 |
59 | void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float& y, float& z);
60 | #endif // ENABLE_AUTO_BED_LEVELING
61 |
62 | #endif // VECTOR_3_H
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/watchdog.cpp:
--------------------------------------------------------------------------------
1 | #include "Marlin.h"
2 |
3 | #ifdef USE_WATCHDOG
4 | #include
5 |
6 | #include "watchdog.h"
7 | #include "ultralcd.h"
8 |
9 | //===========================================================================
10 | //============================ private variables ============================
11 | //===========================================================================
12 |
13 | //===========================================================================
14 | //================================ functions ================================
15 | //===========================================================================
16 |
17 |
18 | /// intialise watch dog with a 4 sec interrupt time
19 | void watchdog_init()
20 | {
21 | #ifdef WATCHDOG_RESET_MANUAL
22 | //We enable the watchdog timer, but only for the interrupt.
23 | //Take care, as this requires the correct order of operation, with interrupts disabled. See the datasheet of any AVR chip for details.
24 | wdt_reset();
25 | _WD_CONTROL_REG = _BV(_WD_CHANGE_BIT) | _BV(WDE);
26 | _WD_CONTROL_REG = _BV(WDIE) | WDTO_4S;
27 | #else
28 | wdt_enable(WDTO_4S);
29 | #endif
30 | }
31 |
32 | /// reset watchdog. MUST be called every 1s after init or avr will reset.
33 | void watchdog_reset()
34 | {
35 | wdt_reset();
36 | }
37 |
38 | //===========================================================================
39 | //=================================== ISR ===================================
40 | //===========================================================================
41 |
42 | //Watchdog timer interrupt, called if main program blocks >1sec and manual reset is enabled.
43 | #ifdef WATCHDOG_RESET_MANUAL
44 | ISR(WDT_vect)
45 | {
46 | //TODO: This message gets overwritten by the kill() call
47 | LCD_ALERTMESSAGEPGM("ERR:Please Reset");//16 characters so it fits on a 16x2 display
48 | lcd_update();
49 | SERIAL_ERROR_START;
50 | SERIAL_ERRORLNPGM("Something is wrong, please turn off the printer.");
51 | kill(); //kill blocks
52 | while(1); //wait for user or serial reset
53 | }
54 | #endif//RESET_MANUAL
55 |
56 | #endif//USE_WATCHDOG
57 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-dual/watchdog.h:
--------------------------------------------------------------------------------
1 | #ifndef WATCHDOG_H
2 | #define WATCHDOG_H
3 |
4 | #include "Marlin.h"
5 |
6 | #ifdef USE_WATCHDOG
7 | // initialize watch dog with a 1 sec interrupt time
8 | void watchdog_init();
9 | // pad the dog/reset watchdog. MUST be called at least every second after the first watchdog_init or AVR will go into emergency procedures..
10 | void watchdog_reset();
11 | #else
12 | //If we do not have a watchdog, then we can have empty functions which are optimized away.
13 | FORCE_INLINE void watchdog_init() {};
14 | FORCE_INLINE void watchdog_reset() {};
15 | #endif
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/Marlin.ino:
--------------------------------------------------------------------------------
1 | /* -*- c++ -*- */
2 |
3 | /*
4 | Reprap firmware based on Sprinter and grbl.
5 | Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
6 |
7 | This program is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | /*
22 | This firmware is a mashup between Sprinter and grbl.
23 | (https://github.com/kliment/Sprinter)
24 | (https://github.com/simen/grbl/tree)
25 |
26 | It has preliminary support for Matthew Roberts advance algorithm
27 | http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
28 | */
29 |
30 | /* All the implementation is done in *.cpp files to get better compatibility with avr-gcc without the Arduino IDE */
31 | /* Use this file to help the Arduino IDE find which Arduino libraries are needed and to keep documentation on GCode */
32 |
33 | #include "Configuration.h"
34 | #include "pins.h"
35 |
36 | #ifdef ULTRA_LCD
37 | #if defined(LCD_I2C_TYPE_PCF8575)
38 | #include
39 | #include
40 | #elif defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)
41 | #include
42 | #include
43 | #elif defined(DOGLCD)
44 | #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/)
45 | #else
46 | #include // library for character LCD
47 | #endif
48 | #endif
49 |
50 | #if HAS_DIGIPOTSS
51 | #include
52 | #endif
53 |
54 | #if defined(DIGIPOT_I2C)
55 | #include
56 | #endif
57 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/Marlin_Mondrian3-mono.ino:
--------------------------------------------------------------------------------
1 | /* -*- c++ -*- */
2 |
3 | /*
4 | Reprap firmware based on Sprinter and grbl.
5 | Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
6 |
7 | This program is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | /*
22 | This firmware is a mashup between Sprinter and grbl.
23 | (https://github.com/kliment/Sprinter)
24 | (https://github.com/simen/grbl/tree)
25 |
26 | It has preliminary support for Matthew Roberts advance algorithm
27 | http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
28 | */
29 |
30 | /* All the implementation is done in *.cpp files to get better compatibility with avr-gcc without the Arduino IDE */
31 | /* Use this file to help the Arduino IDE find which Arduino libraries are needed and to keep documentation on GCode */
32 |
33 | #include "Configuration.h"
34 | #include "pins.h"
35 |
36 | #ifdef ULTRA_LCD
37 | #if defined(LCD_I2C_TYPE_PCF8575)
38 | #include
39 | #include
40 | #elif defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)
41 | #include
42 | #include
43 | #elif defined(DOGLCD)
44 | #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/)
45 | #else
46 | #include // library for character LCD
47 | #endif
48 | #endif
49 |
50 | #if HAS_DIGIPOTSS
51 | #include
52 | #endif
53 |
54 | #if defined(DIGIPOT_I2C)
55 | #include
56 | #endif
57 |
58 | #ifdef HAVE_TMCDRIVER
59 | #include
60 | #include
61 | #endif
62 |
63 | #ifdef HAVE_L6470DRIVER
64 | #include
65 | #include
66 | #endif
67 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/SdFatUtil.cpp:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2008 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | #include "Marlin.h"
21 |
22 | #ifdef SDSUPPORT
23 | #include "SdFatUtil.h"
24 |
25 | //------------------------------------------------------------------------------
26 | /** Amount of free RAM
27 | * \return The number of free bytes.
28 | */
29 | #ifdef __arm__
30 | extern "C" char* sbrk(int incr);
31 | int SdFatUtil::FreeRam() {
32 | char top;
33 | return &top - reinterpret_cast(sbrk(0));
34 | }
35 | #else // __arm__
36 | extern char *__brkval;
37 | extern char __bss_end;
38 | /** Amount of free RAM
39 | * \return The number of free bytes.
40 | */
41 | int SdFatUtil::FreeRam() {
42 | char top;
43 | return __brkval ? &top - __brkval : &top - &__bss_end;
44 | }
45 | #endif // __arm
46 |
47 | //------------------------------------------------------------------------------
48 | /** %Print a string in flash memory.
49 | *
50 | * \param[in] pr Print object for output.
51 | * \param[in] str Pointer to string stored in flash memory.
52 | */
53 | void SdFatUtil::print_P( PGM_P str) {
54 | for (uint8_t c; (c = pgm_read_byte(str)); str++) MYSERIAL.write(c);
55 | }
56 | //------------------------------------------------------------------------------
57 | /** %Print a string in flash memory followed by a CR/LF.
58 | *
59 | * \param[in] pr Print object for output.
60 | * \param[in] str Pointer to string stored in flash memory.
61 | */
62 | void SdFatUtil::println_P( PGM_P str) {
63 | print_P( str);
64 | MYSERIAL.println();
65 | }
66 | //------------------------------------------------------------------------------
67 | /** %Print a string in flash memory to Serial.
68 | *
69 | * \param[in] str Pointer to string stored in flash memory.
70 | */
71 | void SdFatUtil::SerialPrint_P(PGM_P str) {
72 | print_P(str);
73 | }
74 | //------------------------------------------------------------------------------
75 | /** %Print a string in flash memory to Serial followed by a CR/LF.
76 | *
77 | * \param[in] str Pointer to string stored in flash memory.
78 | */
79 | void SdFatUtil::SerialPrintln_P(PGM_P str) {
80 | println_P( str);
81 | }
82 | #endif
83 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/SdFatUtil.h:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2008 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 |
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | #include "Marlin.h"
21 | #ifdef SDSUPPORT
22 |
23 | #ifndef SdFatUtil_h
24 | #define SdFatUtil_h
25 | /**
26 | * \file
27 | * \brief Useful utility functions.
28 | */
29 | #include "Marlin.h"
30 | #include "MarlinSerial.h"
31 | /** Store and print a string in flash memory.*/
32 | #define PgmPrint(x) SerialPrint_P(PSTR(x))
33 | /** Store and print a string in flash memory followed by a CR/LF.*/
34 | #define PgmPrintln(x) SerialPrintln_P(PSTR(x))
35 |
36 | namespace SdFatUtil {
37 | int FreeRam();
38 | void print_P( PGM_P str);
39 | void println_P( PGM_P str);
40 | void SerialPrint_P(PGM_P str);
41 | void SerialPrintln_P(PGM_P str);
42 | }
43 |
44 | using namespace SdFatUtil; // NOLINT
45 | #endif // #define SdFatUtil_h
46 |
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/SdFile.cpp:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2009 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | #include "Marlin.h"
21 |
22 | #ifdef SDSUPPORT
23 | #include "SdFile.h"
24 | /** Create a file object and open it in the current working directory.
25 | *
26 | * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
27 | *
28 | * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
29 | * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
30 | */
31 | SdFile::SdFile(const char* path, uint8_t oflag) : SdBaseFile(path, oflag) {
32 | }
33 | //------------------------------------------------------------------------------
34 | /** Write data to an open file.
35 | *
36 | * \note Data is moved to the cache but may not be written to the
37 | * storage device until sync() is called.
38 | *
39 | * \param[in] buf Pointer to the location of the data to be written.
40 | *
41 | * \param[in] nbyte Number of bytes to write.
42 | *
43 | * \return For success write() returns the number of bytes written, always
44 | * \a nbyte. If an error occurs, write() returns -1. Possible errors
45 | * include write() is called before a file has been opened, write is called
46 | * for a read-only file, device is full, a corrupt file system or an I/O error.
47 | *
48 | */
49 | int16_t SdFile::write(const void* buf, uint16_t nbyte) {
50 | return SdBaseFile::write(buf, nbyte);
51 | }
52 | //------------------------------------------------------------------------------
53 | /** Write a byte to a file. Required by the Arduino Print class.
54 | * \param[in] b the byte to be written.
55 | * Use writeError to check for errors.
56 | */
57 | #if ARDUINO >= 100
58 | size_t SdFile::write(uint8_t b)
59 | {
60 | return SdBaseFile::write(&b, 1);
61 | }
62 | #else
63 | void SdFile::write(uint8_t b)
64 | {
65 | SdBaseFile::write(&b, 1);
66 | }
67 | #endif
68 | //------------------------------------------------------------------------------
69 | /** Write a string to a file. Used by the Arduino Print class.
70 | * \param[in] str Pointer to the string.
71 | * Use writeError to check for errors.
72 | */
73 | void SdFile::write(const char* str) {
74 | SdBaseFile::write(str, strlen(str));
75 | }
76 | //------------------------------------------------------------------------------
77 | /** Write a PROGMEM string to a file.
78 | * \param[in] str Pointer to the PROGMEM string.
79 | * Use writeError to check for errors.
80 | */
81 | void SdFile::write_P(PGM_P str) {
82 | for (uint8_t c; (c = pgm_read_byte(str)); str++) write(c);
83 | }
84 | //------------------------------------------------------------------------------
85 | /** Write a PROGMEM string followed by CR/LF to a file.
86 | * \param[in] str Pointer to the PROGMEM string.
87 | * Use writeError to check for errors.
88 | */
89 | void SdFile::writeln_P(PGM_P str) {
90 | write_P(str);
91 | write_P(PSTR("\r\n"));
92 | }
93 |
94 |
95 | #endif
96 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/SdFile.h:
--------------------------------------------------------------------------------
1 | /* Arduino SdFat Library
2 | * Copyright (C) 2009 by William Greiman
3 | *
4 | * This file is part of the Arduino SdFat Library
5 | *
6 | * This Library is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This Library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with the Arduino SdFat Library. If not, see
18 | * .
19 | */
20 | /**
21 | * \file
22 | * \brief SdFile class
23 | */
24 | #include "Marlin.h"
25 |
26 | #ifdef SDSUPPORT
27 | #include "SdBaseFile.h"
28 | #include
29 | #ifndef SdFile_h
30 | #define SdFile_h
31 | //------------------------------------------------------------------------------
32 | /**
33 | * \class SdFile
34 | * \brief SdBaseFile with Print.
35 | */
36 | class SdFile : public SdBaseFile, public Print {
37 | public:
38 | SdFile() {}
39 | SdFile(const char* name, uint8_t oflag);
40 | #if ARDUINO >= 100
41 | size_t write(uint8_t b);
42 | #else
43 | void write(uint8_t b);
44 | #endif
45 |
46 | int16_t write(const void* buf, uint16_t nbyte);
47 | void write(const char* str);
48 | void write_P(PGM_P str);
49 | void writeln_P(PGM_P str);
50 | };
51 | #endif // SdFile_h
52 |
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/blinkm.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | blinkm.cpp - Library for controlling a BlinkM over i2c
3 | Created by Tim Koster, August 21 2013.
4 | */
5 | #include "Marlin.h"
6 | #ifdef BLINKM
7 |
8 | #include "blinkm.h"
9 |
10 | void SendColors(byte red, byte grn, byte blu) {
11 | Wire.begin();
12 | Wire.beginTransmission(0x09);
13 | Wire.write('o'); //to disable ongoing script, only needs to be used once
14 | Wire.write('n');
15 | Wire.write(red);
16 | Wire.write(grn);
17 | Wire.write(blu);
18 | Wire.endTransmission();
19 | }
20 |
21 | #endif //BLINKM
22 |
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/blinkm.h:
--------------------------------------------------------------------------------
1 | /*
2 | blinkm.h
3 | Library header file for BlinkM library
4 | */
5 | #if ARDUINO >= 100
6 | #include "Arduino.h"
7 | #else
8 | #include "WProgram.h"
9 | #endif
10 |
11 | #include "Wire.h"
12 |
13 | void SendColors(byte red, byte grn, byte blu);
14 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/boards.h:
--------------------------------------------------------------------------------
1 | #ifndef BOARDS_H
2 | #define BOARDS_H
3 |
4 | #define BOARD_UNKNOWN -1
5 |
6 | #define BOARD_GEN7_CUSTOM 10 // Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
7 | #define BOARD_GEN7_12 11 // Gen7 v1.1, v1.2
8 | #define BOARD_GEN7_13 12 // Gen7 v1.3
9 | #define BOARD_GEN7_14 13 // Gen7 v1.4
10 | #define BOARD_CHEAPTRONIC 2 // Cheaptronic v1.0
11 | #define BOARD_SETHI 20 // Sethi 3D_1
12 | #define BOARD_RAMPS_OLD 3 // MEGA/RAMPS up to 1.2
13 | #define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
14 | #define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)
15 | #define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
16 | #define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan)
17 | #define BOARD_FELIX2 37 // Felix 2.0+ Electronics Board (RAMPS like)
18 | #define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments
19 | #define BOARD_GEN6 5 // Gen6
20 | #define BOARD_GEN6_DELUXE 51 // Gen6 deluxe
21 | #define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2
22 | #define BOARD_SANGUINOLOLU_12 62 // Sanguinololu 1.2 and above
23 | #define BOARD_MELZI 63 // Melzi
24 | #define BOARD_STB_11 64 // STB V1.1
25 | #define BOARD_AZTEEG_X1 65 // Azteeg X1
26 | #define BOARD_MELZI_1284 66 // Melzi with ATmega1284 (MaKr3d version)
27 | #define BOARD_AZTEEG_X3 67 // Azteeg X3
28 | #define BOARD_AZTEEG_X3_PRO 68 // Azteeg X3 Pro
29 | #define BOARD_ULTIMAKER 7 // Ultimaker
30 | #define BOARD_ULTIMAKER_OLD 71 // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
31 | #define BOARD_ULTIMAIN_2 72 // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
32 | #define BOARD_3DRAG 77 // 3Drag Controller
33 | #define BOARD_K8200 78 // Vellemann K8200 Controller (derived from 3Drag Controller)
34 | #define BOARD_TEENSYLU 8 // Teensylu
35 | #define BOARD_RUMBA 80 // Rumba
36 | #define BOARD_PRINTRBOARD 81 // Printrboard (AT90USB1286)
37 | #define BOARD_BRAINWAVE 82 // Brainwave (AT90USB646)
38 | #define BOARD_SAV_MKI 83 // SAV Mk-I (AT90USB1286)
39 | #define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make
40 | #define BOARD_BRAINWAVE_PRO 85 // Brainwave Pro (AT90USB1286)
41 | #define BOARD_GEN3_PLUS 9 // Gen3+
42 | #define BOARD_GEN3_MONOLITHIC 22 // Gen3 Monolithic Electronics
43 | #define BOARD_MEGATRONICS 70 // Megatronics
44 | #define BOARD_MEGATRONICS_2 701 // Megatronics v2.0
45 | #define BOARD_MEGATRONICS_1 702 // Minitronics v1.0
46 | #define BOARD_MEGATRONICS_3 703 // Megatronics v3.0
47 | #define BOARD_OMCA_A 90 // Alpha OMCA board
48 | #define BOARD_OMCA 91 // Final OMCA board
49 | #define BOARD_RAMBO 301 // Rambo
50 | #define BOARD_ELEFU_3 21 // Elefu Ra Board (v3)
51 | #define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board
52 | #define BOARD_LEAPFROG 999 // Leapfrog
53 | #define BOARD_WITBOX 41 // bq WITBOX
54 | #define BOARD_HEPHESTOS 42 // bq Prusa i3 Hephestos
55 | #define BOARD_BAM_DICE 401 // 2PrintBeta BAM&DICE with STK drivers
56 | #define BOARD_BAM_DICE_DUE 402 // 2PrintBeta BAM&DICE Due with STK drivers
57 |
58 | #define BOARD_99 99 // This is in pins.h but...?
59 |
60 | #define MB(board) (MOTHERBOARD==BOARD_##board)
61 |
62 | #endif //__BOARDS_H
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/cardreader.h:
--------------------------------------------------------------------------------
1 | #ifndef CARDREADER_H
2 | #define CARDREADER_H
3 |
4 | #ifdef SDSUPPORT
5 |
6 | #define MAX_DIR_DEPTH 10 // Maximum folder depth
7 |
8 | #include "SdFile.h"
9 | enum LsAction { LS_SerialPrint, LS_Count, LS_GetFilename };
10 |
11 | class CardReader {
12 | public:
13 | CardReader();
14 |
15 | void initsd();
16 | void write_command(char *buf);
17 | //files auto[0-9].g on the sd card are performed in a row
18 | //this is to delay autostart and hence the initialisaiton of the sd card to some seconds after the normal init, so the device is available quick after a reset
19 |
20 | void checkautostart(bool x);
21 | void openFile(char* name,bool read,bool replace_current=true);
22 | void openLogFile(char* name);
23 | void removeFile(char* name);
24 | void closefile(bool store_location=false);
25 | void release();
26 | void startFileprint();
27 | void pauseSDPrint();
28 | void getStatus();
29 | void printingHasFinished();
30 |
31 | void getfilename(uint16_t nr, const char* const match=NULL);
32 | uint16_t getnrfilenames();
33 |
34 | void getAbsFilename(char *t);
35 |
36 | void ls();
37 | void chdir(const char * relpath);
38 | void updir();
39 | void setroot();
40 |
41 |
42 | FORCE_INLINE bool isFileOpen() { return file.isOpen(); }
43 | FORCE_INLINE bool eof() { return sdpos >= filesize; }
44 | FORCE_INLINE int16_t get() { sdpos = file.curPosition(); return (int16_t)file.read(); }
45 | FORCE_INLINE void setIndex(long index) { sdpos = index; file.seekSet(index); }
46 | FORCE_INLINE uint8_t percentDone() { return (isFileOpen() && filesize) ? sdpos / ((filesize + 99) / 100) : 0; }
47 | FORCE_INLINE char* getWorkDirName() { workDir.getFilename(filename); return filename; }
48 |
49 | public:
50 | bool saving, logging, sdprinting, cardOK, filenameIsDir;
51 | char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH];
52 | int autostart_index;
53 | private:
54 | SdFile root, *curDir, workDir, workDirParents[MAX_DIR_DEPTH];
55 | uint16_t workDirDepth;
56 | Sd2Card card;
57 | SdVolume volume;
58 | SdFile file;
59 | #define SD_PROCEDURE_DEPTH 1
60 | #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH + MAX_DIR_DEPTH + 1)
61 | uint8_t file_subcall_ctr;
62 | uint32_t filespos[SD_PROCEDURE_DEPTH];
63 | char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
64 | uint32_t filesize;
65 | millis_t next_autostart_ms;
66 | uint32_t sdpos;
67 |
68 | bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
69 |
70 | LsAction lsAction; //stored for recursion.
71 | uint16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory.
72 | char* diveDirName;
73 | void lsDive(const char *prepend, SdFile parent, const char * const match=NULL);
74 | };
75 |
76 | extern CardReader card;
77 |
78 | #define IS_SD_PRINTING (card.sdprinting)
79 |
80 | #if (SDCARDDETECT > -1)
81 | #ifdef SDCARDDETECTINVERTED
82 | #define IS_SD_INSERTED (READ(SDCARDDETECT) != 0)
83 | #else
84 | #define IS_SD_INSERTED (READ(SDCARDDETECT) == 0)
85 | #endif
86 | #else
87 | //No card detect line? Assume the card is inserted.
88 | #define IS_SD_INSERTED true
89 | #endif
90 |
91 | #else
92 |
93 | #define IS_SD_PRINTING (false)
94 |
95 | #endif //SDSUPPORT
96 |
97 | #endif //__CARDREADER_H
98 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/configuration_store.h:
--------------------------------------------------------------------------------
1 | #ifndef CONFIGURATION_STORE_H
2 | #define CONFIGURATION_STORE_H
3 |
4 | #include "Configuration.h"
5 |
6 | void Config_ResetDefault();
7 |
8 | #ifndef DISABLE_M503
9 | void Config_PrintSettings(bool forReplay=false);
10 | #else
11 | FORCE_INLINE void Config_PrintSettings(bool forReplay=false) {}
12 | #endif
13 |
14 | #ifdef EEPROM_SETTINGS
15 | void Config_StoreSettings();
16 | void Config_RetrieveSettings();
17 | #else
18 | FORCE_INLINE void Config_StoreSettings() {}
19 | FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); }
20 | #endif
21 |
22 | #endif //CONFIGURATION_STORE_H
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/digipot_mcp4451.cpp:
--------------------------------------------------------------------------------
1 | #include "Configuration.h"
2 |
3 | #ifdef DIGIPOT_I2C
4 |
5 | #include "Stream.h"
6 | #include "utility/twi.h"
7 | #include "Wire.h"
8 |
9 | // Settings for the I2C based DIGIPOT (MCP4451) on Azteeg X3 Pro
10 | #if MB(5DPRINT)
11 | #define DIGIPOT_I2C_FACTOR 117.96
12 | #define DIGIPOT_I2C_MAX_CURRENT 1.736
13 | #else
14 | #define DIGIPOT_I2C_FACTOR 106.7
15 | #define DIGIPOT_I2C_MAX_CURRENT 2.5
16 | #endif
17 |
18 | static byte current_to_wiper(float current) {
19 | return byte(ceil(float((DIGIPOT_I2C_FACTOR*current))));
20 | }
21 |
22 | static void i2c_send(byte addr, byte a, byte b) {
23 | Wire.beginTransmission(addr);
24 | Wire.write(a);
25 | Wire.write(b);
26 | Wire.endTransmission();
27 | }
28 |
29 | // This is for the MCP4451 I2C based digipot
30 | void digipot_i2c_set_current(int channel, float current) {
31 | current = min( (float) max( current, 0.0f ), DIGIPOT_I2C_MAX_CURRENT);
32 | // these addresses are specific to Azteeg X3 Pro, can be set to others,
33 | // In this case first digipot is at address A0=0, A1= 0, second one is at A0=0, A1= 1
34 | byte addr = 0x2C; // channel 0-3
35 | if (channel >= 4) {
36 | addr = 0x2E; // channel 4-7
37 | channel -= 4;
38 | }
39 |
40 | // Initial setup
41 | i2c_send(addr, 0x40, 0xff);
42 | i2c_send(addr, 0xA0, 0xff);
43 |
44 | // Set actual wiper value
45 | byte addresses[4] = { 0x00, 0x10, 0x60, 0x70 };
46 | i2c_send(addr, addresses[channel], current_to_wiper(current));
47 | }
48 |
49 | void digipot_i2c_init() {
50 | const float digipot_motor_current[] = DIGIPOT_I2C_MOTOR_CURRENTS;
51 | Wire.begin();
52 | // setup initial currents as defined in Configuration_adv.h
53 | for(int i = 0; i <= sizeof(digipot_motor_current) / sizeof(float); i++) {
54 | digipot_i2c_set_current(i, digipot_motor_current[i]);
55 | }
56 | }
57 |
58 | #endif //DIGIPOT_I2C
59 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/dogm_font_data_Marlin_symbols.h:
--------------------------------------------------------------------------------
1 | /*
2 | Fontname: Marlin_symbols
3 | Copyright: Created with Fony 1.4.7
4 | Capital A Height: 0, '1' Height: 0
5 | Calculated Max Values w= 5 h=10 x= 0 y= 3 dx= 6 dy= 0 ascent= 8 len=10
6 | Font Bounding box w= 6 h= 9 x= 0 y=-2
7 | Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
8 | Pure Font ascent = 0 descent= 0
9 | X Font ascent = 0 descent= 0
10 | Max Font ascent = 8 descent=-2
11 | */
12 | #include
13 | const u8g_fntpgm_uint8_t Marlin_symbols[140] U8G_SECTION(".progmem.Marlin_symbols") = {
14 | 0,6,9,0,254,0,0,0,0,0,1,9,0,8,254,0,
15 | 0,5,8,8,6,0,0,64,240,200,136,136,152,120,16,5,
16 | 8,8,6,0,0,192,248,136,136,136,136,136,248,5,5,5,
17 | 6,0,1,32,48,248,48,32,5,8,8,6,0,0,32,112,
18 | 248,32,32,32,32,224,5,9,9,6,0,255,32,112,168,168,
19 | 184,136,136,112,32,5,9,9,6,0,255,224,128,192,176,168,
20 | 40,48,40,40,5,9,9,6,0,255,248,168,136,136,136,136,
21 | 136,168,248,5,10,10,6,0,254,32,80,80,80,80,136,168,
22 | 168,136,112,3,3,3,6,0,3,64,160,64};
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/mesh_bed_leveling.cpp:
--------------------------------------------------------------------------------
1 | #include "mesh_bed_leveling.h"
2 |
3 | #ifdef MESH_BED_LEVELING
4 |
5 | mesh_bed_leveling mbl;
6 |
7 | mesh_bed_leveling::mesh_bed_leveling() { reset(); }
8 |
9 | void mesh_bed_leveling::reset() {
10 | active = 0;
11 | for (int y = 0; y < MESH_NUM_Y_POINTS; y++)
12 | for (int x = 0; x < MESH_NUM_X_POINTS; x++)
13 | z_values[y][x] = 0;
14 | }
15 |
16 | #endif // MESH_BED_LEVELING
17 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/mesh_bed_leveling.h:
--------------------------------------------------------------------------------
1 | #include "Marlin.h"
2 |
3 | #ifdef MESH_BED_LEVELING
4 |
5 | #define MESH_X_DIST ((MESH_MAX_X - MESH_MIN_X)/(MESH_NUM_X_POINTS - 1))
6 | #define MESH_Y_DIST ((MESH_MAX_Y - MESH_MIN_Y)/(MESH_NUM_Y_POINTS - 1))
7 |
8 | class mesh_bed_leveling {
9 | public:
10 | uint8_t active;
11 | float z_values[MESH_NUM_Y_POINTS][MESH_NUM_X_POINTS];
12 |
13 | mesh_bed_leveling();
14 |
15 | void reset();
16 |
17 | float get_x(int i) { return MESH_MIN_X + MESH_X_DIST * i; }
18 | float get_y(int i) { return MESH_MIN_Y + MESH_Y_DIST * i; }
19 | void set_z(int ix, int iy, float z) { z_values[iy][ix] = z; }
20 |
21 | int select_x_index(float x) {
22 | int i = 1;
23 | while (x > get_x(i) && i < MESH_NUM_X_POINTS-1) i++;
24 | return i - 1;
25 | }
26 |
27 | int select_y_index(float y) {
28 | int i = 1;
29 | while (y > get_y(i) && i < MESH_NUM_Y_POINTS - 1) i++;
30 | return i - 1;
31 | }
32 |
33 | float calc_z0(float a0, float a1, float z1, float a2, float z2) {
34 | float delta_z = (z2 - z1)/(a2 - a1);
35 | float delta_a = a0 - a1;
36 | return z1 + delta_a * delta_z;
37 | }
38 |
39 | float get_z(float x0, float y0) {
40 | int x_index = select_x_index(x0);
41 | int y_index = select_y_index(y0);
42 | float z1 = calc_z0(x0,
43 | get_x(x_index), z_values[y_index][x_index],
44 | get_x(x_index+1), z_values[y_index][x_index+1]);
45 | float z2 = calc_z0(x0,
46 | get_x(x_index), z_values[y_index+1][x_index],
47 | get_x(x_index+1), z_values[y_index+1][x_index+1]);
48 | float z0 = calc_z0(y0,
49 | get_y(y_index), z1,
50 | get_y(y_index+1), z2);
51 | return z0;
52 | }
53 | };
54 |
55 | extern mesh_bed_leveling mbl;
56 |
57 | #endif // MESH_BED_LEVELING
58 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/motion_control.h:
--------------------------------------------------------------------------------
1 | /*
2 | motion_control.h - high level interface for issuing motion commands
3 | Part of Grbl
4 |
5 | Copyright (c) 2009-2011 Simen Svale Skogsrud
6 | Copyright (c) 2011 Sungeun K. Jeon
7 |
8 | Grbl 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 | Grbl 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 Grbl. If not, see .
20 | */
21 |
22 | #ifndef motion_control_h
23 | #define motion_control_h
24 |
25 | // Execute an arc in offset mode format. position == current xyz, target == target xyz,
26 | // offset == offset from current xyz, axis_XXX defines circle plane in tool space, axis_linear is
27 | // the direction of helical travel, radius == circle radius, isclockwise boolean. Used
28 | // for vector transformation direction.
29 | void mc_arc(float *position, float *target, float *offset, unsigned char axis_0, unsigned char axis_1,
30 | unsigned char axis_linear, float feed_rate, float radius, unsigned char isclockwise, uint8_t extruder);
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_3DRAG.h:
--------------------------------------------------------------------------------
1 | /**
2 | * 3DRAG (and K8200) Arduino Mega with RAMPS v1.3 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef Z_ENABLE_PIN
8 | #define Z_ENABLE_PIN 63
9 |
10 | #undef X_MAX_PIN
11 | #undef Y_MAX_PIN
12 | #undef Z_MAX_PIN
13 | #define X_MAX_PIN 2
14 | #define Y_MAX_PIN 15
15 | #define Z_MAX_PIN -1
16 |
17 | #undef SDSS
18 | #define SDSS 25//53
19 |
20 | #undef FAN_PIN
21 | #define FAN_PIN 8
22 |
23 | #undef HEATER_1_PIN
24 | #undef HEATER_2_PIN
25 | #undef HEATER_BED_PIN
26 | #define HEATER_0_PIN 10
27 | #define HEATER_1_PIN 12
28 | #define HEATER_2_PIN 6
29 |
30 | #define HEATER_BED_PIN 9 // BED
31 |
32 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
33 | #undef BEEPER
34 | #define BEEPER -1
35 |
36 | #undef LCD_PINS_RS
37 | #undef LCD_PINS_ENABLE
38 | #undef LCD_PINS_D4
39 | #undef LCD_PINS_D5
40 | #undef LCD_PINS_D6
41 | #undef LCD_PINS_D7
42 | #define LCD_PINS_RS 27
43 | #define LCD_PINS_ENABLE 29
44 | #define LCD_PINS_D4 37
45 | #define LCD_PINS_D5 35
46 | #define LCD_PINS_D6 33
47 | #define LCD_PINS_D7 31
48 |
49 | // Buttons
50 | #undef BTN_EN1
51 | #undef BTN_EN2
52 | #undef BTN_ENC
53 | #define BTN_EN1 16
54 | #define BTN_EN2 17
55 | #define BTN_ENC 23 //the click
56 |
57 | #else
58 |
59 | #define BEEPER 33
60 |
61 | #endif // ULTRA_LCD && NEWPANEL
62 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_5DPRINT.h:
--------------------------------------------------------------------------------
1 | /**
2 | * 5DPrint D8 Driver board pin assignments
3 | *
4 | * https://bitbucket.org/makible/5dprint-d8-controller-board
5 | */
6 |
7 | #ifndef __AVR_AT90USB1286__
8 | #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
9 | #endif
10 |
11 | #define AT90USB 1286 // Disable MarlinSerial etc.
12 |
13 | #define LARGE_FLASH true
14 |
15 | #define X_STEP_PIN 0
16 | #define X_DIR_PIN 1
17 | #define X_ENABLE_PIN 23
18 | #define X_STOP_PIN 37
19 |
20 | #define Y_STEP_PIN 2
21 | #define Y_DIR_PIN 3
22 | #define Y_ENABLE_PIN 19
23 | #define Y_STOP_PIN 36
24 |
25 | #define Z_STEP_PIN 4
26 | #define Z_DIR_PIN 5
27 | #define Z_ENABLE_PIN 18
28 | #define Z_STOP_PIN 39
29 |
30 | #define E0_STEP_PIN 6
31 | #define E0_DIR_PIN 7
32 | #define E0_ENABLE_PIN 17
33 |
34 | #define HEATER_0_PIN 21 // Extruder
35 | #define HEATER_1_PIN -1
36 | #define HEATER_2_PIN -1
37 | #define HEATER_BED_PIN 20 // Bed
38 | // You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h
39 | // for the fan and Teensyduino uses a different pin mapping.
40 | #define FAN_PIN 16 // Fan
41 |
42 | #define TEMP_0_PIN 1 // Extruder / Analog pin numbering
43 | #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
44 |
45 | #define TEMP_1_PIN -1
46 | #define TEMP_2_PIN -1
47 |
48 | #define SDPOWER -1
49 | #define LED_PIN -1
50 | #define PS_ON_PIN -1
51 | #define KILL_PIN -1
52 | #define ALARM_PIN -1
53 |
54 | // The SDSS pin uses a different pin mapping from file Sd2PinMap.h
55 | #define SDSS 20
56 |
57 | #ifndef SDSUPPORT
58 | // these pins are defined in the SD library if building with SD support
59 | #define SCK_PIN 9
60 | #define MISO_PIN 11
61 | #define MOSI_PIN 10
62 | #endif
63 |
64 | // Microstepping pins
65 | // Note that the pin mapping is not from fastio.h
66 | // See Sd2PinMap.h for the pin configurations
67 |
68 | #undef X_MS1_PIN
69 | #undef X_MS2_PIN
70 | #undef Y_MS1_PIN
71 | #undef Y_MS2_PIN
72 | #undef Z_MS1_PIN
73 | #undef Z_MS2_PIN
74 | #undef E0_MS1_PIN
75 | #undef E0_MS2_PIN
76 | #define X_MS1_PIN 25
77 | #define X_MS2_PIN 26
78 | #define Y_MS1_PIN 9
79 | #define Y_MS2_PIN 8
80 | #define Z_MS1_PIN 7
81 | #define Z_MS2_PIN 6
82 | #define E0_MS1_PIN 5
83 | #define E0_MS2_PIN 4
84 |
85 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_99.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Board 99 pin assignments
3 | */
4 |
5 | #define X_STEP_PIN 2
6 | #define X_DIR_PIN 3
7 | #define X_ENABLE_PIN -1
8 | #define X_STOP_PIN 16
9 |
10 | #define Y_STEP_PIN 5
11 | #define Y_DIR_PIN 6
12 | #define Y_ENABLE_PIN -1
13 | #define Y_STOP_PIN 67
14 |
15 | #define Z_STEP_PIN 62
16 | #define Z_DIR_PIN 63
17 | #define Z_ENABLE_PIN -1
18 | #define Z_STOP_PIN 59
19 |
20 | #define E0_STEP_PIN 65
21 | #define E0_DIR_PIN 66
22 | #define E0_ENABLE_PIN -1
23 |
24 | #define SDPOWER -1
25 | #define SDSS 53
26 | #define LED_PIN -1
27 | #define FAN_PIN -1
28 | #define PS_ON_PIN 9
29 | #define KILL_PIN -1
30 |
31 | #define HEATER_0_PIN 13
32 | #define HEATER_1_PIN -1
33 | #define HEATER_2_PIN -1
34 | #define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
35 | #define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
36 | #define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
37 | #define HEATER_BED_PIN 4
38 | #define TEMP_BED_PIN 10
39 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_AZTEEG_X1.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Azteeg X1 pin assignments
3 | */
4 |
5 | #define SANGUINOLOLU_V_1_2
6 |
7 | #include "pins_SANGUINOLOLU_11.h"
8 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_AZTEEG_X3.h:
--------------------------------------------------------------------------------
1 | /**
2 | * AZTEEG_X3 Arduino Mega with RAMPS v1.3 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #define FAN_PIN 9 // (Sprinter config)
8 | #define HEATER_1_PIN -1
9 |
10 | //LCD Pins//
11 |
12 | #if defined(VIKI2) || defined(miniVIKI)
13 | #define BEEPER 33
14 | // Pins for DOGM SPI LCD Support
15 | #define DOGLCD_A0 31
16 | #define DOGLCD_CS 32
17 | #define LCD_SCREEN_ROT_180
18 |
19 | //The encoder and click button
20 | #define BTN_EN1 22
21 | #define BTN_EN2 7
22 | #define BTN_ENC 12 //the click switch
23 |
24 | #define SDSS 53
25 | #define SDCARDDETECT -1 // Pin 49 if using display sd interface
26 |
27 | #ifdef TEMP_STAT_LEDS
28 | #define STAT_LED_RED 64
29 | #define STAT_LED_BLUE 63
30 | #endif
31 | #elif defined(TEMP_STAT_LEDS)
32 | #define STAT_LED_RED 6
33 | #define STAT_LED_BLUE 11
34 | #endif
35 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_AZTEEG_X3_PRO.h:
--------------------------------------------------------------------------------
1 | /**
2 | * AZTEEG_X3_PRO (Arduino Mega) pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 6 //Part Cooling System
9 | #define BEEPER 33
10 | #define CONTROLLERFAN_PIN 4 //Pin used for the fan to cool motherboard (-1 to disable)
11 | //Fans/Water Pump to cool the hotend cool side.
12 | #define EXTRUDER_0_AUTO_FAN_PIN 5
13 | #define EXTRUDER_1_AUTO_FAN_PIN 5
14 | #define EXTRUDER_2_AUTO_FAN_PIN 5
15 | #define EXTRUDER_3_AUTO_FAN_PIN 5
16 | //
17 | //This section is to swap the MIN and MAX pins because the X3 Pro comes with only
18 | //MIN endstops soldered onto the board. Delta code wants the homing endstops to be
19 | //the MAX so I swapped them here.
20 | //
21 | #ifdef DELTA
22 | #undef X_MIN_PIN
23 | #undef X_MAX_PIN
24 | #undef Y_MIN_PIN
25 | #undef Y_MAX_PIN
26 | #undef Z_MIN_PIN
27 | #undef Z_MAX_PIN
28 |
29 | #define X_MIN_PIN 2
30 | #define X_MAX_PIN 3
31 | #define Y_MIN_PIN 15
32 | #define Y_MAX_PIN 14
33 | #define Z_MIN_PIN 19
34 | #define Z_MAX_PIN 18
35 | #endif
36 | //
37 | #ifdef Z_PROBE_ENDSTOP
38 | //#undef Z_MIN_PIN
39 | //#define Z_MIN_PIN 15
40 | #define Z_PROBE_PIN 19
41 | #endif
42 | //
43 | #define E2_STEP_PIN 23
44 | #define E2_DIR_PIN 25
45 | #define E2_ENABLE_PIN 40
46 |
47 | #define E3_STEP_PIN 27
48 | #define E3_DIR_PIN 29
49 | #define E3_ENABLE_PIN 41
50 |
51 | #define E4_STEP_PIN 43
52 | #define E4_DIR_PIN 37
53 | #define E4_ENABLE_PIN 42
54 |
55 | #undef HEATER_1_PIN
56 | #undef HEATER_2_PIN
57 | #undef HEATER_3_PIN
58 | #define HEATER_1_PIN 9
59 | #define HEATER_2_PIN 16
60 | #define HEATER_3_PIN 17
61 | #define HEATER_4_PIN 4
62 | #define HEATER_5_PIN 5
63 | #define HEATER_6_PIN 6
64 | #define HEATER_7_PIN 11
65 |
66 | #undef TEMP_2_PIN
67 | #undef TEMP_3_PIN
68 | #define TEMP_2_PIN 12 // ANALOG NUMBERING
69 | #define TEMP_3_PIN 11 // ANALOG NUMBERING
70 | #define TEMP_4_PIN 10 // ANALOG NUMBERING
71 | #define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro
72 | #define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro
73 |
74 | //
75 | //These Servo pins are for when they are defined. Tested for usage with bed leveling
76 | //on a Delta with 1 servo. Running through the Z servo endstop in code.
77 | //Physical wire attachment was done on EXT1 on the GND, 5V, and D47 pins.
78 | //
79 | #undef SERVO0_PIN
80 | #undef SERVO1_PIN
81 | #undef SERVO2_PIN
82 | #undef SERVO3_PIN
83 |
84 | #ifdef NUM_SERVOS
85 | #define SERVO0_PIN 47
86 | #if NUM_SERVOS > 1
87 | #define SERVO1_PIN -1
88 | #if NUM_SERVOS > 2
89 | #define SERVO2_PIN -1
90 | #if NUM_SERVOS > 3
91 | #define SERVO3_PIN -1
92 | #endif
93 | #endif
94 | #endif
95 | #endif
96 |
97 | //LCD Pins//
98 |
99 | #if defined(VIKI2) || defined(miniVIKI)
100 | #define BEEPER 33
101 | // Pins for DOGM SPI LCD Support
102 | #define DOGLCD_A0 44
103 | #define DOGLCD_CS 45
104 | #define LCD_SCREEN_ROT_180
105 |
106 | //The encoder and click button
107 | #define BTN_EN1 22
108 | #define BTN_EN2 7
109 | #define BTN_ENC 39 //the click switch
110 |
111 | #define SDSS 53
112 | #define SDCARDDETECT 49
113 |
114 | #define KILL_PIN 31
115 | #endif
116 |
117 | #ifdef TEMP_STAT_LEDS
118 | #define STAT_LED_RED 32
119 | #define STAT_LED_BLUE 35
120 | #endif
121 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_BAM_DICE_DUE.h:
--------------------------------------------------------------------------------
1 | /**
2 | * BAM&DICE Due (Arduino Mega) pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 9 // (Sprinter config)
9 |
10 | #undef HEATER_1_PIN
11 | #define HEATER_1_PIN -1
12 |
13 | #undef TEMP_0_PIN
14 | #undef TEMP_1_PIN
15 | #define TEMP_0_PIN 9 // ANALOG NUMBERING
16 | #define TEMP_1_PIN 11 // ANALOG NUMBERING
17 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_BRAINWAVE.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Brainwave 1.0 pin assignments (AT90USB646)
3 | *
4 | * Requires hardware bundle for Arduino:
5 | * https://github.com/unrepentantgeek/brainwave-arduino
6 | */
7 |
8 | #ifndef __AVR_AT90USB646__
9 | #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #define AT90USB 646 // Disable MarlinSerial etc.
13 |
14 | #define X_STEP_PIN 27
15 | #define X_DIR_PIN 29
16 | #define X_ENABLE_PIN 28
17 | #define X_STOP_PIN 7
18 | #define X_ATT_PIN 26
19 |
20 | #define Y_STEP_PIN 31
21 | #define Y_DIR_PIN 33
22 | #define Y_ENABLE_PIN 32
23 | #define Y_STOP_PIN 6
24 | #define Y_ATT_PIN 30
25 |
26 | #define Z_STEP_PIN 17
27 | #define Z_DIR_PIN 19
28 | #define Z_ENABLE_PIN 18
29 | #define Z_STOP_PIN 5
30 | #define Z_ATT_PIN 16
31 |
32 | #define E0_STEP_PIN 21
33 | #define E0_DIR_PIN 23
34 | #define E0_ENABLE_PIN 22
35 | #define E0_ATT_PIN 20
36 |
37 | #define HEATER_0_PIN 4 // Extruder
38 | #define HEATER_1_PIN -1
39 | #define HEATER_2_PIN -1
40 | #define HEATER_BED_PIN 38 // Bed
41 | #define FAN_PIN 3 // Fan
42 |
43 | #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
44 | #define TEMP_1_PIN -1
45 | #define TEMP_2_PIN -1
46 | #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
47 |
48 | #define SDPOWER -1
49 | #define SDSS -1
50 | #define LED_PIN 39
51 | #define PS_ON_PIN -1
52 | #define KILL_PIN -1
53 | #define ALARM_PIN -1
54 |
55 | #ifndef SDSUPPORT
56 | // these pins are defined in the SD library if building with SD support
57 | #define SCK_PIN 9
58 | #define MISO_PIN 11
59 | #define MOSI_PIN 10
60 | #endif
61 |
62 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_BRAINWAVE_PRO.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Brainwave Pro pin assignments (AT90USB186)
3 | *
4 | * Requires hardware bundle for Arduino:
5 | * https://github.com/unrepentantgeek/brainwave-arduino
6 | */
7 |
8 | #ifndef __AVR_AT90USB1286__
9 | #error Oops! Make sure you have 'Brainwave Pro' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical.
13 | #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config
14 | #endif
15 |
16 | #define AT90USB 1286 // Disable MarlinSerial etc.
17 |
18 | #define X_STEP_PIN 33
19 | #define X_DIR_PIN 32
20 | #define X_ENABLE_PIN 11
21 | #define X_STOP_PIN 47
22 |
23 | #define Y_STEP_PIN 31
24 | #define Y_DIR_PIN 30
25 | #define Y_ENABLE_PIN 8
26 | #define Y_STOP_PIN 18
27 |
28 | #define Z_STEP_PIN 29
29 | #define Z_DIR_PIN 28
30 | #define Z_ENABLE_PIN 37
31 | #define Z_MAX_PIN 36
32 | #define Z_MIN_PIN 17 // Bed probe
33 |
34 | #define E0_STEP_PIN 35
35 | #define E0_DIR_PIN 34
36 | #define E0_ENABLE_PIN 13
37 |
38 | #define HEATER_0_PIN 15
39 | #define HEATER_1_PIN -1
40 | #define HEATER_2_PIN -1
41 | #define HEATER_BED_PIN 14 // Bed
42 | #define FAN_PIN 16 // Fan, PWM
43 |
44 | #define TEMP_0_PIN 2 // Extruder / Analog pin numbering
45 | #define TEMP_1_PIN 1 // Spare / Analog pin numbering
46 | #define TEMP_2_PIN -1
47 | #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
48 |
49 | #define SDPOWER -1
50 | #define SDSS 20
51 | #define LED_PIN 19
52 | #define PS_ON_PIN -1
53 | #define KILL_PIN -1
54 | #define ALARM_PIN -1
55 | #define SDCARDDETECT 12
56 |
57 | #ifndef SDSUPPORT
58 | // these pins are defined in the SD library if building with SD support
59 | #define SCK_PIN 21
60 | #define MISO_PIN 23
61 | #define MOSI_PIN 22
62 | #endif
63 |
64 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_CHEAPTRONIC.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Cheaptronic v1.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | // X motor stepper
12 | #define X_STEP_PIN 14
13 | #define X_DIR_PIN 15
14 | #define X_ENABLE_PIN 24
15 |
16 | // X endstop
17 | #define X_MIN_PIN 3
18 | #define X_MAX_PIN -1
19 |
20 | // Y motor stepper
21 | #define Y_STEP_PIN 35
22 | #define Y_DIR_PIN 36
23 | #define Y_ENABLE_PIN 31
24 |
25 | // Y endstop
26 | #define Y_MIN_PIN 2
27 | #define Y_MAX_PIN -1
28 |
29 | // Z motor stepper
30 | #define Z_STEP_PIN 40
31 | #define Z_DIR_PIN 41
32 | #define Z_ENABLE_PIN 37
33 |
34 | // Z endstop
35 | #define Z_MIN_PIN 5
36 | #define Z_MAX_PIN -1
37 |
38 | // Extruder 0 stepper
39 | #define E0_STEP_PIN 26
40 | #define E0_DIR_PIN 28
41 | #define E0_ENABLE_PIN 25
42 |
43 | // Extruder 1 stepper
44 | #define E1_STEP_PIN 33
45 | #define E1_DIR_PIN 34
46 | #define E1_ENABLE_PIN 30
47 |
48 | #define SDPOWER -1
49 | #define SDSS -1
50 | #define LED_PIN -1
51 |
52 | // FAN
53 | #define FAN_PIN -1
54 |
55 | #define PS_ON_PIN -1
56 | #define KILL_PIN -1
57 |
58 | #define HEATER_0_PIN 19 // EXTRUDER 1
59 | #define HEATER_1_PIN 23 // EXTRUDER 2
60 | // HeatedBad
61 | #define HEATER_BED_PIN 22
62 | // Cheaptronic v1.0 hasent EXTRUDER 3
63 | #define HEATER_2_PIN -1
64 |
65 | // Temperature sensors
66 | #define TEMP_0_PIN 15
67 | #define TEMP_1_PIN 14
68 | #define TEMP_2_PIN -1
69 | #define TEMP_BED_PIN 13
70 |
71 | // Cheaptronic v1.0 doesn't support LCD
72 | #define LCD_PINS_RS -1
73 | #define LCD_PINS_ENABLE -1
74 | #define LCD_PINS_D4 -1
75 | #define LCD_PINS_D5 -1
76 | #define LCD_PINS_D6 -1
77 | #define LCD_PINS_D7 -1
78 |
79 | // Cheaptronic v1.0 doesn't support keypad
80 | #define BTN_EN1 -1
81 | #define BTN_EN2 -1
82 | #define BTN_ENC -1
83 |
84 | #define BLEN_C 2
85 | #define BLEN_B 1
86 | #define BLEN_A 0
87 |
88 | // Cheaptronic v1.0 does not use this port
89 | #define SDCARDDETECT -1
90 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_DUEMILANOVE_328P.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Duemilanove w/ ATMega328P pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega328P__
6 | #error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 19
10 | #define X_DIR_PIN 18
11 | #define X_ENABLE_PIN -1
12 | #define X_STOP_PIN 17
13 |
14 | #define Y_STEP_PIN 10
15 | #define Y_DIR_PIN 7
16 | #define Y_ENABLE_PIN -1
17 | #define Y_STOP_PIN 8
18 |
19 | #define Z_STEP_PIN 13
20 | #define Z_DIR_PIN 3
21 | #define Z_ENABLE_PIN 2
22 | #define Z_STOP_PIN 4
23 |
24 | #define E0_STEP_PIN 11
25 | #define E0_DIR_PIN 12
26 | #define E0_ENABLE_PIN -1
27 |
28 | #define SDPOWER -1
29 | #define SDSS -1
30 | #define LED_PIN -1
31 | #define FAN_PIN 5
32 | #define PS_ON_PIN -1
33 | #define KILL_PIN -1
34 |
35 | #define HEATER_0_PIN 6
36 | #define HEATER_1_PIN -1
37 | #define HEATER_2_PIN -1
38 | #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
39 | #define TEMP_1_PIN -1
40 | #define TEMP_2_PIN -1
41 | #define HEATER_BED_PIN -1
42 | #define TEMP_BED_PIN -1
43 |
44 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_FELIX2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * FELIXprinters v2.0/3.0 (RAMPS v1.3) pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef X_MAX_PIN
8 | #undef Y_MAX_PIN
9 | #undef Z_MAX_PIN
10 | #define X_MAX_PIN -1
11 | #define Y_MAX_PIN -1
12 | #define Z_MAX_PIN -1
13 |
14 | #undef Y2_STEP_PIN
15 | #undef Y2_DIR_PIN
16 | #undef Y2_ENABLE_PIN
17 | #define Y2_STEP_PIN -1
18 | #define Y2_DIR_PIN -1
19 | #define Y2_ENABLE_PIN -1
20 |
21 | #undef Z2_STEP_PIN
22 | #undef Z2_DIR_PIN
23 | #undef Z2_ENABLE_PIN
24 | #define Z2_STEP_PIN -1
25 | #define Z2_DIR_PIN -1
26 | #define Z2_ENABLE_PIN -1
27 |
28 | #define E1_STEP_PIN 36 // FELIX E1 uses RAMPS Y2/Z2 pins
29 | #define E1_DIR_PIN 34
30 | #define E1_ENABLE_PIN 30
31 |
32 | #undef SDPOWER
33 | #define SDPOWER 1
34 |
35 | #undef FAN_PIN
36 | #define FAN_PIN 9 // (Sprinter config)
37 | #define PS_ON_PIN 12
38 |
39 | #undef HEATER_1_PIN
40 | #define HEATER_1_PIN 7 // EXTRUDER 2
41 |
42 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
43 |
44 | #define BLEN_C 2
45 | #define BLEN_B 1
46 | #define BLEN_A 0
47 | #define SDCARDDETECT 6
48 |
49 | #endif // NEWPANEL && ULTRA_LCD
50 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN3_MONOLITHIC.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen3 Monolithic Electronics pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega644P__
6 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define DEBUG_PIN 0
10 |
11 | // x axis
12 | #define X_STEP_PIN 15
13 | #define X_DIR_PIN 18
14 | #define X_MIN_PIN 20
15 | // Alex Checar #define X_STOP_PIN 20
16 | #define X_ENABLE_PIN 24 // actually uses Y_enable_pin
17 | #define X_MAX_PIN -1
18 |
19 | // y axis
20 | #define Y_STEP_PIN 23
21 | #define Y_DIR_PIN 22
22 | #define Y_MIN_PIN 25
23 | // Alex Checar #define Y_STOP_PIN 25
24 | #define Y_ENABLE_PIN 24 // shared with X_enable_pin
25 | #define Y_MAX_PIN -1
26 |
27 | // z axis
28 | #define Z_STEP_PIN 27
29 | #define Z_DIR_PIN 28
30 | #define Z_MIN_PIN 30
31 | // Alex Checar #define Z_STOP_PIN 30
32 | #define Z_ENABLE_PIN 29
33 | #define Z_MAX_PIN -1
34 |
35 | // extruder pins
36 | #define E0_STEP_PIN 12
37 | #define E0_DIR_PIN 17
38 | #define E0_ENABLE_PIN 3
39 |
40 | #define HEATER_0_PIN 16
41 | #define TEMP_0_PIN 0
42 |
43 | #define FAN_PIN -1
44 |
45 | // bed pins
46 | #define HEATER_BED_PIN -1
47 | #define TEMP_BED_PIN -1
48 |
49 |
50 | #define SDSS -1
51 | #define SDPOWER -1
52 | #define LED_PIN -1
53 |
54 | // pin for controlling the PSU.
55 | #define PS_ON_PIN 14 // Alex, Do this work on the card?
56 |
57 | // Alex extras from Gen3+
58 | #define KILL_PIN -1
59 | #define TEMP_1_PIN -1
60 | #define TEMP_2_PIN -1
61 | #define HEATER_2_PIN -1
62 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN3_PLUS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen3+ pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
6 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 15
10 | #define X_DIR_PIN 18
11 | #define X_STOP_PIN 20
12 |
13 | #define Y_STEP_PIN 23
14 | #define Y_DIR_PIN 22
15 | #define Y_STOP_PIN 25
16 |
17 | #define Z_STEP_PIN 27
18 | #define Z_DIR_PIN 28
19 | #define Z_STOP_PIN 30
20 |
21 | #define E0_STEP_PIN 17
22 | #define E0_DIR_PIN 21
23 |
24 | #define LED_PIN -1
25 |
26 | #define FAN_PIN -1
27 |
28 | #define PS_ON_PIN 14
29 | #define KILL_PIN -1
30 |
31 | #define HEATER_0_PIN 12 // (extruder)
32 |
33 | #define HEATER_BED_PIN 16 // (bed)
34 | #define X_ENABLE_PIN 19
35 | #define Y_ENABLE_PIN 24
36 | #define Z_ENABLE_PIN 29
37 | #define E0_ENABLE_PIN 13
38 |
39 | #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
40 | #define TEMP_1_PIN -1
41 | #define TEMP_2_PIN -1
42 | #define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
43 | #define SDPOWER -1
44 | #define SDSS 4
45 | #define HEATER_2_PIN -1
46 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen6 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega644P__
6 | #ifndef __AVR_ATmega1284P__
7 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
8 | #endif
9 | #endif
10 |
11 | //x axis pins
12 | #define X_STEP_PIN 15
13 | #define X_DIR_PIN 18
14 | #define X_ENABLE_PIN 19
15 | #define X_STOP_PIN 20
16 |
17 | //y axis pins
18 | #define Y_STEP_PIN 23
19 | #define Y_DIR_PIN 22
20 | #define Y_ENABLE_PIN 24
21 | #define Y_STOP_PIN 25
22 |
23 | //z axis pins
24 | #define Z_STEP_PIN 27
25 | #define Z_DIR_PIN 28
26 | #define Z_ENABLE_PIN 29
27 | #define Z_STOP_PIN 30
28 |
29 | //extruder pins
30 | #define E0_STEP_PIN 4 //Edited @ EJE Electronics 20100715
31 | #define E0_DIR_PIN 2 //Edited @ EJE Electronics 20100715
32 | #define E0_ENABLE_PIN 3 //Added @ EJE Electronics 20100715
33 | #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410
34 | #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
35 |
36 |
37 | #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410
38 | #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410
39 | #define HEATER_1_PIN -1
40 | #define HEATER_2_PIN -1
41 |
42 | #if MB(GEN6)
43 | #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410
44 | #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410
45 | #else
46 | #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410
47 | #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410
48 | #endif
49 |
50 | #define SDPOWER -1
51 | #define SDSS 17
52 | #define LED_PIN -1 //changed @ rkoeppl 20110410
53 | #define FAN_PIN -1 //changed @ rkoeppl 20110410
54 | #define PS_ON_PIN -1 //changed @ rkoeppl 20110410
55 | #define KILL_PIN -1 //changed @ drakelive 20120830
56 | //our pin for debugging.
57 |
58 | #define DEBUG_PIN 0
59 |
60 | //our RS485 pins
61 | #define TX_ENABLE_PIN 12
62 | #define RX_ENABLE_PIN 13
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN6_DELUXE.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen6 Deluxe pin assignments
3 | */
4 |
5 | #include "pins_GEN6.h"
6 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN7_12.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 v1.1, v1.2, v1.3 pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
6 | #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #ifndef GEN7_VERSION
10 | #define GEN7_VERSION 12 // v1.x
11 | #endif
12 |
13 | //x axis pins
14 | #define X_STEP_PIN 19
15 | #define X_DIR_PIN 18
16 | #define X_ENABLE_PIN 24
17 | #define X_STOP_PIN 7
18 |
19 | //y axis pins
20 | #define Y_STEP_PIN 23
21 | #define Y_DIR_PIN 22
22 | #define Y_ENABLE_PIN 24
23 | #define Y_STOP_PIN 5
24 |
25 | //z axis pins
26 | #define Z_STEP_PIN 26
27 | #define Z_DIR_PIN 25
28 | #define Z_ENABLE_PIN 24
29 | #define Z_MIN_PIN 1
30 | #define Z_MAX_PIN 0
31 |
32 | //extruder pins
33 | #define E0_STEP_PIN 28
34 | #define E0_DIR_PIN 27
35 | #define E0_ENABLE_PIN 24
36 |
37 | #define TEMP_0_PIN 1
38 | #define TEMP_1_PIN -1
39 | #define TEMP_2_PIN -1
40 | #define TEMP_BED_PIN 2
41 |
42 | #define HEATER_0_PIN 4
43 | #define HEATER_1_PIN -1
44 | #define HEATER_2_PIN -1
45 | #define HEATER_BED_PIN 3
46 |
47 | #define KILL_PIN -1
48 |
49 | #define SDPOWER -1
50 | #define SDSS -1 // SCL pin of I2C header
51 | #define LED_PIN -1
52 |
53 | #if (GEN7_VERSION >= 13)
54 | // Gen7 v1.3 removed the fan pin
55 | #define FAN_PIN -1
56 | #else
57 | #define FAN_PIN 31
58 | #endif
59 |
60 | #define PS_ON_PIN 15
61 |
62 | //All these generations of Gen7 supply thermistor power
63 | //via PS_ON, so ignore bad thermistor readings
64 | #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
65 |
66 | //our pin for debugging.
67 | #define DEBUG_PIN 0
68 |
69 | //our RS485 pins
70 | #define TX_ENABLE_PIN 12
71 | #define RX_ENABLE_PIN 13
72 |
73 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN7_13.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 v1.3 pin assignments
3 | */
4 |
5 | #define MOTHERBOARD BOARD_GEN7_12
6 | #define GEN7_VERSION 13 // v1.3
7 |
8 | #include "pins_GEN7_12.h"
9 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN7_14.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 v1.4 pin assignments
3 | */
4 |
5 | #define GEN7_VERSION 14 // v1.4
6 |
7 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
8 | #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
9 | #endif
10 |
11 | //x axis pins
12 | #define X_STEP_PIN 29
13 | #define X_DIR_PIN 28
14 | #define X_ENABLE_PIN 25
15 | #define X_STOP_PIN 0
16 |
17 | //y axis pins
18 | #define Y_STEP_PIN 27
19 | #define Y_DIR_PIN 26
20 | #define Y_ENABLE_PIN 25
21 | #define Y_STOP_PIN 1
22 |
23 | //z axis pins
24 | #define Z_STEP_PIN 23
25 | #define Z_DIR_PIN 22
26 | #define Z_ENABLE_PIN 25
27 | #define Z_STOP_PIN 2
28 |
29 | //extruder pins
30 | #define E0_STEP_PIN 19
31 | #define E0_DIR_PIN 18
32 | #define E0_ENABLE_PIN 25
33 |
34 | #define TEMP_0_PIN 1
35 | #define TEMP_1_PIN -1
36 | #define TEMP_2_PIN -1
37 | #define TEMP_BED_PIN 0
38 |
39 | #define HEATER_0_PIN 4
40 | #define HEATER_1_PIN -1
41 | #define HEATER_2_PIN -1
42 | #define HEATER_BED_PIN 3
43 |
44 | #define KILL_PIN -1
45 |
46 | #define SDPOWER -1
47 | #define SDSS -1 // SCL pin of I2C header
48 | #define LED_PIN -1
49 |
50 | #define FAN_PIN -1
51 |
52 | #define PS_ON_PIN 15
53 |
54 | //our pin for debugging.
55 | #define DEBUG_PIN 0
56 |
57 | //our RS485 pins
58 | #define TX_ENABLE_PIN 12
59 | #define RX_ENABLE_PIN 13
60 |
61 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_GEN7_CUSTOM.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Gen7 Alfons3 board pin assignments
3 | *
4 | * These Pins are assigned for the modified GEN7 Board from Alfons3.
5 | * Please review the pins and adjust them for your needs.
6 | */
7 |
8 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
9 | #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | //x axis pins
13 | #define X_STEP_PIN 21 // different from standard GEN7
14 | #define X_DIR_PIN 20 // different from standard GEN7
15 | #define X_ENABLE_PIN 24
16 | #define X_STOP_PIN 0
17 |
18 | //y axis pins
19 | #define Y_STEP_PIN 23
20 | #define Y_DIR_PIN 22
21 | #define Y_ENABLE_PIN 24
22 | #define Y_STOP_PIN 1
23 |
24 | //z axis pins
25 | #define Z_STEP_PIN 26
26 | #define Z_DIR_PIN 25
27 | #define Z_ENABLE_PIN 24
28 | #define Z_STOP_PIN 2
29 |
30 | //extruder pins
31 | #define E0_STEP_PIN 28
32 | #define E0_DIR_PIN 27
33 | #define E0_ENABLE_PIN 24
34 |
35 | #define TEMP_0_PIN 2
36 | #define TEMP_1_PIN -1
37 | #define TEMP_2_PIN -1
38 | #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
39 |
40 | #define HEATER_0_PIN 4
41 | #define HEATER_1_PIN -1
42 | #define HEATER_2_PIN -1
43 | #define HEATER_BED_PIN 3 // (bed)
44 |
45 | #define SDPOWER -1
46 | #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
47 | #define LED_PIN -1
48 |
49 | #define FAN_PIN -1
50 | #define PS_ON_PIN 19
51 | //our pin for debugging.
52 |
53 | #define DEBUG_PIN -1
54 |
55 | //our RS485 pins
56 | //#define TX_ENABLE_PIN 12
57 | //#define RX_ENABLE_PIN 13
58 |
59 | #define BEEPER -1
60 | #define SDCARDDETECT -1
61 | #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work
62 |
63 | #define KILL_PIN -1
64 | //Pins for 4bit LCD Support
65 | #define LCD_PINS_RS 18
66 | #define LCD_PINS_ENABLE 17
67 | #define LCD_PINS_D4 16
68 | #define LCD_PINS_D5 15
69 | #define LCD_PINS_D6 13
70 | #define LCD_PINS_D7 14
71 |
72 | //buttons are directly attached
73 | #define BTN_EN1 11
74 | #define BTN_EN2 10
75 | #define BTN_ENC 12 //the click
76 |
77 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_HEPHESTOS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * bq Prusa i3 Hephestos – Arduino Mega with RAMPS v1.3/1.4 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 9 // (Sprinter config)
9 |
10 | #undef HEATER_1_PIN
11 | #define HEATER_1_PIN -1
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_K8200.h:
--------------------------------------------------------------------------------
1 | /**
2 | * K8200 Arduino Mega with RAMPS v1.3 pin assignments
3 | * Identical to 3DRAG
4 | */
5 |
6 | #include "pins_3DRAG.h"
7 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_LEAPFROG.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Leapfrog Driver board pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 28
10 | #define X_DIR_PIN 63
11 | #define X_ENABLE_PIN 29
12 | #define X_MIN_PIN 47
13 | #define X_MAX_PIN 2 //Max endstops default to disabled "-1", set to commented value to enable.
14 |
15 | #define Y_STEP_PIN 14 // A6
16 | #define Y_DIR_PIN 15 // A0
17 | #define Y_ENABLE_PIN 39
18 | #define Y_MIN_PIN 48
19 | #define Y_MAX_PIN 15
20 |
21 | #define Z_STEP_PIN 31 // A2
22 | #define Z_DIR_PIN 32 // A6
23 | #define Z_ENABLE_PIN 30 // A1
24 | #define Z_MIN_PIN 49
25 | #define Z_MAX_PIN -1
26 |
27 | #define E0_STEP_PIN 34 //34
28 | #define E0_DIR_PIN 35 //35
29 | #define E0_ENABLE_PIN 33 //33
30 |
31 | #define E1_STEP_PIN 37 //37
32 | #define E1_DIR_PIN 40 //40
33 | #define E1_ENABLE_PIN 36 //36
34 |
35 | #define Y2_STEP_PIN 37
36 | #define Y2_DIR_PIN 40
37 | #define Y2_ENABLE_PIN 36
38 |
39 | #define Z2_STEP_PIN 37
40 | #define Z2_DIR_PIN 40
41 | #define Z2_ENABLE_PIN 36
42 |
43 | #define SDPOWER -1
44 | #define SDSS 11
45 | #define SDCARDDETECT -1 // 10 optional also used as mode pin
46 | #define LED_PIN 13
47 | #define FAN_PIN 7
48 | #define PS_ON_PIN -1
49 | #define KILL_PIN -1
50 | #define SOL1_PIN 16
51 | #define SOL2_PIN 17
52 |
53 | #define HEATER_0_PIN 9
54 | #define HEATER_1_PIN 8 // 12
55 | #define HEATER_2_PIN 11 //-1 // 13
56 | #define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
57 | #define TEMP_1_PIN 15 // 1
58 | #define TEMP_2_PIN -1 // 2
59 | #define HEATER_BED_PIN 10 // 14/15
60 | #define TEMP_BED_PIN 14 // 1,2 or I2C
61 | /* 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) */
62 |
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_MEGATRONICS.h:
--------------------------------------------------------------------------------
1 | /**
2 | * MegaTronics pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 26
12 | #define X_DIR_PIN 28
13 | #define X_ENABLE_PIN 24
14 | #define X_MIN_PIN 41
15 | #define X_MAX_PIN 37
16 |
17 | #define Y_STEP_PIN 60 // A6
18 | #define Y_DIR_PIN 61 // A7
19 | #define Y_ENABLE_PIN 22
20 | #define Y_MIN_PIN 14
21 | #define Y_MAX_PIN 15
22 |
23 | #define Z_STEP_PIN 54 // A0
24 | #define Z_DIR_PIN 55 // A1
25 | #define Z_ENABLE_PIN 56 // A2
26 | #define Z_MIN_PIN 18
27 | #define Z_MAX_PIN 19
28 |
29 | #define E0_STEP_PIN 31
30 | #define E0_DIR_PIN 32
31 | #define E0_ENABLE_PIN 38
32 |
33 | #define E1_STEP_PIN 34
34 | #define E1_DIR_PIN 36
35 | #define E1_ENABLE_PIN 30
36 |
37 | #define SDPOWER -1
38 | #define SDSS 53
39 | #define LED_PIN 13
40 |
41 |
42 | #define FAN_PIN 7 // IO pin. Buffer needed
43 | #define PS_ON_PIN 12
44 | #define KILL_PIN -1
45 |
46 | #define HEATER_0_PIN 9 // EXTRUDER 1
47 | #define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter)
48 | #define HEATER_2_PIN -1
49 |
50 | #if TEMP_SENSOR_0 == -1
51 | #define TEMP_0_PIN 8 // ANALOG NUMBERING
52 | #else
53 | #define TEMP_0_PIN 13 // ANALOG NUMBERING
54 |
55 | #endif
56 |
57 | #define TEMP_1_PIN 15 // ANALOG NUMBERING
58 | #define TEMP_2_PIN -1 // ANALOG NUMBERING
59 | #define HEATER_BED_PIN 10 // BED
60 | #define TEMP_BED_PIN 14 // ANALOG NUMBERING
61 |
62 | #define BEEPER 33 // Beeper on AUX-4
63 |
64 |
65 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
66 | //arduino pin which triggers an piezzo beeper
67 |
68 | #define LCD_PINS_RS 16
69 | #define LCD_PINS_ENABLE 17
70 | #define LCD_PINS_D4 23
71 | #define LCD_PINS_D5 25
72 | #define LCD_PINS_D6 27
73 | #define LCD_PINS_D7 29
74 |
75 | //buttons are directly attached using AUX-2
76 | #define BTN_EN1 59
77 | #define BTN_EN2 64
78 | #define BTN_ENC 43 //the click
79 |
80 | #define BLEN_C 2
81 | #define BLEN_B 1
82 | #define BLEN_A 0
83 |
84 | #define SDCARDDETECT -1 // Ramps does not use this port
85 |
86 | #endif // ULTRA_LCD && NEWPANEL
87 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_MEGATRONICS_1.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Minitronics v1.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega1281__
6 | #error Oops! Make sure you have 'Minitronics' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 48
12 | #define X_DIR_PIN 47
13 | #define X_ENABLE_PIN 49
14 | #define X_MIN_PIN 5
15 | #define X_MAX_PIN 2
16 |
17 | #define Y_STEP_PIN 42 // A6 was 39
18 | #define Y_DIR_PIN 43 // A0 was 40
19 | #define Y_ENABLE_PIN 41 // was 38
20 | #define Y_MIN_PIN 6 // was 2
21 | #define Y_MAX_PIN -1 //15
22 |
23 | #define Z_STEP_PIN 39 // A2 was 42
24 | #define Z_DIR_PIN 40 // A6 was 43
25 | #define Z_ENABLE_PIN 38 // A1 was 41
26 | #define Z_MIN_PIN 2 // was 6
27 | #define Z_MAX_PIN -1
28 |
29 | #define E0_STEP_PIN 45
30 | #define E0_DIR_PIN 44
31 | #define E0_ENABLE_PIN 27
32 |
33 | #define E1_STEP_PIN 36
34 | #define E1_DIR_PIN 35
35 | #define E1_ENABLE_PIN 37
36 |
37 | #define E2_STEP_PIN -1
38 | #define E2_DIR_PIN -1
39 | #define E2_ENABLE_PIN -1
40 |
41 | #define SDPOWER -1
42 | #define SDSS 16
43 | #define LED_PIN 46
44 |
45 | #define FAN_PIN 9
46 | #define FAN2_PIN -1
47 | #define PS_ON_PIN -1
48 | #define KILL_PIN -1
49 |
50 | #define HEATER_0_PIN 7 // EXTRUDER 1
51 | #define HEATER_1_PIN 8 // EXTRUDER 2
52 | #define HEATER_2_PIN -1
53 |
54 |
55 | #define TEMP_0_PIN 7 // ANALOG NUMBERING
56 | #define TEMP_1_PIN 6 // ANALOG NUMBERING
57 | #define TEMP_2_PIN -1 // ANALOG NUMBERING
58 |
59 | #define HEATER_BED_PIN 3 // BED
60 | #define TEMP_BED_PIN 6 // ANALOG NUMBERING
61 |
62 | #define BEEPER -1
63 |
64 |
65 | #define LCD_PINS_RS -1
66 | #define LCD_PINS_ENABLE -1
67 | #define LCD_PINS_D4 -1
68 | #define LCD_PINS_D5 -1
69 | #define LCD_PINS_D6 -1
70 | #define LCD_PINS_D7 -1
71 |
72 |
73 | // Buttons are directly attached using keypad
74 | #define BTN_EN1 -1
75 | #define BTN_EN2 -1
76 | #define BTN_ENC -1 // the click
77 |
78 | #define BLEN_C 2
79 | #define BLEN_B 1
80 | #define BLEN_A 0
81 |
82 | #define SDCARDDETECT -1 // Megatronics does not use this port
83 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_MEGATRONICS_2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * MegaTronics v2.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 26
12 | #define X_DIR_PIN 27
13 | #define X_ENABLE_PIN 25
14 | #define X_MIN_PIN 37
15 | #define X_MAX_PIN 40
16 |
17 | #define Y_STEP_PIN 4 // A6
18 | #define Y_DIR_PIN 54 // A0
19 | #define Y_ENABLE_PIN 5
20 | #define Y_MIN_PIN 41
21 | #define Y_MAX_PIN 38
22 |
23 | #define Z_STEP_PIN 56 // A2
24 | #define Z_DIR_PIN 60 // A6
25 | #define Z_ENABLE_PIN 55 // A1
26 | #define Z_MIN_PIN 18
27 | #define Z_MAX_PIN 19
28 |
29 | #define E0_STEP_PIN 35
30 | #define E0_DIR_PIN 36
31 | #define E0_ENABLE_PIN 34
32 |
33 | #define E1_STEP_PIN 29
34 | #define E1_DIR_PIN 39
35 | #define E1_ENABLE_PIN 28
36 |
37 | #define E2_STEP_PIN 23
38 | #define E2_DIR_PIN 24
39 | #define E2_ENABLE_PIN 22
40 |
41 | #define SDPOWER -1
42 | #define SDSS 53
43 | #define LED_PIN 13
44 |
45 | #define FAN_PIN 7
46 | #define FAN2_PIN 6
47 | #define PS_ON_PIN 12
48 | #define KILL_PIN -1
49 |
50 | #define HEATER_0_PIN 9 // EXTRUDER 1
51 | #define HEATER_1_PIN 8 // EXTRUDER 2
52 | #define HEATER_2_PIN -1
53 |
54 | #if TEMP_SENSOR_0 == -1
55 | #define TEMP_0_PIN 4 // ANALOG NUMBERING
56 | #else
57 | #define TEMP_0_PIN 13 // ANALOG NUMBERING
58 | #endif
59 |
60 |
61 | #if TEMP_SENSOR_1 == -1
62 | #define TEMP_1_PIN 8 // ANALOG NUMBERING
63 | #else
64 | #define TEMP_1_PIN 15 // ANALOG NUMBERING
65 | #endif
66 |
67 | #define TEMP_2_PIN -1 // ANALOG NUMBERING
68 |
69 | #define HEATER_BED_PIN 10 // BED
70 |
71 | #if TEMP_SENSOR_BED == -1
72 | #define TEMP_BED_PIN 8 // ANALOG NUMBERING
73 | #else
74 | #define TEMP_BED_PIN 14 // ANALOG NUMBERING
75 | #endif
76 |
77 | #define BEEPER 64
78 |
79 |
80 | #define LCD_PINS_RS 14
81 | #define LCD_PINS_ENABLE 15
82 | #define LCD_PINS_D4 30
83 | #define LCD_PINS_D5 31
84 | #define LCD_PINS_D6 32
85 | #define LCD_PINS_D7 33
86 |
87 |
88 | // Buttons are directly attached using keypad
89 | #define BTN_EN1 61
90 | #define BTN_EN2 59
91 | #define BTN_ENC 43 //the click
92 |
93 | #define BLEN_C 2
94 | #define BLEN_B 1
95 | #define BLEN_A 0
96 |
97 | #define SDCARDDETECT -1 // Megatronics does not use this port
98 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_MEGATRONICS_3.h:
--------------------------------------------------------------------------------
1 | /**
2 | * MegaTronics v3.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | // Servo support
12 | #ifdef NUM_SERVOS
13 | #define SERVO0_PIN 46 //AUX3-6
14 | #if NUM_SERVOS > 1
15 | #define SERVO1_PIN 47 //AUX3-5
16 | #if NUM_SERVOS > 2
17 | #define SERVO2_PIN 48 //AUX3-4
18 | #if NUM_SERVOS > 3
19 | #define SERVO2_PIN 49 //AUX3-3
20 | #endif
21 | #endif
22 | #endif
23 | #endif
24 |
25 | #define X_STEP_PIN 58
26 | #define X_DIR_PIN 57
27 | #define X_ENABLE_PIN 59
28 | #define X_MIN_PIN 37
29 | #define X_MAX_PIN 40 // put to -1 to disable
30 |
31 | #define Y_STEP_PIN 16 // was 5
32 | #define Y_DIR_PIN 11 // was 17
33 | #define Y_ENABLE_PIN 3 // was 4
34 | #define Y_MIN_PIN 18 // was 41
35 | #define Y_MAX_PIN 19 // was 38 - put to -1 to disable
36 |
37 | #define Z_STEP_PIN 5 // was 16
38 | #define Z_DIR_PIN 17 // was 11
39 | #define Z_ENABLE_PIN 4 // was 3
40 | #define Z_MIN_PIN 41 // was 18
41 | #define Z_MAX_PIN 38 // was 19 - put to -1 to disable
42 |
43 | #define E0_STEP_PIN 28
44 | #define E0_DIR_PIN 27
45 | #define E0_ENABLE_PIN 29
46 |
47 | #define E1_STEP_PIN 25
48 | #define E1_DIR_PIN 24
49 | #define E1_ENABLE_PIN 26
50 |
51 | #define E2_STEP_PIN 22
52 | #define E2_DIR_PIN 60
53 | #define E2_ENABLE_PIN 23
54 |
55 | #define SDPOWER -1
56 | #define SDSS 53
57 | #define LED_PIN 13
58 |
59 | #define PS_ON_PIN 12
60 | #define KILL_PIN -1
61 |
62 | #define HEATER_0_PIN 2
63 | #define HEATER_1_PIN 9
64 | #define HEATER_2_PIN 8
65 | #define HEATER_BED_PIN 10
66 | #define FAN_PIN 6
67 | #define FAN2_PIN 7
68 |
69 | #define TEMP_0_PIN (TEMP_SENSOR_0 == -1 ? 11 : 15) // ANALOG NUMBERING
70 | #define TEMP_1_PIN (TEMP_SENSOR_1 == -1 ? 10 : 13) // ANALOG NUMBERING
71 | #define TEMP_2_PIN (TEMP_SENSOR_2 == -1 ? 9 : 12) // ANALOG NUMBERING
72 | #define TEMP_BED_PIN (TEMP_SENSOR_BED == -1 ? 8 : 14) // ANALOG NUMBERING
73 |
74 | #define BEEPER 61
75 |
76 | #define LCD_PINS_RS 32
77 | #define LCD_PINS_ENABLE 31
78 | #define LCD_PINS_D4 14
79 | #define LCD_PINS_D5 30
80 | #define LCD_PINS_D6 39
81 | #define LCD_PINS_D7 15
82 |
83 | #define SHIFT_CLK 43
84 | #define SHIFT_LD 35
85 | #define SHIFT_OUT 34
86 | #define SHIFT_EN 44
87 |
88 | // Buttons are directly attached using keypad
89 | #define BTN_EN1 44
90 | #define BTN_EN2 45
91 | #define BTN_ENC 33 // the click
92 |
93 | #define BLEN_C 2
94 | #define BLEN_B 1
95 | #define BLEN_A 0
96 |
97 | #define SDCARDDETECT -1 // Megatronics does not use this port
98 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_MELZI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Melzi pin assignments
3 | */
4 |
5 | #define SANGUINOLOLU_V_1_2
6 |
7 | #if defined(__AVR_ATmega1284P__)
8 | #define LARGE_FLASH true
9 | #endif
10 |
11 | #include "pins_SANGUINOLOLU_11.h"
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_MELZI_1284.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Melzi with ATmega1284 (MaKr3d version) pin assignments
3 | */
4 |
5 | #define MELZI
6 |
7 | #undef MOTHERBOARD
8 | #define MOTHERBOARD BOARD_SANGUINOLOLU_11
9 | #define SANGUINOLOLU_V_1_2
10 |
11 | #if defined(__AVR_ATmega1284P__)
12 | #define LARGE_FLASH true
13 | #endif
14 |
15 | #include "pins_SANGUINOLOLU_11.h"
16 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_OMCA.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Open Motion controller with enable based extruders (Final!)
3 | *
4 | * ATMega644
5 | *
6 | * +---\/---+
7 | * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
8 | * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
9 | * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
10 | * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
11 | * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
12 | * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
13 | * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
14 | * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
15 | * RST 9| |32 AREF
16 | * VCC 10| |31 GND
17 | * GND 11| |30 AVCC
18 | * XTAL2 12| |29 PC7 (D 23)
19 | * XTAL1 13| |28 PC6 (D 22)
20 | * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
21 | * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
22 | * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
23 | * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
24 | * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
25 | * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
26 | * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
27 | * +--------+
28 | *
29 | * REF http://sanguino.cc/hardware
30 | */
31 |
32 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
33 | #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board)
34 | #endif
35 |
36 | #define X_STEP_PIN 26
37 | #define X_DIR_PIN 25
38 | #define X_ENABLE_PIN 10
39 | #define X_STOP_PIN 0
40 |
41 | #define Y_STEP_PIN 28
42 | #define Y_DIR_PIN 27
43 | #define Y_ENABLE_PIN 10
44 | #define Y_STOP_PIN 1
45 |
46 | #define Z_STEP_PIN 23
47 | #define Z_DIR_PIN 22
48 | #define Z_ENABLE_PIN 10
49 | #define Z_STOP_PIN 2
50 |
51 | #define E0_STEP_PIN 24
52 | #define E0_DIR_PIN 21
53 | #define E0_ENABLE_PIN 10
54 |
55 | // future proofing
56 | #define __FS 20
57 | #define __FD 19
58 | #define __GS 18
59 | #define __GD 13
60 |
61 | #define UNUSED_PWM 14 // PWM on LEFT connector
62 |
63 | #define E1_STEP_PIN -1 // 21
64 | #define E1_DIR_PIN -1 // 20
65 | #define E1_ENABLE_PIN -1 // 19
66 |
67 | #define E2_STEP_PIN -1 // 21
68 | #define E2_DIR_PIN -1 // 20
69 | #define E2_ENABLE_PIN -1 // 18
70 |
71 | #define SDPOWER -1
72 | #define SDSS 11
73 | #define SDCARDDETECT -1 // 10 optional also used as mode pin
74 | #define LED_PIN -1
75 | #define FAN_PIN 14 // PWM on MIDDLE connector
76 | #define PS_ON_PIN -1
77 | #define KILL_PIN -1
78 |
79 | #define HEATER_0_PIN 3 // DONE PWM on RIGHT connector
80 | #define HEATER_1_PIN -1
81 | #define HEATER_2_PIN -1
82 | #define HEATER_1_PIN -1
83 | #define HEATER_2_PIN -1
84 | #define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING
85 | #define TEMP_1_PIN 1 // ANALOG
86 | #define TEMP_2_PIN -1 // 2
87 | #define HEATER_BED_PIN 4
88 | #define TEMP_BED_PIN 2 // 1,2 or I2C
89 |
90 | #define I2C_SCL 16
91 | #define I2C_SDA 17
92 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_OMCA_A.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Open Motion controller with enable based extruders (Alpha!)
3 | *
4 | * ATMega644
5 | *
6 | * +---\/---+
7 | * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
8 | * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
9 | * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
10 | * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
11 | * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
12 | * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
13 | * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
14 | * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
15 | * RST 9| |32 AREF
16 | * VCC 10| |31 GND
17 | * GND 11| |30 AVCC
18 | * XTAL2 12| |29 PC7 (D 23)
19 | * XTAL1 13| |28 PC6 (D 22)
20 | * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
21 | * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
22 | * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
23 | * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
24 | * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
25 | * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
26 | * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
27 | * +--------+
28 | *
29 | */
30 |
31 | #ifndef __AVR_ATmega644__
32 | #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu.
33 | #endif
34 |
35 | #define X_STEP_PIN 21
36 | #define X_DIR_PIN 20
37 | #define X_ENABLE_PIN 24
38 | #define X_STOP_PIN 0
39 |
40 | #define Y_STEP_PIN 23
41 | #define Y_DIR_PIN 22
42 | #define Y_ENABLE_PIN 24
43 | #define Y_STOP_PIN 1
44 |
45 | #define Z_STEP_PIN 26
46 | #define Z_DIR_PIN 25
47 | #define Z_ENABLE_PIN 24
48 | #define Z_STOP_PIN 2
49 |
50 | #define E0_STEP_PIN 28
51 | #define E0_DIR_PIN 27
52 | #define E0_ENABLE_PIN 24
53 |
54 | #define E1_STEP_PIN -1 // 19
55 | #define E1_DIR_PIN -1 // 18
56 | #define E1_ENABLE_PIN 24
57 |
58 | #define E2_STEP_PIN -1 // 17
59 | #define E2_DIR_PIN -1 // 16
60 | #define E2_ENABLE_PIN 24
61 |
62 | #define SDPOWER -1
63 | #define SDSS 11
64 | #define SDCARDDETECT -1 // 10 optional also used as mode pin
65 | #define LED_PIN -1
66 | #define FAN_PIN 3
67 | #define PS_ON_PIN -1
68 | #define KILL_PIN -1
69 |
70 | #define HEATER_0_PIN 4
71 | #define HEATER_1_PIN -1 // 12
72 | #define HEATER_2_PIN -1 // 13
73 | #define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
74 | #define TEMP_1_PIN -1 // 1
75 | #define TEMP_2_PIN -1 // 2
76 | #define HEATER_BED_PIN -1 // 14/15
77 | #define TEMP_BED_PIN -1 // 1,2 or I2C
78 | /* 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) */
79 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_RAMPS_OLD.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | // Uncomment the following line for RAMPS v1.0
10 | //#define RAMPS_V_1_0
11 |
12 | #define X_STEP_PIN 26
13 | #define X_DIR_PIN 28
14 | #define X_ENABLE_PIN 24
15 | #define X_MIN_PIN 3
16 | #define X_MAX_PIN 2
17 |
18 | #define Y_STEP_PIN 38
19 | #define Y_DIR_PIN 40
20 | #define Y_ENABLE_PIN 36
21 | #define Y_MIN_PIN 16
22 | #define Y_MAX_PIN 17
23 |
24 | #define Z_STEP_PIN 44
25 | #define Z_DIR_PIN 46
26 | #define Z_ENABLE_PIN 42
27 | #define Z_MIN_PIN 18
28 | #define Z_MAX_PIN 19
29 |
30 | #define E0_STEP_PIN 32
31 | #define E0_DIR_PIN 34
32 | #define E0_ENABLE_PIN 30
33 |
34 | #define SDPOWER 48
35 | #define SDSS 53
36 | #define LED_PIN 13
37 | #define PS_ON_PIN -1
38 | #define KILL_PIN -1
39 |
40 | #ifdef RAMPS_V_1_0 // RAMPS_V_1_0
41 | #define HEATER_0_PIN 12 // RAMPS 1.0
42 | #define HEATER_BED_PIN -1 // RAMPS 1.0
43 | #define FAN_PIN 11 // RAMPS 1.0
44 | #else // RAMPS_V_1_1 or RAMPS_V_1_2
45 | #define HEATER_0_PIN 10 // RAMPS 1.1
46 | #define HEATER_BED_PIN 8 // RAMPS 1.1
47 | #define FAN_PIN 9 // RAMPS 1.1
48 | #endif
49 |
50 | #define HEATER_1_PIN -1
51 | #define HEATER_2_PIN -1
52 | #define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
53 | #define TEMP_1_PIN -1
54 | #define TEMP_2_PIN -1
55 | #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
56 |
57 | // SPI for Max6675 Thermocouple
58 | #ifndef SDSUPPORT
59 | #define MAX6675_SS 66// Do not use pin 53 if there is even the remote possibility of using Display/SD card
60 | #else
61 | #define MAX6675_SS 66// Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
62 | #endif
63 |
64 | #ifndef SDSUPPORT
65 | // these pins are defined in the SD library if building with SD support
66 | #define SCK_PIN 52
67 | #define MISO_PIN 50
68 | #define MOSI_PIN 51
69 | #endif
70 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_SANGUINOLOLU_12.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Sanguinololu V1.2 pin assignments
3 | *
4 | * Applies to the following boards:
5 | *
6 | * AZTEEG_X1
7 | * MELZI
8 | * MELZI_1284
9 | * SANGUINOLOLU_12
10 | * STB_11
11 | */
12 |
13 | #define SANGUINOLOLU_V_1_2
14 |
15 | #if defined(__AVR_ATmega1284P__)
16 | #define LARGE_FLASH true
17 | #endif
18 |
19 | #include "pins_SANGUINOLOLU_11.h"
20 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_SAV_MKI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * SAV MkI pin assignments (AT90USB1286)
3 | * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
4 | * http://www.pjrc.com/teensy/teensyduino.html
5 | * RepRap Clone Wars project board.
6 | */
7 |
8 | #ifndef __AVR_AT90USB1286__
9 | #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #define AT90USB 1286 // Disable MarlinSerial etc.
13 |
14 | #define LARGE_FLASH true
15 |
16 | #define X_STEP_PIN 0
17 | #define X_DIR_PIN 1
18 | #define X_ENABLE_PIN 39
19 |
20 | #define Y_STEP_PIN 2
21 | #define Y_DIR_PIN 3
22 | #define Y_ENABLE_PIN 38
23 |
24 | #define Z_STEP_PIN 4
25 | #define Z_DIR_PIN 5
26 | #define Z_ENABLE_PIN 23
27 |
28 | #define E0_STEP_PIN 6
29 | #define E0_DIR_PIN 7
30 | #define E0_ENABLE_PIN 19
31 |
32 | #define HEATER_0_PIN 21 // Extruder
33 | #define HEATER_1_PIN -1
34 | #define HEATER_2_PIN -1
35 | #define HEATER_BED_PIN 20 // Bed
36 | #define FAN_PIN 16 // Fan -- from Teensyduino environment.
37 | // For the fan and Teensyduino uses a different pin mapping.
38 |
39 | #define X_STOP_PIN 13
40 | #define Y_STOP_PIN 14
41 | #define Z_STOP_PIN 15
42 | //#define Z_STOP_PIN 36 // For inductive sensor.
43 |
44 | #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
45 | #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
46 |
47 | #define TEMP_1_PIN -1
48 | #define TEMP_2_PIN -1
49 |
50 | #define SDPOWER -1
51 | #define SDSS 20 // PB0 - 8 in marlin env.
52 | #define LED_PIN -1
53 | #define PS_ON_PIN -1
54 | #define ALARM_PIN -1
55 | #define SDCARDDETECT -1
56 |
57 | #ifndef SDSUPPORT
58 | // these pins are defined in the SD library if building with SD support
59 | #define SCK_PIN 9
60 | #define MISO_PIN 11
61 | #define MOSI_PIN 10
62 | #endif
63 |
64 | #define BEEPER -1
65 | #define LCD_PINS_RS -1
66 | #define LCD_PINS_ENABLE -1
67 | #define LCD_PINS_D4 -1
68 | #define LCD_PINS_D5 -1
69 | #define LCD_PINS_D6 -1
70 | #define LCD_PINS_D7 -1
71 |
72 | #ifdef SAV_3DLCD
73 | // For LCD SHIFT register LCD
74 | #define SR_DATA_PIN 1
75 | #define SR_CLK_PIN 0
76 |
77 | #define BTN_EN1 41
78 | #define BTN_EN2 40
79 | #define BTN_ENC 12
80 |
81 | #define KILL_PIN 42 // A2 = 42 - teensy = 40
82 | #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42
83 |
84 | #ifdef NUM_SERVOS
85 | #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in servo.cpp)
86 | #endif
87 |
88 | #endif // SAV_3DLCD
89 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_SETHI.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Sethi 3D_1 pin assignments - www.sethi3d.com.br
3 | */
4 |
5 | #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
6 | #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #ifndef GEN7_VERSION
10 | #define GEN7_VERSION 12 // v1.x
11 | #endif
12 |
13 | //x axis pins
14 | #define X_STEP_PIN 19
15 | #define X_DIR_PIN 18
16 | #define X_ENABLE_PIN 24
17 | #define X_STOP_PIN 2
18 |
19 | //y axis pins
20 | #define Y_STEP_PIN 23
21 | #define Y_DIR_PIN 22
22 | #define Y_ENABLE_PIN 24
23 | #define Y_STOP_PIN 0
24 |
25 | //z axis pins
26 | #define Z_STEP_PIN 26
27 | #define Z_DIR_PIN 25
28 | #define Z_ENABLE_PIN 24
29 | #define Z_MIN_PIN 1
30 | #define Z_MAX_PIN 0
31 |
32 | //extruder pins
33 | #define E0_STEP_PIN 28
34 | #define E0_DIR_PIN 27
35 | #define E0_ENABLE_PIN 24
36 |
37 | #define TEMP_0_PIN 1
38 | #define TEMP_1_PIN -1
39 | #define TEMP_2_PIN -1
40 | #define TEMP_BED_PIN 2
41 |
42 | #define HEATER_0_PIN 4
43 | #define HEATER_1_PIN -1
44 | #define HEATER_2_PIN -1
45 | #define HEATER_BED_PIN 3
46 |
47 | #define KILL_PIN -1
48 |
49 | #define SDPOWER -1
50 | #define SDSS -1 // SCL pin of I2C header
51 | #define LED_PIN -1
52 |
53 | #if (GEN7_VERSION >= 13)
54 | // Gen7 v1.3 removed the fan pin
55 | #define FAN_PIN -1
56 | #else
57 | #define FAN_PIN 31
58 | #endif
59 |
60 | #define PS_ON_PIN 15
61 |
62 | //All these generations of Gen7 supply thermistor power
63 | //via PS_ON, so ignore bad thermistor readings
64 | #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
65 |
66 | //our pin for debugging.
67 | #define DEBUG_PIN 0
68 |
69 | //our RS485 pins
70 | #define TX_ENABLE_PIN 12
71 | #define RX_ENABLE_PIN 13
72 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_STB_11.h:
--------------------------------------------------------------------------------
1 | /**
2 | * STB V1.1 pin assignments
3 | */
4 |
5 | #define SANGUINOLOLU_V_1_2
6 |
7 | #if defined(__AVR_ATmega1284P__)
8 | #define LARGE_FLASH true
9 | #endif
10 |
11 | #include "pins_SANGUINOLOLU_11.h"
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_TEENSYLU.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Teensylu 0.7 pin assignments (AT90USB1286)
3 | * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
4 | * http://www.pjrc.com/teensy/teensyduino.html
5 | * See http://reprap.org/wiki/Printrboard for more info
6 | */
7 |
8 | #ifndef __AVR_AT90USB1286__
9 | #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
10 | #endif
11 |
12 | #ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional.
13 | #error These Teensylu assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h
14 | #endif
15 |
16 | #define AT90USB 1286 // Disable MarlinSerial etc.
17 |
18 | #define LARGE_FLASH true
19 |
20 | #define X_STEP_PIN 0
21 | #define X_DIR_PIN 1
22 | #define X_ENABLE_PIN 39
23 |
24 | #define Y_STEP_PIN 2
25 | #define Y_DIR_PIN 3
26 | #define Y_ENABLE_PIN 38
27 |
28 | #define Z_STEP_PIN 4
29 | #define Z_DIR_PIN 5
30 | #define Z_ENABLE_PIN 23
31 |
32 | #define E0_STEP_PIN 6
33 | #define E0_DIR_PIN 7
34 | #define E0_ENABLE_PIN 19
35 |
36 | #define HEATER_0_PIN 21 // Extruder
37 | #define HEATER_1_PIN 46
38 | #define HEATER_2_PIN 47
39 | #define HEATER_BED_PIN 20
40 |
41 | // If soft or fast PWM is off then use Teensyduino pin numbering, Marlin
42 | // fastio pin numbering otherwise
43 | #ifdef FAN_SOFT_PWM || FAST_PWM_FAN
44 | #define FAN_PIN 22
45 | #else
46 | #define FAN_PIN 16
47 | #endif
48 |
49 | #define X_STOP_PIN 13
50 | #define Y_STOP_PIN 14
51 | #define Z_STOP_PIN 15
52 | #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
53 | #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
54 |
55 | #define TEMP_1_PIN -1
56 | #define TEMP_2_PIN -1
57 |
58 | #define SDPOWER -1
59 | #define SDSS 8
60 | #define LED_PIN -1
61 | #define PS_ON_PIN -1
62 | #define KILL_PIN -1
63 | #define ALARM_PIN -1
64 |
65 | #ifndef SDSUPPORT
66 | // these pins are defined in the SD library if building with SD support
67 | #define SCK_PIN 9
68 | #define MISO_PIN 11
69 | #define MOSI_PIN 10
70 | #endif
71 |
72 | #if defined(ULTRA_LCD) && defined(NEWPANEL)
73 | //we have no buzzer installed
74 | #define BEEPER -1
75 | //LCD Pins
76 | #ifdef LCD_I2C_PANELOLU2
77 | #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27
78 | #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26
79 | #define BTN_ENC 43 //A3 - fastio.h pin mapping 43
80 | #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping)
81 | #endif // LCD_I2C_PANELOLU2
82 | //not connected to a pin
83 | #define SDCARDDETECT -1
84 | #endif // ULTRA_LCD && NEWPANEL
85 |
86 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_ULTIMAIN_2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Ultiboard v2.0 pin assignments
3 | */
4 |
5 | #ifndef __AVR_ATmega2560__
6 | #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define X_STEP_PIN 25
10 | #define X_DIR_PIN 23
11 | #define X_STOP_PIN 22
12 | #define X_ENABLE_PIN 27
13 |
14 | #define Y_STEP_PIN 32
15 | #define Y_DIR_PIN 33
16 | #define Y_STOP_PIN 26
17 | #define Y_ENABLE_PIN 31
18 |
19 | #define Z_STEP_PIN 35
20 | #define Z_DIR_PIN 36
21 | #define Z_STOP_PIN 29
22 | #define Z_ENABLE_PIN 34
23 |
24 | #define HEATER_BED_PIN 4
25 | #define TEMP_BED_PIN 10
26 |
27 | #define HEATER_0_PIN 2
28 | #define TEMP_0_PIN 8
29 |
30 | #define HEATER_1_PIN 3
31 | #define TEMP_1_PIN 9
32 |
33 | #define HEATER_2_PIN -1
34 | #define TEMP_2_PIN -1
35 |
36 | #define E0_STEP_PIN 42
37 | #define E0_DIR_PIN 43
38 | #define E0_ENABLE_PIN 37
39 |
40 | #define E1_STEP_PIN 49
41 | #define E1_DIR_PIN 47
42 | #define E1_ENABLE_PIN 48
43 |
44 | #define SDPOWER -1
45 | #define SDSS 53
46 | #define LED_PIN 8
47 | #define FAN_PIN 7
48 | #define PS_ON_PIN -1
49 | #define KILL_PIN -1
50 | #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
51 | #define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered
52 | #define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
53 |
54 | #define MOTOR_CURRENT_PWM_XY_PIN 44
55 | #define MOTOR_CURRENT_PWM_Z_PIN 45
56 | #define MOTOR_CURRENT_PWM_E_PIN 46
57 | //Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
58 | #define MOTOR_CURRENT_PWM_RANGE 2000
59 | #define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
60 |
61 | //arduino pin witch triggers an piezzo beeper
62 | #define BEEPER 18
63 |
64 | #define LCD_PINS_RS 20
65 | #define LCD_PINS_ENABLE 15
66 | #define LCD_PINS_D4 14
67 | #define LCD_PINS_D5 21
68 | #define LCD_PINS_D6 5
69 | #define LCD_PINS_D7 6
70 |
71 | //buttons are directly attached
72 | #define BTN_EN1 40
73 | #define BTN_EN2 41
74 | #define BTN_ENC 19 //the click
75 |
76 | #define BLEN_C 2
77 | #define BLEN_B 1
78 | #define BLEN_A 0
79 |
80 | #define SDCARDDETECT 39
81 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_ULTIMAKER.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Ultimaker pin assignments
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 25
12 | #define X_DIR_PIN 23
13 | #define X_MIN_PIN 22
14 | #define X_MAX_PIN 24
15 | #define X_ENABLE_PIN 27
16 |
17 | #define Y_STEP_PIN 31
18 | #define Y_DIR_PIN 33
19 | #define Y_MIN_PIN 26
20 | #define Y_MAX_PIN 28
21 | #define Y_ENABLE_PIN 29
22 |
23 | #define Z_STEP_PIN 37
24 | #define Z_DIR_PIN 39
25 | #define Z_MIN_PIN 30
26 | #define Z_MAX_PIN 32
27 | #define Z_ENABLE_PIN 35
28 |
29 | #define HEATER_BED_PIN 4
30 | #define TEMP_BED_PIN 10
31 |
32 | #define HEATER_0_PIN 2
33 | #define TEMP_0_PIN 8
34 |
35 | #define HEATER_1_PIN 3
36 | #define TEMP_1_PIN 9
37 |
38 | #define HEATER_2_PIN -1
39 | #define TEMP_2_PIN -1
40 |
41 | #define E0_STEP_PIN 43
42 | #define E0_DIR_PIN 45
43 | #define E0_ENABLE_PIN 41
44 |
45 | #define E1_STEP_PIN 49
46 | #define E1_DIR_PIN 47
47 | #define E1_ENABLE_PIN 48
48 |
49 | #define SDPOWER -1
50 | #define SDSS 53
51 | #define LED_PIN 13
52 | #define FAN_PIN 7
53 | #define PS_ON_PIN 12
54 | #define KILL_PIN -1
55 | #define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing.
56 | #define SERVO0_PIN 13 // untested
57 |
58 | #ifdef ULTRA_LCD
59 |
60 | #ifdef NEWPANEL
61 | //arduino pin witch triggers an piezzo beeper
62 | #define BEEPER 18
63 |
64 | #define LCD_PINS_RS 20
65 | #define LCD_PINS_ENABLE 17
66 | #define LCD_PINS_D4 16
67 | #define LCD_PINS_D5 21
68 | #define LCD_PINS_D6 5
69 | #define LCD_PINS_D7 6
70 |
71 | //buttons are directly attached
72 | #define BTN_EN1 40
73 | #define BTN_EN2 42
74 | #define BTN_ENC 19 //the click
75 |
76 | #define SDCARDDETECT 38
77 |
78 | #else //!NEWPANEL - Old style panel with shift register
79 |
80 | //arduino pin witch triggers an piezzo beeper
81 | #define BEEPER 18
82 |
83 | //buttons are attached to a shift register
84 | #define SHIFT_CLK 38
85 | #define SHIFT_LD 42
86 | #define SHIFT_OUT 40
87 | #define SHIFT_EN 17
88 |
89 | #define LCD_PINS_RS 16
90 | #define LCD_PINS_ENABLE 5
91 | #define LCD_PINS_D4 6
92 | #define LCD_PINS_D5 21
93 | #define LCD_PINS_D6 20
94 | #define LCD_PINS_D7 19
95 |
96 | #define SDCARDDETECT -1
97 |
98 | #endif // !NEWPANEL
99 |
100 | #endif // ULTRA_LCD
101 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_ULTIMAKER_OLD.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Ultimaker pin assignments (Old electronics)
3 | */
4 |
5 | #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
6 | #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
7 | #endif
8 |
9 | #define LARGE_FLASH true
10 |
11 | #define X_STEP_PIN 25
12 | #define X_DIR_PIN 23
13 | #define X_MIN_PIN 15
14 | #define X_MAX_PIN 14
15 | #define X_ENABLE_PIN 27
16 |
17 | #define Y_STEP_PIN 31
18 | #define Y_DIR_PIN 33
19 | #define Y_MIN_PIN 17
20 | #define Y_MAX_PIN 16
21 | #define Y_ENABLE_PIN 29
22 |
23 | #define Z_STEP_PIN 37
24 | #define Z_DIR_PIN 39
25 | #define Z_MIN_PIN 19
26 | #define Z_MAX_PIN 18
27 | #define Z_ENABLE_PIN 35
28 |
29 | #define HEATER_BED_PIN -1
30 | #define TEMP_BED_PIN -1
31 |
32 | #define HEATER_0_PIN 2
33 | #define TEMP_0_PIN 8
34 |
35 | #define HEATER_1_PIN 1
36 | #define TEMP_1_PIN 1
37 |
38 | #define HEATER_2_PIN -1
39 | #define TEMP_2_PIN -1
40 |
41 | #define E0_STEP_PIN 43
42 | #define E0_DIR_PIN 45
43 | #define E0_ENABLE_PIN 41
44 |
45 | #define E1_STEP_PIN -1
46 | #define E1_DIR_PIN -1
47 | #define E1_ENABLE_PIN -1
48 |
49 | #define SDPOWER -1
50 | #define SDSS -1
51 | #define LED_PIN -1
52 | #define FAN_PIN -1
53 | #define PS_ON_PIN -1
54 | #define KILL_PIN -1
55 | #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
56 |
57 | #define LCD_PINS_RS 24
58 | #define LCD_PINS_ENABLE 22
59 | #define LCD_PINS_D4 36
60 | #define LCD_PINS_D5 34
61 | #define LCD_PINS_D6 32
62 | #define LCD_PINS_D7 30
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/pins_WITBOX.h:
--------------------------------------------------------------------------------
1 | /**
2 | * bq WITBOX Arduino Mega with RAMPS v1.3/1.4 pin assignments
3 | */
4 |
5 | #include "pins_RAMPS_13.h"
6 |
7 | #undef FAN_PIN
8 | #define FAN_PIN 9 // (Sprinter config)
9 |
10 | #undef HEATER_1_PIN
11 | #define HEATER_1_PIN -1
12 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/qr_solve.h:
--------------------------------------------------------------------------------
1 | #include "Configuration.h"
2 |
3 | #ifdef AUTO_BED_LEVELING_GRID
4 |
5 | void daxpy ( int n, double da, double dx[], int incx, double dy[], int incy );
6 | double ddot ( int n, double dx[], int incx, double dy[], int incy );
7 | double dnrm2 ( int n, double x[], int incx );
8 | void dqrank ( double a[], int lda, int m, int n, double tol, int *kr,
9 | int jpvt[], double qraux[] );
10 | void dqrdc ( double a[], int lda, int n, int p, double qraux[], int jpvt[],
11 | double work[], int job );
12 | int dqrls ( double a[], int lda, int m, int n, double tol, int *kr, double b[],
13 | double x[], double rsd[], int jpvt[], double qraux[], int itask );
14 | void dqrlss ( double a[], int lda, int m, int n, int kr, double b[], double x[],
15 | double rsd[], int jpvt[], double qraux[] );
16 | int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[],
17 | double qy[], double qty[], double b[], double rsd[], double ab[], int job );
18 | void dscal ( int n, double sa, double x[], int incx );
19 | void dswap ( int n, double x[], int incx, double y[], int incy );
20 | double *qr_solve ( int m, int n, double a[], double b[] );
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/vector_3.h:
--------------------------------------------------------------------------------
1 | /*
2 | vector_3.cpp - Vector library for bed leveling
3 | Copyright (c) 2012 Lars Brubaker. All right reserved.
4 |
5 | This library is free software; you can redistribute it and/or
6 | modify it under the terms of the GNU Lesser General Public
7 | License as published by the Free Software Foundation; either
8 | version 2.1 of the License, or (at your option) any later version.
9 |
10 | This library is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | Lesser General Public License for more details.
14 |
15 | You should have received a copy of the GNU Lesser General Public
16 | License along with this library; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 | */
19 | #ifndef VECTOR_3_H
20 | #define VECTOR_3_H
21 |
22 | #ifdef ENABLE_AUTO_BED_LEVELING
23 | class matrix_3x3;
24 |
25 | struct vector_3
26 | {
27 | float x, y, z;
28 |
29 | vector_3();
30 | vector_3(float x, float y, float z);
31 |
32 | static vector_3 cross(vector_3 a, vector_3 b);
33 |
34 | vector_3 operator+(vector_3 v);
35 | vector_3 operator-(vector_3 v);
36 | void normalize();
37 | float get_length();
38 | vector_3 get_normal();
39 |
40 | void debug(const char title[]);
41 |
42 | void apply_rotation(matrix_3x3 matrix);
43 | };
44 |
45 | struct matrix_3x3
46 | {
47 | float matrix[9];
48 |
49 | static matrix_3x3 create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2);
50 | static matrix_3x3 create_look_at(vector_3 target);
51 | static matrix_3x3 transpose(matrix_3x3 original);
52 |
53 | void set_to_identity();
54 |
55 | void debug(const char title[]);
56 | };
57 |
58 |
59 | void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float& y, float& z);
60 | #endif // ENABLE_AUTO_BED_LEVELING
61 |
62 | #endif // VECTOR_3_H
63 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/watchdog.cpp:
--------------------------------------------------------------------------------
1 | #include "Marlin.h"
2 |
3 | #ifdef USE_WATCHDOG
4 | #include
5 |
6 | #include "watchdog.h"
7 | #include "ultralcd.h"
8 |
9 | //===========================================================================
10 | //============================ private variables ============================
11 | //===========================================================================
12 |
13 | //===========================================================================
14 | //================================ functions ================================
15 | //===========================================================================
16 |
17 |
18 | /// intialise watch dog with a 4 sec interrupt time
19 | void watchdog_init()
20 | {
21 | #ifdef WATCHDOG_RESET_MANUAL
22 | //We enable the watchdog timer, but only for the interrupt.
23 | //Take care, as this requires the correct order of operation, with interrupts disabled. See the datasheet of any AVR chip for details.
24 | wdt_reset();
25 | _WD_CONTROL_REG = _BV(_WD_CHANGE_BIT) | _BV(WDE);
26 | _WD_CONTROL_REG = _BV(WDIE) | WDTO_4S;
27 | #else
28 | wdt_enable(WDTO_4S);
29 | #endif
30 | }
31 |
32 | /// reset watchdog. MUST be called every 1s after init or avr will reset.
33 | void watchdog_reset()
34 | {
35 | wdt_reset();
36 | }
37 |
38 | //===========================================================================
39 | //=================================== ISR ===================================
40 | //===========================================================================
41 |
42 | //Watchdog timer interrupt, called if main program blocks >1sec and manual reset is enabled.
43 | #ifdef WATCHDOG_RESET_MANUAL
44 | ISR(WDT_vect)
45 | {
46 | //TODO: This message gets overwritten by the kill() call
47 | LCD_ALERTMESSAGEPGM("ERR:Please Reset");//16 characters so it fits on a 16x2 display
48 | lcd_update();
49 | SERIAL_ERROR_START;
50 | SERIAL_ERRORLNPGM("Something is wrong, please turn off the printer.");
51 | kill(); //kill blocks
52 | while(1); //wait for user or serial reset
53 | }
54 | #endif//RESET_MANUAL
55 |
56 | #endif//USE_WATCHDOG
57 |
--------------------------------------------------------------------------------
/firmware/Marlin_Mondrian3-mono/watchdog.h:
--------------------------------------------------------------------------------
1 | #ifndef WATCHDOG_H
2 | #define WATCHDOG_H
3 |
4 | #include "Marlin.h"
5 |
6 | #ifdef USE_WATCHDOG
7 | // initialize watch dog with a 1 sec interrupt time
8 | void watchdog_init();
9 | // pad the dog/reset watchdog. MUST be called at least every second after the first watchdog_init or AVR will go into emergency procedures..
10 | void watchdog_reset();
11 | #else
12 | //If we do not have a watchdog, then we can have empty functions which are optimized away.
13 | FORCE_INLINE void watchdog_init() {};
14 | FORCE_INLINE void watchdog_reset() {};
15 | #endif
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/hardware/DXF/bed/plateau-alu_220x220x4.dwg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/DXF/bed/plateau-alu_220x220x4.dwg
--------------------------------------------------------------------------------
/hardware/DXF/bed/plateau-alu_220x220x4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/DXF/bed/plateau-alu_220x220x4.png
--------------------------------------------------------------------------------
/hardware/DXF/bed/plateau-alu_220x220x4mm.skp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/DXF/bed/plateau-alu_220x220x4mm.skp
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30 Entrainement-fil corps.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30 Entrainement-fil corps.stl
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30 Entrainement-fil levier.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30 Entrainement-fil levier.stl
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30-dual Bouchon.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30-dual Bouchon.stl
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30-dual Clip-tube-cables.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30-dual Clip-tube-cables.stl
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30-dual Devidoir-bobine.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30-dual Devidoir-bobine.stl
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30-dual Devidoir-bobine_x2.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30-dual Devidoir-bobine_x2.stl
--------------------------------------------------------------------------------
/hardware/STL/Dual/PIM30-dual Entrainement-fil capot-2.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Dual/PIM30-dual Entrainement-fil capot-2.stl
--------------------------------------------------------------------------------
/hardware/STL/Mono/PIM30-mono Clip-tube-gaine.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Mono/PIM30-mono Clip-tube-gaine.stl
--------------------------------------------------------------------------------
/hardware/STL/Mono/PIM30-mono Crochet-bobine-70mm.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/Mono/PIM30-mono Crochet-bobine-70mm.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Butee-capteur-Z.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Butee-capteur-Z.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Capot-tete-dual.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Capot-tete-dual.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Chariot-X.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Chariot-X.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Chariot-Y-droite.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Chariot-Y-droite.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Chariot-Y-gauche.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Chariot-Y-gauche.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Chariot-Z.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Chariot-Z.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Chariots-Y.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Chariots-Y.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Coin-inferieur.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Coin-inferieur.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Coin-superieur.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Coin-superieur.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Coupelle.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Coupelle.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Entrainement-fil capot-1.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Entrainement-fil capot-1.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Entrainement-fil corps.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Entrainement-fil corps.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Entrainement-fil levier.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Entrainement-fil levier.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Loquet-porte-ecrou.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Loquet-porte-ecrou.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Loquet-porte-vis.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Loquet-porte-vis.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Molette-ecrou-M3.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Molette-ecrou-M3.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Support-courroie.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Support-courroie.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Support-courroie_x2.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Support-courroie_x2.stl
--------------------------------------------------------------------------------
/hardware/STL/PIM30 Support-tête.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/hardware/STL/PIM30 Support-tête.stl
--------------------------------------------------------------------------------
/source/Mondrian.skp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenEdge/Mondrian3/1a14c5ee610820d08efc8ae007812a12f7268a3a/source/Mondrian.skp
--------------------------------------------------------------------------------