Add SuperPINDA support for MK2.5/S
- Changed DETECT_SUPERPINDA to SUPERPINDA_SUPPORT as on miniRAMo the thermistor readings below 30°C aren't accurate egnough to determine if SUPERPINDA is connected or not - Add LCD toggle menu Settings -> HW Setup -> SuperPINDA [Yes/No] to overwrite SuperPINDA detection - If EEPROM_PINDA_TEMP_COMPENSTATION is empty = 0xff then detect SuperPINDA by checking thermistor - If EEPROM_PINDA_TEMP_COMPENSTAION is 0 then forec enable for temperature compensation menues and functions - If EEPROM_PINDA_TEMP_COMPENSATION is 1 then force disable for temperature compensation menues and functions
This commit is contained in:
parent
a8ed6cefcf
commit
62c36f718b
11 changed files with 52 additions and 10 deletions
Firmware
|
@ -4572,7 +4572,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|||
The Original i3 Prusa MK2/s uses PINDAv1 and this calibration improves the temperature drift, but not as good as the PINDAv2.
|
||||
|
||||
superPINDA sensor has internal temperature compensation and no thermistor output. There is no point of doing temperature calibration in such case.
|
||||
If PINDA_THERMISTOR and DETECT_SUPERPINDA is defined during compilation, calibration is skipped with serial message "No PINDA thermistor".
|
||||
If PINDA_THERMISTOR and SUPERPINDA_SUPPORT is defined during compilation, calibration is skipped with serial message "No PINDA thermistor".
|
||||
This can be caused also if PINDA thermistor connection is broken or PINDA temperature is lower than PINDA_MINTEMP.
|
||||
|
||||
#### Example
|
||||
|
@ -10502,9 +10502,9 @@ float temp_comp_interpolation(float inp_temperature) {
|
|||
#ifdef PINDA_THERMISTOR
|
||||
constexpr int start_compensating_temp = 35;
|
||||
temp_C[i] = start_compensating_temp + i * 5; //temperature in degrees C
|
||||
#ifdef DETECT_SUPERPINDA
|
||||
static_assert(start_compensating_temp >= PINDA_MINTEMP, "Temperature compensation start point is lower than PINDA_MINTEMP.");
|
||||
#endif //DETECT_SUPERPINDA
|
||||
#ifdef SUPERPINDA_SUPPORT
|
||||
static_assert(start_compensating_temp >= PINDA_MINTEMP, "Temperature compensation start point is lower than PINDA_MINTEMP.");
|
||||
#endif //SUPERPINDA_SUPPORT
|
||||
#else
|
||||
temp_C[i] = 50 + i * 10; //temperature in C
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue