| 1660 | |
| 1661 | switch (real_heater_id) { |
| 1662 | OPTCODE(HAS_TEMP_COOLER, case H_COOLER: SERIAL_ECHOPGM(STR_COOLER); break) |
| 1663 | OPTCODE(HAS_TEMP_PROBE, case H_PROBE: SERIAL_ECHOPGM(STR_PROBE); break) |
| 1664 | OPTCODE(HAS_TEMP_BOARD, case H_BOARD: SERIAL_ECHOPGM(STR_MOTHERBOARD); break) |
| 1665 | OPTCODE(HAS_TEMP_SOC, case H_SOC: SERIAL_ECHOPGM(STR_SOC); break) |
| 1666 | OPTCODE(HAS_TEMP_CHAMBER, case H_CHAMBER: SERIAL_ECHOPGM(STR_HEATER_CHAMBER); break) |
| 1667 | OPTCODE(HAS_TEMP_BED, case H_BED: SERIAL_ECHOPGM(STR_HEATER_BED); break) |
| 1668 | default: |
| 1669 | if (real_heater_id >= 0) SERIAL_ECHO(C('E'), real_heater_id); |
| 1670 | } |
| 1671 | #if ENABLED(ERR_INCLUDE_TEMP) |
| 1672 | SERIAL_ECHOLNPGM(STR_DETECTED_TEMP_B, deg, STR_DETECTED_TEMP_E); |
| 1673 | #else |
| 1674 | SERIAL_EOL(); |
| 1675 | #endif |
| 1676 | } |
| 1677 | |
| 1678 | disable_all_heaters(); // always disable (even for bogus temp) |
| 1679 | hal.watchdog_refresh(); |
| 1680 | |
| 1681 | #if HAS_BOGUS_TEMPERATURE_GRACE_PERIOD |
| 1682 | |
| 1683 | // During boot the temperature may be unreliable, so when killed == |
| 1684 | // 0: Set the expire time |
| 1685 | // 1: Check the expiration time has elapsed |
| 1686 | // 2: Kill the machine |
| 1687 | // >2: Do nothing |
| 1688 | const millis_t ms = millis(); |
| 1689 | static millis_t expire_ms; |
| 1690 | switch (killed) { |
| 1691 | case 0: |
| 1692 | expire_ms = ms + BOGUS_TEMPERATURE_GRACE_PERIOD; |
| 1693 | ++killed; |
| 1694 | break; |
| 1695 | case 1: |
| 1696 | if (ELAPSED(ms, expire_ms)) ++killed; |
| 1697 | break; |
| 1698 | case 2: |
| 1699 | loud_kill(lcd_msg, heater_id); |
| 1700 | ++killed; |
| 1701 | break; |
| 1702 | } |
| 1703 | |
| 1704 | #else |
| 1705 |
no test coverage detected