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

[FR] "HotBed" Idle Timeout #27033

Open
danihmorais opened this issue Apr 29, 2024 · 3 comments
Open

[FR] "HotBed" Idle Timeout #27033

danihmorais opened this issue Apr 29, 2024 · 3 comments
Labels

Comments

@danihmorais
Copy link

Is your feature request related to a problem? Please describe.

No response

Are you looking for hardware support?

No response

Describe the feature you want

Sorry bad English. I think that is cool to implement a function like HOTEND_IDLE_TIMEOUT, but for Hot Bed. Actually, this only verify the temperature hotend. It could be better, (for security too), if have a option for Hot Bed, avoid that a hot bed stay warming up forever. Suppose, for example, that I manually set 110º ONLY for the Hot BED, and not for hot end, and forget that I did that, it will stay there heating up, since the function HOTEND_IDLE_TIMEOUT will not be activated.

If this already exists, could you show me where and how? Thank you.

Additional context

No response

@danihmorais danihmorais added the T: Feature Request Features requested by users. label Apr 29, 2024
@classicrocker883
Copy link
Contributor

classicrocker883 commented May 5, 2024

Bed should get turned off at same time hotend idle timeout

look at void HotendIdleProtection::timed_out()

Marlin\src\feature\hotend_idle.cpp

void HotendIdleProtection::check() {
  const millis_t ms = millis();                   // Shared millis

  check_hotends(ms);                              // Any hotends need protection?
  check_e_motion(ms);                             // Motion will protect them

  // Hot and not moving for too long...
  if (next_protect_ms && ELAPSED(ms, next_protect_ms))
    timed_out();
}

// Lower (but don't raise) hotend / bed temperatures
void HotendIdleProtection::timed_out() {
  next_protect_ms = 0;
  SERIAL_ECHOLNPGM("Hotend Idle Timeout");
  LCD_MESSAGE(MSG_HOTEND_IDLE_TIMEOUT);
  HOTEND_LOOP() {
    if (cfg.nozzle_target < thermalManager.degTargetHotend(e))
      thermalManager.setTargetHotend(cfg.nozzle_target, e);
  }
  #if HAS_HEATED_BED
    if (cfg.bed_target < thermalManager.degTargetBed())
      thermalManager.setTargetBed(cfg.bed_target);
  #endif
}

@thisiskeithb
Copy link
Member

Bed should get turned off at same time hotend idle timeout

Yes, but it relies on HOTEND_IDLE_TIMEOUT being enabled and above the set point. There’s no “BED_IDLE_TIMEOUT”-like feature where there’s a timeout if only the bed is heated.

@danihmorais
Copy link
Author

Yes, but it relies on HOTEND_IDLE_TIMEOUT being enabled and above the set point. There’s no “BED_IDLE_TIMEOUT”-like feature where there’s a timeout if only the bed is heated.

Exactly.

@thisiskeithb thisiskeithb changed the title [FR] (feature summary) "HotBed" Idle Timeout [FR] "HotBed" Idle Timeout May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants