Other requested changes
This commit is contained in:
parent
e0bf92cd4e
commit
654a3a0d79
|
|
@ -152,8 +152,11 @@ uint8_t fanSpeedBckp = 255;
|
||||||
bool fan_measuring = false;
|
bool fan_measuring = false;
|
||||||
uint8_t fanState = 0;
|
uint8_t fanState = 0;
|
||||||
#ifdef EXTRUDER_ALTFAN_DETECT
|
#ifdef EXTRUDER_ALTFAN_DETECT
|
||||||
bool extruderFanIsAltfan = false; //set to Noctua
|
struct
|
||||||
uint8_t altfanOverride = 0;
|
{
|
||||||
|
uint8_t isAltfan : 1;
|
||||||
|
uint8_t altfanOverride : 1;
|
||||||
|
} altfanStatus;
|
||||||
#endif //EXTRUDER_ALTFAN_DETECT
|
#endif //EXTRUDER_ALTFAN_DETECT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -226,12 +229,13 @@ bool extruder_altfan_detect()
|
||||||
|
|
||||||
SET_INPUT(TACH_0);
|
SET_INPUT(TACH_0);
|
||||||
|
|
||||||
altfanOverride = eeprom_read_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE);
|
uint8_t overrideVal = eeprom_read_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE);
|
||||||
if (altfanOverride == EEPROM_EMPTY_VALUE)
|
if (overrideVal == EEPROM_EMPTY_VALUE)
|
||||||
{
|
{
|
||||||
altfanOverride = 0;
|
overrideVal = 0;
|
||||||
eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, altfanOverride);
|
eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, overrideVal);
|
||||||
}
|
}
|
||||||
|
altfanStatus.altfanOverride = overrideVal;
|
||||||
|
|
||||||
CRITICAL_SECTION_START;
|
CRITICAL_SECTION_START;
|
||||||
EICRB &= ~(1 << ISC61);
|
EICRB &= ~(1 << ISC61);
|
||||||
|
|
@ -246,20 +250,20 @@ bool extruder_altfan_detect()
|
||||||
EIMSK &= ~(1 << INT6);
|
EIMSK &= ~(1 << INT6);
|
||||||
|
|
||||||
countFanSpeed();
|
countFanSpeed();
|
||||||
extruderFanIsAltfan = fan_speed[0] > 100;
|
altfanStatus.isAltfan = fan_speed[0] > 100;
|
||||||
setExtruderAutoFanState(1);
|
setExtruderAutoFanState(1);
|
||||||
return extruderFanIsAltfan;
|
return altfanStatus.isAltfan;
|
||||||
}
|
}
|
||||||
|
|
||||||
void altfanOverride_toggle()
|
void altfanOverride_toggle()
|
||||||
{
|
{
|
||||||
altfanOverride = !altfanOverride;
|
altfanStatus.altfanOverride = !altfanStatus.altfanOverride;
|
||||||
eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, altfanOverride);
|
eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, altfanStatus.altfanOverride);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool altfanOverride_get()
|
bool altfanOverride_get()
|
||||||
{
|
{
|
||||||
return altfanOverride;
|
return altfanStatus.altfanOverride;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //EXTRUDER_ALTFAN_DETECT
|
#endif //EXTRUDER_ALTFAN_DETECT
|
||||||
|
|
@ -515,7 +519,7 @@ void setExtruderAutoFanState(uint8_t state)
|
||||||
if (fanState & 0x01)
|
if (fanState & 0x01)
|
||||||
{
|
{
|
||||||
#ifdef EXTRUDER_ALTFAN_DETECT
|
#ifdef EXTRUDER_ALTFAN_DETECT
|
||||||
if (extruderFanIsAltfan && !altfanOverride) newFanSpeed = EXTRUDER_ALTFAN_SPEED_SILENT;
|
if (altfanStatus.isAltfan && !altfanStatus.altfanOverride) newFanSpeed = EXTRUDER_ALTFAN_SPEED_SILENT;
|
||||||
else newFanSpeed = EXTRUDER_AUTO_FAN_SPEED;
|
else newFanSpeed = EXTRUDER_AUTO_FAN_SPEED;
|
||||||
#else //EXTRUDER_ALTFAN_DETECT
|
#else //EXTRUDER_ALTFAN_DETECT
|
||||||
newFanSpeed = EXTRUDER_AUTO_FAN_SPEED;
|
newFanSpeed = EXTRUDER_AUTO_FAN_SPEED;
|
||||||
|
|
@ -1377,7 +1381,7 @@ void temp_runaway_stop(bool isPreheat, bool isBed)
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
isBed ? SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HEATBED)") : SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HOTEND)");
|
isBed ? SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HEATBED)") : SERIAL_ERRORLNPGM(" THERMAL RUNAWAY ( PREHEAT HOTEND)");
|
||||||
#ifdef EXTRUDER_ALTFAN_DETECT
|
#ifdef EXTRUDER_ALTFAN_DETECT
|
||||||
altfanOverride = 1; //full speed
|
altfanStatus.altfanOverride = 1; //full speed
|
||||||
#endif //EXTRUDER_ALTFAN_DETECT
|
#endif //EXTRUDER_ALTFAN_DETECT
|
||||||
setExtruderAutoFanState(3);
|
setExtruderAutoFanState(3);
|
||||||
SET_OUTPUT(FAN_PIN);
|
SET_OUTPUT(FAN_PIN);
|
||||||
|
|
@ -1467,7 +1471,7 @@ void max_temp_error(uint8_t e) {
|
||||||
WRITE(FAN_PIN, 1);
|
WRITE(FAN_PIN, 1);
|
||||||
WRITE(BEEPER, 1);
|
WRITE(BEEPER, 1);
|
||||||
#ifdef EXTRUDER_ALTFAN_DETECT
|
#ifdef EXTRUDER_ALTFAN_DETECT
|
||||||
altfanOverride = 1; //full speed
|
altfanStatus.altfanOverride = 1; //full speed
|
||||||
#endif //EXTRUDER_ALTFAN_DETECT
|
#endif //EXTRUDER_ALTFAN_DETECT
|
||||||
setExtruderAutoFanState(3);
|
setExtruderAutoFanState(3);
|
||||||
// fanSpeed will consumed by the check_axes_activity() routine.
|
// fanSpeed will consumed by the check_axes_activity() routine.
|
||||||
|
|
|
||||||
|
|
@ -2116,7 +2116,7 @@ static void lcd_support_menu()
|
||||||
bool is_flash_air; // 1byte
|
bool is_flash_air; // 1byte
|
||||||
uint8_t ip[4]; // 4bytes
|
uint8_t ip[4]; // 4bytes
|
||||||
char ip_str[3*4+3+1]; // 16bytes
|
char ip_str[3*4+3+1]; // 16bytes
|
||||||
uint8_t experimental_menu_visibility; //1byte
|
uint8_t experimental_menu_visibility; // 1byte
|
||||||
} _menu_data_t;
|
} _menu_data_t;
|
||||||
static_assert(sizeof(menu_data)>= sizeof(_menu_data_t),"_menu_data_t doesn't fit into menu_data");
|
static_assert(sizeof(menu_data)>= sizeof(_menu_data_t),"_menu_data_t doesn't fit into menu_data");
|
||||||
_menu_data_t* _md = (_menu_data_t*)&(menu_data[0]);
|
_menu_data_t* _md = (_menu_data_t*)&(menu_data[0]);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue