Conversation
| // There has been a recent error, if was more than a second ago, it is probably an error | ||
| else if (millis() > time_since_last_err[e] + TEMP_ERROR_INTERVAL) { | ||
| if(!Cartridge__FFFNotPresentHysteresis()) | ||
| if(Cartridge__Present(e)) |
There was a problem hiding this comment.
So the point of the Cartridge__FFFNotPresentHysteresis function isn't to provide hysteresis for the error, it's to provide a time delay after the cartridge is inserted before triggering the error. If this isn't done, the error will be checked before the first temperature reading is taken from the cartridge. The temp will be reported as 1100, and the protection will be tripped. I would test this extensively before removing Cartridge__FFFNotPresentHysteresis, as I don't think this will work to prevent that scenario.
There was a problem hiding this comment.
Also this should be in a separate pull request if it were to be made, it doesn't concern the heated build chamber.
There was a problem hiding this comment.
Good point. The change I made is not equivalent to the original code as I initially thought.
As we discussed, setting time_since_last_err[e] = millis() when the cartridge is inserted might be a way to avoid triggering this error, but still maintain the modularity of the original cartridge insertion code.
The reason it is in this branch is because we need the same temperature/cartridge handling now that we have enabled the thermistor in T1 for heated build chamber. I COULD separate that into it's own branch... maybe...
There was a problem hiding this comment.
Additionally, this requires that TEMP_ERROR_INTERVAL is enough time for the temperature reading to stabilize and not throw an error. We will need to check that.
| } | ||
| else if (millis() > time_since_last_err[e] + TEMP_ERROR_INTERVAL) { | ||
| _temp_error(e, PSTR(MSG_T_MINTEMP), PSTR(MSG_ERR_MINTEMP)); | ||
| if (Cartridge__GetPresentCheck()) { |
There was a problem hiding this comment.
This doesn't fix the previous comment if the cartridge is removed and then inserted again.
Removes unnecessary duplicate readouts
Reverted non working change
|
I can't change the file as is due to git, so to make this work here are the changes you'll need to make: configuration_adv.h line 44 (every other interval I tried was too short and brought false positives): temperature.h line 46: cartridge.cpp line 229 (before break): Appropriate changes have been made elsewhere. |
Fixed cartridge checking
Heated Build Chamber
Description
Makes it hot. Consistently.
Requirements