33 Commits (a0729f0c3aeacaf8db266642038a3977df3f31da)

Author SHA1 Message Date
Simon Oliver 93f0463b21 Allow Edit menu to call fn after edit; Fix PID Ki and Kd display in menus; Actually use changed PID and Max Accel values
Add new 'callback' edit-menu types that call a function after the edit is done. Use this to display and edit Ki and Kd correctly (removing the scaling first and reapplying it after). Also use it to reset maximum stepwise acceleration rates, after updating mm/s^2 rates via menus. (Previously, changes did nothing to affect planner unless saved back to EEPROM, and the machine reset).

Add calls to updatePID() so that PID loop uses updated values whether set by gcode (it already did this), or by restoring defaults, or loading from EEPROM (it didn't do those last two). Similarly, update the maximum step/s^2 accel rates when the mm/s^2 values are changed - whether by menu edits, restore defaults, or EEPROM read.

Refactor the acceleration rate update logic, and the PID scaling logic, into new functions that can be called from wherever, including the callbacks.

Add menu items to allow the z jerk and e jerk to be viewed/edited in the Control->Motion menu, as per xy jerk.

Conflicts:
	Marlin/language.h
12 years ago
daid303 52158dffcc 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. 12 years ago
daid303 587154c01b 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. 12 years ago
Mark Finn 9698f4ea64 bed pid
Conflicts:

	Marlin/Configuration.h
12 years ago
Daid 8503b78876 Added support for 2nd extruder temperature to UltraLCD 13 years ago
Erik van der Zalm 87c4e06c24 Corrected active_extruder when autotemp is used. 13 years ago
Erik van der Zalm c077316b2b Added PID autotune. (experimental)
M303 Starts autotune. Wait till the Kp Ki and Kd constants are printed.
Put these values in Configuration.h
13 years ago
Bernhard 3c1a4aac2b header file simplification 13 years ago
Bernhard 415aadf704 lcd panel bed support
advance and ultipanel not any more in default config
13 years ago
Erik van der Zalm 84d9cf7339 merging 13 years ago
Erik van der Zalm e017228569 Merged multiple extruder support.
Soft PWM. (Sanguinololu can also have PID temperature control)
Interrupt save WRITE for addresses > 0x0FF
13 years ago
Bernhard 3320a5b37d make autotemp compatile for use without pid 13 years ago
Bernhard 88ee053af0 heating up santity, formarly knows as "watchdog", but renamed due to the existance of the real watchdog, works now. 13 years ago
Denis B 4fd75dc813 Working version of multiple extruders (up to 3)
- 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
13 years ago
Bernhard 7714b98da7 solved some compiler warnings that are now visible in arduino 1.0.
Found a couple of unused variables, that I commented.
Tried to solve the program memory warning message, and failed.
13 years ago
Bernhard dfd240b260 overworked autotemp, removed one layer of nesting from the ultralcd. 13 years ago
Bernhard 59205ac5fc 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.
13 years ago
Bernhard e4ab0e5982 more inlines 13 years ago
Bernhard b19c8b74b9 force inline 13 years ago
Bernhard 311627141b Merge branch 'smallopt' into Marlin_v1
Conflicts:
	Marlin/temperature.h
13 years ago
Bernhard 26a1de1e44 force inline 13 years ago
Erik van der Zalm aad4b75b94 First parts 2nd extruder 13 years ago
Bernhard Kubicek c57906b627 fixed bug with adjusting ki in realtime. 13 years ago
Bernhard Kubicek 1d171e9e52 reformating and some minor bugs/things found on the way. 13 years ago
Bernhard Kubicek 1740a83e11 correcting commit errors. 13 years ago
Bernhard Kubicek 2afb7bd4cf refactured temperature.cpp so that there are now abstract functions to access temperatures. 13 years ago
Erik van der Zalm 2e8e8878e5 Corrected temp variables. 13 years ago
Erik van der Zalm 04d3b5537f Merge remote-tracking branch 'origin/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Configuration.h
	Marlin/EEPROMwrite.h
	Marlin/Marlin.h
	Marlin/Marlin.pde
	Marlin/temperature.cpp
	Marlin/temperature.h
	Marlin/thermistortables.h
13 years ago
Erik van der Zalm d15f01e1b4 Temperature changes 13 years ago
Bernhard Kubicek b9ea0651ec Revert "this is not working. Do you maybe know why?"
This reverts commit 8bcdb9f5f0.
13 years ago
Bernhard Kubicek 8bcdb9f5f0 this is not working. Do you maybe know why? 13 years ago
Bernhard Kubicek 00674af3a8 merge from the branch bkubicek/Marlin/zalmmerge 13 years ago
Erik van der Zalm 094afe7c10 Merged Marlin, Marlin non gen6 and Ultimaker changes 13 years ago