Open smithwinston opened 8 years ago
Interesting find. Makes sense though as the 0C is used to end the reflow cycle (as none of the cycles run the full length). It's not an optimal solution but was the easiest thing to get going trying to be compatible with the original firmware. Having timing stages with ramp and soak times with from/to temperatures would make a lot more sense (as has been implemented in other controllers). If the first value is 0C that should probably be ignored.
Inadvertently, I had missed setting the very first temp value at 000s, so when I hit
S
to start the profile, the oven would just pulse the fan/heater and LEDs and beep as if it had finished.It was only after seeing the code, in particular reflow.c, line 257 that I saw that
Reflow_Run()
will exit upon finding the first zero value. Sure enough, when I went back to check on the oven, the 000s temp was set to 0C -- I couldn't see it because it was obscured by the Y-axis.This could be solved by having the validation code look for intermediate 0C temps in the profile; upon finding non-zero values following a zero value, it could either report an error when trying to start the profile, or simply interpolate the missing value from it's neighbors.