Skip to content

Instantly share code, notes, and snippets.

@SteelPh0enix
Last active May 31, 2022 07:59
Show Gist options
  • Save SteelPh0enix/4d97952b9182dd88f63badd8c8bd8828 to your computer and use it in GitHub Desktop.
Save SteelPh0enix/4d97952b9182dd88f63badd8c8bd8828 to your computer and use it in GitHub Desktop.
[{"id":"7e9c50ed.2ab67","type":"subflow","name":"Group variables in a .csv file","info":"","category":"STMicroelectronics","in":[{"x":60,"y":80,"wires":[{"id":"c7f149ae.894818"}]}],"out":[{"x":840,"y":360,"wires":[{"id":"802c75f2.9f7898","port":0}]}],"env":[{"name":"nbVar","type":"num","value":"","ui":{"icon":"font-awesome/fa-cogs","label":{"en-US":"Number of Variables"},"type":"input","opts":{"types":["num"]}}},{"name":"delete_time","type":"bool","value":"false","ui":{"icon":"font-awesome/fa-clock-o","label":{"en-US":"Single Time"},"type":"input","opts":{"types":["bool"]}}}],"color":"#3CB4E6","icon":"node-red/join.svg"},{"id":"7b54efc3.0009e","type":"function","z":"7e9c50ed.2ab67","name":"Associate values with same timestamp","func":"let i = 0;\nlet j = 0;\nlet n = 0;\nlet msg1; \nlet msgArray = new Array();\nlet nbVar = msg.payload.length;\n\nfor(i = 0; i < nbVar; i++){\n \n let underArrayLength = msg.payload[i].length;\n \n for(j = 0; j < underArrayLength; j++){\n \n for(n = 0; n < nbVar; n++){\n msg1 = msg.payload[n][j];\n msgArray.push(msg1);\n }\n }\n msg.payload = msgArray;\n return msg;\n}","outputs":1,"noerr":0,"x":650,"y":80,"wires":[["b3b24fdd.b01b9"]]},{"id":"b3b24fdd.b01b9","type":"split","z":"7e9c50ed.2ab67","name":"","splt":"\\n","spltType":"str","arraySplt":"${nbVar}","arraySpltType":"len","stream":false,"addname":"","x":870,"y":80,"wires":[["cf754130.7de2a"]]},{"id":"ca91d405.238ea8","type":"function","z":"7e9c50ed.2ab67","name":"Format data","func":"let output=\"\";\n\nif(typeof msg.payload == 'number') {\n output = msg.payload;\n \n}else if(typeof msg.payload == 'string'){\n output = msg.payload;\n}else{\n output = msg.payload.x + \";\"+ msg.payload.y;\n}\n\nmsg.payload = output ;\n\nreturn msg;","outputs":1,"noerr":0,"x":790,"y":200,"wires":[["802c75f2.9f7898"]]},{"id":"802c75f2.9f7898","type":"join","z":"7e9c50ed.2ab67","name":"Join consecutive messages from the number of monitored variables","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":";","joinerType":"str","accumulate":false,"timeout":"","count":"${nbVar}","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":380,"y":360,"wires":[[]]},{"id":"c7f149ae.894818","type":"join","z":"7e9c50ed.2ab67","name":"Join [nbVar] consecutives messages","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":";","joinerType":"str","accumulate":false,"timeout":"","count":"${nbVar}","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":290,"y":80,"wires":[["7b54efc3.0009e"]]},{"id":"cf754130.7de2a","type":"function","z":"7e9c50ed.2ab67","name":"Delete duplicate timestamps if user wants","func":"let i;\nlet delDup = env.get(\"delete_time\");\nlet nbVar = env.get(\"nbVar\");\nlet msgArray = new Array();\n\nif(delDup === false){\n return msg;\n}else{\n \n msgArray.push(msg.payload[0]);\n \n for(i=1; i < nbVar; i++){\n \n msgArray.push(msg.payload[i].y);\n \n }\n \n msg.payload = msgArray;\n return msg;\n \n}\n\n\n","outputs":1,"noerr":0,"x":260,"y":200,"wires":[["91613227.a8eb8"]]},{"id":"91613227.a8eb8","type":"split","z":"7e9c50ed.2ab67","name":"","splt":"\\n","spltType":"str","arraySplt":"1","arraySpltType":"len","stream":false,"addname":"","x":570,"y":200,"wires":[["ca91d405.238ea8"]]},{"id":"91d68244.047e7","type":"subflow","name":"Select .csv variable","info":"","category":"STMicroelectronics","in":[{"x":220,"y":120,"wires":[{"id":"e9aa15c3.2c15f8"}]}],"out":[{"x":1180,"y":120,"wires":[{"id":"d287b70e.45b4c8","port":0}]}],"env":[{"name":"varfilter","type":"str","value":"","ui":{"icon":"font-awesome/fa-cog","label":{"en-US":"Variable name"},"type":"input","opts":{"types":["str"]}}}],"color":"#3CB4E6","icon":"node-red/arrow-in.svg"},{"id":"d287b70e.45b4c8","type":"change","z":"91d68244.047e7","name":"keep only table of duplets","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.variabledata","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":120,"wires":[[]]},{"id":"e9aa15c3.2c15f8","type":"switch","z":"91d68244.047e7","name":"filter variable","property":"payload.variablename","propertyType":"msg","rules":[{"t":"eq","v":"varfilter","vt":"env"}],"checkall":"true","repair":false,"outputs":1,"x":390,"y":120,"wires":[["c88ffe31.b60d9"]]},{"id":"c88ffe31.b60d9","type":"function","z":"91d68244.047e7","name":"define the .csv header ","func":"if(msg.payload.variabledata[0].y === undefined){\n msg.payload.variabledata[0].x = 'timestamp' + \"_\" + msg.payload.variablename;\n msg.payload.variabledata[0].y = msg.payload.variablename;\n return msg;\n}else{\n return msg;\n}\n","outputs":1,"noerr":0,"x":660,"y":120,"wires":[["d287b70e.45b4c8"]]},{"id":"2e1c0f07e00604a2","type":"tab","label":"Create .csv log file","disabled":false,"info":""},{"id":"a0423de8137f794b","type":"ui_chartst","z":"2e1c0f07e00604a2","group":"1b8f9f84.b59fb","name":"myChart","order":4,"width":15,"height":9,"chartType":"line","curveType":"linear","duration":"10","ymin":"","ymax":"","x":620,"y":300,"wires":[]},{"id":"01e262de3df54dee","type":"acquisition out","z":"2e1c0f07e00604a2","name":"myProbe_Out","probeconfig":"d427ca94.1ec4b8","x":680,"y":140,"wires":[]},{"id":"dedf15f4b2935640","type":"acquisition in","z":"2e1c0f07e00604a2","name":"myProbe_In","probeconfig":"d427ca94.1ec4b8","x":230,"y":380,"wires":[["e380881e49e89e15"],[]]},{"id":"79b8765f076e0380","type":"ui_button","z":"2e1c0f07e00604a2","name":"","group":"1b8f9f84.b59fb","order":3,"width":5,"height":1,"passthru":false,"label":"Clear Graphs","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"clear","x":410,"y":300,"wires":[["a0423de8137f794b"]]},{"id":"c31aa2c0fc3da178","type":"ui_button","z":"2e1c0f07e00604a2","name":"","group":"1b8f9f84.b59fb","order":1,"width":5,"height":1,"passthru":false,"label":"START Acquisition","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"start","x":250,"y":100,"wires":[["44bd8982c98858de"]]},{"id":"67a2f46a06874ac9","type":"ui_button","z":"2e1c0f07e00604a2","name":"","group":"1b8f9f84.b59fb","order":2,"width":5,"height":1,"passthru":true,"label":"STOP Acquisition","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"stop","x":250,"y":180,"wires":[["44bd8982c98858de"]]},{"id":"e380881e49e89e15","type":"processing","z":"2e1c0f07e00604a2","groupname":"MyVariables","groupid":"44bd8982c98858de","expressions":[],"statistics":[],"logmode":"no","logformat":"stcm","x":490,"y":400,"wires":[["a0423de8137f794b","36dd434ea62a2871"],[]]},{"id":"72c61a3b417469b4","type":"file","z":"2e1c0f07e00604a2","name":"","filename":"d:\\acqlog.csv","appendNewline":true,"createDir":false,"overwriteFile":"false","encoding":"none","x":1270,"y":420,"wires":[[]]},{"id":"36dd434ea62a2871","type":"subflow:91d68244.047e7","z":"2e1c0f07e00604a2","name":"MAX0","env":[{"name":"varfilter","value":"max30001[0].lastECGSample.voltage","type":"str"}],"x":710,"y":400,"wires":[["e2b1fa635f25f058"]]},{"id":"e2b1fa635f25f058","type":"subflow:7e9c50ed.2ab67","z":"2e1c0f07e00604a2","name":"Group variables in a .csv file","env":[{"name":"nbVar","value":"1","type":"num"}],"x":1000,"y":420,"wires":[["72c61a3b417469b4"]]},{"id":"9fd4e7a5c849494d","type":"comment","z":"2e1c0f07e00604a2","name":"Enter absolute path of the file","info":"","x":1320,"y":460,"wires":[]},{"id":"44bd8982c98858de","type":"variables","z":"2e1c0f07e00604a2","groupname":"MyVariables","accesspoint":0,"execonfig":"","variablelist":[],"triggerstartmode":"manual","triggername":"max30001[0].lastECGSample.voltage","triggerthreshold":"","frequency":"","frequencyType":"0","snapshotheader":"","mode":"direct","lastImportedTime":-1,"openStatus":false,"x":490,"y":140,"wires":[["01e262de3df54dee"],[]]},{"id":"1b8f9f84.b59fb","type":"ui_group","name":"Chart","tab":"e4a22138.efd5b","order":1,"disp":true,"width":15,"collapse":false},{"id":"d427ca94.1ec4b8","type":"probe","probeid":"066AFF363732594D43253716","probename":"ST-Link v2-1B (...53716)","protocol":"SWD","frequency":"4.6 MHz","probeproperty":"{\"SWD\":[\"4.6 MHz\",\"1.8 MHz - Default\",\"950 kHz\",\"400 kHz\",\"150 kHz\"],\"JTAG\":[\"18 MHz\",\"9 MHz\",\"4.5 MHz\",\"2.25 MHz\",\"1.12 MHz - Default\",\"560 kHz\",\"280 kHz\",\"140 kHz\"]}","probeversion":"ST Link firmware version V2.J39","connectionType":"p2p"},{"id":"e4a22138.efd5b","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment