Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MarlinKimbra
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
machinery
MarlinKimbra
Commits
e31f6b71
Commit
e31f6b71
authored
May 12, 2016
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update v4.2.82
Add DONDOLO bowden dual extruder
parent
b671d4f3
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
66 additions
and
16 deletions
+66
-16
changelog.md
Documentation/changelog.md
+3
-0
Configuration_Feature.h
MK/Configuration_Feature.h
+6
-2
Configuration_Version.h
MK/Configuration_Version.h
+1
-1
MK_Main.cpp
MK/module/MK_Main.cpp
+14
-6
conditionals.h
MK/module/conditionals.h
+8
-2
language_en.h
MK/module/language/language_en.h
+3
-0
ultralcd.cpp
MK/module/lcd/ultralcd.cpp
+19
-1
stepper_indirection.h
MK/module/motion/stepper_indirection.h
+1
-1
sanitycheck.h
MK/module/sanitycheck.h
+10
-2
README.md
README.md
+1
-1
No files found.
Documentation/changelog.md
View file @
e31f6b71
### Version 4.2.82
*
Add DONDOLO_DUAL_MOTOR for DONDOLO bowden and dual extruder
### Version 4.2.81
### Version 4.2.81
*
Fix serial protocol for Repetier Host
*
Fix serial protocol for Repetier Host
*
Bug fix
*
Bug fix
...
...
MK/Configuration_Feature.h
View file @
e31f6b71
...
@@ -114,7 +114,7 @@
...
@@ -114,7 +114,7 @@
* *
* *
***********************************************************************/
***********************************************************************/
//#define HOTEND_WATTS (12.0*12.0/6.7) // P=I^2/R
//#define HOTEND_WATTS (12.0*12.0/6.7) // P=I^2/R
//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R
//#define BED_WATTS (12.0*12.0/1.1) //
P=I^2/R
/***********************************************************************/
/***********************************************************************/
...
@@ -484,6 +484,8 @@
...
@@ -484,6 +484,8 @@
***********************************************************************
***********************************************************************
* *
* *
* Setting for multiextruder DONDOLO 1.0b by Gianni Franci *
* Setting for multiextruder DONDOLO 1.0b by Gianni Franci *
* Enable DONDOLO SINGLE MOTOR for original DONDOLO by Gianni Franci *
* Enable DONDOLO DUAL MOTOR for bowden and dual EXTRUDER *
* http://www.thingiverse.com/thing:673816 *
* http://www.thingiverse.com/thing:673816 *
* For function set NUM_SERVOS +1 if you use for endstop or probe *
* For function set NUM_SERVOS +1 if you use for endstop or probe *
* Set DONDOLO SERVO INDEX for servo you use for DONDOLO *
* Set DONDOLO SERVO INDEX for servo you use for DONDOLO *
...
@@ -492,7 +494,9 @@
...
@@ -492,7 +494,9 @@
* Remember set HOTEND OFFSET X Y Z *
* Remember set HOTEND OFFSET X Y Z *
* *
* *
***********************************************************************/
***********************************************************************/
//#define DONDOLO
//#define DONDOLO_SINGLE_MOTOR
//#define DONDOLO_DUAL_MOTOR
#define DONDOLO_SERVO_INDEX 0
#define DONDOLO_SERVO_INDEX 0
#define DONDOLO_SERVOPOS_E0 120
#define DONDOLO_SERVOPOS_E0 120
#define DONDOLO_SERVOPOS_E1 10
#define DONDOLO_SERVOPOS_E1 10
...
...
MK/Configuration_Version.h
View file @
e31f6b71
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#define CONFIGURATION_VERSION_H
#define CONFIGURATION_VERSION_H
#define FIRMWARE_NAME "MK"
#define FIRMWARE_NAME "MK"
#define SHORT_BUILD_VERSION "4.2.8
1
_dev"
#define SHORT_BUILD_VERSION "4.2.8
2
_dev"
#define BUILD_VERSION FIRMWARE_NAME "_" SHORT_BUILD_VERSION
#define BUILD_VERSION FIRMWARE_NAME "_" SHORT_BUILD_VERSION
#define STRING_DISTRIBUTION_DATE __DATE__ " " __TIME__ // build date and time
#define STRING_DISTRIBUTION_DATE __DATE__ " " __TIME__ // build date and time
// It might also be appropriate to define a location where additional information can be found
// It might also be appropriate to define a location where additional information can be found
...
...
MK/module/MK_Main.cpp
View file @
e31f6b71
...
@@ -582,7 +582,7 @@ bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) {
...
@@ -582,7 +582,7 @@ bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) {
servo
[
3
].
detach
();
servo
[
3
].
detach
();
#endif
#endif
#if
ENABLED
(DONDOLO)
#if
HAS
(DONDOLO)
servo
[
DONDOLO_SERVO_INDEX
].
attach
(
0
);
servo
[
DONDOLO_SERVO_INDEX
].
attach
(
0
);
servo
[
DONDOLO_SERVO_INDEX
].
write
(
DONDOLO_SERVOPOS_E0
);
servo
[
DONDOLO_SERVO_INDEX
].
write
(
DONDOLO_SERVOPOS_E0
);
delay_ms
(
DONDOLO_SERVO_DELAY
);
delay_ms
(
DONDOLO_SERVO_DELAY
);
...
@@ -591,7 +591,7 @@ bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) {
...
@@ -591,7 +591,7 @@ bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) {
// Set position of Servo Endstops that are defined
// Set position of Servo Endstops that are defined
#if HAS(SERVO_ENDSTOPS)
#if HAS(SERVO_ENDSTOPS)
#if
ENABLED
(DONDOLO)
#if
HAS
(DONDOLO)
for
(
int
i
=
0
;
i
<
3
;
i
++
)
{
for
(
int
i
=
0
;
i
<
3
;
i
++
)
{
if
(
servo_endstop_id
[
i
]
>=
0
&&
servo_endstop_id
[
i
]
!=
DONDOLO_SERVO_INDEX
)
if
(
servo_endstop_id
[
i
]
>=
0
&&
servo_endstop_id
[
i
]
!=
DONDOLO_SERVO_INDEX
)
servo
[
servo_endstop_id
[
i
]].
write
(
servo_endstop_angle
[
i
][
1
]);
servo
[
servo_endstop_id
[
i
]].
write
(
servo_endstop_angle
[
i
][
1
]);
...
@@ -1926,6 +1926,8 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
...
@@ -1926,6 +1926,8 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
static
void
deploy_z_probe
()
{
static
void
deploy_z_probe
()
{
if
(
DEBUGGING
(
INFO
))
DEBUG_POS
(
"deploy_z_probe"
,
current_position
);
if
(
endstops
.
z_probe_enabled
)
return
;
if
(
endstops
.
z_probe_enabled
)
return
;
#if HAS(SERVO_ENDSTOPS)
#if HAS(SERVO_ENDSTOPS)
...
@@ -1961,6 +1963,8 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
...
@@ -1961,6 +1963,8 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
static
void
retract_z_probe
()
{
static
void
retract_z_probe
()
{
if
(
DEBUGGING
(
INFO
))
DEBUG_POS
(
"retract_z_probe"
,
current_position
);
if
(
!
endstops
.
z_probe_enabled
)
return
;
if
(
!
endstops
.
z_probe_enabled
)
return
;
#if HAS(SERVO_ENDSTOPS)
#if HAS(SERVO_ENDSTOPS)
...
@@ -6134,7 +6138,7 @@ inline void gcode_M226() {
...
@@ -6134,7 +6138,7 @@ inline void gcode_M226() {
inline
void
gcode_M280
()
{
inline
void
gcode_M280
()
{
int
servo_index
=
code_seen
(
'P'
)
?
code_value_short
()
:
-
1
;
int
servo_index
=
code_seen
(
'P'
)
?
code_value_short
()
:
-
1
;
int
servo_position
=
0
;
int
servo_position
=
0
;
#if
ENABLED
(DONDOLO)
#if
HAS
(DONDOLO)
if
(
code_seen
(
'S'
))
{
if
(
code_seen
(
'S'
))
{
servo_position
=
code_value_short
();
servo_position
=
code_value_short
();
if
(
servo_index
>=
0
&&
servo_index
<
NUM_SERVOS
&&
servo_index
!=
DONDOLO_SERVO_INDEX
)
{
if
(
servo_index
>=
0
&&
servo_index
<
NUM_SERVOS
&&
servo_index
!=
DONDOLO_SERVO_INDEX
)
{
...
@@ -7588,7 +7592,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
...
@@ -7588,7 +7592,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
old_color
=
active_extruder
=
target_extruder
;
old_color
=
active_extruder
=
target_extruder
;
active_driver
=
0
;
active_driver
=
0
;
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_COLOR
,
(
int
)
active_extruder
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_COLOR
,
(
int
)
active_extruder
);
#elif
ENABLED
(DONDOLO)
#elif
HAS
(DONDOLO)
st_synchronize
();
st_synchronize
();
servo
[
DONDOLO_SERVO_INDEX
].
attach
(
0
);
servo
[
DONDOLO_SERVO_INDEX
].
attach
(
0
);
if
(
target_extruder
==
0
)
{
if
(
target_extruder
==
0
)
{
...
@@ -7600,8 +7604,12 @@ inline void gcode_T(uint8_t tmp_extruder) {
...
@@ -7600,8 +7604,12 @@ inline void gcode_T(uint8_t tmp_extruder) {
delay_ms
(
DONDOLO_SERVO_DELAY
);
delay_ms
(
DONDOLO_SERVO_DELAY
);
servo
[
DONDOLO_SERVO_INDEX
].
detach
();
servo
[
DONDOLO_SERVO_INDEX
].
detach
();
previous_extruder
=
active_extruder
;
previous_extruder
=
active_extruder
;
active_extruder
=
target_extruder
;
#if ENABLED(DONDOLO_SINGLE_MOTOR)
active_driver
=
0
;
active_extruder
=
target_extruder
;
active_driver
=
0
;
#elif ENABLED(DONDOLO_DUAL_MOTOR)
active_driver
=
active_extruder
=
target_extruder
;
#endif
set_stepper_direction
(
true
);
set_stepper_direction
(
true
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_DRIVER
,
(
int
)
active_driver
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_DRIVER
,
(
int
)
active_driver
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_EXTRUDER
,
(
int
)
active_extruder
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_EXTRUDER
,
(
int
)
active_extruder
);
...
...
MK/module/conditionals.h
View file @
e31f6b71
...
@@ -267,12 +267,16 @@
...
@@ -267,12 +267,16 @@
/**
/**
* DONDOLO
* DONDOLO
*/
*/
#if ENABLED(DONDOLO)
#if ENABLED(DONDOLO
_SINGLE_MOTOR
)
#undef SINGLENOZZLE
#undef SINGLENOZZLE
#undef ADVANCE
#undef ADVANCE
#undef DRIVER_EXTRUDERS
#undef DRIVER_EXTRUDERS
#define DRIVER_EXTRUDERS 1
#define DRIVER_EXTRUDERS 1
#endif
#endif
#if ENABLED(DONDOLO_DUAL_MOTOR)
#undef SINGLENOZZLE
#undef ADVANCE
#endif
/**
/**
* SINGLENOZZLE
* SINGLENOZZLE
...
@@ -289,7 +293,7 @@
...
@@ -289,7 +293,7 @@
/**
/**
* DRIVER_EXTRUDERS
* DRIVER_EXTRUDERS
*/
*/
#if DISABLED(MKR4) && DISABLED(NPR2) && DISABLED(DONDOLO) && DISABLED(COLOR_MIXING_EXTRUDER)
#if DISABLED(MKR4) && DISABLED(NPR2) && DISABLED(DONDOLO
_SINGLE_MOTOR
) && DISABLED(COLOR_MIXING_EXTRUDER)
#undef DRIVER_EXTRUDERS
#undef DRIVER_EXTRUDERS
#define DRIVER_EXTRUDERS EXTRUDERS // This defines the number of Driver extruder
#define DRIVER_EXTRUDERS EXTRUDERS // This defines the number of Driver extruder
#endif
#endif
...
@@ -749,6 +753,8 @@
...
@@ -749,6 +753,8 @@
#define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY))
#define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY))
#define HAS_SDSUPPORT (ENABLED(SDSUPPORT))
#define HAS_SDSUPPORT (ENABLED(SDSUPPORT))
#define HAS_DONDOLO (ENABLED(DONDOLO_SINGLE_MOTOR) || ENABLED(DONDOLO_DUAL_MOTOR))
#define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS))
#define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS))
#define HAS_TEMP_HOTEND (HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675))
#define HAS_TEMP_HOTEND (HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675))
...
...
MK/module/language/language_en.h
View file @
e31f6b71
...
@@ -42,6 +42,9 @@
...
@@ -42,6 +42,9 @@
#define MSG_AUTOSTART "Autostart"
#define MSG_AUTOSTART "Autostart"
#define MSG_DISABLE_STEPPERS "Disable steppers"
#define MSG_DISABLE_STEPPERS "Disable steppers"
#define MSG_AUTO_HOME "Auto home"
#define MSG_AUTO_HOME "Auto home"
#define MSG_AUTO_HOME_X "Home X"
#define MSG_AUTO_HOME_Y "Home Y"
#define MSG_AUTO_HOME_Z "Home Z"
#define MSG_MBL_SETTING "Manual Bed Leveling"
#define MSG_MBL_SETTING "Manual Bed Leveling"
#define MSG_MBL_BUTTON " Press the button "
#define MSG_MBL_BUTTON " Press the button "
#define MSG_MBL_INTRO " Leveling bed... "
#define MSG_MBL_INTRO " Leveling bed... "
...
...
MK/module/lcd/ultralcd.cpp
View file @
e31f6b71
...
@@ -701,6 +701,16 @@ static void lcd_tune_fixstep() {
...
@@ -701,6 +701,16 @@ static void lcd_tune_fixstep() {
#endif
#endif
#endif // !THERMAL_PROTECTION_HOTENDS
#endif // !THERMAL_PROTECTION_HOTENDS
#if ENABLED(THERMAL_PROTECTION_BED)
#if TEMP_SENSOR_BED != 0
void
watch_temp_callback_bed
()
{
start_watching_bed
();
}
#endif
#else
#if TEMP_SENSOR_BED != 0
void
watch_temp_callback_bed
()
{}
#endif
#endif
/**
/**
*
*
* "Tune" submenu
* "Tune" submenu
...
@@ -749,7 +759,7 @@ static void lcd_tune_menu() {
...
@@ -749,7 +759,7 @@ static void lcd_tune_menu() {
// Bed:
// Bed:
//
//
#if TEMP_SENSOR_BED != 0
#if TEMP_SENSOR_BED != 0
MENU_MULTIPLIER_ITEM_EDIT
(
int3
,
MSG_BED
,
&
target_temperature_bed
,
0
,
BED_MAXTEMP
-
15
);
MENU_MULTIPLIER_ITEM_EDIT
_CALLBACK
(
int3
,
MSG_BED
,
&
target_temperature_bed
,
0
,
BED_MAXTEMP
-
15
,
watch_temp_callback_bed
);
#endif
#endif
//
//
...
@@ -827,6 +837,11 @@ static void lcd_tune_menu() {
...
@@ -827,6 +837,11 @@ static void lcd_tune_menu() {
}
}
#endif // EASY_LOAD
#endif // EASY_LOAD
/**
*
* "Prepare" submenu items
*
*/
void
_lcd_preheat
(
int
endnum
,
const
float
temph
,
const
float
tempb
,
const
int
fan
)
{
void
_lcd_preheat
(
int
endnum
,
const
float
temph
,
const
float
tempb
,
const
int
fan
)
{
if
(
temph
>
0
)
setTargetHotend
(
temph
,
endnum
);
if
(
temph
>
0
)
setTargetHotend
(
temph
,
endnum
);
#if TEMP_SENSOR_BED != 0
#if TEMP_SENSOR_BED != 0
...
@@ -980,6 +995,9 @@ static void lcd_prepare_menu() {
...
@@ -980,6 +995,9 @@ static void lcd_prepare_menu() {
// Auto Home
// Auto Home
//
//
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28"
));
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28"
));
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_X
,
PSTR
(
"G28 X"
));
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_Y
,
PSTR
(
"G28 Y"
));
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME_Z
,
PSTR
(
"G28 Z"
));
//
//
// Set Home Offsets
// Set Home Offsets
...
...
MK/module/motion/stepper_indirection.h
View file @
e31f6b71
...
@@ -237,7 +237,7 @@
...
@@ -237,7 +237,7 @@
#define REV_E_DIR() { if(extruder_duplication_enabled) { E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); } else if(current_block->active_driver == 1) { E1_DIR_WRITE( INVERT_E1_DIR); } else { E0_DIR_WRITE( INVERT_E0_DIR); }}
#define REV_E_DIR() { if(extruder_duplication_enabled) { E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); } else if(current_block->active_driver == 1) { E1_DIR_WRITE( INVERT_E1_DIR); } else { E0_DIR_WRITE( INVERT_E0_DIR); }}
#endif
#endif
#else
#else
#if ENABLED(DONDOLO)
#if ENABLED(DONDOLO
_SINGLE_MOTOR
)
#define E_STEP_WRITE(v) E0_STEP_WRITE(v)
#define E_STEP_WRITE(v) E0_STEP_WRITE(v)
#define NORM_E_DIR() { switch(active_extruder) { case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; }}
#define NORM_E_DIR() { switch(active_extruder) { case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; }}
#define REV_E_DIR() { switch(active_extruder) { case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; }}
#define REV_E_DIR() { switch(active_extruder) { case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; }}
...
...
MK/module/sanitycheck.h
View file @
e31f6b71
...
@@ -1750,8 +1750,16 @@
...
@@ -1750,8 +1750,16 @@
#error DEPENDENCY ERROR: You have to set E_MIN_PIN to a valid pin if you enable NPR2
#error DEPENDENCY ERROR: You have to set E_MIN_PIN to a valid pin if you enable NPR2
#endif
#endif
#if ENABLED(DONDOLO) && NUM_SERVOS < 1
#if (ENABLED(DONDOLO_SINGLE_MOTOR) || ENABLED(DONDOLO_DUAL_MOTOR)) && HASNT(SERVOS)
#error DEPENDENCY ERROR: You must set NUM_SERVOS > 0 for DONDOLO
#error DEPENDENCY ERROR: You must enabled ENABLE_SERVOS and set NUM_SERVOS > 0 for DONDOLO MULTI EXTRUDER
#endif
#if ENABLED(DONDOLO_SINGLE_MOTOR) && ENABLED(DONDOLO_DUAL_MOTOR)
#error DEPENDENCY ERROR: You must enabled only one for DONDOLO_SINGLE_MOTOR and DONDOLO_DUAL_MOTOR
#endif
#if (ENABLED(DONDOLO_SINGLE_MOTOR) || ENABLED(DONDOLO_DUAL_MOTOR)) && EXTRUDERS != 2
#error DEPENDENCY ERROR: You must set EXTRUDERS = 2 for DONDOLO
#endif
#endif
#if ENABLED(LASERBEAM) && (!PIN_EXISTS(LASER_PWR) || !PIN_EXISTS(LASER_TTL))
#if ENABLED(LASERBEAM) && (!PIN_EXISTS(LASER_PWR) || !PIN_EXISTS(LASER_TTL))
...
...
README.md
View file @
e31f6b71
<img
align=
"right"
src=
"Documentation/Logo/MarlinKimbra%20Logo%20GitHub.png"
/>
<img
align=
"right"
src=
"Documentation/Logo/MarlinKimbra%20Logo%20GitHub.png"
/>
# MarlinKimbra 3D Printer Firmware for Arduino
# MarlinKimbra 3D Printer Firmware for Arduino
## Version 4.2.8
1
dev
## Version 4.2.8
2
dev
### Special thanks
### Special thanks
*
all Marlin8bit-developers.
*
all Marlin8bit-developers.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment