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

Thermistor catch-up #26202

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,7 @@
* 13 : 100kΩ Hisens up to 300°C - for "Simple ONE" & "All In ONE" hotend - beta 3950, 1%
* 14 : 100kΩ (R25), 4092K (beta25), 4.7kΩ pull-up, bed thermistor as used in Ender-5 S1
* 15 : 100kΩ Calibrated for JGAurora A5 hotend
* 17 : 100kΩ Dagoma NTC white thermistor
* 18 : 200kΩ ATC Semitec 204GT-2 Dagoma.Fr - MKS_Base_DKU001327
* 22 : 100kΩ GTM32 Pro vB - hotend - 4.7kΩ pullup to 3.3V and 220Ω to analog input
* 23 : 100kΩ GTM32 Pro vB - bed - 4.7kΩ pullup to 3.3v and 220Ω to analog input
Expand All @@ -477,6 +478,7 @@
* 68 : PT100 Smplifier board from Dyze Design
* 70 : 100kΩ bq Hephestos 2
* 75 : 100kΩ Generic Silicon Heat Pad with NTC100K MGB18-104F39050L32
* 666 : 200kΩ Einstart S custom thermistor with 10k pullup.
* 2000 : 100kΩ Ultimachine Rambo TDK NTCG104LH104KT1 NTC100K motherboard Thermistor
*
* ================================================================
Expand Down
79 changes: 26 additions & 53 deletions Marlin/src/lcd/menu/menu_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,113 +100,86 @@ void menu_info_thermistors() {

START_SCREEN();

#define THERM_ITEMS(LBL,HTR,WAT) \
STATIC_ITEM_F(F(LBL ": " THERMISTOR_NAME), SS_INVERT); \
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HTR##_MINTEMP), SS_FULL); \
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HTR##_MAXTEMP), SS_FULL); \
STATIC_ITEM(TERN(WAT, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL) \

#if HAS_EXTRUDERS
#define THERMISTOR_ID TEMP_SENSOR_0
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E0 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_0_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_0_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E0, HEATER_0, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_1 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_1
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E1 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_1_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_1_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
THERM_ITEMS(STR_E1, HEATER_1, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_2 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_2
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E2 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_2_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_2_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E2, HEATER_2, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_3 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_3
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E3 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_3_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_3_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E3, HEATER_3, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_4 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_4
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E4 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_4_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_4_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E4, HEATER_4, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_5 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_5
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E5 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_5_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_5_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E5, HEATER_5, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_6 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_6
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E6 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_6_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_6_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E6, HEATER_6, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_7 != 0
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_7
#include "../thermistornames.h"
STATIC_ITEM_F(F(STR_E7 ": " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_7_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_7_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_HOTENDS, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS(STR_E7, HEATER_7, WATCH_HOTENDS);
#endif

#if HAS_HEATED_BED
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_BED
#include "../thermistornames.h"
STATIC_ITEM_F(F("BED: " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(BED_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(BED_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_BED, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
THERM_ITEMS("BED", BED, WATCH_BED);
#endif

#if HAS_HEATED_CHAMBER
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_CHAMBER
#include "../thermistornames.h"
STATIC_ITEM_F(F("CHAM: " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(CHAMBER_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(CHAMBER_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_CHAMBER, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS("CHAM", CHAMBER, WATCH_CHAMBER);
#endif

#if HAS_COOLER
#undef THERMISTOR_ID
#define THERMISTOR_ID TEMP_SENSOR_COOLER
#include "../thermistornames.h"
STATIC_ITEM_F(F("COOL: " THERMISTOR_NAME), SS_INVERT);
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(COOLER_MINTEMP), SS_FULL);
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(COOLER_MAXTEMP), SS_FULL);
STATIC_ITEM(TERN(WATCH_COOLER, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL);
#undef THERMISTOR_ID
THERM_ITEMS("COOL", COOLER, WATCH_COOLER);
#endif

END_SCREEN();
Expand Down
56 changes: 34 additions & 22 deletions Marlin/src/lcd/thermistornames.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,17 @@
#if THERMISTOR_ID == 1000
#define THERMISTOR_NAME "User Parameters"

// Thermcouples
// SPI RTD/Thermocouple Boards
#elif THERMISTOR_ID == -5
#define THERMISTOR_NAME "MAX31865"
#elif THERMISTOR_ID == -4
#define THERMISTOR_NAME "AD8495"
#elif THERMISTOR_ID == -3
#define THERMISTOR_NAME "MAX31855"
#elif THERMISTOR_ID == -2
#define THERMISTOR_NAME "MAX6675"

// Analog Thermocouple Boards
#elif THERMISTOR_ID == -4
#define THERMISTOR_NAME "AD8495"
#elif THERMISTOR_ID == -1
#define THERMISTOR_NAME "AD595"

Expand Down Expand Up @@ -94,44 +96,54 @@
#define THERMISTOR_NAME "E3104FXT (alt)"
#elif THERMISTOR_ID == 13
#define THERMISTOR_NAME "Hisens 3950"
#elif THERMISTOR_ID == 14
#define THERMISTOR_NAME "100k Ender-5 S1"
#elif THERMISTOR_ID == 15
#define THERMISTOR_NAME "100k JGAurora A5"
#elif THERMISTOR_ID == 17
#define THERMISTOR_NAME "100k Dagoma NTC"
#elif THERMISTOR_ID == 18
#define THERMISTOR_NAME "ATC Semitec 204GT-2"
#elif THERMISTOR_ID == 20
#define THERMISTOR_NAME "Pt100 UltiMB 5v"
#elif THERMISTOR_ID == 21
#define THERMISTOR_NAME "Pt100 UltiMB 3.3v"
#elif THERMISTOR_ID == 201
#define THERMISTOR_NAME "Pt100 OverLord"
#elif THERMISTOR_ID == 60
#define THERMISTOR_NAME "Makers Tool"
#elif THERMISTOR_ID == 70
#define THERMISTOR_NAME "Hephestos 2"
#elif THERMISTOR_ID == 75
#define THERMISTOR_NAME "MGB18"
#elif THERMISTOR_ID == 99
#define THERMISTOR_NAME "100k with 10k pull-up"

// Modified thermistors
#elif THERMISTOR_ID == 30
#define THERMISTOR_NAME "Kis3d EN AW NTC100K/3950"
// Analog Thermistors - 1kΩ pullup
#elif THERMISTOR_ID == 51
#define THERMISTOR_NAME "EPCOS 1K"
#elif THERMISTOR_ID == 52
#define THERMISTOR_NAME "ATC204GT-2 1K"
#elif THERMISTOR_ID == 55
#define THERMISTOR_NAME "ATC104GT-2 1K"
#elif THERMISTOR_ID == 1047
#define THERMISTOR_NAME "PT1000 4K7"
#elif THERMISTOR_ID == 1022
#define THERMISTOR_NAME "PT1000 2K2"
#elif THERMISTOR_ID == 1010
#define THERMISTOR_NAME "PT1000 1K"
#elif THERMISTOR_ID == 147
#define THERMISTOR_NAME "Pt100 4K7"

// Analog Thermistors - 10kΩ pullup - Atypical
#elif THERMISTOR_ID == 99
#define THERMISTOR_NAME "100k with 10k pull-up"

// Analog RTDs (Pt100/Pt1000)
#elif THERMISTOR_ID == 110
#define THERMISTOR_NAME "Pt100 1K"
#elif THERMISTOR_ID == 147
#define THERMISTOR_NAME "Pt100 4K7"
#elif THERMISTOR_ID == 1010
#define THERMISTOR_NAME "PT1000 1K"
#elif THERMISTOR_ID == 1022
#define THERMISTOR_NAME "PT1000 2K2"
#elif THERMISTOR_ID == 1047
#define THERMISTOR_NAME "PT1000 4K7"
#elif THERMISTOR_ID == 20
#define THERMISTOR_NAME "Pt100 UltiMB 5v"
#elif THERMISTOR_ID == 21
#define THERMISTOR_NAME "Pt100 UltiMB 3.3v"
#elif THERMISTOR_ID == 201
#define THERMISTOR_NAME "Pt100 OverLord"

// Modified thermistors
#elif THERMISTOR_ID == 30
#define THERMISTOR_NAME "Kis3d EN AW NTC100K/3950"
#elif THERMISTOR_ID == 666
#define THERMISTOR_NAME "Einstart S"
#elif THERMISTOR_ID == 2000
Expand Down
Loading