update
Took 7 hours 48 minutes
This commit is contained in:
@ -4,6 +4,8 @@ import {WebSocketHandler} from "../../WebSocketHandler";
|
||||
import {iTender} from "../../iTender";
|
||||
import {iTenderStatus} from "../../iTenderStatus";
|
||||
import {WebSocketEvent} from "../../WebSocketEvent";
|
||||
import Container from "../../database/Container";
|
||||
import {SensorType} from "../../SensorType";
|
||||
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
@ -14,11 +16,13 @@ const log = debug("itender:websocket");
|
||||
router.ws('/', async (ws, req, next) => {
|
||||
log("Incoming websocket connection...");
|
||||
|
||||
if (WebSocketHandler.ws)
|
||||
if (WebSocketHandler.ws) {
|
||||
iTender.toggleTare(false);
|
||||
WebSocketHandler.ws.close(1001);
|
||||
}
|
||||
WebSocketHandler.ws = ws;
|
||||
|
||||
|
||||
await WebSocketHandler.sendRunningConfig();
|
||||
await WebSocketHandler.sendStatus();
|
||||
|
||||
async function sendWhenReady() {
|
||||
@ -50,7 +54,31 @@ router.ws('/', async (ws, req, next) => {
|
||||
}
|
||||
|
||||
switch (msg.event) {
|
||||
case WebSocketEvent.TARE: {
|
||||
if (msg.data["state"] == true) {
|
||||
iTender.toggleTare(true);
|
||||
} else {
|
||||
iTender.toggleTare(false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WebSocketEvent.CONTAINERS: {
|
||||
let data = msg.data as { pumpPin: number; sensorType: SensorType; sensor1: number; sensor2: number; volume: number; }[];
|
||||
await Container.remove({});
|
||||
|
||||
let i = 0;
|
||||
for (let c of data) {
|
||||
let container = new Container();
|
||||
container.slot = i;
|
||||
container.volume = c.volume;
|
||||
container.sensorType = c.sensorType;
|
||||
container.sensorPin1 = c.sensor1;
|
||||
container.sensorPin2 = c.sensor2;
|
||||
container.enabled = true;
|
||||
container.autoDisabled = true;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user