Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RC7 - MINTEMP not triggered #4698

Closed
ViperWorx opened this issue Aug 24, 2016 · 8 comments
Closed

RC7 - MINTEMP not triggered #4698

ViperWorx opened this issue Aug 24, 2016 · 8 comments

Comments

@ViperWorx
Copy link

Hi,

I've just put RC7 on one of my Migbot Prusa i3s. While swapping out the layer fan I managed to break the thermistor lead, however MINTEMP wasn't triggered. I can't see any particular updates since it was downloaded on the 13th, I've just got around to configuring it now.

All thermal protections are set.

Configs:
http://pastebin.com/JKnEyqvr - configuration.h
http://pastebin.com/vva6eLCQ - configuration_adv.h

Machine runs a MKS Base 1.2, but is set to RAMPS 1.4 EFB as it's quicker to configure the extruder fan using pin 7 that way (E1 on the MKS).

I can't see any issues with the config and apart from that the printer is working fine.

@thinkyhead
Copy link
Member

We received a request not to throw the error until you set the temperature to non-zero. See if you get an error when you set the temperature.

@ghost
Copy link

ghost commented Oct 14, 2016

I've perceived that MINTEMP Error isn't thrown when any thermistor isn't connected, since RC7. RC6 throw error.
Is this intended behavior?

@Blue-Marlin
Copy link
Contributor

Yes. That was one of the changes made necessary by the support for high temperature thermistors.
#4698 (comment)

@ghost
Copy link

ghost commented Oct 14, 2016

high temp... ah, maybe this. #4244 (Dyze High Temp Thermistor Support)
I see, thanks for the teaching.

@Blue-Marlin
Copy link
Contributor

Blue-Marlin commented Oct 14, 2016

https://github.com/MarlinFirmware/Marlin/blob/RCBugFix/Marlin/temperature.cpp#L1783-L1792`
and the folowing bloks for the other heaters.
&& target_temperature[0] > 0.0f

I also tripped in that trap (RCBugFix: MINTEMP error broken #4396)

@Blue-Marlin
Copy link
Contributor

Blue-Marlin commented Oct 15, 2016

Very ugly code.
Maybe something like:

constexpr int temp_direction[EXTRUDERS] = {
  #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
    -1
  #else
    1
  #endif
  #if HAS_TEMP_1 && HOTENDS > 1
    #if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
      , -1
    #else
      , 1
    #endif
  #endif
  . . .
}; // end temp_direction array 

HOTEND_LOOP() {
  if (temp_direction[e] * current_temperature_raw[e] >= temp_direction[e] * maxttemp_raw[e]) max_temp_error(e);
  if (temp_direction[e] * minttemp_raw[e] >= temp_direction[e] * current_temperature_raw[e] && !is_preheating(e) && target_temperature[e] > 0.0f) {
...
}

could be less ugly.

EDITED

@thinkyhead
Copy link
Member

thinkyhead commented Oct 22, 2016

@Blue-Marlin I like your solution to the ugly code. I might have to go that way.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants