From f242783476e2a57f15fbbf250a8d0d67e50f3f07 Mon Sep 17 00:00:00 2001 From: James Gao Date: Sat, 1 Nov 2014 23:07:27 -0700 Subject: [PATCH] Schedule saving complete, add pcb images Most of the UI elements behave as expected, but setting the Running state is not yet complete. Still need to work out how to deal with the profile names on the server side. Added a couple of images for the PCB. Rendered version of the pcb is care of dirtypcb.com, where I ordered the first batch of PCBs. The other image is rendered via EagleCAD. --- circuits/pcb_eagle.png | Bin 0 -> 103444 bytes circuits/pcb_top.png | Bin 0 -> 31158 bytes kiln/server.py | 2 +- kiln/states.py | 3 +- kiln/static/css/temp_monitor.css | 10 ++ kiln/static/js/temp_graph.js | 13 ++- kiln/static/js/temp_monitor.js | 14 +-- kiln/static/js/temp_profile.js | 167 ++++++++++++++++++++++++++----- kiln/templates/main.html | 3 + 9 files changed, 177 insertions(+), 35 deletions(-) create mode 100644 circuits/pcb_eagle.png create mode 100644 circuits/pcb_top.png diff --git a/circuits/pcb_eagle.png b/circuits/pcb_eagle.png new file mode 100644 index 0000000000000000000000000000000000000000..537ba8dd8f86534a3fdb0c0109fdc503c7c20a9a GIT binary patch literal 103444 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 idU#IlvkMZqQwgJ0EYE2mc>(8uP;d literal 0 HcmV?d00001 diff --git a/circuits/pcb_top.png b/circuits/pcb_top.png new file mode 100644 index 0000000000000000000000000000000000000000..11a702090ad2e5fce0dd5d2d59353b52053205ac GIT binary patch literal 31158 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%0AT|A&Yk7e{xoVdM`uVvHGF}%tB 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 this.last().time) { this.temperature.push(data); @@ -69,6 +64,7 @@ var tempgraph = (function(module) { $("#profile_time_start").text(start); //$("#profile_time_finish") = this.profile.time_finish(); $("#profile_info, #profile_actions").hide().removeClass("hidden").slideDown(); + return this.profile; } module.Monitor.prototype.last = function() { return this.temperature[this.temperature.length-1]; @@ -117,7 +113,9 @@ var tempgraph = (function(module) { $("#stop_button").addClass("disabled"); $("#stop_button_navbar").addClass("hidden disabled"); $("#profile_select").removeClass("disabled"); - } + } else if (name == "Profile") { + + } } module.Monitor.prototype._bindUI = function() { $("#temp_scale_C").click(function() { this.setScale("C");}.bind(this)); @@ -155,8 +153,12 @@ var tempgraph = (function(module) { }); $("#profile_list a").click(function(e) { + $("#profile_list li").removeClass("active"); + $(e.target).parent().addClass("active"); $("#profile_name").val($(e.target).text()); var fname = $(e.target).attr("data-fname"); + if (this.profile) + this.profile.cleanup(); $.getJSON("/profile/"+fname, function(data) { this.setProfile(data); }.bind(this)); diff --git a/kiln/static/js/temp_profile.js b/kiln/static/js/temp_profile.js index c982be9..e91624b 100644 --- a/kiln/static/js/temp_profile.js +++ b/kiln/static/js/temp_profile.js @@ -1,49 +1,52 @@ var tempgraph = (function(module) { - module.Profile = function(graph, scale, schedule, start_time) { + module.Profile = function(graph, scale, schedule, start_time, running) { var end = schedule[schedule.length-1][0]; - var days = Math.floor(end / 60 / 60 / 24); - var hours = Math.floor((end - days*60*60*24) / 60 / 60); - var minutes = Math.ceil((end - days*60*60*24 - hours*60*60) / 60); - var daystr = days > 0 ? days + " days, " : ""; - var hourstr = hours > 0 ? hours + " hours": ""; - var minstr = minutes > 0 ? ", "+minutes + " minutes.":"."; this.length = end; - this.time_total = daystr+hourstr+minstr; + this.time_total = juration.stringify(end); this.time_start = start_time; this.schedule = schedule; + this.running = running === undefined ? false : running; this.graph = graph; this.scalefunc = scale; - + + this.drag_start = d3.behavior.drag() + .on("dragstart", function() { + d3.event.sourceEvent.stopPropagation(); + }).on("drag.profile", this.dragStart.bind(this)); + + //Generate the highlight pane to indicate where the profile is running + this.pane_stroke = this.graph.pane.insert("line", ":first-child") + .attr("class", "profile-pane-stroke") + .attr("y1", 0).attr("y2", this.graph.height) + .call(this.drag_start); + this.pane = this.graph.pane.insert("rect", ":first-child") + .attr("class", "profile-pane") + .attr("height", this.graph.height) + .attr("clip-path", "url(#pane)"); + + this.line = this.graph.plot(this._schedule(), "profile-line", true); + //immediately view range from 10 min before to end time of profile var now = new Date(); var rstart = new Date(now.getTime() - 10*60*100); var rend = this.time_finish(now); this.graph.xlim(rstart, rend); - this.pane = this.graph.pane.insert("rect", ":first-child") - .attr("class", "profile-pane") - .attr("height", this.graph.height) - .attr("clip-path", "url(#pane)") - - this.line = this.graph.plot(this._schedule(), "profile-line", true); - this.drag = d3.behavior.drag().origin(function(d) { return {x:this.graph.x(d.x), y:this.graph.y(d.y)}; }.bind(this)).on("dragstart", function(d) { d3.event.sourceEvent.stopPropagation(); this._node = this._findNode(d); - }.bind(this)).on("drag", this.dragNode.bind(this)); + }.bind(this)); this.update(); //events this._bindUI(); } - module.Profile.prototype.time_finish = function(now) { - if (this.time_start instanceof Date) { - return new Date(this.time_start.getTime() + this.length*1000); - } + module.Profile.prototype.time_finish = function() { + var now = this.time_start instanceof Date ? this.time_start : new Date(); return new Date(now.getTime() + this.length*1000); } @@ -55,17 +58,32 @@ var tempgraph = (function(module) { var start_time = this.time_start instanceof Date ? this.time_start : new Date(); var end_time = new Date(start_time.getTime()+this.length*1000); var width = this.graph.x(end_time) - this.graph.x(start_time); + var x = this.graph.x(start_time); this.pane.attr("width", width) .attr("transform","translate("+this.graph.x(start_time)+",0)"); - + this.pane_stroke.attr("x1", x).attr("x2", x); + var join = this.graph.update("profile-line", this._schedule()); join.on("mouseover.profile", this.hoverNode.bind(this)) .on("mouseout.profile", this._hideInfo.bind(this)) .on("dblclick.profile", this.delNode.bind(this)); join.call(this.drag); + + //update the profile info box + var start = this.time_start instanceof Date ? module.format_time(this.time_start) : "Not started"; + var finish = this.time_finish(); + var remain = (finish - (new Date())) / 1000; + $("#profile_time_finish").text(module.format_time(finish)); + $("#profile_time_start").text(start); + $("#profile_time_remain").text(juration.stringify(remain)); } module.Profile.prototype._bindUI = function() { + $("#profile_name").attr("disabled", "disabled"); + $("#profile_actions .btn-success").click(this.save.bind(this)); + $("#profile_actions .btn-primary").click(this.start.bind(this)); + $("#profile_actions .btn-default").click(this.pause.bind(this)); + // Info pane events var updateNode = function() { clearTimeout(this.timeout_infoedit); @@ -97,8 +115,7 @@ var tempgraph = (function(module) { //Graph events this.graph.zoom.on("zoom.profile", this.update.bind(this)); - this.line.marker.on("dblclick", this.delNode.bind(this)); - this.graph.pane.on("dblclick", this.addNode.bind(this)); + this.setState(); } module.Profile.prototype._schedule = function() { var start_time = this.time_start instanceof Date ? this.time_start : new Date(); @@ -152,7 +169,9 @@ var tempgraph = (function(module) { this.update(); //Unlock the save buttons and names - + $("#profile_name").removeAttr("disabled"); + $("#profile_actions .btn-success").removeClass("disabled"); + $("#profile_actions .btn-primary").addClass("disabled"); } module.Profile.prototype._showInfo = function(node) { this._node = node; @@ -193,6 +212,9 @@ var tempgraph = (function(module) { } } this.update(); + $("#profile_name").removeAttr("disabled"); + $("#profile_actions .btn-success").removeClass("disabled"); + $("#profile_actions .btn-primary").addClass("disabled"); } module.Profile.prototype.delNode = function(d) { d3.event.stopPropagation(); @@ -205,6 +227,9 @@ var tempgraph = (function(module) { } } this.update(); + $("#profile_name").removeAttr("disabled"); + $("#profile_actions .btn-success").removeClass("disabled"); + $("#profile_actions .btn-primary").addClass("disabled"); } module.Profile.prototype.dragNode = function(d) { var time = this.graph.x.invert(d3.event.x); @@ -215,6 +240,98 @@ var tempgraph = (function(module) { clearTimeout(this.timeout_infohide); this._showInfo(d.id); } + module.Profile.prototype.dragStart = function() { + this.time_start = this.graph.x.invert(d3.event.x); + if (this.time_start > new Date()) + this.time_start = null; + this.update(); + } + + module.Profile.prototype.save = function() { + //convert name into filename + var rawname = $("#profile_name").val(); + var name = rawname.replace(/ /gi, "_"); + name = name.replace(/Δ/gi, "^"); + name += ".json"; + + var post = {schedule:JSON.stringify(this.schedule)}; + + $.post("/profile/"+name, post).done(function(result) { + if (result.type == "success") { + $("#profile_name").attr("disabled", "disabled"); + $("#profile_actions .btn-success").addClass("disabled"); + //Check if the name exists in the menu, otherwise add new entry + var notnew = false; + $("#profile_list a").each(function() { + console.log($(this).data("fname"), $(this).data("fname") == name); + notnew = $(this).data("fname") == name || notnew; + }); + if (!notnew) { + //Add a new entry into the profile list dropdown + $("#profile_list li").removeClass("active"); + var html = "
  • "+rawname+"
  • "; + $("#profile_list").append(html).addClass("active").select("a") + .click(function(e) { + $("#profile_list a").removeClass("active"); + $(e.target).addClass("active"); + $("#profile_name").val($(e.target).text()); + var fname = $(e.target).attr("data-fname"); + this.cleanup(); + $.getJSON("/profile/"+fname, function(data) { + monitor.setProfile(data); + }); + }.bind(this)); + } + this.setState(false); + } else if (result.type == "error") { + alert(result.msg); + } + }.bind(this)); + + } + module.Profile.prototype.setState = function(running) { + this.running = running === undefined ? this.running : running; + console.log("Set State: ", this.running); + if (this.running) { + this.line.marker.on("dblclick.profile", null); + this.graph.pane.on("dblclick.profile", null); + $("#profile-node-info input").attr("disabled", "disabled"); + this.drag.on("drag.profile", null); + this.drag_start.on("drag.profile", null); + $("#profile_actions .btn-success").addClass("disabled"); + $("#profile_actions .btn-primary").addClass("disabled"); + $("#profile_actions .btn-default").removeClass("disabled"); + } else { + this.line.marker.on("dblclick.profile", this.delNode.bind(this)); + this.graph.pane.on("dblclick.profile", this.addNode.bind(this)); + $("#profile-node-info input").removeAttr("disabled"); + this.drag.on("drag.profile", this.dragNode.bind(this)); + this.drag_start.on("drag.profile", this.dragStart.bind(this)); + $("#profile_actions .btn-success").addClass("disabled"); + $("#profile_actions .btn-primary").removeClass("disabled"); + $("#profile_actions .btn-default").addClass("disabled"); + } + } + module.Profile.prototype.cleanup = function() { + this.graph.remove("profile-line"); + this.pane.remove(); + this.pane_stroke.remove(); + } + module.Profile.prototype.pause = function() { + $("#profile_actions .btn-default").addClass("disabled"); + + //TODO: ajax query + this.setState(false) + } + module.Profile.prototype.start = function() { + $("#profile_actions .btn-primary").addClass("disabled"); + + //TODO: ajax query + //This should be done by the query + this.setState(true); + if (!(this.time_start instanceof Date)) + this.time_start = new Date(); + } return module; diff --git a/kiln/templates/main.html b/kiln/templates/main.html index 5254381..5c59653 100644 --- a/kiln/templates/main.html +++ b/kiln/templates/main.html @@ -96,6 +96,8 @@
    Finish at
    +
    Remaining
    +
    @@ -139,6 +141,7 @@ d3.json("temperature.json", function(error, data) { monitor = new tempgraph.Monitor(data); monitor.setState("{{ state }}"); + });