Skip to content

Commit 95d38a8

Browse files
Sophist-UKthisiskeithb0r31
authored
✨ Add Dagoma D6 as found in DiscoUltimate v2 TMC (#26874)
* Add Dagoma D6 board as used in their DiscoUltimate v2 TMC. Taken from the Dagoma fork of Marlin DU_MC branch where it is called FYSETC_DAGOMA_F5 and explicitly confirmed by Dagoma as being the D6: "the BOARD_FYSETC_DAGOMA_F5 is effectively the definition for the D6" --------- Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Co-authored-by: Orel <37673727+0r31@users.noreply.github.com>
1 parent dca6afc commit 95d38a8

File tree

3 files changed

+127
-0
lines changed

3 files changed

+127
-0
lines changed

Marlin/src/core/boards.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
#define BOARD_PXMALION_CORE_I3 1164 // Pxmalion Core I3
132132
#define BOARD_PANOWIN_CUTLASS 1165 // Panowin Cutlass (as found in the Panowin F1)
133133
#define BOARD_KODAMA_BARDO 1166 // Kodama Bardo V1.x (as found in the Kodama Trinus)
134+
#define BOARD_DAGOMA_D6 1167 // Dagoma D6 (as found in the Dagoma DiscoUltimate V2 TMC)
134135

135136
//
136137
// RAMBo and derivatives

Marlin/src/pins/pins.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@
224224
#include "ramps/pins_RAMPS_CREALITY.h" // ATmega2560 env:mega2560
225225
#elif MB(DAGOMA_F5)
226226
#include "ramps/pins_DAGOMA_F5.h" // ATmega2560 env:mega2560
227+
#elif MB(DAGOMA_D6)
228+
#include "ramps/pins_DAGOMA_D6.h" // ATmega2560 env:mega2560ext
227229
#elif MB(FYSETC_F6_13)
228230
#include "ramps/pins_FYSETC_F6_13.h" // ATmega2560 env:FYSETC_F6
229231
#elif MB(FYSETC_F6_14)
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
#if HOTENDS > 2 || E_STEPPERS > 2
25+
#error "Dagoma3D D6 supports up to 2 hotends / E-steppers."
26+
#endif
27+
28+
#define BOARD_INFO_NAME "Dagoma3D D6"
29+
30+
//
31+
// Trinamic Stallguard pins
32+
//
33+
#define X_DIAG_PIN 43
34+
#define Y_DIAG_PIN 41
35+
#define Z_DIAG_PIN 47
36+
#define E0_DIAG_PIN 21
37+
#define E1_DIAG_PIN 20
38+
39+
//
40+
// Endstops
41+
//
42+
#define X_STOP_PIN 2
43+
#define Y_STOP_PIN 3
44+
#define Z_STOP_PIN 15
45+
46+
//
47+
// Filament Runout Sensor
48+
//
49+
#ifndef FIL_RUNOUT_PIN
50+
#define FIL_RUNOUT_PIN 39
51+
#endif
52+
#if EXTRUDERS > 1 && !defined(FIL_RUNOUT2_PIN)
53+
#define FIL_RUNOUT2_PIN 14
54+
#endif
55+
56+
// Alter timing for graphical display
57+
#if IS_U8GLIB_ST7920
58+
#ifndef BOARD_ST7920_DELAY_1
59+
#define BOARD_ST7920_DELAY_1 0
60+
#endif
61+
#ifndef BOARD_ST7920_DELAY_2
62+
#define BOARD_ST7920_DELAY_2 250
63+
#endif
64+
#ifndef BOARD_ST7920_DELAY_3
65+
#define BOARD_ST7920_DELAY_3 250
66+
#endif
67+
#endif
68+
69+
#define KILL_PIN -1 // NC
70+
71+
#define LCD_CONTRAST_DEFAULT 255
72+
73+
//
74+
// Sensorless homing DIAG pin is not directly connected to the MCU. Close
75+
// the jumper next to the limit switch socket when using sensorless homing.
76+
//
77+
#if HAS_TMC_UART
78+
/**
79+
* TMC2208/TMC2209 stepper drivers
80+
*/
81+
#define X_SERIAL_RX_PIN 73
82+
#define X_SERIAL_TX_PIN 73
83+
#define Y_SERIAL_RX_PIN 73
84+
#define Y_SERIAL_TX_PIN 73
85+
#define Z_SERIAL_RX_PIN 73
86+
#define Z_SERIAL_TX_PIN 73
87+
#define E0_SERIAL_RX_PIN 73
88+
#define E0_SERIAL_TX_PIN 73
89+
#define E1_SERIAL_RX_PIN 12
90+
#define E1_SERIAL_TX_PIN 12
91+
92+
// Default TMC slave addresses
93+
#ifdef X_SLAVE_ADDRESS
94+
static_assert(X_SLAVE_ADDRESS == 0, "X_SLAVE_ADDRESS must be 0 for BOARD_DAGOMA_D6.");
95+
#else
96+
#define X_SLAVE_ADDRESS 0
97+
#endif
98+
#ifdef Y_SLAVE_ADDRESS
99+
static_assert(Y_SLAVE_ADDRESS == 1, "Y_SLAVE_ADDRESS must be 1 for BOARD_DAGOMA_D6.");
100+
#else
101+
#define Y_SLAVE_ADDRESS 1
102+
#endif
103+
#ifdef Z_SLAVE_ADDRESS
104+
static_assert(Z_SLAVE_ADDRESS == 2, "Z_SLAVE_ADDRESS must be 2 for BOARD_DAGOMA_D6.");
105+
#else
106+
#define Z_SLAVE_ADDRESS 2
107+
#endif
108+
#ifdef E0_SLAVE_ADDRESS
109+
static_assert(E0_SLAVE_ADDRESS == 3, "E0_SLAVE_ADDRESS must be 3 for BOARD_DAGOMA_D6.");
110+
#else
111+
#define E0_SLAVE_ADDRESS 3
112+
#endif
113+
#ifdef E1_SLAVE_ADDRESS
114+
static_assert(E1_SLAVE_ADDRESS == 3, "E1_SLAVE_ADDRESS must be 3 for BOARD_DAGOMA_D6.");
115+
#else
116+
#define E1_SLAVE_ADDRESS 3
117+
#endif
118+
119+
#endif
120+
121+
//
122+
// Import default RAMPS 1.4 pins
123+
//
124+
#include "pins_RAMPS.h"

0 commit comments

Comments
 (0)