diff --git a/scripts/flows_planktonscope.json b/scripts/flows_planktonscope.json index b9e09cb..13d5947 100644 --- a/scripts/flows_planktonscope.json +++ b/scripts/flows_planktonscope.json @@ -6,231 +6,6 @@ "disabled": false, "info": "" }, - { - "id": "b2d230de.b7751", - "type": "ui_base", - "theme": { - "name": "theme-dark", - "lightTheme": { - "default": "#0094CE", - "baseColor": "#0094CE", - "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", - "edited": true, - "reset": false - }, - "darkTheme": { - "default": "#097479", - "baseColor": "#097479", - "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", - "edited": true, - "reset": false - }, - "customTheme": { - "name": "Untitled Theme 1", - "default": "#4B7930", - "baseColor": "#4B7930", - "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", - "reset": false - }, - "themeState": { - "base-color": { - "default": "#097479", - "value": "#097479", - "edited": false - }, - "page-titlebar-backgroundColor": { - "value": "#097479", - "edited": false - }, - "page-backgroundColor": { - "value": "#111111", - "edited": false - }, - "page-sidebar-backgroundColor": { - "value": "#000000", - "edited": false - }, - "group-textColor": { - "value": "#0eb8c0", - "edited": false - }, - "group-borderColor": { - "value": "#555555", - "edited": false - }, - "group-backgroundColor": { - "value": "#333333", - "edited": false - }, - "widget-textColor": { - "value": "#eeeeee", - "edited": false - }, - "widget-backgroundColor": { - "value": "#097479", - "edited": false - }, - "widget-borderColor": { - "value": "#333333", - "edited": false - }, - "base-font": { - "value": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif" - } - }, - "angularTheme": { - "primary": "indigo", - "accents": "blue", - "warn": "red", - "background": "grey" - } - }, - "site": { - "name": "PlanktonScope GUI v2.1", - "hideToolbar": "false", - "allowSwipe": "false", - "lockMenu": "false", - "allowTempTheme": "true", - "dateFormat": "DD/MM/YYYY", - "sizes": { - "sx": 48, - "sy": 48, - "gx": 6, - "gy": 6, - "cx": 6, - "cy": 6, - "px": 0, - "py": 0 - } - } - }, - { - "id": "6b01f851.598028", - "type": "ui_tab", - "z": "", - "name": "PlanktonScope GUI v2.1", - "icon": "date_range", - "order": 1, - "disabled": false, - "hidden": false - }, - { - "id": "c627ea8d.f886e8", - "type": "ui_group", - "z": "", - "name": "Sample", - "tab": "6b01f851.598028", - "order": 1, - "disp": true, - "width": 6, - "collapse": false - }, - { - "id": "c62ffbd3.787ef8", - "type": "ui_group", - "z": "", - "name": "Controller", - "tab": "6b01f851.598028", - "order": 5, - "disp": true, - "width": "12", - "collapse": false - }, - { - "id": "832434ce.ebe498", - "type": "ui_group", - "z": "", - "name": "Optic Settings", - "tab": "6b01f851.598028", - "order": 3, - "disp": true, - "width": "7", - "collapse": false - }, - { - "id": "a72a9ec6.bb144", - "type": "ui_group", - "z": "", - "name": "Fluidic settings", - "tab": "6b01f851.598028", - "order": 4, - "disp": true, - "width": 6, - "collapse": false - }, - { - "id": "106f0e1b.6478a2", - "type": "ui_group", - "z": "", - "name": "Spatio Temporal", - "tab": "6b01f851.598028", - "order": 6, - "disp": true, - "width": 7, - "collapse": false - }, - { - "id": "77a6994b.e3efb8", - "type": "ui_group", - "z": "", - "name": "Generic info", - "tab": "6b01f851.598028", - "order": 7, - "disp": true, - "width": 6, - "collapse": false - }, - { - "id": "79767bcc.30bb94", - "type": "ui_group", - "z": "", - "name": "Reminder", - "tab": "6b01f851.598028", - "order": 9, - "disp": true, - "width": 25, - "collapse": false - }, - { - "id": "a61f7be8.af6418", - "type": "ui_group", - "z": "", - "name": "Acquisition", - "tab": "6b01f851.598028", - "order": 8, - "disp": true, - "width": 12, - "collapse": false - }, - { - "id": "3d740a07.4674e6", - "type": "ui_group", - "z": "", - "name": "Preview", - "tab": "6b01f851.598028", - "order": 2, - "disp": true, - "width": 12, - "collapse": false - }, - { - "id": "7a3248ea.67b168", - "type": "ui_spacer", - "name": "spacer", - "group": "106f0e1b.6478a2", - "order": 8, - "width": 1, - "height": "1" - }, - { - "id": "4b4609c1.e7ed68", - "type": "ui_spacer", - "name": "spacer", - "group": "832434ce.ebe498", - "order": 8, - "width": 1, - "height": 1 - }, { "id": "955fdac.f54f328", "type": "ui_text_input", @@ -493,7 +268,7 @@ "fwdInMessages": true, "templateScope": "local", "x": 170, - "y": 420, + "y": 480, "wires": [ [] ] @@ -512,7 +287,7 @@ "fwdInMessages": true, "templateScope": "local", "x": 180, - "y": 460, + "y": 520, "wires": [ [] ] @@ -531,7 +306,7 @@ "fwdInMessages": true, "templateScope": "local", "x": 180, - "y": 500, + "y": 560, "wires": [ [] ] @@ -541,7 +316,7 @@ "type": "function", "z": "7f885510.6173fc", "name": "calculate", - "func": "global.set(msg.topic,msg.payload);\nvar acq_fnumber_objective = String(global.get(msg.topic));\n\nswitch(acq_fnumber_objective) {\n case \"25\":\n global.set(\"magnification\",0.6);\n global.set(\"process_pixel\",1.86);\n global.set(\"sug_min\",60);\n global.set(\"sug_max\",670);\n global.set(\"flowrate\",3);\n break;\n case \"16\":\n global.set(\"magnification\",0.94);\n global.set(\"process_pixel\",1.19);\n global.set(\"sug_min\",40);\n global.set(\"sug_max\",430);\n global.set(\"flowrate\",2.4);\n break;\n case \"12\":\n global.set(\"magnification\",1.20);\n global.set(\"process_pixel\",0.94);\n global.set(\"sug_min\",30);\n global.set(\"sug_max\",340);\n global.set(\"flowrate\",1.25);\n break;\n case \"8\":\n global.set(\"magnification\",1.78);\n global.set(\"process_pixel\",0.63);\n global.set(\"sug_min\",20);\n global.set(\"sug_max\",230);\n global.set(\"flowrate\",0.42);\n break;\n case \"6\":\n global.set(\"magnification\",2.36);\n global.set(\"process_pixel\",0.48);\n global.set(\"sug_min\",15);\n global.set(\"sug_max\",170);\n global.set(\"flowrate\",0.32);\n break;\n}\nreturn msg;", + "func": "global.set(msg.topic,msg.payload);\nvar acq_fnumber_objective = String(global.get(msg.topic));\n\nswitch(acq_fnumber_objective) {\n case \"25\":\n global.set(\"magnification\",0.6);\n global.set(\"process_pixel\",1.86);\n global.set(\"sug_min\",60);\n global.set(\"sug_max\",670);\n global.set(\"sug_flowrate\",3);\n break;\n case \"16\":\n global.set(\"magnification\",0.94);\n global.set(\"process_pixel\",1.19);\n global.set(\"sug_min\",40);\n global.set(\"sug_max\",430);\n global.set(\"sug_flowrate\",2.4);\n break;\n case \"12\":\n global.set(\"magnification\",1.20);\n global.set(\"process_pixel\",0.94);\n global.set(\"sug_min\",30);\n global.set(\"sug_max\",340);\n global.set(\"sug_flowrate\",1.25);\n break;\n case \"8\":\n global.set(\"magnification\",1.78);\n global.set(\"process_pixel\",0.63);\n global.set(\"sug_min\",20);\n global.set(\"sug_max\",230);\n global.set(\"sug_flowrate\",0.42);\n break;\n case \"6\":\n global.set(\"magnification\",2.36);\n global.set(\"process_pixel\",0.48);\n global.set(\"sug_min\",15);\n global.set(\"sug_max\",170);\n global.set(\"sug_flowrate\",0.32);\n break;\n}\nreturn msg;", "outputs": 1, "noerr": 0, "x": 1220, @@ -947,7 +722,7 @@ "order": 6, "width": 0, "height": 0, - "format": "
\n Flowrate :\n \n ml/min\n
", + "format": "
\n Suggested flowrate :\n \n ml/min\n
", "storeOutMessages": true, "fwdInMessages": true, "templateScope": "local", @@ -1035,8 +810,8 @@ "label": "Acquisition ID*", "tooltip": "", "group": "a61f7be8.af6418", - "order": 2, - "width": "12", + "order": 1, + "width": 12, "height": 1, "passthru": true, "mode": "text", @@ -1133,7 +908,7 @@ "type": "function", "z": "7f885510.6173fc", "name": "get flowrate", - "func": "var flowrate = global.get(\"flowrate\");\nmsg.payload = flowrate\nreturn msg;", + "func": "var sug_flowrate = global.get(\"sug_flowrate\");\nmsg.payload = sug_flowrate\nreturn msg;", "outputs": 1, "noerr": 0, "x": 1390, @@ -1297,7 +1072,7 @@ "outputs": 1, "noerr": 0, "x": 340, - "y": 220, + "y": 280, "wires": [ [] ] @@ -1488,32 +1263,13 @@ ], "icon": "font-awesome/fa-stop" }, - { - "id": "13ad31b4.5b682e", - "type": "ui_template", - "z": "7f885510.6173fc", - "group": "77a6994b.e3efb8", - "name": "Device ID", - "order": 4, - "width": 0, - "height": 0, - "format": "
\n Device ID :\n \n Odezenne\n \n
", - "storeOutMessages": true, - "fwdInMessages": true, - "templateScope": "local", - "x": 180, - "y": 540, - "wires": [ - [] - ] - }, { "id": "6bf10b4c.c83c84", "type": "ui_button", "z": "7f885510.6173fc", "name": "start", "group": "a61f7be8.af6418", - "order": 3, + "order": 2, "width": 6, "height": 1, "passthru": false, @@ -1542,7 +1298,7 @@ "z": "7f885510.6173fc", "name": "cancel", "group": "a61f7be8.af6418", - "order": 4, + "order": 3, "width": 6, "height": 1, "passthru": false, @@ -1654,7 +1410,7 @@ "order": 1, "width": 0, "height": 0, - "format": "

In case you forget dude but it's important to read this whenever you are not sure before clicking on any buttons.

\n
\n

Focusing :

\n

To focus, you need to specify a value for the number of steps. Then, you can click once but wait while the stage is moving.

\n

To cancel a focusing, click once on CANCEL FOCUS.

\n
\n

Pumping manually :

\n

To focus, you need to specify a value for the volume. Then, you can click once in order to pump manually a defined volume in a certain direction.

\n

To cancel a pumping event, click once on CANCEL PUMP.

\n

Do not run an acquisition if you are using the pump manually.

\n
\n

Start Acquisition :

\n

Taking images will requires few inputs :

\n
    \n
  1. Name of the project
  2. \n
  3. Name of the station
  4. \n
  5. Directory
  6. \n
  7. Acquisition ID
  8. \n
  9. Volume
  10. \n
  11. M12 Lens
  12. \n
\n

If any of the previous settings are missing, it's going to be a real mess and delete previous acquisition. So check twice here !!

\n

The other inputs are always welcome ;)

\n
\n

Cancel Acquisition :

\n

I made this button CANCEL ACQUISITION to cancel an acquisition which maybe be fucked.

\n

Image you click it, it's going to delete the folder in which you save this acquisition, meaning execute :

\n

rm -r  Directory/Name_of_the_project/Name_of_the_station/Acquisition_ID

\n

So if you made a great acquisition, then run a new one with the same input for Acquisition ID and finally click on this button, you are going to delete them both.

\n

Don't use it if you don't need it and please never click twice because the pi might burn.

\n

 

", + "format": "

In case you forget dude but it's important to read this whenever you are not sure before clicking on any buttons.

\n
\n

Focusing :

\n

To focus, you need to specify a value for the number of steps. Then, you can click once but wait while the stage is moving.

\n

To cancel a focusing, click once on CANCEL FOCUS.

\n
\n

Pumping manually :

\n

To focus, you need to specify a value for the volume. Then, you can click once in order to pump manually a defined volume in a certain direction.

\n

To cancel a pumping event, click once on CANCEL PUMP.

\n

Do not run an acquisition if you are using the pump manually.

\n
\n

Start Acquisition :

\n

Taking images will requires few inputs :

\n
    \n
  1. Name of the project
  2. \n
  3. Name of the station
  4. \n
  5. Directory
  6. \n
  7. Acquisition ID
  8. \n
  9. Volume
  10. \n
  11. M12 Lens
  12. \n
\n

If any of the previous settings are missing, it's going to be a real mess and delete previous acquisition. So check twice here !!

\n

The other inputs are always welcome ;)

\n
\n

Cancel Acquisition :

\n

I made this button CANCEL ACQUISITION to cancel an acquisition which maybe be fucked.

\n

Image you click it, it's going to delete the folder in which you save this acquisition, meaning execute :

\n

rm -r  Directory/Name_of_the_project/Name_of_the_station/Acquisition_ID

\n

So if you made a great acquisition, then run a new one with the same input for Acquisition ID and finally click on this button, you are going to delete them both.

\n

Don't use it if you don't need it and please never click twice because the pi might burn.

", "storeOutMessages": true, "fwdInMessages": true, "templateScope": "local", @@ -1846,5 +1602,140 @@ "649f7ec8.06a84" ] ] + }, + { + "id": "4b817fa7.d0d14", + "type": "ui_numeric", + "z": "7f885510.6173fc", + "name": "flowrate", + "label": "Flowrate (ml/min)", + "tooltip": "", + "group": "a72a9ec6.bb144", + "order": 3, + "width": 0, + "height": 0, + "wrap": false, + "passthru": true, + "topic": "flowrate", + "format": "{{value}}", + "min": "0.3", + "max": "20", + "step": "0.1", + "x": 180, + "y": 400, + "wires": [ + [ + "8861710f.55b92" + ] + ] + }, + { + "id": "c627ea8d.f886e8", + "type": "ui_group", + "z": "", + "name": "Sample", + "tab": "6b01f851.598028", + "order": 1, + "disp": true, + "width": 6, + "collapse": false + }, + { + "id": "106f0e1b.6478a2", + "type": "ui_group", + "z": "", + "name": "Spatio Temporal", + "tab": "6b01f851.598028", + "order": 6, + "disp": true, + "width": 7, + "collapse": false + }, + { + "id": "832434ce.ebe498", + "type": "ui_group", + "z": "", + "name": "Optic Settings", + "tab": "6b01f851.598028", + "order": 3, + "disp": true, + "width": "7", + "collapse": false + }, + { + "id": "77a6994b.e3efb8", + "type": "ui_group", + "z": "", + "name": "Generic info", + "tab": "6b01f851.598028", + "order": 7, + "disp": true, + "width": 6, + "collapse": false + }, + { + "id": "a72a9ec6.bb144", + "type": "ui_group", + "z": "", + "name": "Fluidic settings", + "tab": "6b01f851.598028", + "order": 4, + "disp": true, + "width": 6, + "collapse": false + }, + { + "id": "c62ffbd3.787ef8", + "type": "ui_group", + "z": "", + "name": "Controller", + "tab": "6b01f851.598028", + "order": 5, + "disp": true, + "width": "12", + "collapse": false + }, + { + "id": "3d740a07.4674e6", + "type": "ui_group", + "z": "", + "name": "Preview", + "tab": "6b01f851.598028", + "order": 2, + "disp": true, + "width": 12, + "collapse": false + }, + { + "id": "a61f7be8.af6418", + "type": "ui_group", + "z": "", + "name": "Acquisition", + "tab": "6b01f851.598028", + "order": 8, + "disp": true, + "width": 12, + "collapse": false + }, + { + "id": "79767bcc.30bb94", + "type": "ui_group", + "z": "", + "name": "Reminder", + "tab": "6b01f851.598028", + "order": 9, + "disp": true, + "width": 25, + "collapse": false + }, + { + "id": "6b01f851.598028", + "type": "ui_tab", + "z": "", + "name": "PlanktonScope GUI v2.1", + "icon": "date_range", + "order": 1, + "disabled": false, + "hidden": false } ]