brewer-server 0.0.2 → 0.0.03
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/brewer/server.rb +1 -32
- metadata +2 -45
- data/views/index.erb +0 -152
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d7d1bb3292478ee9b1f0dcc5b1b9d394795b626
|
4
|
+
data.tar.gz: 5e94bd3f0072cd0fe7def07cb493916c4ce1e583
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b720643b287530ef63d6f78ea9538a0421739905cbb86cde87680386bf90681fd12664e39ba64725f30b82d64d1be7f1b2af56bf10ec72ddd3a4ee3ad71a37d
|
7
|
+
data.tar.gz: c354d6dff6262918e97ca8a50824f96af45fe6c8dc8cbca881133a8cb2e025ffc1f055ccb659d99a94fd08bea0609365495455fb621b41f86dbc1ed92d5808f7
|
data/lib/brewer/server.rb
CHANGED
@@ -1,45 +1,14 @@
|
|
1
1
|
require 'sinatra/base'
|
2
|
-
require "sinatra/sse"
|
3
|
-
require 'rack/flash'
|
4
2
|
require 'brewer'
|
5
|
-
require 'wannabe_bool'
|
6
3
|
|
7
4
|
module Brewer
|
8
5
|
class Server < Sinatra::Base
|
9
|
-
# SSE Mixin
|
10
|
-
include Sinatra::SSE
|
11
|
-
|
12
6
|
configure do
|
13
|
-
|
14
|
-
use Rack::Flash
|
15
|
-
|
16
7
|
set :sessions, true
|
17
8
|
set :bind, "0.0.0.0"
|
18
9
|
set :port, 8080
|
19
|
-
set :views, Proc.new { File.join(File.expand_path("../..", __dir__), "views") }
|
20
|
-
enable :sessions
|
21
|
-
|
22
|
-
$controller = Brewer::Controller.new
|
23
|
-
end
|
24
|
-
|
25
|
-
get '/' do
|
26
|
-
erb :index
|
27
|
-
end
|
28
|
-
|
29
|
-
get '/pid' do
|
30
|
-
sse_stream do |out|
|
31
|
-
EM.add_periodic_timer(2) do
|
32
|
-
out.push :event => "pid_status", :data => $controller.pid_to_web.to_json
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
10
|
|
37
|
-
|
38
|
-
sse_stream do |out|
|
39
|
-
EM.add_periodic_timer(2) do
|
40
|
-
out.push :event => "relays_status", :data => $controller.relays_status_to_web.to_json
|
41
|
-
end
|
42
|
-
end
|
11
|
+
$brewer = Brewer.new
|
43
12
|
end
|
44
13
|
|
45
14
|
get '/rspec-testing' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brewer-server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.03
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Sweeney
|
@@ -25,20 +25,6 @@ dependencies:
|
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: brewer-stats
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - ">="
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '0'
|
35
|
-
type: :runtime
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
42
28
|
- !ruby/object:Gem::Dependency
|
43
29
|
name: wannabe_bool
|
44
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,20 +53,6 @@ dependencies:
|
|
67
53
|
- - ">="
|
68
54
|
- !ruby/object:Gem::Version
|
69
55
|
version: '0'
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: thin
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
|
-
type: :runtime
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
56
|
- !ruby/object:Gem::Dependency
|
85
57
|
name: sinatra
|
86
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,20 +67,6 @@ dependencies:
|
|
95
67
|
- - ">="
|
96
68
|
- !ruby/object:Gem::Version
|
97
69
|
version: '0'
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: sinatra-sse
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - ">="
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
105
|
-
type: :runtime
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - ">="
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
112
70
|
- !ruby/object:Gem::Dependency
|
113
71
|
name: rack-flash3
|
114
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -256,7 +214,6 @@ files:
|
|
256
214
|
- lib/brewer/server.rb
|
257
215
|
- spec/server_spec.rb
|
258
216
|
- spec/spec_helper.rb
|
259
|
-
- views/index.erb
|
260
217
|
homepage: https://rubygems.org/gems/brewer-server
|
261
218
|
licenses:
|
262
219
|
- MIT
|
@@ -278,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
235
|
version: '0'
|
279
236
|
requirements: []
|
280
237
|
rubyforge_project:
|
281
|
-
rubygems_version: 2.
|
238
|
+
rubygems_version: 2.2.2
|
282
239
|
signing_key:
|
283
240
|
specification_version: 4
|
284
241
|
summary: A web interface for llamicron/brewer
|
data/views/index.erb
DELETED
@@ -1,152 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
|
4
|
-
<head>
|
5
|
-
<meta charset="utf-8">
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
-
<title>Test Homepage</title>
|
8
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
9
|
-
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-pink.min.css">
|
10
|
-
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
|
11
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.js"></script>
|
12
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
|
13
|
-
</head>
|
14
|
-
<style>
|
15
|
-
body {
|
16
|
-
text-align: center;
|
17
|
-
}
|
18
|
-
|
19
|
-
.mdl_card {
|
20
|
-
max-width: 500px;
|
21
|
-
text-align: center;
|
22
|
-
margin: auto;
|
23
|
-
}
|
24
|
-
|
25
|
-
#result {
|
26
|
-
text-align: center;
|
27
|
-
}
|
28
|
-
|
29
|
-
.mdl-card__supporting-text {
|
30
|
-
color: #333;
|
31
|
-
}
|
32
|
-
</style>
|
33
|
-
|
34
|
-
<body>
|
35
|
-
<div class="mdl-grid">
|
36
|
-
|
37
|
-
<div id="result" class="mdl-cell mdl-cell--6-col">
|
38
|
-
<div class="mdl_card mdl-shadow--4dp">
|
39
|
-
<div class="mdl-card__supporting-text">
|
40
|
-
<div id="pidSpinner" class="mdl-spinner mdl-js-spinner is-active"></div>
|
41
|
-
<div id="pidInfo">
|
42
|
-
<h3 id="pid">PID STATUS: Loading...</h3>
|
43
|
-
<h3 id="sv">SV: Loading...</h3>
|
44
|
-
<h3 id="pv">PV: Loading...</h3>
|
45
|
-
</div>
|
46
|
-
</div>
|
47
|
-
</div>
|
48
|
-
</div>
|
49
|
-
|
50
|
-
<div id="result" class="mdl-cell mdl-cell--6-col">
|
51
|
-
<div class="mdl_card mdl-shadow--4dp">
|
52
|
-
<div class="mdl-card__supporting-text">
|
53
|
-
<div id="relaySpinner" class="mdl-spinner mdl-js-spinner is-active"></div>
|
54
|
-
<div id="relayInfo">
|
55
|
-
<h3 id="hltToMash">hltToMash: Loading...</h3>
|
56
|
-
<h3 id="hlt">hlt: Loading...</h3>
|
57
|
-
<h3 id="rimsToMash">rimsToMash: Loading...</h3>
|
58
|
-
<h3 id="pump">pump: Loading...</h3>
|
59
|
-
</div>
|
60
|
-
</div>
|
61
|
-
</div>
|
62
|
-
</div>
|
63
|
-
|
64
|
-
<div class="mdl-cell mdl-cell--12-col" style="height: 500px;">
|
65
|
-
<canvas id="pvChart"></canvas>
|
66
|
-
</div>
|
67
|
-
|
68
|
-
</div>
|
69
|
-
</body>
|
70
|
-
<script type="text/javascript">
|
71
|
-
var labels = [];
|
72
|
-
var data = [];
|
73
|
-
|
74
|
-
pidInfo.style.display = "none";
|
75
|
-
relayInfo.style.display = "none";
|
76
|
-
|
77
|
-
|
78
|
-
var pidsource = new EventSource("/pid");
|
79
|
-
pidsource.addEventListener('pid_status', function (event) {
|
80
|
-
var result = JSON.parse(event.data);
|
81
|
-
console.log(data);
|
82
|
-
pid.innerText = "PID: " + (result.pid_running ? 'on' : 'off');
|
83
|
-
sv.innerText = "SV: " + result.sv + ' \u00B0F';
|
84
|
-
pv.innerText = "PV: " + result.pv + ' \u00B0F';
|
85
|
-
data.push(result.pv);
|
86
|
-
labels.push(moment().format());
|
87
|
-
if (data.length > 20) {
|
88
|
-
data.shift();
|
89
|
-
labels.shift();
|
90
|
-
}
|
91
|
-
myChart.update();
|
92
|
-
pidSpinner.style.display = "none";
|
93
|
-
pidInfo.style.display = "initial";
|
94
|
-
}, false);
|
95
|
-
|
96
|
-
var relaysource = new EventSource("/relays");
|
97
|
-
relaysource.addEventListener('relays_status', function (event) {
|
98
|
-
var data = JSON.parse(event.data);
|
99
|
-
console.log(data);
|
100
|
-
hltToMash.innerText = "HLT → " + (Boolean(data.hltToMash) ? 'mash' : 'boil');
|
101
|
-
hlt.innerText = "HLT: " + (Boolean(data.hlt) ? 'open' : 'closed');
|
102
|
-
rimsToMash.innerText = "RIMS → " + (Boolean(data.rimsToMash) ? 'mash' : 'boil');
|
103
|
-
pump.innerText = "PUMP: " + (Boolean(data.pump) ? 'on' : 'off');
|
104
|
-
relaySpinner.style.display = "none";
|
105
|
-
relayInfo.style.display = "initial";
|
106
|
-
}, false);
|
107
|
-
|
108
|
-
var ctx = document.getElementById("pvChart").getContext('2d');
|
109
|
-
var myChart = new Chart(ctx, {
|
110
|
-
type: 'line',
|
111
|
-
data: {
|
112
|
-
labels: labels,
|
113
|
-
datasets: [{
|
114
|
-
label: "PV",
|
115
|
-
tension: 0,
|
116
|
-
fill: true,
|
117
|
-
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
118
|
-
borderColor: "#333",
|
119
|
-
data: data,
|
120
|
-
}]
|
121
|
-
},
|
122
|
-
options: {
|
123
|
-
maintainAspectRatio: false,
|
124
|
-
scales: {
|
125
|
-
xAxes: [{
|
126
|
-
type: "time",
|
127
|
-
time: {
|
128
|
-
format: 'HH:mm:ss',
|
129
|
-
tooltipFormat: 'HH:mm:ss'
|
130
|
-
},
|
131
|
-
ticks: {
|
132
|
-
autoSkip: true,
|
133
|
-
maxTicksLimit: 10
|
134
|
-
},
|
135
|
-
scaleLabel: {
|
136
|
-
display: true,
|
137
|
-
labelString: 'Time'
|
138
|
-
}
|
139
|
-
},],
|
140
|
-
yAxes: [{
|
141
|
-
scaleLabel: {
|
142
|
-
display: true,
|
143
|
-
labelString: 'PV Value'
|
144
|
-
}
|
145
|
-
}]
|
146
|
-
}
|
147
|
-
}
|
148
|
-
});
|
149
|
-
|
150
|
-
</script>
|
151
|
-
|
152
|
-
</html>
|