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
c687a56e
Commit
c687a56e
authored
Apr 14, 2015
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Probe
parent
a8688f61
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
33 additions
and
31 deletions
+33
-31
Configuration_Delta.h
MarlinKimbra/Configuration_Delta.h
+1
-1
Marlin_main.cpp
MarlinKimbra/Marlin_main.cpp
+1
-1
pins.h
MarlinKimbra/pins.h
+19
-17
planner.cpp
MarlinKimbra/planner.cpp
+12
-12
No files found.
MarlinKimbra/Configuration_Delta.h
View file @
c687a56e
...
@@ -76,7 +76,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the log
...
@@ -76,7 +76,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the log
// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
// this has no effect.
// this has no effect.
//#define
DISABLE_
Z_PROBE_ENDSTOP
//#define Z_PROBE_ENDSTOP
// ENDSTOP SETTINGS:
// ENDSTOP SETTINGS:
// Sets direction of endstop when homing; 1=MAX, -1=MIN
// Sets direction of endstop when homing; 1=MAX, -1=MIN
...
...
MarlinKimbra/Marlin_main.cpp
View file @
c687a56e
...
@@ -6385,7 +6385,7 @@ void prepare_move() {
...
@@ -6385,7 +6385,7 @@ void prepare_move() {
for
(
int
s
=
1
;
s
<=
steps
;
s
++
)
{
for
(
int
s
=
1
;
s
<=
steps
;
s
++
)
{
float
fraction
=
float
(
s
)
/
float
(
steps
);
float
fraction
=
float
(
s
)
/
float
(
steps
);
for
(
int8_t
i
=
0
;
i
<
NUM_AXIS
;
i
++
)
destination
[
i
]
=
current_position
[
i
]
+
difference
[
i
]
*
fraction
;
for
(
int8_t
i
=
0
;
i
<
NUM_AXIS
;
i
++
)
destination
[
i
]
=
current_position
[
i
]
+
difference
[
i
]
*
fraction
;
calculate_delta
(
destination
);
calculate_delta
(
destination
);
//SERIAL_ECHOPGM("destination[X_AXIS]="); SERIAL_ECHOLN(destination[X_AXIS]);
//SERIAL_ECHOPGM("destination[X_AXIS]="); SERIAL_ECHOLN(destination[X_AXIS]);
...
...
MarlinKimbra/pins.h
View file @
c687a56e
...
@@ -867,6 +867,7 @@
...
@@ -867,6 +867,7 @@
#define Z_ENABLE_PIN 62
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
#define Z_MAX_PIN 19
#define Z_PROBE_PIN 18
#define Z2_STEP_PIN 36
#define Z2_STEP_PIN 36
#define Z2_DIR_PIN 34
#define Z2_DIR_PIN 34
...
@@ -1072,6 +1073,7 @@
...
@@ -1072,6 +1073,7 @@
#define Z_ENABLE_PIN 62
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
#define Z_MAX_PIN 19
#define Z_PROBE_PIN 18
#define Z2_STEP_PIN 36
#define Z2_STEP_PIN 36
#define Z2_DIR_PIN 34
#define Z2_DIR_PIN 34
...
@@ -1271,6 +1273,7 @@
...
@@ -1271,6 +1273,7 @@
#define Z_ENABLE_PIN 62
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
#define Z_MAX_PIN 19
#define Z_PROBE_PIN 18
#define Z2_STEP_PIN 36
#define Z2_STEP_PIN 36
#define Z2_DIR_PIN 34
#define Z2_DIR_PIN 34
...
@@ -1470,6 +1473,7 @@
...
@@ -1470,6 +1473,7 @@
#define Z_ENABLE_PIN 62
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
#define Z_MAX_PIN 19
#define Z_PROBE_PIN 18
#define Z2_STEP_PIN 36
#define Z2_STEP_PIN 36
#define Z2_DIR_PIN 34
#define Z2_DIR_PIN 34
...
@@ -4435,13 +4439,11 @@ DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a
...
@@ -4435,13 +4439,11 @@ DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a
#define Y_MAX_PIN -1
#define Y_MAX_PIN -1
#endif //Y_HOME_DIR > 0
#endif //Y_HOME_DIR > 0
#ifndef DELTA
#if Z_HOME_DIR > 0 //Home Z to MAX
#if Z_HOME_DIR > 0 //Home Z to MAX
#define Z_MIN_PIN -1
#define Z_MIN_PIN -1
#elif Z_HOME_DIR < 0 //Home Z to MIN
#elif Z_HOME_DIR < 0 //Home Z to MIN
#define Z_MAX_PIN -1
#define Z_MAX_PIN -1
#endif //Z_HOME_DIR > 0
#endif //Z_HOME_DIR > 0
#endif //!DELTA
#if defined(DISABLE_Z_PROBE_ENDSTOP) || !defined(Z_PROBE_ENDSTOP) // Allow code to compile regardless of Z_PROBE_ENDSTOP setting.
#if defined(DISABLE_Z_PROBE_ENDSTOP) || !defined(Z_PROBE_ENDSTOP) // Allow code to compile regardless of Z_PROBE_ENDSTOP setting.
#define Z_PROBE_PIN -1
#define Z_PROBE_PIN -1
...
...
MarlinKimbra/planner.cpp
View file @
c687a56e
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
//===========================================================================
//===========================================================================
unsigned
long
minsegmenttime
;
unsigned
long
minsegmenttime
;
float
max_feedrate
[
3
+
EXTRUDERS
];
//
set the max speeds
float
max_feedrate
[
3
+
EXTRUDERS
];
//
Max speeds in mm per minute
float
max_retraction_feedrate
[
EXTRUDERS
];
// set the max speeds for retraction
float
max_retraction_feedrate
[
EXTRUDERS
];
// set the max speeds for retraction
float
axis_steps_per_unit
[
3
+
EXTRUDERS
];
float
axis_steps_per_unit
[
3
+
EXTRUDERS
];
unsigned
long
max_acceleration_units_per_sq_second
[
3
+
EXTRUDERS
];
// Use M201 to override by software
unsigned
long
max_acceleration_units_per_sq_second
[
3
+
EXTRUDERS
];
// Use M201 to override by software
...
@@ -500,7 +500,7 @@ float junction_deviation = 0.1;
...
@@ -500,7 +500,7 @@ float junction_deviation = 0.1;
target
[
X_AXIS
]
=
lround
(
x
*
axis_steps_per_unit
[
X_AXIS
]);
target
[
X_AXIS
]
=
lround
(
x
*
axis_steps_per_unit
[
X_AXIS
]);
target
[
Y_AXIS
]
=
lround
(
y
*
axis_steps_per_unit
[
Y_AXIS
]);
target
[
Y_AXIS
]
=
lround
(
y
*
axis_steps_per_unit
[
Y_AXIS
]);
target
[
Z_AXIS
]
=
lround
(
z
*
axis_steps_per_unit
[
Z_AXIS
]);
target
[
Z_AXIS
]
=
lround
(
z
*
axis_steps_per_unit
[
Z_AXIS
]);
target
[
E_AXIS
]
=
lround
(
e
*
axis_steps_per_unit
[
E_AXIS
+
active_
extruder
]);
target
[
E_AXIS
]
=
lround
(
e
*
axis_steps_per_unit
[
E_AXIS
+
extruder
]);
float
dx
=
target
[
X_AXIS
]
-
position
[
X_AXIS
],
float
dx
=
target
[
X_AXIS
]
-
position
[
X_AXIS
],
dy
=
target
[
Y_AXIS
]
-
position
[
Y_AXIS
],
dy
=
target
[
Y_AXIS
]
-
position
[
Y_AXIS
],
...
@@ -510,10 +510,10 @@ float junction_deviation = 0.1;
...
@@ -510,10 +510,10 @@ float junction_deviation = 0.1;
#ifdef PREVENT_DANGEROUS_EXTRUDE
#ifdef PREVENT_DANGEROUS_EXTRUDE
if
(
de
)
{
if
(
de
)
{
#ifdef NPR2
#ifdef NPR2
if
(
active_
extruder
!=
1
)
if
(
extruder
!=
1
)
#endif // NPR2
#endif // NPR2
{
{
if
(
degHotend
(
active_
extruder
)
<
extrude_min_temp
&&
!
debugDryrun
())
{
if
(
degHotend
(
extruder
)
<
extrude_min_temp
&&
!
debugDryrun
())
{
position
[
E_AXIS
]
=
target
[
E_AXIS
];
//behave as if the move really took place, but ignore E part
position
[
E_AXIS
]
=
target
[
E_AXIS
];
//behave as if the move really took place, but ignore E part
de
=
0
;
// no difference
de
=
0
;
// no difference
SERIAL_ECHO_START
;
SERIAL_ECHO_START
;
...
@@ -522,7 +522,7 @@ float junction_deviation = 0.1;
...
@@ -522,7 +522,7 @@ float junction_deviation = 0.1;
}
}
#ifdef PREVENT_LENGTHY_EXTRUDE
#ifdef PREVENT_LENGTHY_EXTRUDE
if
(
labs
(
de
)
>
axis_steps_per_unit
[
E_AXIS
+
active_
extruder
]
*
EXTRUDE_MAXLENGTH
)
{
if
(
labs
(
de
)
>
axis_steps_per_unit
[
E_AXIS
+
extruder
]
*
EXTRUDE_MAXLENGTH
)
{
#ifdef EASY_LOAD
#ifdef EASY_LOAD
if
(
!
allow_lengthy_extrude_once
)
{
if
(
!
allow_lengthy_extrude_once
)
{
#endif
#endif
...
@@ -559,8 +559,8 @@ float junction_deviation = 0.1;
...
@@ -559,8 +559,8 @@ float junction_deviation = 0.1;
block
->
steps
[
Z_AXIS
]
=
labs
(
dz
);
block
->
steps
[
Z_AXIS
]
=
labs
(
dz
);
block
->
steps
[
E_AXIS
]
=
labs
(
de
);
block
->
steps
[
E_AXIS
]
=
labs
(
de
);
block
->
steps
[
E_AXIS
]
*=
volumetric_multiplier
[
active_
extruder
];
block
->
steps
[
E_AXIS
]
*=
volumetric_multiplier
[
extruder
];
block
->
steps
[
E_AXIS
]
*=
extruder_multiply
[
active_
extruder
];
block
->
steps
[
E_AXIS
]
*=
extruder_multiply
[
extruder
];
block
->
steps
[
E_AXIS
]
/=
100
;
block
->
steps
[
E_AXIS
]
/=
100
;
block
->
step_event_count
=
max
(
block
->
steps
[
X_AXIS
],
max
(
block
->
steps
[
Y_AXIS
],
max
(
block
->
steps
[
Z_AXIS
],
block
->
steps
[
E_AXIS
])));
block
->
step_event_count
=
max
(
block
->
steps
[
X_AXIS
],
max
(
block
->
steps
[
Y_AXIS
],
max
(
block
->
steps
[
Z_AXIS
],
block
->
steps
[
E_AXIS
])));
...
@@ -715,7 +715,7 @@ float junction_deviation = 0.1;
...
@@ -715,7 +715,7 @@ float junction_deviation = 0.1;
delta_mm
[
Y_AXIS
]
=
dy
/
axis_steps_per_unit
[
Y_AXIS
];
delta_mm
[
Y_AXIS
]
=
dy
/
axis_steps_per_unit
[
Y_AXIS
];
#endif
#endif
delta_mm
[
Z_AXIS
]
=
dz
/
axis_steps_per_unit
[
Z_AXIS
];
delta_mm
[
Z_AXIS
]
=
dz
/
axis_steps_per_unit
[
Z_AXIS
];
delta_mm
[
E_AXIS
]
=
(
de
/
axis_steps_per_unit
[
E_AXIS
+
active_extruder
])
*
volumetric_multiplier
[
active_extruder
]
*
extruder_multiply
[
active_
extruder
]
/
100.0
;
delta_mm
[
E_AXIS
]
=
(
de
/
axis_steps_per_unit
[
E_AXIS
+
extruder
])
*
volumetric_multiplier
[
extruder
]
*
extruder_multiply
[
extruder
]
/
100.0
;
if
(
block
->
steps
[
X_AXIS
]
<=
dropsegments
&&
block
->
steps
[
Y_AXIS
]
<=
dropsegments
&&
block
->
steps
[
Z_AXIS
]
<=
dropsegments
)
{
if
(
block
->
steps
[
X_AXIS
]
<=
dropsegments
&&
block
->
steps
[
Y_AXIS
]
<=
dropsegments
&&
block
->
steps
[
Z_AXIS
]
<=
dropsegments
)
{
block
->
millimeters
=
fabs
(
delta_mm
[
E_AXIS
]);
block
->
millimeters
=
fabs
(
delta_mm
[
E_AXIS
]);
...
@@ -799,13 +799,13 @@ float junction_deviation = 0.1;
...
@@ -799,13 +799,13 @@ float junction_deviation = 0.1;
current_speed
[
E_AXIS
]
=
delta_mm
[
E_AXIS
]
*
inverse_second
;
current_speed
[
E_AXIS
]
=
delta_mm
[
E_AXIS
]
*
inverse_second
;
if
(
target
[
E_AXIS
]
<
position
[
E_AXIS
])
if
(
target
[
E_AXIS
]
<
position
[
E_AXIS
])
{
{
if
(
fabs
(
current_speed
[
E_AXIS
])
>
max_retraction_feedrate
[
active_
extruder
])
if
(
fabs
(
current_speed
[
E_AXIS
])
>
max_retraction_feedrate
[
extruder
])
speed_factor
=
min
(
speed_factor
,
max_retraction_feedrate
[
active_
extruder
]
/
fabs
(
current_speed
[
E_AXIS
]));
speed_factor
=
min
(
speed_factor
,
max_retraction_feedrate
[
extruder
]
/
fabs
(
current_speed
[
E_AXIS
]));
}
}
else
else
{
{
if
(
fabs
(
current_speed
[
E_AXIS
])
>
max_feedrate
[
E_AXIS
+
active_
extruder
])
if
(
fabs
(
current_speed
[
E_AXIS
])
>
max_feedrate
[
E_AXIS
+
extruder
])
speed_factor
=
min
(
speed_factor
,
max_feedrate
[
E_AXIS
+
active_
extruder
]
/
fabs
(
current_speed
[
E_AXIS
]));
speed_factor
=
min
(
speed_factor
,
max_feedrate
[
E_AXIS
+
extruder
]
/
fabs
(
current_speed
[
E_AXIS
]));
}
}
// Max segement time in us.
// Max segement time in us.
...
...
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