succd: implement rp/dp/vent/pumpdown control
This commit is contained in:
parent
d01263fead
commit
070f45b1bc
5 changed files with 298 additions and 5 deletions
|
|
@ -51,6 +51,8 @@ func (d *daemon) httpIndex(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
volts, mbar := d.pirani()
|
||||
rp := d.rpGet()
|
||||
dp := d.dpGet()
|
||||
|
||||
loadB, err := os.ReadFile("/proc/loadavg")
|
||||
load := "unknown"
|
||||
|
|
@ -67,6 +69,8 @@ func (d *daemon) httpIndex(w http.ResponseWriter, r *http.Request) {
|
|||
templateIndex.Execute(w, map[string]any{
|
||||
"volts": formatVolts(volts),
|
||||
"mbar": formatMbar(mbar),
|
||||
"rp": rp,
|
||||
"dp": dp,
|
||||
"hostname": hostname,
|
||||
"load": load,
|
||||
})
|
||||
|
|
@ -93,14 +97,20 @@ func (d *daemon) httpStream(w http.ResponseWriter, r *http.Request) {
|
|||
case <-t.C:
|
||||
// TODO(q3k): don't poll, get notified when new ADC readout is available.
|
||||
volts, mbar := d.pirani()
|
||||
rp := d.rpGet()
|
||||
dp := d.dpGet()
|
||||
v := struct {
|
||||
Volts string
|
||||
Mbar string
|
||||
MbarFloat float32
|
||||
RPOn bool
|
||||
DPOn bool
|
||||
}{
|
||||
Volts: formatVolts(volts),
|
||||
Mbar: string(formatMbar(mbar)),
|
||||
MbarFloat: mbar,
|
||||
RPOn: rp,
|
||||
DPOn: dp,
|
||||
}
|
||||
if err := wsjson.Write(ctx, c, v); err != nil {
|
||||
klog.Errorf("Websocket write failed: %v", err)
|
||||
|
|
@ -119,3 +129,31 @@ func (d *daemon) httpMetrics(w http.ResponseWriter, r *http.Request) {
|
|||
fmt.Fprintf(w, "# TYPE sem_pressure_mbar gauge\n")
|
||||
fmt.Fprintf(w, "sem_pressure_mbar %f\n", mbar)
|
||||
}
|
||||
|
||||
func (d *daemon) httpRoughingPumpEnable(w http.ResponseWriter, r *http.Request) {
|
||||
d.rpSet(true)
|
||||
fmt.Fprintf(w, "succ on\n")
|
||||
}
|
||||
|
||||
func (d *daemon) httpRoughingPumpDisable(w http.ResponseWriter, r *http.Request) {
|
||||
d.rpSet(false)
|
||||
fmt.Fprintf(w, "succ off\n")
|
||||
}
|
||||
|
||||
func (d *daemon) httpDiffusionPumpEnable(w http.ResponseWriter, r *http.Request) {
|
||||
d.dpSet(true)
|
||||
fmt.Fprintf(w, "deep succ on\n")
|
||||
}
|
||||
|
||||
func (d *daemon) httpDiffusionPumpDisable(w http.ResponseWriter, r *http.Request) {
|
||||
d.dpSet(false)
|
||||
fmt.Fprintf(w, "deep succ off\n")
|
||||
}
|
||||
|
||||
func (d *daemon) httpButtonPumpDown(w http.ResponseWriter, r *http.Request) {
|
||||
d.pumpDownPress()
|
||||
}
|
||||
|
||||
func (d *daemon) httpButtonVent(w http.ResponseWriter, r *http.Request) {
|
||||
d.ventPress()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue