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
b27d10ff
Commit
b27d10ff
authored
May 13, 2016
by
Franco (nextime) Lanza
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/dev' into dev
parents
5709b356
66125af0
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
110 additions
and
84 deletions
+110
-84
changelog.md
Documentation/changelog.md
+3
-0
Configuration_Feature.h
MK/Configuration_Feature.h
+7
-3
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
+62
-68
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 @
b27d10ff
### Version 4.2.82
*
Add DONDOLO_DUAL_MOTOR for DONDOLO bowden and dual extruder
### Version 4.2.81
*
Fix serial protocol for Repetier Host
*
Bug fix
...
...
MK/Configuration_Feature.h
View file @
b27d10ff
...
...
@@ -114,8 +114,8 @@
* *
***********************************************************************/
//#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 COOLER_WATTS 52 // Commonly available TEC wattage
//#define BED_WATTS (12.0*12.0/1.1) //
P=I^2/R
/***********************************************************************/
...
...
@@ -546,6 +546,8 @@
***********************************************************************
* *
* 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 *
* For function set NUM_SERVOS +1 if you use for endstop or probe *
* Set DONDOLO SERVO INDEX for servo you use for DONDOLO *
...
...
@@ -554,7 +556,9 @@
* Remember set HOTEND OFFSET X Y Z *
* *
***********************************************************************/
//#define DONDOLO
//#define DONDOLO_SINGLE_MOTOR
//#define DONDOLO_DUAL_MOTOR
#define DONDOLO_SERVO_INDEX 0
#define DONDOLO_SERVOPOS_E0 120
#define DONDOLO_SERVOPOS_E1 10
...
...
MK/Configuration_Version.h
View file @
b27d10ff
...
...
@@ -24,7 +24,7 @@
#define CONFIGURATION_VERSION_H
#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 STRING_DISTRIBUTION_DATE __DATE__ " " __TIME__ // build date and time
// It might also be appropriate to define a location where additional information can be found
...
...
MK/module/MK_Main.cpp
View file @
b27d10ff
...
...
@@ -583,7 +583,7 @@ bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) {
servo
[
3
].
detach
();
#endif
#if
ENABLED
(DONDOLO)
#if
HAS
(DONDOLO)
servo
[
DONDOLO_SERVO_INDEX
].
attach
(
0
);
servo
[
DONDOLO_SERVO_INDEX
].
write
(
DONDOLO_SERVOPOS_E0
);
delay_ms
(
DONDOLO_SERVO_DELAY
);
...
...
@@ -592,7 +592,7 @@ bool enqueue_and_echo_command(const char* cmd, bool say_ok/*=false*/) {
// Set position of Servo Endstops that are defined
#if HAS(SERVO_ENDSTOPS)
#if
ENABLED
(DONDOLO)
#if
HAS
(DONDOLO)
for
(
int
i
=
0
;
i
<
3
;
i
++
)
{
if
(
servo_endstop_id
[
i
]
>=
0
&&
servo_endstop_id
[
i
]
!=
DONDOLO_SERVO_INDEX
)
servo
[
servo_endstop_id
[
i
]].
write
(
servo_endstop_angle
[
i
][
1
]);
...
...
@@ -1945,6 +1945,8 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
static
void
deploy_z_probe
()
{
if
(
DEBUGGING
(
INFO
))
DEBUG_POS
(
"deploy_z_probe"
,
current_position
);
if
(
endstops
.
z_probe_enabled
)
return
;
#if HAS(SERVO_ENDSTOPS)
...
...
@@ -1980,6 +1982,8 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
static
void
retract_z_probe
()
{
if
(
DEBUGGING
(
INFO
))
DEBUG_POS
(
"retract_z_probe"
,
current_position
);
if
(
!
endstops
.
z_probe_enabled
)
return
;
#if HAS(SERVO_ENDSTOPS)
...
...
@@ -6499,7 +6503,7 @@ inline void gcode_M226() {
inline
void
gcode_M280
()
{
int
servo_index
=
code_seen
(
'P'
)
?
code_value_short
()
:
-
1
;
int
servo_position
=
0
;
#if
ENABLED
(DONDOLO)
#if
HAS
(DONDOLO)
if
(
code_seen
(
'S'
))
{
servo_position
=
code_value_short
();
if
(
servo_index
>=
0
&&
servo_index
<
NUM_SERVOS
&&
servo_index
!=
DONDOLO_SERVO_INDEX
)
{
...
...
@@ -8032,7 +8036,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
old_color
=
active_extruder
=
target_extruder
;
active_driver
=
0
;
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_COLOR
,
(
int
)
active_extruder
);
#elif
ENABLED
(DONDOLO)
#elif
HAS
(DONDOLO)
st_synchronize
();
servo
[
DONDOLO_SERVO_INDEX
].
attach
(
0
);
if
(
target_extruder
==
0
)
{
...
...
@@ -8044,8 +8048,12 @@ inline void gcode_T(uint8_t tmp_extruder) {
delay_ms
(
DONDOLO_SERVO_DELAY
);
servo
[
DONDOLO_SERVO_INDEX
].
detach
();
previous_extruder
=
active_extruder
;
active_extruder
=
target_extruder
;
active_driver
=
0
;
#if ENABLED(DONDOLO_SINGLE_MOTOR)
active_extruder
=
target_extruder
;
active_driver
=
0
;
#elif ENABLED(DONDOLO_DUAL_MOTOR)
active_driver
=
active_extruder
=
target_extruder
;
#endif
set_stepper_direction
(
true
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_DRIVER
,
(
int
)
active_driver
);
ECHO_LMV
(
DB
,
SERIAL_ACTIVE_EXTRUDER
,
(
int
)
active_extruder
);
...
...
MK/module/conditionals.h
View file @
b27d10ff
...
...
@@ -267,12 +267,16 @@
/**
* DONDOLO
*/
#if ENABLED(DONDOLO)
#if ENABLED(DONDOLO
_SINGLE_MOTOR
)
#undef SINGLENOZZLE
#undef ADVANCE
#undef DRIVER_EXTRUDERS
#define DRIVER_EXTRUDERS 1
#endif
#if ENABLED(DONDOLO_DUAL_MOTOR)
#undef SINGLENOZZLE
#undef ADVANCE
#endif
/**
* SINGLENOZZLE
...
...
@@ -289,7 +293,7 @@
/**
* 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
#define DRIVER_EXTRUDERS EXTRUDERS // This defines the number of Driver extruder
#endif
...
...
@@ -763,6 +767,8 @@
#define HAS_MOTOR_CURRENT_PWM_XY (PIN_EXISTS(MOTOR_CURRENT_PWM_XY))
#define HAS_SDSUPPORT (ENABLED(SDSUPPORT))
#define HAS_DONDOLO (ENABLED(DONDOLO_SINGLE_MOTOR) || ENABLED(DONDOLO_DUAL_MOTOR))
#define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS))
#define HAS_TEMP_HOTEND (HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675))
...
...
MK/module/language/language_en.h
View file @
b27d10ff
...
...
@@ -42,6 +42,9 @@
#define MSG_AUTOSTART "Autostart"
#define MSG_DISABLE_STEPPERS "Disable steppers"
#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_BUTTON " Press the button "
#define MSG_MBL_INTRO " Leveling bed... "
...
...
MK/module/lcd/ultralcd.cpp
View file @
b27d10ff
...
...
@@ -735,6 +735,16 @@ static void lcd_tune_fixstep() {
#endif
#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
...
...
@@ -760,38 +770,12 @@ MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_multiplier, 10, 999);
MENU_ITEM_EDIT
(
int3
,
MSG_NOZZLE
,
&
target_temperature_cooler
,
0
,
COOLER_MAXTEMP
-
15
);
#endif
//
// Nozzle:
//
#if HOTENDS == 1
#if TEMP_SENSOR_0 != 0
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK
(
int3
,
MSG_NOZZLE
,
&
target_temperature
[
0
],
0
,
HEATER_0_MAXTEMP
-
15
,
watch_temp_callback_E0
);
#endif
#else // HOTENDS > 1
#if TEMP_SENSOR_0 != 0
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK
(
int3
,
MSG_NOZZLE
" 0"
,
&
target_temperature
[
0
],
0
,
HEATER_0_MAXTEMP
-
15
,
watch_temp_callback_E0
);
#endif
#if TEMP_SENSOR_1 != 0
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK
(
int3
,
MSG_NOZZLE
" 1"
,
&
target_temperature
[
1
],
0
,
HEATER_1_MAXTEMP
-
15
,
watch_temp_callback_E1
);
#endif
#if HOTENDS > 2
#if TEMP_SENSOR_2 != 0
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK
(
int3
,
MSG_NOZZLE
" 2"
,
&
target_temperature
[
2
],
0
,
HEATER_2_MAXTEMP
-
15
,
watch_temp_callback_E2
);
#endif
#if HOTENDS > 3
#if TEMP_SENSOR_3 != 0
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK
(
int3
,
MSG_NOZZLE
" 3"
,
&
target_temperature
[
3
],
0
,
HEATER_3_MAXTEMP
-
15
,
watch_temp_callback_E3
);
#endif
#endif // HOTENDS > 3
#endif // HOTENDS > 2
#endif // HOTENDS > 1
//
// Bed:
//
#if TEMP_SENSOR_BED != 0
MENU_MULTIPLIER_ITEM_EDIT
(
int3
,
MSG_BED
,
&
target_temperature_bed
,
0
,
BED_MAXTEMP
-
15
);
#endif
//
// Bed:
//
#if TEMP_SENSOR_BED != 0
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK
(
int3
,
MSG_BED
,
&
target_temperature_bed
,
0
,
BED_MAXTEMP
-
15
,
watch_temp_callback_bed
);
#endif
//
// Fan Speed:
...
...
@@ -868,6 +852,11 @@ static void lcd_easy_unload() {
}
#endif // EASY_LOAD
/**
*
* "Prepare" submenu items
*
*/
void
_lcd_preheat
(
int
endnum
,
const
float
temph
,
const
float
tempb
,
const
int
fan
)
{
if
(
temph
>
0
)
setTargetHotend
(
temph
,
endnum
);
#if TEMP_SENSOR_BED != 0
...
...
@@ -1011,48 +1000,53 @@ lcd_return_to_status();
*/
static
void
lcd_prepare_menu
()
{
START_MENU
();
START_MENU
();
//
// ^ Main
//
MENU_ITEM
(
back
,
MSG_MAIN
);
//
// ^ Main
//
MENU_ITEM
(
back
,
MSG_MAIN
);
//
// Auto Home
//
#if ENABLED(LASER)
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28 X Y F2000"
));
#else
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28"
));
#endif
//
// Auto Home
//
#if ENABLED(LASER)
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28 X Y F2000"
));
# else
MENU_ITEM
(
gcode
,
MSG_AUTO_HOME
,
PSTR
(
"G28"
));
#if !MECH(DELTA)
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"
));
#endif
#endif
//
// Set Home Offsets
//
MENU_ITEM
(
function
,
MSG_SET_HOME_OFFSETS
,
lcd_set_home_offsets
);
//MENU_ITEM(gcode, MSG_SET_ORIGIN, PSTR("G92 X0 Y0 Z0"));
//
// Set Home Offsets
//
MENU_ITEM
(
function
,
MSG_SET_HOME_OFFSETS
,
lcd_set_home_offsets
);
//MENU_ITEM(gcode, MSG_SET_ORIGIN, PSTR("G92 X0 Y0 Z0"));
//
// Level Bed
//
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
MENU_ITEM
(
gcode
,
MSG_LEVEL_BED
,
axis_homed
[
X_AXIS
]
&&
axis_homed
[
Y_AXIS
]
?
PSTR
(
"G29"
)
:
PSTR
(
"G28
\n
G29"
)
);
#elif !MECH(DELTA) && DISABLED(Z_SAFE_HOMING) && Z_HOME_DIR < 0
MENU_ITEM
(
submenu
,
MSG_MBL_SETTING
,
config_lcd_level_bed
);
#endif
//
// Level Bed
//
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
MENU_ITEM
(
gcode
,
MSG_LEVEL_BED
,
axis_homed
[
X_AXIS
]
&&
axis_homed
[
Y_AXIS
]
?
PSTR
(
"G29"
)
:
PSTR
(
"G28
\n
G29"
)
);
#elif !MECH(DELTA) && DISABLED(Z_SAFE_HOMING) && Z_HOME_DIR < 0
MENU_ITEM
(
submenu
,
MSG_MBL_SETTING
,
config_lcd_level_bed
);
#endif
//
// Move Axis
//
MENU_ITEM
(
submenu
,
MSG_MOVE_AXIS
,
lcd_move_menu
);
//
// Move Axis
//
MENU_ITEM
(
submenu
,
MSG_MOVE_AXIS
,
lcd_move_menu
);
//
// Disable Steppers
//
MENU_ITEM
(
gcode
,
MSG_DISABLE_STEPPERS
,
PSTR
(
"M84"
));
//
// Disable Steppers
//
MENU_ITEM
(
gcode
,
MSG_DISABLE_STEPPERS
,
PSTR
(
"M84"
));
//
// Preheat PLA
...
...
MK/module/motion/stepper_indirection.h
View file @
b27d10ff
...
...
@@ -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); }}
#endif
#else
#if ENABLED(DONDOLO)
#if ENABLED(DONDOLO
_SINGLE_MOTOR
)
#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 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 @
b27d10ff
...
...
@@ -1808,8 +1808,16 @@
#error DEPENDENCY ERROR: You have to set E_MIN_PIN to a valid pin if you enable NPR2
#endif
#if ENABLED(DONDOLO) && NUM_SERVOS < 1
#error DEPENDENCY ERROR: You must set NUM_SERVOS > 0 for DONDOLO
#if (ENABLED(DONDOLO_SINGLE_MOTOR) || ENABLED(DONDOLO_DUAL_MOTOR)) && HASNT(SERVOS)
#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
#if ENABLED(LASERBEAM) && (!PIN_EXISTS(LASER_PWR) || !PIN_EXISTS(LASER_TTL))
...
...
README.md
View file @
b27d10ff
<img
align=
"right"
src=
"Documentation/Logo/MarlinKimbra%20Logo%20GitHub.png"
/>
# MarlinKimbra 3D Printer Firmware for Arduino
## Version 4.2.8
1
dev
## Version 4.2.8
2
dev
### Special thanks
*
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