forked from blechdom/node-red-flows
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathROBOTARM_withMIDI_v3.json
More file actions
1 lines (1 loc) · 21.2 KB
/
ROBOTARM_withMIDI_v3.json
File metadata and controls
1 lines (1 loc) · 21.2 KB
1
[{"id":"528ce16a.03a42","type":"function","z":"b3df2f65.5dc53","name":"Just get preset","func":"var servos = msg.payload.payload;\nvar last_servos = global.get(\"last_sent_servos\");\nvar robot_speed = global.get(\"robot_speed\");\nvar sameness_flag = 0;\nvar m = [];\nvar servo_command = \"\";\n\nfor(var i=0; i<servos.length; i++) {\n if(servos[i]!=last_servos[i]){\n sameness_flag=1;\n }\n}\n\nif(sameness_flag==1){\n \n m[0] = { payload: \"reset\"};\n \n for (var i=1;i<7;i++)\n {\n m[i] = { payload: servos[i-1] };\n \n var id = i;\n servo_command = servo_command + id + \":\" + servos[i-1] + \":\" + robot_speed;\n if (id == 6) {\n servo_command = servo_command + \"!\";\n }\n else {\n servo_command = servo_command + \"&\";\n }\n }\n \n m[7] = { payload: servo_command };\n global.set(\"last_sent_servos\", [...servos]);\n global.set(\"servos_preset\", servos);\n\n return m;\n\n}\n","outputs":8,"noerr":0,"x":840,"y":460,"wires":[[],["5d79bf37.cd54"],["1ec0385a.634f48"],["83196b34.755c58"],["f24e27b8.c9d1a8"],["dcefa03a.f1669"],["c24b58b0.280e98"],["9c96f26d.d4a5c","46236aaf.dd3cf4","3901de72.6b9f02"]]},{"id":"48534d8d.2fbac4","type":"function","z":"b3df2f65.5dc53","name":"MIDI KNOB PARSE","func":"var knob_array = [];\nknob_array = msg.payload;\nvar output_array = [];\n\nswitch (knob_array[0]) {\n case 48:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[0] = {payload: scaled_value};\n break;\n case 49:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[1] = {payload: scaled_value};\n break;\n case 50:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[2] = {payload: scaled_value};\n break;\n case 51:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[3] = {payload: scaled_value};\n break;\n case 52:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[4] = {payload: scaled_value};\n break;\n case 53:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[5] = {payload: scaled_value};\n break;\n case 54:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[6] = {payload: scaled_value};\n break;\n case 55:\n var scaled_value = Math.floor((knob_array[1]*3000)/127);\n output_array[7] = {payload: scaled_value};\n break;\n \n}\nreturn output_array;\n\n\n","outputs":8,"noerr":0,"x":850,"y":760,"wires":[["37211ccf.c89094"],["3f5963ab.13b39c"],["53103679.fc1c08"],["8be737d9.d24058"],["f3576875.b049e8"],["a787a888.06bdc8"],[],["6f0a496f.836d38"]]},{"id":"99530ebf.85d27","type":"ui_template","z":"b3df2f65.5dc53","group":"4c11c40c.85deac","name":"DMX LOG","order":1,"width":"6","height":"12","format":"<ul>\n <li ng-repeat=\"x in msg.payload\">\n <font color=\"red\">{{x.topic}}</font>\n <ul>\n <li>{{x.payload}}</li>\n </ul>\n </li>\n</ul>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1510,"y":120,"wires":[[]]},{"id":"1ec0385a.634f48","type":"ui_slider","z":"b3df2f65.5dc53","name":"Servo2","label":"Servo 2","group":"b29a4984.6aeca8","order":2,"width":"0","height":"0","passthru":true,"topic":"Slider","min":0,"max":"1000","step":"1","x":1080,"y":440,"wires":[["3f5963ab.13b39c"]]},{"id":"4e475479.b87c0c","type":"ui_slider","z":"b3df2f65.5dc53","name":"Preset Recall Speed","label":"Robot Speed","group":"1d707854.547168","order":7,"width":0,"height":0,"passthru":true,"topic":"Slider","min":"500","max":"3000","step":1,"x":1126,"y":640,"wires":[["6f0a496f.836d38","e962ec7d.9cca"]]},{"id":"c24b58b0.280e98","type":"ui_slider","z":"b3df2f65.5dc53","name":"Servo6","label":"Servo 6","group":"b29a4984.6aeca8","order":6,"width":0,"height":0,"passthru":true,"topic":"Slider","min":0,"max":"1000","step":"1","x":1080,"y":600,"wires":[["a787a888.06bdc8"]]},{"id":"dcefa03a.f1669","type":"ui_slider","z":"b3df2f65.5dc53","name":"Servo5","label":"Servo 5","group":"b29a4984.6aeca8","order":5,"width":0,"height":0,"passthru":true,"topic":"Slider","min":0,"max":"1000","step":"1","x":1080,"y":560,"wires":[["f3576875.b049e8"]]},{"id":"f24e27b8.c9d1a8","type":"ui_slider","z":"b3df2f65.5dc53","name":"Servo4","label":"Servo 4","group":"b29a4984.6aeca8","order":4,"width":0,"height":0,"passthru":true,"topic":"Slider","min":0,"max":"1000","step":"1","x":1080,"y":520,"wires":[["8be737d9.d24058"]]},{"id":"83196b34.755c58","type":"ui_slider","z":"b3df2f65.5dc53","name":"Servo3","label":"Servo 3","group":"b29a4984.6aeca8","order":3,"width":0,"height":0,"passthru":true,"topic":"Slider","min":0,"max":"1000","step":"1","x":1080,"y":480,"wires":[["53103679.fc1c08"]]},{"id":"37211ccf.c89094","type":"change","z":"b3df2f65.5dc53","name":"save to Global Servos1","rules":[{"t":"set","p":"servos_preset[0]","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1350,"y":400,"wires":[[]]},{"id":"3f5963ab.13b39c","type":"change","z":"b3df2f65.5dc53","name":"save to Global Servos2","rules":[{"t":"set","p":"servos_preset[1]","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1350,"y":440,"wires":[[]]},{"id":"53103679.fc1c08","type":"change","z":"b3df2f65.5dc53","name":"save to Global Servos3","rules":[{"t":"set","p":"servos_preset[2]","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1350,"y":480,"wires":[[]]},{"id":"8be737d9.d24058","type":"change","z":"b3df2f65.5dc53","name":"save to Global Servos4","rules":[{"t":"set","p":"servos_preset[3]","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1350,"y":520,"wires":[[]]},{"id":"f3576875.b049e8","type":"change","z":"b3df2f65.5dc53","name":"save to Global Servos5","rules":[{"t":"set","p":"servos_preset[4]","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1350,"y":560,"wires":[[]]},{"id":"a787a888.06bdc8","type":"change","z":"b3df2f65.5dc53","name":"save to Global Servos6","rules":[{"t":"set","p":"servos_preset[5]","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1350,"y":600,"wires":[[]]},{"id":"6f0a496f.836d38","type":"change","z":"b3df2f65.5dc53","name":"save to Global RobotSpeed","rules":[{"t":"set","p":"robot_speed","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1360,"y":640,"wires":[[]]},{"id":"872b8b76.385c38","type":"function","z":"b3df2f65.5dc53","name":"insert preset","func":"var preset = [];\npreset = global.get(\"servos_preset\");\nvar newMsg = {};\nnewMsg.collection = 'servos_presets';\nnewMsg.payload = [\n {topic: msg.payload},\n {\n \"$set\": {\n \"payload\": preset\n }\n },\n {upsert:true}\n];\n\nreturn newMsg;\n","outputs":1,"noerr":0,"x":375,"y":81.5,"wires":[["76f13456.8c4f7c"]]},{"id":"c43ccc96.5e5ae","type":"function","z":"b3df2f65.5dc53","name":"init global variables","func":"global.set(\"servos_preset\",[500,500,500,500,500,500]); \nmsg.payload = global.get(\"servos_preset\");\nreturn msg;","outputs":1,"noerr":0,"x":390,"y":500,"wires":[["26091f72.e1062","fd84782b.564ed8"]]},{"id":"b5a12e2b.90526","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":150,"y":500,"wires":[["c43ccc96.5e5ae"]]},{"id":"26091f72.e1062","type":"debug","z":"b3df2f65.5dc53","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":610,"y":500,"wires":[]},{"id":"2e599085.56e91","type":"debug","z":"b3df2f65.5dc53","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":610,"y":580,"wires":[]},{"id":"cd230776.96bc78","type":"function","z":"b3df2f65.5dc53","name":"check global preset","func":"msg.payload = global.get(\"servos_preset\");\nreturn msg;","outputs":1,"noerr":0,"x":390,"y":580,"wires":[["2e599085.56e91","fd84782b.564ed8"]]},{"id":"df97f983.659d58","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":580,"wires":[["cd230776.96bc78"]]},{"id":"9c96f26d.d4a5c","type":"function","z":"b3df2f65.5dc53","name":"DASHBOARD FORMATTING","func":"var dashboardLog = context.get('dashboardLog')|| [];\n\ndashboardLog.push(msg);\nif (dashboardLog.length > 20){\n // Supprime le plus anciens message si > 20\n // Delete oldest message if > 20\n dashboardLog.shift();\n dashboardLog.length = 20;\n} \n\n// Enregistre les messages du dashboard pour le prochain affichage\n// store the value back\ncontext.set('dashboardLog',dashboardLog);\n\n// Affiche le journal des messages\n// make it part of the outgoing msg object\nmsg = {};\nmsg.payload = dashboardLog;\nreturn msg;\n","outputs":1,"noerr":0,"x":1290,"y":80,"wires":[["99530ebf.85d27"]]},{"id":"5d79bf37.cd54","type":"ui_slider","z":"b3df2f65.5dc53","name":"Servo1","label":"Servo 1","group":"b29a4984.6aeca8","order":1,"width":0,"height":0,"passthru":true,"topic":"Slider","min":0,"max":"1000","step":"1","x":1080,"y":400,"wires":[["37211ccf.c89094"]]},{"id":"196f66a5.2407f9","type":"function","z":"b3df2f65.5dc53","name":"findOne","func":"var newMsg = {};\nnewMsg.operation = 'find.toArray';\nnewMsg.payload = {};\nreturn newMsg;","outputs":1,"noerr":0,"x":262,"y":199.5,"wires":[["37276137.69808e"]]},{"id":"e2648c3e.e48c1","type":"ui_dropdown","z":"b3df2f65.5dc53","name":"Recall Pulldown","label":"Recall","place":"Select option","group":"1d707854.547168","order":2,"width":0,"height":0,"passthru":false,"options":[],"payload":"","topic":"","x":1020,"y":200,"wires":[["528ce16a.03a42","9c96f26d.d4a5c","adc7f69c.37dc98"]]},{"id":"11ab717b.33e3af","type":"function","z":"b3df2f65.5dc53","name":"Format Preset Pulldown","func":"var msg_array = [];\nfor (var i=0; i< msg.payload.length; i++)\n{\n var tmp_object = {};\n var msg_object = msg.payload[i];\n if (msg_object.topic != undefined){\n tmp_object[msg_object.topic] = {\"topic\": msg_object.topic, \"payload\": msg_object.payload};\n msg_array[i] = tmp_object;\n }\n}\nmsg.options = msg_array;\nreturn msg;","outputs":1,"noerr":0,"x":778,"y":202,"wires":[["e2648c3e.e48c1"]]},{"id":"d665d07a.25aa1","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":113,"y":198,"wires":[["196f66a5.2407f9"]]},{"id":"978eb160.392a1","type":"ui_text_input","z":"b3df2f65.5dc53","name":"","label":"Edit Preset Name","group":"1d707854.547168","order":4,"width":0,"height":0,"passthru":true,"mode":"text","delay":"300","topic":"","x":1430,"y":200,"wires":[["e2e774dc.6b49c8"]]},{"id":"c6c9f57.fbf8a08","type":"ui_button","z":"b3df2f65.5dc53","name":"Save","group":"1d707854.547168","order":5,"width":0,"height":0,"passthru":false,"label":"Save Preset","color":"#FFF","bgcolor":"#FF0000","icon":"","payload":"","payloadType":"date","topic":"","x":55,"y":80,"wires":[["1c65f156.7345cf"]]},{"id":"e2e774dc.6b49c8","type":"function","z":"b3df2f65.5dc53","name":"set global preset name","func":"global.set(\"robot_arm_preset_name\", msg.payload);","outputs":1,"noerr":0,"x":1640,"y":200,"wires":[[]]},{"id":"1c65f156.7345cf","type":"function","z":"b3df2f65.5dc53","name":"save preset","func":"msg.payload = global.get(\"robot_arm_preset_name\");\nreturn msg;","outputs":1,"noerr":0,"x":207,"y":80.5,"wires":[["872b8b76.385c38"]]},{"id":"adc7f69c.37dc98","type":"function","z":"b3df2f65.5dc53","name":"get preset name","func":"msg.payload = msg.payload.topic;\nreturn msg;","outputs":1,"noerr":0,"x":1240,"y":200,"wires":[["978eb160.392a1"]]},{"id":"adeec43f.c646d8","type":"ui_text","z":"b3df2f65.5dc53","group":"1d707854.547168","order":3,"width":0,"height":0,"name":"","label":"SAVE PRESET","format":"{{msg.payload}}","layout":"row-left","x":100,"y":300,"wires":[]},{"id":"ee702bd2.233ce8","type":"ui_text","z":"b3df2f65.5dc53","group":"36696ac2.f5d396","order":1,"width":0,"height":0,"name":"","label":"RECALL PRESET","format":"{{msg.payload}}","layout":"row-left","x":110,"y":260,"wires":[]},{"id":"4e8dbc14.429b74","type":"function","z":"b3df2f65.5dc53","name":"delete preset","func":"var newMsg = {};\nnewMsg.operation = 'deleteOne';\nnewMsg.payload = {'topic' : msg.payload};\nreturn newMsg;","outputs":1,"noerr":0,"x":376,"y":140.5,"wires":[["edb66850.b782b8"]]},{"id":"2dc7ff9f.cadd","type":"ui_button","z":"b3df2f65.5dc53","name":"Delete","group":"1d707854.547168","order":5,"width":0,"height":0,"passthru":false,"label":"Delete Preset","color":"#FFF","bgcolor":"#FF00FF","icon":"","payload":"","payloadType":"date","topic":"","x":56,"y":139,"wires":[["a88e7c77.3eafa"]]},{"id":"a88e7c77.3eafa","type":"function","z":"b3df2f65.5dc53","name":"delete preset","func":"msg.payload = global.get(\"robot_arm_preset_name\");\nreturn msg;","outputs":1,"noerr":0,"x":208,"y":139.5,"wires":[["4e8dbc14.429b74"]]},{"id":"3006386f.87e5c8","type":"debug","z":"b3df2f65.5dc53","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":360,"y":720,"wires":[]},{"id":"3ee9dcd0.e48154","type":"function","z":"b3df2f65.5dc53","name":"send servo data","func":"var servos = global.get(\"servos_preset\");\nvar last_servos = global.get(\"last_sent_servos\");\nvar sameness_flag = false;\nvar m = [];\n\nfor(var i=0; i<servos.length; i++) {\n if(servos[i]!=last_servos[i]){\n sameness_flag= true;\n }\n}\n\nif(sameness_flag){\n \n var robot_speed = 150;\n\n var servo_string = \"1:\" + servos[0] + \":\" + robot_speed + \"&\" +\n \"2:\" + servos[1] + \":\" + robot_speed + \"&\" +\n \"3:\" + servos[2] + \":\" + robot_speed + \"&\" +\n \"4:\" + servos[3] + \":\" + robot_speed + \"&\" +\n \"5:\" + servos[4] + \":\" + robot_speed + \"&\" +\n \"6:\" + servos[5] + \":\" + robot_speed + \"!\";\n global.set(\"last_sent_servos\", [...servos]);\n m[0] = { payload: servo_string };\n m[1] = { payload: servos};\n return m;\n}\n\n","outputs":2,"noerr":0,"x":1900,"y":800,"wires":[["46236aaf.dd3cf4","3901de72.6b9f02"],[]]},{"id":"b5f11cb3.80089","type":"ui_button","z":"b3df2f65.5dc53","name":"RESET SERVO POSITIONS","group":"1d707854.547168","order":0,"width":0,"height":0,"passthru":false,"label":"RESET SERVO POSITIONS","color":"","bgcolor":"","icon":"","payload":"1:500:1000&2:500:1000&3:500:1000&4:500:1000&5:500:1000&6:500:1000!","payloadType":"str","topic":"","x":145,"y":340,"wires":[["43881fa1.799a9"]]},{"id":"43881fa1.799a9","type":"function","z":"b3df2f65.5dc53","name":"load reset","func":"msg.payload = { payload : [500,500,500,500,500,500] };\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":360,"wires":[["528ce16a.03a42"]]},{"id":"d325f692.ea3ff8","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"1000","payloadType":"num","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":930,"y":660,"wires":[["4e475479.b87c0c"]]},{"id":"3dfa3360.c8a50c","type":"trigger","z":"b3df2f65.5dc53","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"-150","extend":false,"units":"ms","reset":"reset","bytopic":"all","name":"","x":1520,"y":840,"wires":[["a4b62cce.1bd6b","3ee9dcd0.e48154"]]},{"id":"dfce7715.c25e18","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"1","payloadType":"str","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":1310,"y":820,"wires":[["3dfa3360.c8a50c"]]},{"id":"e962ec7d.9cca","type":"ui_numeric","z":"b3df2f65.5dc53","name":"preset recall speed","label":"numeric","group":"b29a4984.6aeca8","order":0,"width":0,"height":0,"passthru":true,"topic":"","format":"{{value}}","min":0,"max":"1000","step":1,"x":1430,"y":700,"wires":[[]]},{"id":"14a87dd8.8cc872","type":"function","z":"b3df2f65.5dc53","name":"save last sent servos","func":"global.set(\"last_sent_servos\", [0,0,0,0,0,0]);\nreturn msg;","outputs":1,"noerr":0,"x":2000,"y":640,"wires":[[]]},{"id":"e512da54.649988","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":1810,"y":640,"wires":[["14a87dd8.8cc872"]]},{"id":"fd84782b.564ed8","type":"function","z":"b3df2f65.5dc53","name":"Reset from global","func":"var preset = [];\nvar m = [];\npreset = global.get(\"servos_preset\");\n\n\nfor (var i=0;i<7;i++)\n{\n m[i] = { payload: preset[i] };\n}\nreturn m;\n","outputs":6,"noerr":0,"x":850,"y":580,"wires":[["5d79bf37.cd54"],["1ec0385a.634f48"],["83196b34.755c58"],["f24e27b8.c9d1a8"],["dcefa03a.f1669"],["c24b58b0.280e98"]]},{"id":"36d1edaa.14f772","type":"inject","z":"b3df2f65.5dc53","name":"RESET SERVO POSITIONS","topic":"","payload":"1:500:1000&2:500:1000&3:500:1000&4:500:1000&5:500:1000&6:500:1000!","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":380,"wires":[["43881fa1.799a9"]]},{"id":"4a4396a.20e1768","type":"inject","z":"b3df2f65.5dc53","name":"reset","topic":"","payload":"reset","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1310,"y":860,"wires":[["3dfa3360.c8a50c"]]},{"id":"c61c9a03.8286d8","type":"function","z":"b3df2f65.5dc53","name":"get last sent","func":"msg.payload = global.get(\"last_sent_servos\");\n\nreturn msg;","outputs":1,"noerr":0,"x":1970,"y":320,"wires":[["8c3527bb.f0c328"]]},{"id":"89cdf84e.c51208","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1800,"y":320,"wires":[["c61c9a03.8286d8"]]},{"id":"25c5c7e.3ab7638","type":"function","z":"b3df2f65.5dc53","name":"get current","func":"msg.payload = global.get(\"servos_preset\");\nreturn msg;","outputs":1,"noerr":0,"x":1970,"y":380,"wires":[["8c3527bb.f0c328"]]},{"id":"cb25d0b1.16616","type":"inject","z":"b3df2f65.5dc53","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1800,"y":380,"wires":[["25c5c7e.3ab7638"]]},{"id":"8c3527bb.f0c328","type":"debug","z":"b3df2f65.5dc53","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":2230,"y":500,"wires":[]},{"id":"abf443eb.12445","type":"function","z":"b3df2f65.5dc53","name":"save last sent","func":"global.set(\"last_sent_servos\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":2120,"y":860,"wires":[[]]},{"id":"46236aaf.dd3cf4","type":"debug","z":"b3df2f65.5dc53","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":2170,"y":1020,"wires":[]},{"id":"a4b62cce.1bd6b","type":"function","z":"b3df2f65.5dc53","name":"get last sent","func":"msg.payload = { last_sent_servos: global.get(\"last_sent_servos\"),\n current_servos: global.get(\"servos_preset\")\n \n};\n\nreturn msg;","outputs":1,"noerr":0,"x":1750,"y":860,"wires":[[]]},{"id":"76f13456.8c4f7c","type":"mongodb2 in","z":"b3df2f65.5dc53","service":"_ext_","configNode":"8f466b3e.ef20b8","name":"Store Data into MongoDB","collection":"robot_arm_presets","operation":"findOneAndUpdate","x":586,"y":82.5,"wires":[["196f66a5.2407f9","9c96f26d.d4a5c"]]},{"id":"37276137.69808e","type":"mongodb2 in","z":"b3df2f65.5dc53","service":"_ext_","configNode":"8f466b3e.ef20b8","name":"Mongo DB dynamic operation","collection":"robot_arm_presets","operation":"","x":496,"y":202.5,"wires":[["11ab717b.33e3af"]]},{"id":"edb66850.b782b8","type":"mongodb2 in","z":"b3df2f65.5dc53","service":"_ext_","configNode":"8f466b3e.ef20b8","name":"Store Data into MongoDB","collection":"robot_arm_presets","operation":"","x":587,"y":141.5,"wires":[["196f66a5.2407f9","9c96f26d.d4a5c"]]},{"id":"e58703b1.7b8e2","type":"serial in","z":"b3df2f65.5dc53","name":"","serial":"ba4e05b2.19cda8","x":130,"y":720,"wires":[["3006386f.87e5c8"]]},{"id":"3901de72.6b9f02","type":"serial out","z":"b3df2f65.5dc53","name":"","serial":"ba4e05b2.19cda8","x":2210,"y":780,"wires":[]},{"id":"514e7e03.3efc5","type":"midi in","z":"b3df2f65.5dc53","name":"AKAI APC KEY25 MIDI IN","midiport":"0","x":610,"y":760,"wires":[["48534d8d.2fbac4"]]},{"id":"4c11c40c.85deac","type":"ui_group","z":"b3df2f65.5dc53","name":"SERVO LOG","tab":"ccefefa2.1224a","order":4,"disp":true,"width":"6","collapse":true},{"id":"b29a4984.6aeca8","type":"ui_group","z":"","name":"SERVO SLIDERS","tab":"ccefefa2.1224a","order":3,"disp":true,"width":"6","collapse":false},{"id":"1d707854.547168","type":"ui_group","z":"","name":"PRESETS","tab":"ccefefa2.1224a","order":2,"disp":true,"width":"6","collapse":false},{"id":"36696ac2.f5d396","type":"ui_group","z":"","name":"PTZ Save Presets","tab":"f5dfc97e.529808","order":6,"disp":true,"width":"6","collapse":false},{"id":"8f466b3e.ef20b8","type":"mongodb2","z":0,"uri":"mongodb://127.0.0.1:27017/cinebrain","name":"cinebrain db","options":"","parallelism":"-1"},{"id":"ba4e05b2.19cda8","type":"serial-port","z":0,"serialport":"COM5","serialbaud":"9600","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":false},{"id":"ccefefa2.1224a","type":"ui_tab","z":"","name":"ROBOT ARM DASHBOARD","icon":"home","order":2},{"id":"f5dfc97e.529808","type":"ui_tab","z":"","name":"PTZ Camera Control","icon":"dashboard","order":1}]