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
14af5afb
Commit
14af5afb
authored
Feb 24, 2016
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update v4_2_6
parent
d5cef6c9
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
417 additions
and
469 deletions
+417
-469
Configuration_Feature.h
MK/Configuration_Feature.h
+1
-2
Pins.h
MK/Pins.h
+13
-13
MK_Main.cpp
MK/module/MK_Main.cpp
+239
-246
MK_Main.h
MK/module/MK_Main.h
+2
-2
conditionals.h
MK/module/conditionals.h
+1
-0
language.h
MK/module/language/language.h
+1
-1
ultralcd.cpp
MK/module/lcd/ultralcd.cpp
+2
-2
ultralcd.h
MK/module/lcd/ultralcd.h
+2
-1
planner.cpp
MK/module/motion/planner.cpp
+33
-36
stepper.cpp
MK/module/motion/stepper.cpp
+112
-155
stepper.h
MK/module/motion/stepper.h
+2
-2
temperature.cpp
MK/module/temperature/temperature.cpp
+9
-9
No files found.
MK/Configuration_Feature.h
View file @
14af5afb
...
...
@@ -561,8 +561,7 @@
//#define ADVANCE
#define EXTRUDER_ADVANCE_K .0
#define D_FILAMENT 2.85
#define STEPS_MM_E 836
#define D_FILAMENT 1.75
/*****************************************************************************************/
...
...
MK/Pins.h
View file @
14af5afb
MK/module/MK_Main.cpp
View file @
14af5afb
This diff is collapsed.
Click to expand it.
MK/module/MK_Main.h
View file @
14af5afb
...
...
@@ -89,7 +89,7 @@ void refresh_cmd_timeout();
extern
void
delay_ms
(
millis_t
ms
);
#if ENABLED(FAST_PWM_FAN)
void
setPwmFrequency
(
uint8_t
pin
,
in
t
val
);
void
setPwmFrequency
(
uint8_t
pin
,
uint8_
t
val
);
#endif
extern
float
homing_feedrate
[];
...
...
@@ -120,7 +120,7 @@ extern uint8_t axis_was_homed;
#endif
#if ENABLED(NPR2)
extern
in
t
old_color
;
// old color for system NPR2
extern
uint8_
t
old_color
;
// old color for system NPR2
#endif
#if MECH(DELTA)
...
...
MK/module/conditionals.h
View file @
14af5afb
...
...
@@ -234,6 +234,7 @@
*/
#if ENABLED(DONDOLO)
#undef SINGLENOZZLE
#undef ADVANCE
#undef DRIVER_EXTRUDERS
#define DRIVER_EXTRUDERS 1
#endif
...
...
MK/module/language/language.h
View file @
14af5afb
...
...
@@ -102,7 +102,7 @@
#define SERIAL_ACTIVE_COLOR "Active Color: "
#define MSG_COUNT_X " Count X:"
#define MSG_COUNT_A " Count A:"
#define MSG_COUNT_ALPHA " Count Alpha:
"
#define MSG_COUNT_ALPHA " Count Alpha:"
#define SERIAL_X_MIN "x_min: "
#define SERIAL_X_MAX "x_max: "
#define SERIAL_Y_MIN "y_min: "
...
...
MK/module/lcd/ultralcd.cpp
View file @
14af5afb
...
...
@@ -2084,7 +2084,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
WRITE
(
SHIFT_LD
,
HIGH
);
for
(
int8_t
i
=
0
;
i
<
8
;
i
++
)
{
newbutton_reprapworld_keypad
>>=
1
;
if
(
READ
(
SHIFT_OUT
))
newbutton_reprapworld_keypad
|=
BIT
(
7
);
if
(
READ
(
SHIFT_OUT
))
BITSET
(
newbutton_reprapworld_keypad
,
7
);
WRITE
(
SHIFT_CLK
,
HIGH
);
WRITE
(
SHIFT_CLK
,
LOW
);
}
...
...
@@ -2097,7 +2097,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
unsigned
char
tmp_buttons
=
0
;
for
(
int8_t
i
=
0
;
i
<
8
;
i
++
)
{
newbutton
>>=
1
;
if
(
READ
(
SHIFT_OUT
))
newbutton
|=
BIT
(
7
);
if
(
READ
(
SHIFT_OUT
))
BITSET
(
newbutton
,
7
);
WRITE
(
SHIFT_CLK
,
HIGH
);
WRITE
(
SHIFT_CLK
,
LOW
);
}
...
...
MK/module/lcd/ultralcd.h
View file @
14af5afb
...
...
@@ -120,7 +120,8 @@
#define EN_B BIT(BLEN_B)
#define EN_A BIT(BLEN_A)
#define LCD_CLICKED ((buttons&B_MI)||(buttons&B_ST))
#define LCD_CLICKED (buttons&(B_MI|B_ST))
#endif//NEWPANEL
char
*
itostr2
(
const
uint8_t
&
x
);
...
...
MK/module/motion/planner.cpp
View file @
14af5afb
...
...
@@ -205,12 +205,11 @@ FORCE_INLINE float max_allowable_speed(float acceleration, float target_velocity
// "Junction jerk" in this context is the immediate change in speed at the junction of two blocks.
// This method will calculate the junction jerk as the euclidean distance between the nominal
// velocities of the respective blocks.
//inline float junction_jerk(block_t *before, block_t *after) {
//
inline float junction_jerk(block_t *before, block_t *after) {
// return sqrt(
// pow((before->speed_x-after->speed_x), 2)+pow((before->speed_y-after->speed_y), 2));
//}
// The kernel called by planner_recalculate() when scanning the plan from last to first entry.
void
planner_reverse_pass_kernel
(
block_t
*
previous
,
block_t
*
current
,
block_t
*
next
)
{
if
(
!
current
)
return
;
...
...
@@ -359,7 +358,6 @@ void plan_init() {
previous_nominal_speed
=
0.0
;
}
#if ENABLED(AUTOTEMP)
void
getHighESpeed
()
{
static
float
oldt
=
0
;
...
...
@@ -479,7 +477,6 @@ void check_axes_activity() {
#endif
}
float
junction_deviation
=
0.1
;
// Add a new linear movement to the buffer. steps[X_AXIS], _y and _z is the absolute position in
// mm. Microseconds specify how many microseconds the move should take to perform. To aid acceleration
...
...
@@ -606,7 +603,7 @@ float junction_deviation = 0.1;
// For a mixing extruder, get steps for each
#if ENABLED(COLOR_MIXING_EXTRUDER)
for
(
int8_t
i
=
0
;
i
<
DRIVER_EXTRUDERS
;
i
++
)
for
(
u
int8_t
i
=
0
;
i
<
DRIVER_EXTRUDERS
;
i
++
)
block
->
mix_steps
[
i
]
=
block
->
steps
[
E_AXIS
]
*
mixing_factor
[
i
];
#endif
...
...
@@ -618,23 +615,23 @@ float junction_deviation = 0.1;
// Compute direction bits for this block
uint8_t
dirb
=
0
;
#if MECH(COREXY)
if
(
dx
<
0
)
dirb
|=
BIT
(
X_HEAD
);
// Save the real Extruder (head) direction in X Axis
if
(
dy
<
0
)
dirb
|=
BIT
(
Y_HEAD
);
// ...and Y
if
(
dz
<
0
)
dirb
|=
BIT
(
Z_AXIS
);
if
(
da
<
0
)
dirb
|=
BIT
(
A_AXIS
);
// Motor A direction
if
(
db
<
0
)
dirb
|=
BIT
(
B_AXIS
);
// Motor B direction
if
(
dx
<
0
)
BITSET
(
dirb
,
X_HEAD
);
// Save the real Extruder (head) direction in X Axis
if
(
dy
<
0
)
BITSET
(
dirb
,
Y_HEAD
);
// ...and Y
if
(
dz
<
0
)
BITSET
(
dirb
,
Z_AXIS
);
if
(
da
<
0
)
BITSET
(
dirb
,
A_AXIS
);
// Motor A direction
if
(
db
<
0
)
BITSET
(
dirb
,
B_AXIS
);
// Motor B direction
#elif MECH(COREXZ)
if
(
dx
<
0
)
dirb
|=
BIT
(
X_HEAD
);
// Save the real Extruder (head) direction in X Axis
if
(
dy
<
0
)
dirb
|=
BIT
(
Y_AXIS
);
if
(
dz
<
0
)
dirb
|=
BIT
(
Z_HEAD
);
// ...and Z
if
(
da
<
0
)
dirb
|=
BIT
(
A_AXIS
);
// Motor A direction
if
(
dc
<
0
)
dirb
|=
BIT
(
C_AXIS
);
// Motor B direction
if
(
dx
<
0
)
BITSET
(
dirb
,
X_HEAD
);
// Save the real Extruder (head) direction in X Axis
if
(
dy
<
0
)
BITSET
(
dirb
,
Y_AXIS
);
if
(
dz
<
0
)
BITSET
(
dirb
,
Z_HEAD
);
// ...and Z
if
(
da
<
0
)
BITSET
(
dirb
,
A_AXIS
);
// Motor A direction
if
(
dc
<
0
)
BITSET
(
dirb
,
C_AXIS
);
// Motor B direction
#else
if
(
dx
<
0
)
dirb
|=
BIT
(
X_AXIS
);
if
(
dy
<
0
)
dirb
|=
BIT
(
Y_AXIS
);
if
(
dz
<
0
)
dirb
|=
BIT
(
Z_AXIS
);
if
(
dx
<
0
)
BITSET
(
dirb
,
X_AXIS
);
if
(
dy
<
0
)
BITSET
(
dirb
,
Y_AXIS
);
if
(
dz
<
0
)
BITSET
(
dirb
,
Z_AXIS
);
#endif
if
(
de
<
0
)
dirb
|=
BIT
(
E_AXIS
);
if
(
de
<
0
)
BITSET
(
dirb
,
E_AXIS
);
block
->
direction_bits
=
dirb
;
block
->
active_driver
=
driver
;
...
...
@@ -875,14 +872,14 @@ float junction_deviation = 0.1;
ys1
=
axis_segment_time
[
Y_AXIS
][
1
],
ys2
=
axis_segment_time
[
Y_AXIS
][
2
];
if
(
(
direction_change
&
BIT
(
X_AXIS
))
!=
0
)
{
if
(
TEST
(
direction_change
,
X_AXIS
)
)
{
xs2
=
axis_segment_time
[
X_AXIS
][
2
]
=
xs1
;
xs1
=
axis_segment_time
[
X_AXIS
][
1
]
=
xs0
;
xs0
=
0
;
}
xs0
=
axis_segment_time
[
X_AXIS
][
0
]
=
xs0
+
segment_time
;
if
(
(
direction_change
&
BIT
(
Y_AXIS
))
!=
0
)
{
if
(
TEST
(
direction_change
,
Y_AXIS
)
)
{
ys2
=
axis_segment_time
[
Y_AXIS
][
2
]
=
axis_segment_time
[
Y_AXIS
][
1
];
ys1
=
axis_segment_time
[
Y_AXIS
][
1
]
=
axis_segment_time
[
Y_AXIS
][
0
];
ys0
=
0
;
...
...
@@ -1058,7 +1055,7 @@ float junction_deviation = 0.1;
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
vector_3
plan_get_position
()
{
vector_3
position
=
vector_3
(
st_get_
position_mm
(
X_AXIS
),
st_get_position_mm
(
Y_AXIS
),
st_get
_position_mm
(
Z_AXIS
));
vector_3
position
=
vector_3
(
st_get_
axis_position_mm
(
X_AXIS
),
st_get_axis_position_mm
(
Y_AXIS
),
st_get_axis
_position_mm
(
Z_AXIS
));
//position.debug("in plan_get position");
//plan_bed_level_matrix.debug("in plan_get_position");
...
...
@@ -1076,7 +1073,7 @@ float junction_deviation = 0.1;
#else
void
plan_set_position
(
const
float
&
x
,
const
float
&
y
,
const
float
&
z
,
const
float
&
e
)
#endif // AUTO_BED_LEVELING_FEATURE
{
{
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
apply_rotation_xyz
(
plan_bed_level_matrix
,
x
,
y
,
z
);
#endif
...
...
@@ -1089,8 +1086,8 @@ float junction_deviation = 0.1;
st_set_position
(
nx
,
ny
,
nz
,
ne
);
previous_nominal_speed
=
0.0
;
// Resets planner junction speeds. Assumes start from rest.
for
(
in
t
i
=
0
;
i
<
NUM_AXIS
;
i
++
)
previous_speed
[
i
]
=
0.0
;
}
for
(
uint8_
t
i
=
0
;
i
<
NUM_AXIS
;
i
++
)
previous_speed
[
i
]
=
0.0
;
}
void
plan_set_e_position
(
const
float
&
e
)
{
position
[
E_AXIS
]
=
lround
(
e
*
axis_steps_per_unit
[
E_AXIS
+
active_extruder
]);
...
...
@@ -1100,6 +1097,6 @@ void plan_set_e_position(const float& e) {
// Calculate the steps/s^2 acceleration rates, based on the mm/s^s
void
reset_acceleration_rates
()
{
for
(
in
t
i
=
0
;
i
<
3
+
EXTRUDERS
;
i
++
)
for
(
uint8_
t
i
=
0
;
i
<
3
+
EXTRUDERS
;
i
++
)
axis_steps_per_sqr_second
[
i
]
=
max_acceleration_units_per_sq_second
[
i
]
*
axis_steps_per_unit
[
i
];
}
MK/module/motion/stepper.cpp
View file @
14af5afb
This diff is collapsed.
Click to expand it.
MK/module/motion/stepper.h
View file @
14af5afb
...
...
@@ -117,7 +117,7 @@ void st_set_e_position(const long &e);
long
st_get_position
(
uint8_t
axis
);
// Get current position in mm
float
st_get_position_mm
(
AxisEnum
axis
);
float
st_get_
axis_
position_mm
(
AxisEnum
axis
);
// The stepper subsystem goes to sleep when it runs out of things to execute. Call this
// to notify the subsystem that it is time to go to work.
...
...
MK/module/temperature/temperature.cpp
View file @
14af5afb
...
...
@@ -1006,9 +1006,9 @@ void tp_init() {
#endif // HEATER_0_USES_MAX6675
#ifdef DIDR2
#define ANALOG_SELECT(pin) do{ if (pin < 8)
DIDR0 |= BIT(pin); else DIDR2 |= BIT(
pin - 8); }while(0)
#define ANALOG_SELECT(pin) do{ if (pin < 8)
BITSET(DIDR0, pin); else BITSET(DIDR2,
pin - 8); }while(0)
#else
#define ANALOG_SELECT(pin) do{
DIDR0 |= BIT(
pin); }while(0)
#define ANALOG_SELECT(pin) do{
BITSET(DIDR0,
pin); }while(0)
#endif
// Set analog inputs
...
...
@@ -1084,10 +1084,10 @@ void tp_init() {
// Use timer0 for temperature measurement
// Interleave temperature interrupt with millies interrupt
OCR0B
=
128
;
TIMSK0
|=
BIT
(
OCIE0B
);
BITSET
(
TIMSK0
,
OCIE0B
);
// Wait for temperature measurement to settle
delay
_ms
(
250
);
delay
(
250
);
#define TEMP_MIN_ROUTINE(NR) \
minttemp[NR] = HEATER_ ## NR ## _MINTEMP; \
...
...
@@ -1279,9 +1279,9 @@ void disable_all_heaters() {
max6675_temp
=
0
;
#ifdef PRR
PRR
&=
~
BIT
(
PRSPI
);
BITCLR
(
PRR
,
PRSPI
);
#elif defined(PRR0)
PRR0
&=
~
BIT
(
PRSPI
);
BITCLR
(
PRR0
,
PRSPI
);
#endif
SPCR
=
BIT
(
MSTR
)
|
BIT
(
SPE
)
|
BIT
(
SPR0
);
...
...
@@ -1295,13 +1295,13 @@ void disable_all_heaters() {
// read MSB
SPDR
=
0
;
for
(;
(
SPSR
&
BIT
(
SPIF
))
==
0
;);
for
(;
!
TEST
(
SPSR
,
SPIF
)
;);
max6675_temp
=
SPDR
;
max6675_temp
<<=
8
;
// read LSB
SPDR
=
0
;
for
(;
(
SPSR
&
BIT
(
SPIF
))
==
0
;);
for
(;
!
TEST
(
SPSR
,
SPIF
)
;);
max6675_temp
|=
SPDR
;
// disable TT_MAX6675
...
...
@@ -1649,7 +1649,7 @@ ISR(TIMER0_COMPB_vect) {
#endif // SLOW_PWM_HEATERS
#define SET_ADMUX_ADCSRA(pin) ADMUX = BIT(REFS0) | (pin & 0x07);
ADCSRA |= BIT(
ADSC)
#define SET_ADMUX_ADCSRA(pin) ADMUX = BIT(REFS0) | (pin & 0x07);
BITSET(ADCSRA,
ADSC)
#ifdef MUX5
#define START_ADC(pin) if (pin > 7) ADCSRB = BIT(MUX5); else ADCSRB = 0; SET_ADMUX_ADCSRA(pin)
#else
...
...
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