From cbca66c0efa11b815e17310d3f69c28621c9945a Mon Sep 17 00:00:00 2001 From: Romain Bazile Date: Mon, 6 Sep 2021 18:41:45 +0200 Subject: [PATCH] flow: replace ISO setting with gain control --- flows/main.json | 978 ++++++++++++++++++++++++------------------------ hardware.json | 4 +- 2 files changed, 489 insertions(+), 493 deletions(-) diff --git a/flows/main.json b/flows/main.json index 00f5fb5..4def7cb 100644 --- a/flows/main.json +++ b/flows/main.json @@ -1607,8 +1607,8 @@ "noerr": 0, "initialize": "", "finalize": "", - "x": 800, - "y": 400, + "x": 860, + "y": 440, "wires": [ [] ] @@ -1794,8 +1794,8 @@ "payload": "DOWN", "payloadType": "str", "topic": "actuator/focus", - "x": 190, - "y": 660, + "x": 550, + "y": 800, "wires": [ [ "65ad39d.b6d4d48" @@ -1820,8 +1820,8 @@ "payload": "UP", "payloadType": "str", "topic": "actuator/focus", - "x": 190, - "y": 620, + "x": 550, + "y": 760, "wires": [ [ "65ad39d.b6d4d48" @@ -1843,8 +1843,8 @@ "mode": "text", "delay": "0", "topic": "pump_manual_volume", - "x": 510, - "y": 380, + "x": 600, + "y": 420, "wires": [ [ "dc48dc42.98d18" @@ -1868,8 +1868,8 @@ "min": "0.5", "max": "100", "step": "0.5", - "x": 540, - "y": 340, + "x": 580, + "y": 380, "wires": [ [ "dc48dc42.98d18" @@ -2257,7 +2257,7 @@ "name": "", "events": "change", "x": 560, - "y": 1040, + "y": 1100, "wires": [ [] ] @@ -2277,7 +2277,7 @@ "topic": "", "name": "", "x": 570, - "y": 1120, + "y": 1180, "wires": [ [] ] @@ -2293,7 +2293,7 @@ "initialize": "", "finalize": "", "x": 330, - "y": 1080, + "y": 1140, "wires": [ [ "6c792043.b6ff9", @@ -2326,8 +2326,8 @@ "payload": "BACKWARD", "payloadType": "str", "topic": "actuator/pump", - "x": 160, - "y": 260, + "x": 560, + "y": 280, "wires": [ [ "3cb96380.e575ec" @@ -2352,8 +2352,8 @@ "payload": "FORWARD", "payloadType": "str", "topic": "actuator/pump", - "x": 160, - "y": 300, + "x": 560, + "y": 320, "wires": [ [ "3cb96380.e575ec" @@ -2403,8 +2403,8 @@ ], "payload": "", "topic": "acq_fnumber_objective", - "x": 1190, - "y": 80, + "x": 1180, + "y": 60, "wires": [ [ "328cec46.09e40c" @@ -2425,8 +2425,8 @@ "fwdInMessages": true, "resendOnRefresh": false, "templateScope": "local", - "x": 1460, - "y": 140, + "x": 1450, + "y": 120, "wires": [ [] ] @@ -2483,8 +2483,8 @@ "fwdInMessages": true, "resendOnRefresh": false, "templateScope": "local", - "x": 1460, - "y": 180, + "x": 1450, + "y": 160, "wires": [ [] ] @@ -2503,7 +2503,7 @@ "fwdInMessages": true, "templateScope": "local", "x": 1440, - "y": 220, + "y": 200, "wires": [ [] ] @@ -2522,7 +2522,7 @@ "fwdInMessages": true, "templateScope": "local", "x": 1440, - "y": 260, + "y": 240, "wires": [ [] ] @@ -2630,7 +2630,7 @@ "payloadType": "json", "topic": "", "x": 140, - "y": 1040, + "y": 1100, "wires": [ [ "6c792043.b6ff9" @@ -2656,7 +2656,7 @@ "payloadType": "json", "topic": "", "x": 140, - "y": 1080, + "y": 1140, "wires": [ [ "fe840e05.b46f3" @@ -2733,8 +2733,8 @@ "noerr": 0, "initialize": "", "finalize": "", - "x": 350, - "y": 280, + "x": 750, + "y": 300, "wires": [ [ "bdc8ce57.de1f08" @@ -2765,8 +2765,8 @@ "raw": false, "topic": "", "name": "", - "x": 550, - "y": 280, + "x": 1090, + "y": 300, "wires": [ [] ] @@ -2780,8 +2780,8 @@ "qos": "", "retain": "", "broker": "8dc3722c.06efa8", - "x": 530, - "y": 220, + "x": 1210, + "y": 260, "wires": [] }, { @@ -2798,8 +2798,8 @@ "raw": false, "topic": "", "name": "", - "x": 670, - "y": 660, + "x": 1090, + "y": 800, "wires": [ [] ] @@ -2814,8 +2814,8 @@ "noerr": 0, "initialize": "", "finalize": "", - "x": 370, - "y": 640, + "x": 850, + "y": 780, "wires": [ [ "62030521.88317c" @@ -2850,8 +2850,8 @@ "payload": "{\"action\":\"stop\"}", "payloadType": "json", "topic": "actuator/focus", - "x": 170, - "y": 500, + "x": 560, + "y": 560, "wires": [ [ "62030521.88317c" @@ -2867,8 +2867,8 @@ "qos": "", "retain": "", "broker": "8dc3722c.06efa8", - "x": 650, - "y": 580, + "x": 1210, + "y": 720, "wires": [] }, { @@ -2890,8 +2890,8 @@ "payloadType": "json", "topic": "actuator/focus", "topicType": "str", - "x": 180, - "y": 540, + "x": 560, + "y": 600, "wires": [ [ "62030521.88317c" @@ -2917,8 +2917,8 @@ "payloadType": "json", "topic": "actuator/focus", "topicType": "str", - "x": 170, - "y": 580, + "x": 570, + "y": 720, "wires": [ [ "62030521.88317c" @@ -2942,8 +2942,8 @@ "min": "25", "max": "2000", "step": "25", - "x": 540, - "y": 420, + "x": 580, + "y": 460, "wires": [ [ "dc48dc42.98d18" @@ -2968,7 +2968,7 @@ "payload": "500", "payloadType": "num", "x": 120, - "y": 420, + "y": 460, "wires": [ [ "69d4ea6c.4c1e2c" @@ -2992,7 +2992,7 @@ "topic": "", "payload": "off", "payloadType": "str", - "x": 140, + "x": 130, "y": 120, "wires": [ [ @@ -3000,130 +3000,6 @@ ] ] }, - { - "id": "8ea9dc9a.c7d87", - "type": "function", - "z": "bccd1f23.87219", - "name": "Encapsulate settings", - "func": "msg.payload = {\n \"action\":\"settings\", \n \"settings\":{\"iso\":msg.payload}\n}\nmsg.topic = \"imager/image\"\nreturn msg;", - "outputs": 1, - "noerr": 0, - "initialize": "", - "finalize": "", - "x": 740, - "y": 720, - "wires": [ - [ - "845e06e1.0d812" - ] - ] - }, - { - "id": "5765a825.a595c8", - "type": "ui_slider", - "z": "bccd1f23.87219", - "name": "Shutter speed slider", - "label": "Shutter Speed", - "tooltip": "In microseconds, up to 1000µs, 125µs by default", - "group": "8c38a81e.9897a8", - "order": 5, - "width": 0, - "height": 0, - "passthru": true, - "outs": "end", - "topic": "imager/image", - "min": "125", - "max": "1000", - "step": "1", - "x": 400, - "y": 800, - "wires": [ - [ - "c38509b.fb08af8" - ] - ] - }, - { - "id": "c38509b.fb08af8", - "type": "function", - "z": "bccd1f23.87219", - "name": "Encapsulate settings", - "func": "msg.payload = {\n \"action\":\"settings\", \n \"settings\":{\"shutter_speed\":msg.payload}\n}\nmsg.topic = \"imager/image\"\nreturn msg;", - "outputs": 1, - "noerr": 0, - "initialize": "", - "finalize": "", - "x": 740, - "y": 800, - "wires": [ - [ - "845e06e1.0d812" - ] - ] - }, - { - "id": "845e06e1.0d812", - "type": "mqtt out", - "z": "bccd1f23.87219", - "name": "", - "topic": "", - "qos": "", - "retain": "", - "broker": "8dc3722c.06efa8", - "x": 1010, - "y": 840, - "wires": [] - }, - { - "id": "2350e507.d4e302", - "type": "inject", - "z": "bccd1f23.87219", - "name": "Default: 125µs", - "props": [ - { - "p": "payload" - } - ], - "repeat": "", - "crontab": "", - "once": true, - "onceDelay": "1", - "topic": "", - "payload": "125", - "payloadType": "num", - "x": 120, - "y": 800, - "wires": [ - [ - "5765a825.a595c8" - ] - ] - }, - { - "id": "2edd922b.a471a6", - "type": "inject", - "z": "bccd1f23.87219", - "name": "Default: ISO 100", - "props": [ - { - "p": "payload" - } - ], - "repeat": "", - "crontab": "", - "once": true, - "onceDelay": "1", - "topic": "", - "payload": "100", - "payloadType": "num", - "x": 130, - "y": 720, - "wires": [ - [ - "87f8732c.caf648" - ] - ] - }, { "id": "f782a471.447748", "type": "inject", @@ -3142,7 +3018,7 @@ "payload": "2", "payloadType": "num", "x": 130, - "y": 340, + "y": 380, "wires": [ [ "34c81624.df1cea" @@ -3167,7 +3043,7 @@ "payload": "2", "payloadType": "num", "x": 110, - "y": 380, + "y": 420, "wires": [ [ "68962547.34a67c" @@ -3813,8 +3689,8 @@ "noerr": 0, "initialize": "", "finalize": "", - "x": 920, - "y": 80, + "x": 910, + "y": 60, "wires": [ [ "cc966678.da8d08", @@ -3828,7 +3704,7 @@ "z": "bccd1f23.87219", "name": "", "x": 710, - "y": 80, + "y": 60, "wires": [ [ "68fa1227.dbdd5c" @@ -3862,7 +3738,7 @@ "noerr": 0, "initialize": "", "finalize": "", - "x": 310, + "x": 300, "y": 240, "wires": [ [ @@ -4025,8 +3901,8 @@ "payload": "{\"action\":\"stop\"}", "payloadType": "json", "topic": "actuator/pump", - "x": 150, - "y": 220, + "x": 570, + "y": 240, "wires": [ [ "bdc8ce57.de1f08" @@ -4919,150 +4795,6 @@ ], "info": "### Focusing\n##### focus.py `nb_step` `orientation`\n\n- `nb_step` : **integer** (from 1 to 100000) - number of step to perform by the stage (about 31um/step)\n- `orientation` : **string** - orientation of the focus either `up` or `down`\n\nExample:\n\n python3.7 $HOME/PlanktoScope/scripts/focus.py 650 up\n" }, - { - "id": "43737d43.eb0e9c", - "type": "ui_slider", - "z": "bccd1f23.87219", - "name": "WB Red slider", - "label": "WB: Red", - "tooltip": "from 1.0 to 8.0", - "group": "8c38a81e.9897a8", - "order": 3, - "width": 8, - "height": 1, - "passthru": true, - "outs": "end", - "topic": "wb_red_gain", - "min": "1.0", - "max": "8.0", - "step": "0.01", - "x": 500, - "y": 880, - "wires": [ - [ - "5e147425.7666ec", - "56835fa1.2fe538" - ] - ] - }, - { - "id": "5e147425.7666ec", - "type": "function", - "z": "bccd1f23.87219", - "name": "Encapsulate settings", - "func": "if (msg.topic == \"wb_red_gain\"){\n msg.payload = {\n \"action\":\"settings\", \n \"settings\":{\"white_balance_gain\":{\n \"red\":Math.round(msg.payload*100)\n }\n }\n }\n}\nif (msg.topic == \"wb_blue_gain\"){\n msg.payload = {\n \"action\":\"settings\", \n \"settings\":{\"white_balance_gain\":{\n \"blue\":Math.round(msg.payload*100)\n }\n }\n }\n}\nmsg.topic = \"imager/image\"\nreturn msg;", - "outputs": 1, - "noerr": 0, - "initialize": "", - "finalize": "", - "x": 740, - "y": 880, - "wires": [ - [ - "845e06e1.0d812" - ] - ] - }, - { - "id": "7b699798.3d568", - "type": "ui_slider", - "z": "bccd1f23.87219", - "name": "WB Blue slider", - "label": "WB: Blue", - "tooltip": "from 1.0 to 8.0", - "group": "8c38a81e.9897a8", - "order": 4, - "width": 8, - "height": 1, - "passthru": true, - "outs": "end", - "topic": "wb_blue_gain", - "min": "1.0", - "max": "8.0", - "step": "0.01", - "x": 500, - "y": 920, - "wires": [ - [ - "5e147425.7666ec", - "56835fa1.2fe538" - ] - ] - }, - { - "id": "daedda1b.9805b8", - "type": "function", - "z": "bccd1f23.87219", - "name": "Encapsulate settings", - "func": "msg.payload = {\n \"action\":\"settings\", \n \"settings\":{\"white_balance\":msg.payload}\n}\nmsg.topic = \"imager/image\"\nreturn msg;", - "outputs": 1, - "noerr": 0, - "initialize": "", - "finalize": "", - "x": 740, - "y": 960, - "wires": [ - [ - "845e06e1.0d812" - ] - ] - }, - { - "id": "82722a3c.846b3", - "type": "inject", - "z": "bccd1f23.87219", - "name": "Default: OFF", - "props": [ - { - "p": "payload" - } - ], - "repeat": "", - "crontab": "", - "once": true, - "onceDelay": "1", - "topic": "", - "payload": "false", - "payloadType": "bool", - "x": 110, - "y": 960, - "wires": [ - [ - "60e44330.50bdec" - ] - ] - }, - { - "id": "60e44330.50bdec", - "type": "ui_switch", - "z": "bccd1f23.87219", - "name": "AWB", - "label": "Auto White Balance", - "tooltip": "", - "group": "8c38a81e.9897a8", - "order": 2, - "width": 2, - "height": 2, - "passthru": true, - "decouple": "false", - "topic": "imager/image", - "style": "", - "onvalue": "auto", - "onvalueType": "str", - "onicon": "", - "oncolor": "", - "offvalue": "off", - "offvalueType": "str", - "officon": "", - "offcolor": "", - "x": 510, - "y": 960, - "wires": [ - [ - "daedda1b.9805b8" - ] - ] - }, { "id": "2b9d6988.d84836", "type": "switch", @@ -5291,8 +5023,8 @@ "fwdInMessages": true, "resendOnRefresh": false, "templateScope": "local", - "x": 440, - "y": 140, + "x": 380, + "y": 120, "wires": [ [] ] @@ -5520,7 +5252,7 @@ "topic": "", "name": "", "x": 1070, - "y": 460, + "y": 540, "wires": [ [] ] @@ -7224,7 +6956,7 @@ "cancel": "Reset", "topic": "sample_location", "x": 660, - "y": 420, + "y": 500, "wires": [ [ "14658615.47c862" @@ -7282,7 +7014,7 @@ "cancel": "Reset", "topic": "net_throw_location", "x": 650, - "y": 460, + "y": 540, "wires": [ [ "14658615.47c862" @@ -7340,7 +7072,7 @@ "cancel": "Reset", "topic": "net_retrieval_location", "x": 640, - "y": 500, + "y": 580, "wires": [ [ "14658615.47c862" @@ -7358,7 +7090,7 @@ "initialize": "", "finalize": "", "x": 880, - "y": 460, + "y": 540, "wires": [ [ "c0ce5626.b6c5" @@ -7939,87 +7671,6 @@ [] ] }, - { - "id": "c3cdf9e.1d27308", - "type": "subflow:4ed26b8b.253504", - "z": "bccd1f23.87219", - "name": "", - "env": [], - "x": 100, - "y": 900, - "wires": [ - [ - "6be64480.7e7e24", - "6d49d161.13628" - ] - ] - }, - { - "id": "6be64480.7e7e24", - "type": "change", - "z": "bccd1f23.87219", - "name": "Get wb_red_gain", - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "payload.wb_red_gain", - "tot": "msg" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 290, - "y": 880, - "wires": [ - [ - "43737d43.eb0e9c" - ] - ] - }, - { - "id": "6d49d161.13628", - "type": "change", - "z": "bccd1f23.87219", - "name": "Get wb_blue_gain", - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "payload.wb_blue_gain", - "tot": "msg" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 290, - "y": 920, - "wires": [ - [ - "7b699798.3d568" - ] - ] - }, - { - "id": "56835fa1.2fe538", - "type": "subflow:4ed26b8b.253504", - "z": "bccd1f23.87219", - "name": "", - "env": [], - "x": 720, - "y": 920, - "wires": [ - [] - ] - }, { "id": "3ad9835.08c937c", "type": "function", @@ -8130,7 +7781,7 @@ "z": "bccd1f23.87219", "name": "", "x": 550, - "y": 1080, + "y": 1140, "wires": [ [] ] @@ -8791,8 +8442,8 @@ "min": "250", "max": "2500", "step": "250", - "x": 550, - "y": 460, + "x": 570, + "y": 500, "wires": [ [ "dc48dc42.98d18" @@ -8817,7 +8468,7 @@ "payload": "1000", "payloadType": "num", "x": 130, - "y": 460, + "y": 500, "wires": [ [ "f6ff420b.0af648" @@ -8843,8 +8494,8 @@ "payloadType": "json", "topic": "actuator/focus", "topicType": "str", - "x": 350, - "y": 520, + "x": 570, + "y": 640, "wires": [ [ "62030521.88317c" @@ -8870,8 +8521,8 @@ "payloadType": "json", "topic": "actuator/focus", "topicType": "str", - "x": 340, - "y": 600, + "x": 580, + "y": 680, "wires": [ [ "62030521.88317c" @@ -9260,73 +8911,6 @@ ] ] }, - { - "id": "87f8732c.caf648", - "type": "ui_multistate_switch", - "z": "bccd1f23.87219", - "name": "ISO selector", - "group": "8c38a81e.9897a8", - "order": 1, - "width": 10, - "height": 1, - "label": "ISO", - "stateField": "payload", - "enableField": "enable", - "rounded": true, - "useThemeColors": true, - "hideSelectedLabel": false, - "options": [ - { - "label": "100", - "value": "100", - "valueType": "num", - "color": "#009933" - }, - { - "label": "200", - "value": "200", - "valueType": "num", - "color": "#999999" - }, - { - "label": "320", - "value": "320", - "valueType": "num", - "color": "#ff6666" - }, - { - "label": "400", - "value": "400", - "valueType": "num", - "color": "#009999" - }, - { - "label": "500", - "value": "500", - "valueType": "num", - "color": "#cccc00" - }, - { - "label": "640", - "value": "640", - "valueType": "num", - "color": "#ff33cc" - }, - { - "label": "800", - "value": "800", - "valueType": "num", - "color": "#cc6600" - } - ], - "x": 370, - "y": 720, - "wires": [ - [ - "8ea9dc9a.c7d87" - ] - ] - }, { "id": "f0775525.cf806", "type": "ui_multistate_switch", @@ -10228,7 +9812,7 @@ } ], "x": 310, - "y": 160, + "y": 180, "wires": [ [ "152f58e5.ca51df" @@ -10252,8 +9836,8 @@ "topic": "", "payload": "1", "payloadType": "num", - "x": 130, - "y": 160, + "x": 120, + "y": 180, "wires": [ [ "4535ab65.009354" @@ -10287,7 +9871,7 @@ "to": "", "reg": false, "x": 480, - "y": 160, + "y": 180, "wires": [ [ "f0775525.cf806", @@ -10403,5 +9987,415 @@ "x": 430, "y": 160, "wires": [] + }, + { + "id": "8ea9dc9a.c7d87", + "type": "function", + "z": "bccd1f23.87219", + "name": "Encapsulate settings", + "func": "msg.payload = {\n \"action\":\"settings\", \n \"settings\":{[msg.topic]:msg.payload}\n}\n\nmsg.topic = \"imager/image\"\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 900, + "y": 900, + "wires": [ + [ + "845e06e1.0d812" + ] + ] + }, + { + "id": "5765a825.a595c8", + "type": "ui_slider", + "z": "bccd1f23.87219", + "name": "Shutter speed slider", + "label": "Shutter Speed", + "tooltip": "In microseconds, up to 1000µs, 125µs by default", + "group": "8c38a81e.9897a8", + "order": 5, + "width": 0, + "height": 0, + "passthru": true, + "outs": "end", + "topic": "imager/image", + "min": "125", + "max": "1000", + "step": "1", + "x": 590, + "y": 840, + "wires": [ + [ + "8ea9dc9a.c7d87" + ] + ] + }, + { + "id": "845e06e1.0d812", + "type": "mqtt out", + "z": "bccd1f23.87219", + "name": "", + "topic": "", + "qos": "", + "retain": "", + "broker": "8dc3722c.06efa8", + "x": 1210, + "y": 940, + "wires": [] + }, + { + "id": "2350e507.d4e302", + "type": "inject", + "z": "bccd1f23.87219", + "name": "Default: 125µs", + "props": [ + { + "p": "payload" + } + ], + "repeat": "", + "crontab": "", + "once": true, + "onceDelay": "1", + "topic": "", + "payload": "125", + "payloadType": "num", + "x": 120, + "y": 840, + "wires": [ + [ + "5765a825.a595c8" + ] + ] + }, + { + "id": "43737d43.eb0e9c", + "type": "ui_slider", + "z": "bccd1f23.87219", + "name": "WB Red slider", + "label": "WB: Red", + "tooltip": "from 1.0 to 8.0", + "group": "8c38a81e.9897a8", + "order": 3, + "width": 8, + "height": 1, + "passthru": true, + "outs": "end", + "topic": "wb_red_gain", + "min": "1.0", + "max": "8.0", + "step": "0.01", + "x": 580, + "y": 1000, + "wires": [ + [ + "5e147425.7666ec", + "56835fa1.2fe538" + ] + ] + }, + { + "id": "5e147425.7666ec", + "type": "function", + "z": "bccd1f23.87219", + "name": "Encapsulate wb gain settings", + "func": "msg.payload = {\n \"action\":\"settings\", \n \"settings\":{\"white_balance_gain\":{\n [msg.topic]:Math.round(msg.payload*100)\n }\n }\n}\nmsg.topic = \"imager/image\"\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 920, + "y": 1020, + "wires": [ + [ + "845e06e1.0d812" + ] + ] + }, + { + "id": "7b699798.3d568", + "type": "ui_slider", + "z": "bccd1f23.87219", + "name": "WB Blue slider", + "label": "WB: Blue", + "tooltip": "from 1.0 to 8.0", + "group": "8c38a81e.9897a8", + "order": 4, + "width": 8, + "height": 1, + "passthru": true, + "outs": "end", + "topic": "wb_blue_gain", + "min": "1.0", + "max": "8.0", + "step": "0.01", + "x": 580, + "y": 1040, + "wires": [ + [ + "5e147425.7666ec", + "56835fa1.2fe538" + ] + ] + }, + { + "id": "82722a3c.846b3", + "type": "inject", + "z": "bccd1f23.87219", + "name": "Default: OFF", + "props": [ + { + "p": "payload" + } + ], + "repeat": "", + "crontab": "", + "once": true, + "onceDelay": "1", + "topic": "", + "payload": "false", + "payloadType": "bool", + "x": 110, + "y": 880, + "wires": [ + [ + "60e44330.50bdec" + ] + ] + }, + { + "id": "60e44330.50bdec", + "type": "ui_switch", + "z": "bccd1f23.87219", + "name": "AWB", + "label": "Auto White Balance", + "tooltip": "", + "group": "8c38a81e.9897a8", + "order": 2, + "width": 2, + "height": 2, + "passthru": true, + "decouple": "false", + "topic": "imager/image", + "style": "", + "onvalue": "auto", + "onvalueType": "str", + "onicon": "", + "oncolor": "", + "offvalue": "off", + "offvalueType": "str", + "officon": "", + "offcolor": "", + "x": 550, + "y": 880, + "wires": [ + [ + "8ea9dc9a.c7d87" + ] + ] + }, + { + "id": "c3cdf9e.1d27308", + "type": "subflow:4ed26b8b.253504", + "z": "bccd1f23.87219", + "name": "", + "env": [], + "x": 120, + "y": 980, + "wires": [ + [ + "6be64480.7e7e24", + "6d49d161.13628", + "8ef294ba.12213", + "8e336e58.14722" + ] + ] + }, + { + "id": "6be64480.7e7e24", + "type": "change", + "z": "bccd1f23.87219", + "name": "Get wb_red_gain", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.wb_red_gain", + "tot": "msg" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 350, + "y": 1000, + "wires": [ + [ + "43737d43.eb0e9c" + ] + ] + }, + { + "id": "6d49d161.13628", + "type": "change", + "z": "bccd1f23.87219", + "name": "Get wb_blue_gain", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.wb_blue_gain", + "tot": "msg" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 350, + "y": 1040, + "wires": [ + [ + "7b699798.3d568" + ] + ] + }, + { + "id": "56835fa1.2fe538", + "type": "subflow:4ed26b8b.253504", + "z": "bccd1f23.87219", + "name": "", + "env": [], + "x": 880, + "y": 980, + "wires": [ + [] + ] + }, + { + "id": "8ef294ba.12213", + "type": "change", + "z": "bccd1f23.87219", + "name": "Get analog_gain", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "1", + "tot": "num" + }, + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.analog_gain", + "tot": "msg" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 340, + "y": 920, + "wires": [ + [ + "a6c7eec4.f7a918" + ] + ] + }, + { + "id": "8e336e58.14722", + "type": "change", + "z": "bccd1f23.87219", + "name": "Get digital_gain", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "1", + "tot": "num" + }, + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.digital_gain", + "tot": "msg" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 340, + "y": 960, + "wires": [ + [ + "66b37eef.f3f9e" + ] + ] + }, + { + "id": "a6c7eec4.f7a918", + "type": "ui_text_input", + "z": "bccd1f23.87219", + "name": "Analog gain field", + "label": "Analog Gain", + "tooltip": "From 1.0 to 12.0", + "group": "8c38a81e.9897a8", + "order": 1, + "width": 5, + "height": 1, + "passthru": true, + "mode": "number", + "delay": 300, + "topic": "analog_gain", + "topicType": "str", + "x": 580, + "y": 920, + "wires": [ + [ + "8ea9dc9a.c7d87", + "56835fa1.2fe538" + ] + ] + }, + { + "id": "66b37eef.f3f9e", + "type": "ui_text_input", + "z": "bccd1f23.87219", + "name": "Digital gain field", + "label": "Digital Gain", + "tooltip": "From 1.0 to 64.0. Overexpose starting at 4.0", + "group": "8c38a81e.9897a8", + "order": 2, + "width": 5, + "height": 1, + "passthru": true, + "mode": "number", + "delay": 300, + "topic": "digital_gain", + "topicType": "str", + "x": 580, + "y": 960, + "wires": [ + [ + "8ea9dc9a.c7d87", + "56835fa1.2fe538" + ] + ] } ] \ No newline at end of file diff --git a/hardware.json b/hardware.json index e941726..621c6aa 100644 --- a/hardware.json +++ b/hardware.json @@ -7,5 +7,7 @@ "pump_max_speed": 30, "stepper_type": "adafruit", "wb_red_gain": 2, - "wb_blue_gain": 1.41 + "wb_blue_gain": 1.41, + "analog_gain": 1.0, + "digital_gain": 1.0 } \ No newline at end of file