Long thermistor tables need special consideration
This commit is contained in:
		| @@ -54,10 +54,10 @@ | ||||
| #if HOTEND_USES_THERMISTOR | ||||
|   #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) | ||||
|     static void* heater_ttbl_map[2] = { (void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE }; | ||||
|     static uint8_t heater_ttbllen_map[2] = { HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN }; | ||||
|     static constexpr uint8_t heater_ttbllen_map[2] = { HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN }; | ||||
|   #else | ||||
|     static void* heater_ttbl_map[HOTENDS] = ARRAY_BY_HOTENDS((void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE, (void*)HEATER_2_TEMPTABLE, (void*)HEATER_3_TEMPTABLE, (void*)HEATER_4_TEMPTABLE); | ||||
|     static uint8_t heater_ttbllen_map[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN, HEATER_3_TEMPTABLE_LEN, HEATER_4_TEMPTABLE_LEN); | ||||
|     static constexpr uint8_t heater_ttbllen_map[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN, HEATER_3_TEMPTABLE_LEN, HEATER_4_TEMPTABLE_LEN); | ||||
|   #endif | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -184,21 +184,26 @@ | ||||
| #ifdef THERMISTORBED | ||||
|   #define BEDTEMPTABLE TT_NAME(THERMISTORBED) | ||||
|   #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) | ||||
| #elif defined(HEATER_BED_USES_THERMISTOR) | ||||
|   #error "No bed thermistor table specified" | ||||
| #else | ||||
|   #ifdef HEATER_BED_USES_THERMISTOR | ||||
|     #error "No bed thermistor table specified" | ||||
|   #endif | ||||
|   #define BEDTEMPTABLE_LEN 0 | ||||
| #endif | ||||
|  | ||||
| #ifdef THERMISTORCHAMBER | ||||
|   #define CHAMBERTEMPTABLE TT_NAME(THERMISTORCHAMBER) | ||||
|   #define CHAMBERTEMPTABLE_LEN COUNT(CHAMBERTEMPTABLE) | ||||
| #elif defined(HEATER_CHAMBER_USES_THERMISTOR) | ||||
|   #error "No chamber thermistor table specified" | ||||
| #else | ||||
|   #ifdef HEATER_CHAMBER_USES_THERMISTOR | ||||
|     #error "No chamber thermistor table specified" | ||||
|   #endif | ||||
|   #define CHAMBERTEMPTABLE_LEN 0 | ||||
| #endif | ||||
|  | ||||
| // The SCAN_THERMISTOR_TABLE macro needs alteration? | ||||
| static_assert(HEATER_0_TEMPTABLE_LEN < 128 && HEATER_1_TEMPTABLE_LEN < 128 && HEATER_2_TEMPTABLE_LEN < 128 && HEATER_3_TEMPTABLE_LEN < 128 && HEATER_4_TEMPTABLE_LEN < 128 && BEDTEMPTABLE_LEN < 128 && CHAMBERTEMPTABLE_LEN < 128, | ||||
|   "Temperature conversion tables over 127 entries need special consideration." | ||||
| ); | ||||
|  | ||||
| // Set the high and low raw values for the heaters | ||||
| // For thermistors the highest temperature results in the lowest ADC value | ||||
| // For thermocouples the highest temperature results in the highest ADC value | ||||
|   | ||||
		Reference in New Issue
	
	Block a user