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
0b6d01a6
Commit
0b6d01a6
authored
Jun 05, 2016
by
Franco (nextime) Lanza
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into k40_noflow_nocooler
parents
42740854
328ca582
Pipeline
#108
skipped
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
69 additions
and
65 deletions
+69
-65
MK_Main.cpp
MK/module/MK_Main.cpp
+66
-62
MK_Main.h
MK/module/MK_Main.h
+1
-1
printcounter.h
MK/module/printcounter/printcounter.h
+1
-1
cardreader.cpp
MK/module/sd/cardreader.cpp
+1
-1
No files found.
MK/module/MK_Main.cpp
View file @
0b6d01a6
...
...
@@ -3117,77 +3117,79 @@ inline void wait_heater(bool no_wait_for_cooling = true) {
KEEPALIVE_STATE
(
IN_HANDLER
);
}
inline
void
wait_bed
(
bool
no_wait_for_cooling
=
true
)
{
#if HAS(TEMP_BED)
inline
void
wait_bed
(
bool
no_wait_for_cooling
=
true
)
{
#if TEMP_BED_RESIDENCY_TIME > 0
millis_t
residency_start_ms
=
0
;
// Loop until the temperature has stabilized
#define TEMP_BED_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_BED_RESIDENCY_TIME) * 1000UL))
#else
// Loop until the temperature is very close target
#define TEMP_BED_CONDITIONS (wants_to_cool ? isCoolingBed() : isHeatingBed())
#endif // TEMP_BED_RESIDENCY_TIME > 0
#if TEMP_BED_RESIDENCY_TIME > 0
millis_t
residency_start_ms
=
0
;
// Loop until the temperature has stabilized
#define TEMP_BED_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_BED_RESIDENCY_TIME) * 1000UL))
#else
// Loop until the temperature is very close target
#define TEMP_BED_CONDITIONS (wants_to_cool ? isCoolingBed() : isHeatingBed())
#endif // TEMP_BED_RESIDENCY_TIME > 0
float
theTarget
=
-
1
;
bool
wants_to_cool
;
cancel_heatup
=
false
;
millis_t
now
,
next_temp_ms
=
0
;
float
theTarget
=
-
1
;
bool
wants_to_cool
;
cancel_heatup
=
false
;
millis_t
now
,
next_temp_ms
=
0
;
KEEPALIVE_STATE
(
NOT_BUSY
);
KEEPALIVE_STATE
(
NOT_BUSY
);
// Wait for temperature to come close enough
do
{
now
=
millis
();
if
(
ELAPSED
(
now
,
next_temp_ms
))
{
//Print Temp Reading every 1 second while heating up.
next_temp_ms
=
now
+
1000UL
;
print_heaterstates
();
#if TEMP_BED_RESIDENCY_TIME > 0
ECHO_M
(
SERIAL_W
);
if
(
residency_start_ms
)
{
long
rem
=
(((
TEMP_BED_RESIDENCY_TIME
)
*
1000UL
)
-
(
now
-
residency_start_ms
))
/
1000UL
;
ECHO_EV
(
rem
);
}
else
{
ECHO_EM
(
"?"
);
}
#else
ECHO_E
;
#endif
}
// Wait for temperature to come close enough
do
{
now
=
millis
();
if
(
ELAPSED
(
now
,
next_temp_ms
))
{
//Print Temp Reading every 1 second while heating up.
next_temp_ms
=
now
+
1000UL
;
print_heaterstates
();
#if TEMP_BED_RESIDENCY_TIME > 0
ECHO_M
(
SERIAL_W
);
if
(
residency_start_ms
)
{
long
rem
=
(((
TEMP_BED_RESIDENCY_TIME
)
*
1000UL
)
-
(
now
-
residency_start_ms
))
/
1000UL
;
ECHO_EV
(
rem
);
}
else
{
ECHO_EM
(
"?"
);
}
#else
ECHO_E
;
#endif
}
// Target temperature might be changed during the loop
if
(
theTarget
!=
degTargetBed
())
{
wants_to_cool
=
isCoolingBed
();
theTarget
=
degTargetBed
();
// Target temperature might be changed during the loop
if
(
theTarget
!=
degTargetBed
())
{
wants_to_cool
=
isCoolingBed
();
theTarget
=
degTargetBed
();
// Exit if S<lower>, continue if S<higher>, R<lower>, or R<higher>
if
(
no_wait_for_cooling
&&
wants_to_cool
)
break
;
// Exit if S<lower>, continue if S<higher>, R<lower>, or R<higher>
if
(
no_wait_for_cooling
&&
wants_to_cool
)
break
;
// Prevent a wait-forever situation if R is misused i.e. M190 R0
// Simply don't wait to cool a bed under 30C
if
(
wants_to_cool
&&
theTarget
<
30
)
break
;
}
// Prevent a wait-forever situation if R is misused i.e. M190 R0
// Simply don't wait to cool a bed under 30C
if
(
wants_to_cool
&&
theTarget
<
30
)
break
;
}
idle
();
refresh_cmd_timeout
();
// to prevent stepper_inactive_time from running out
idle
();
refresh_cmd_timeout
();
// to prevent stepper_inactive_time from running out
#if TEMP_BED_RESIDENCY_TIME > 0
float
temp_diff
=
fabs
(
theTarget
-
degTargetBed
());
#if TEMP_BED_RESIDENCY_TIME > 0
float
temp_diff
=
fabs
(
theTarget
-
degTargetBed
());
if
(
!
residency_start_ms
)
{
// Start the TEMP_BED_RESIDENCY_TIME timer when we reach target temp for the first time.
if
(
temp_diff
<
TEMP_BED_WINDOW
)
residency_start_ms
=
millis
();
}
else
if
(
temp_diff
>
TEMP_BED_HYSTERESIS
)
{
// Restart the timer whenever the temperature falls outside the hysteresis.
residency_start_ms
=
millis
();
}
#endif //TEMP_BED_RESIDENCY_TIME > 0
if
(
!
residency_start_ms
)
{
// Start the TEMP_BED_RESIDENCY_TIME timer when we reach target temp for the first time.
if
(
temp_diff
<
TEMP_BED_WINDOW
)
residency_start_ms
=
millis
();
}
else
if
(
temp_diff
>
TEMP_BED_HYSTERESIS
)
{
// Restart the timer whenever the temperature falls outside the hysteresis.
residency_start_ms
=
millis
();
}
#endif //TEMP_BED_RESIDENCY_TIME > 0
}
while
(
!
cancel_heatup
&&
TEMP_BED_CONDITIONS
);
LCD_MESSAGEPGM
(
MSG_BED_DONE
);
KEEPALIVE_STATE
(
IN_HANDLER
);
}
}
while
(
!
cancel_heatup
&&
TEMP_BED_CONDITIONS
);
LCD_MESSAGEPGM
(
MSG_BED_DONE
);
KEEPALIVE_STATE
(
IN_HANDLER
);
}
#endif // HAS(TEMP_BED)
#if HAS(TEMP_CHAMBER)
inline
void
wait_chamber
(
bool
no_wait_for_heating
=
true
)
{
...
...
@@ -7882,8 +7884,10 @@ inline void gcode_M503() {
setTargetHotend
(
old_target_temperature
[
e
],
e
);
wait_heater
();
}
setTargetBed
(
old_target_temperature_bed
);
wait_bed
();
#if HAS(TEMP_BED)
setTargetBed
(
old_target_temperature_bed
);
wait_bed
();
#endif
}
// Show load message
...
...
MK/module/MK_Main.h
View file @
0b6d01a6
...
...
@@ -121,7 +121,7 @@ inline void refresh_cmd_timeout() { previous_cmd_ms = millis(); }
extern
void
delay_ms
(
millis_t
ms
);
#if ENABLED(FAST_PWM_FAN) || ENABLED(FAST_PWM_COOLER)
void
setPwmFrequency
(
uint8_t
pin
,
uint8_
t
val
);
void
setPwmFrequency
(
uint8_t
pin
,
in
t
val
);
#endif
extern
float
homing_feedrate
[];
...
...
MK/module/printcounter/printcounter.h
View file @
0b6d01a6
...
...
@@ -51,7 +51,7 @@
* @brief Interval in seconds between SDCARD saves
* @details This const value defines what will be the time between each
*/
const
uint32_t
saveInterval
=
SD_CFG_SECONDS
*
1000
;
const
uint32_t
saveInterval
=
(
uint16_t
)
SD_CFG_SECONDS
*
1000
;
/**
* @brief Timestamp of the last call to deltaDuration()
...
...
MK/module/sd/cardreader.cpp
View file @
0b6d01a6
...
...
@@ -200,7 +200,7 @@ bool CardReader::selectFile(const char* filename, bool silent/*=false*/) {
ECHO_EMV
(
SERIAL_SD_SIZE
,
file
.
fileSize
());
}
for
(
int
c
=
0
;
c
<
=
sizeof
(
fullName
);
c
++
)
for
(
int
c
=
0
;
c
<
sizeof
(
fullName
);
c
++
)
const_cast
<
char
&>
(
fullName
[
c
])
=
'\0'
;
strncpy
(
fullName
,
filename
,
strlen
(
filename
));
...
...
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