Browse Source

Merge pull request #4721 from thinkyhead/rc_temperature_isr_comments

Rc temperature isr comments
pull/1/head
Scott Lahteine 8 years ago
committed by GitHub
parent
commit
7e893f4309
  1. 3
      Marlin/enum.h
  2. 11
      Marlin/planner.cpp
  3. 10
      Marlin/temperature.cpp

3
Marlin/enum.h

@ -70,7 +70,8 @@ enum DebugFlags {
DEBUG_ERRORS = _BV(2), ///< Not implemented DEBUG_ERRORS = _BV(2), ///< Not implemented
DEBUG_DRYRUN = _BV(3), ///< Ignore temperature setting and E movement commands DEBUG_DRYRUN = _BV(3), ///< Ignore temperature setting and E movement commands
DEBUG_COMMUNICATION = _BV(4), ///< Not implemented DEBUG_COMMUNICATION = _BV(4), ///< Not implemented
DEBUG_LEVELING = _BV(5) ///< Print detailed output for homing and leveling DEBUG_LEVELING = _BV(5), ///< Print detailed output for homing and leveling
DEBUG_ALL = 0xFF
}; };
enum EndstopEnum { enum EndstopEnum {

11
Marlin/planner.cpp

@ -567,6 +567,17 @@ void Planner::check_axes_activity() {
dy = target[Y_AXIS] - position[Y_AXIS], dy = target[Y_AXIS] - position[Y_AXIS],
dz = target[Z_AXIS] - position[Z_AXIS]; dz = target[Z_AXIS] - position[Z_AXIS];
/*
SERIAL_ECHO_START;
SERIAL_ECHOPAIR("Planner X:", x);
SERIAL_ECHOPAIR(" (", dx);
SERIAL_ECHOPAIR(") Y:", y);
SERIAL_ECHOPAIR(" (", dy);
SERIAL_ECHOPAIR(") Z:", z);
SERIAL_ECHOPAIR(" (", dz);
SERIAL_ECHOLNPGM(")");
//*/
// DRYRUN ignores all temperature constraints and assures that the extruder is instantly satisfied // DRYRUN ignores all temperature constraints and assures that the extruder is instantly satisfied
if (DEBUGGING(DRYRUN)) if (DEBUGGING(DRYRUN))
position[E_AXIS] = target[E_AXIS]; position[E_AXIS] = target[E_AXIS];

10
Marlin/temperature.cpp

@ -1399,7 +1399,12 @@ void Temperature::set_current_temp_raw() {
} }
/** /**
* Timer 0 is shared with millies * Timer 0 is shared with millies so don't change the prescaler.
*
* This ISR uses the compare method so it runs at the base
* frequency (16 MHz / 256 = 62500 Hz), but at the TCNT0 set
* in OCR0B above (128 or halfway between OVFs).
*
* - Manage PWM to all the heaters and fan * - Manage PWM to all the heaters and fan
* - Update the raw temperature values * - Update the raw temperature values
* - Check new temperature values for MIN/MAX errors * - Check new temperature values for MIN/MAX errors
@ -1515,6 +1520,7 @@ void Temperature::isr() {
#endif #endif
#endif #endif
// 488.28 Hz (or 1:976.56, 2:1953.12, 3:3906.25, 4:7812.5, 5:7812.5 6:15625, 6:15625 7:31250)
pwm_count += _BV(SOFT_PWM_SCALE); pwm_count += _BV(SOFT_PWM_SCALE);
pwm_count &= 0x7f; pwm_count &= 0x7f;
@ -1523,7 +1529,7 @@ void Temperature::isr() {
/** /**
* SLOW PWM HEATERS * SLOW PWM HEATERS
* *
* for heaters drived by relay * For relay-driven heaters
*/ */
#ifndef MIN_STATE_TIME #ifndef MIN_STATE_TIME
#define MIN_STATE_TIME 16 // MIN_STATE_TIME * 65.5 = time in milliseconds #define MIN_STATE_TIME 16 // MIN_STATE_TIME * 65.5 = time in milliseconds

Loading…
Cancel
Save