From 2f2015ae0895caf542da7c1dda67a73a1b8c950b Mon Sep 17 00:00:00 2001 From: csawatzky Date: Mon, 5 May 2025 12:36:57 -0600 Subject: [PATCH] set up a way to adjust the threshold for auto lidar --- package-lock.json | 4 ++-- package.json | 2 +- src/bin/BinSettings.tsx | 46 +++++++++++++++++++++++++++++++++++------ 3 files changed, 43 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 737cef9..2a011e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "mui-tel-input": "^7.0.0", "notistack": "^3.0.1", "openweathermap-ts": "^1.2.10", - "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#dev", + "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#hybrid_inventory_control", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", "react-color": "^2.19.3", @@ -10993,7 +10993,7 @@ }, "node_modules/protobuf-ts": { "version": "1.0.0", - "resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#738c7156ab9cfc46b3cf0b21d5e1a75b4f57d944", + "resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#2a787ba3e5ba69f65fac49ba6120231edb565e47", "dependencies": { "protobufjs": "^6.8.8" } diff --git a/package.json b/package.json index 1db2791..5e14239 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "mui-tel-input": "^7.0.0", "notistack": "^3.0.1", "openweathermap-ts": "^1.2.10", - "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#dev", + "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#hybrid_inventory_control", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", "react-color": "^2.19.3", diff --git a/src/bin/BinSettings.tsx b/src/bin/BinSettings.tsx index b61bb2e..6ae61c2 100644 --- a/src/bin/BinSettings.tsx +++ b/src/bin/BinSettings.tsx @@ -183,6 +183,7 @@ export default function BinSettings(props: Props) { const [inMoistureString, setInMoistureString] = useState("0"); const [tMoistureString, setTMoistureString] = useState("0"); const [moistureTargetDeviation, setMoistureTargetDeviation] = useState("0"); + const [autoFillThreshold, setAutoFillThreshold] = useState(0); const [validInitial, setValidInitial] = useState(true); const [validTarget, setValidTarget] = useState(true); const [validDeviation, setValidDeviation] = useState(true); @@ -311,6 +312,7 @@ export default function BinSettings(props: Props) { setInMoistureString(initForm.inventory?.initialMoisture.toString() ?? "0"); setTMoistureString(initForm.inventory?.targetMoisture.toString() ?? "0"); setMoistureTargetDeviation(initForm.inventory?.moistureTargetDeviation.toString() ?? "0"); + setAutoFillThreshold(initForm.inventory?.autoThreshold ?? 0) setActiveStep(0); if (bin) { setAutoTopNode(bin.settings.autoGrainNode); @@ -405,7 +407,10 @@ export default function BinSettings(props: Props) { form.highTemp = highTempC; form.lowTemp = lowTempC; form.autoGrainNode = autoTopNode; - if (form.inventory) form.inventory.inventoryControl = inventoryControl; + if (form.inventory) { + form.inventory.inventoryControl = inventoryControl + form.inventory.autoThreshold = autoFillThreshold + } binAPI .addBin(form, as) @@ -449,7 +454,10 @@ export default function BinSettings(props: Props) { form.highTemp = highTempC; form.lowTemp = lowTempC; form.autoGrainNode = autoTopNode; - if (form.inventory) form.inventory.inventoryControl = inventoryControl; + if (form.inventory) { + form.inventory.inventoryControl = inventoryControl + form.inventory.autoThreshold = autoFillThreshold + } binAPI .updateBin(bin.key(), form, as) .then(response => { @@ -699,11 +707,14 @@ export default function BinSettings(props: Props) { }; const inventoryControlLabel = (control: pond.BinInventoryControl) => { - let string = "Manual"; - if (control === pond.BinInventoryControl.BIN_INVENTORY_CONTROL_AUTOMATIC) { - string = "Auto"; + switch(control){ + case pond.BinInventoryControl.BIN_INVENTORY_CONTROL_AUTOMATIC_LIDAR: + return "Auto (lidar)" + case pond.BinInventoryControl.BIN_INVENTORY_CONTROL_AUTOMATIC: + return "Auto (cable)" + default: + return "Manual" } - return string; }; const inventoryForm = () => { @@ -819,6 +830,7 @@ export default function BinSettings(props: Props) { }> )} + {inventoryControl === pond.BinInventoryControl.BIN_INVENTORY_CONTROL_AUTOMATIC_LIDAR && + + + % + + ) + }} + type="number" + value={autoFillThreshold} + onChange={e => { + setAutoFillThreshold(+e.target.value) + }} + /> + + } {empty ? (