Big temperature code update. No longer converts back and forwards between temperature and raw sample value. Reducing complexity, removing code. Also named some variables better. While keeping the safety intact and functionality the same.
Fix the WATCHPERIOD implementation. It did not work correctly in a multi extruder setup, it did not work after 32 seconds after startup (int16 used as millies timestamp). And it did not work if you gave an M104 or M109 when the target was already around the target setpoint. So on average, it did not work at all. The new implementation should be robust in detecting a failure to heat up.
- The temperature control is pretty much complete
(not sure what to do w/ autotemp though)
Changed the pins assignment to clearly separate bed and extruder heaters
and temp sensors, changed a bit how termistor tables are handled.
- The steppers control is rudimentary
(only chanages what pins it uses depending on the active_extruder var,
but that's enough for switching extruder in the start.gcode in the
the profiles)
- Tested only w/ RAMPS 1.4
preliminiary implementation for the early heating finish.
Might be replaced by something more clever, e.g. by erik, and does not yet support the second extruder or the bed.
its kind of not so cool, because you need 6 more ints.
Maybe isheating() should use the degrees directly, as it is not used in time-critical anyways.
Then it would be much easier. to have the offsets without additional variables.