// <Octoprint Klipper Plugin>

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
 
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

$(function() {
    function KlipperPidTuningViewModel(parameters) {
        var self = this;
        
        self.heaterName = ko.observable();
        self.targetTemperature = ko.observable();
        
        self.onStartup = function() {
           self.heaterName("");
           self.targetTemperature(190);
        }
        
        self.startTuning = function() {
           OctoPrint.control.sendGcode("PID_CALIBRATE HEATER=" + self.heaterName() + " TARGET=" + self.targetTemperature());
        }
    }

    OCTOPRINT_VIEWMODELS.push({
        construct: KlipperPidTuningViewModel,
        dependencies: [],
        elements: ["#klipper_pid_tuning_dialog"]
    });
});