Published © CC BY-NC-SA

YouBionic Robot + Exo Hands

The Robot and wearable Exo Hands are two projects that implement a wearable glove that allows you to control the movements of the Robot Hand

IntermediateFull instructions provided5 hours1,297
YouBionic Robot + Exo Hands

Things used in this project

Hardware components

Quantum Starter Bundle
Quantum Integration Quantum Starter Bundle
×1
Quantum Component Kit
Quantum Integration Quantum Component Kit
×1
DFRobot 9G Servo
One is included in Quantum Integration - Starter Kit. The rest can be purchased here: https://www.digikey.com/en/products/detail/dfrobot/SER0006/7597224
×6
10 K Potentiometer
×6
Hand Exohand - 3D Printing Files
×1
PCA9685 8-Channel 8W 12V FET Driver Proportional Valve Controller with IoT Interface
National Control Devices PCA9685 8-Channel 8W 12V FET Driver Proportional Valve Controller with IoT Interface
One is included in Quantum Integration - Starter Kit
×1

Software apps and online services

Quantum Integration Platform
Quantum Integration Platform

Hand tools and fabrication machines

Small flat-head screwdriver
One is included in the Quantum Integration - Starter Kit

Story

Read more

Schematics

Robot Hand Fritzing File

Exo Hand Fritzing File

Code

Robot + Exo App.json

JSON
This code is made to only be imported to our application builder on our Q-Server's OS as it is customized to work with our UI.
{"id":"138","name":"Robot + Exo","identifier":"Robot + Exo","offsetX":271.31068842514577,"offsetY":191.38462622752678,"zoom":31.34088948567683,"gridSize":0,"links":[{"id":"6581","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"8c8c6740-07e0-406b-8cf7-79df3bc72504","selected":false,"x":838.531,"y":686.344},{"id":"07a142fd-ed95-442d-be96-4975e3612dfe","selected":false,"x":890.945,"y":689.914},{"id":"b8ee32d9-a5b1-4dbe-bb1b-a23480920207","selected":false,"x":1032.097,"y":694.782},{"id":"b47dd821-1b5f-49c3-b5eb-f872fd1ec3a1","selected":false,"x":1075.594,"y":692.172}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1850","target":"1848","sourcePort":"7485","targetPort":"7436"},{"id":"6582","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"a2fa99b5-9d3d-47de-a68b-dde25809a369","selected":false,"x":443.391,"y":581.937},{"id":"32db7d13-b893-4e7d-899e-08747adfc3c4","selected":false,"x":615.941,"y":587.701},{"id":"207cc3f5-4deb-452a-9b29-fe358422518a","selected":false,"x":618.375,"y":680.18},{"id":"e830eeb8-30fe-45d6-b700-2e46dd5e3d84","selected":false,"x":674.531,"y":686.344}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1836","target":"1850","sourcePort":"7375","targetPort":"7479"},{"id":"6585","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"58e63fbf-69d6-43db-b8c5-c005a187d4b3","selected":false,"x":444.391,"y":682.937},{"id":"94f864d1-8428-4b59-ab31-6c2103b58660","selected":false,"x":535.631,"y":687.481},{"id":"7f879bae-6d27-4dc3-ac6b-64e29c93931e","selected":false,"x":535.631,"y":901.643},{"id":"35c045e4-a582-498b-b310-7e75844784af","selected":false,"x":675.375,"y":901.078}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1837","target":"1851","sourcePort":"7376","targetPort":"7490"},{"id":"6586","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"9ea28faf-7bc2-4785-b519-952cc910a211","selected":false,"x":839.375,"y":901.078},{"id":"00a95b1b-efc2-4609-b8b0-a81674a98f27","selected":false,"x":903.113,"y":901.643},{"id":"d4dee41d-e99e-4cdd-aaf2-1de8d2e33528","selected":false,"x":900.953,"y":850.373},{"id":"cf21f6bb-b356-4306-b4db-85c547b465cf","selected":false,"x":1080.969,"y":842.406}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1851","target":"1849","sourcePort":"7496","targetPort":"7440"},{"id":"6594","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"16377e2c-291c-433c-888a-7e3231e574ba","selected":false,"x":444.391,"y":166.937},{"id":"284247ea-7a1c-4a6b-a57d-24cbb143de45","selected":false,"x":547.311,"y":163.324},{"id":"80696b18-bc65-40aa-9736-2759e8a63bb1","selected":false,"x":550.233,"y":-178.902},{"id":"151773c5-567c-4ab3-bfca-d1867a882187","selected":false,"x":671,"y":-182.641}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1832","target":"1858","sourcePort":"7371","targetPort":"7509"},{"id":"6595","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"01675a8a-a28c-4aa6-a6bb-c7aa6b434911","selected":false,"x":835,"y":-182.641},{"id":"9745aee1-3f8a-40cd-b705-b653594ab98f","selected":false,"x":998.403,"y":-178.145},{"id":"29d87448-6f36-41fd-aa32-a5840be12718","selected":false,"x":993.159,"y":69.331},{"id":"1e992ae1-5bc5-4614-a10a-d89f3bd31561","selected":false,"x":1050.953,"y":74.391}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1858","target":"1844","sourcePort":"7515","targetPort":"7420"},{"id":"6596","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"9bda51c1-91f6-49a2-8a8a-8bc74fef47d8","selected":false,"x":836.469,"y":33.828},{"id":"06365e6c-42f5-40be-b767-a18541badcb9","selected":false,"x":944.485,"y":40.127},{"id":"ab07f190-dbb0-49f8-8e47-19907f8dc9cf","selected":false,"x":943.621,"y":221.138},{"id":"5c04615b-6e58-4d39-8391-223bf8076a04","selected":false,"x":1049.187,"y":231.031}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1861","target":"1845","sourcePort":"7536","targetPort":"7424"},{"id":"6597","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"d101097d-483c-4124-bc12-f1c538831a92","selected":false,"x":838.906,"y":250.625},{"id":"fbfe2406-b337-4765-9a9d-cdca7fb53422","selected":false,"x":917.715,"y":251.856},{"id":"37e33924-73d4-474f-92be-c54ad5bd2b52","selected":false,"x":917.715,"y":378.406},{"id":"a231c528-cf6a-4711-b041-9f069e414175","selected":false,"x":1054.469,"y":382.406}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1860","target":"1846","sourcePort":"7529","targetPort":"7428"},{"id":"6598","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"bfdca815-b242-44a0-ab03-a987c62d6455","selected":false,"x":839.922,"y":466.422},{"id":"9effdda9-7837-46ca-bc99-74921768cd15","selected":false,"x":890.945,"y":466.018},{"id":"a97c3d0c-81b2-49c9-9d53-2ac5706cf4e2","selected":false,"x":890.945,"y":536.594},{"id":"9015bcf4-764c-464d-840e-b93314592caf","selected":false,"x":1059.75,"y":537.281}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1859","target":"1847","sourcePort":"7522","targetPort":"7432"},{"id":"6599","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"1960553a-6d96-4012-a26e-7c063179061a","selected":false,"x":444.391,"y":277.938},{"id":"40d187f0-971c-42a3-868b-569e452f5acc","selected":false,"x":603.773,"y":266.458},{"id":"7a714301-3b25-4bf7-bb66-0b30bbd4fed9","selected":false,"x":606.207,"y":32.826},{"id":"ddf6faa5-df8c-46ad-845e-7ebed2ad0393","selected":false,"x":672.469,"y":33.828}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1833","target":"1861","sourcePort":"7372","targetPort":"7530"},{"id":"6600","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"ecb9bd84-136c-4fd4-8db0-ac950aec929d","selected":false,"x":445.391,"y":382.938},{"id":"c2f6fb1d-36bc-4e22-800e-ae52937eac9c","selected":false,"x":631.463,"y":375.972},{"id":"6a2bcb4b-cfdb-46bb-95c6-fc25474212a9","selected":false,"x":632.977,"y":249.422},{"id":"e9d720f7-05ce-475a-ae5b-5e928879208a","selected":false,"x":674.906,"y":250.625}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1834","target":"1860","sourcePort":"7373","targetPort":"7523"},{"id":"6601","internalFlowId":null,"type":"default","selected":false,"points":[{"id":"7c593fbe-1d21-442d-ad17-6b29e74a844d","selected":false,"x":441.391,"y":482.938},{"id":"3c939cb1-0f44-4d06-80d4-8970cca2274f","selected":false,"x":620.809,"y":487.921},{"id":"5d954c31-e385-4bf8-a600-3b4e6043f36f","selected":false,"x":623.242,"y":463.584},{"id":"d93d2c12-8755-411d-b098-62e6879c6ee1","selected":false,"x":675.922,"y":466.422}],"labels":[],"width":3,"color":"rgba(255,255,255,0.5)","curvyness":50,"source":"1835","target":"1859","sourcePort":"7374","targetPort":"7516"}],"nodes":[{"id":"1832","internalFlowId":"1832","type":"quantum","selected":false,"x":262.392,"y":120.448,"name":"Pinky","mappingDescription":"No instructions defined!","description":"A knob which can be set to a certain value by turning it.","color":"#02B0EF","qType":"Widget","originalName":"Potentiometer","factoryId":"widget_potentiometer","properties":{"mappableCategory":{"category":7,"subCategory":3},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7371","internalFlowId":"235","type":"quantum","selected":false,"name":"b39273a0-5a35-4246-baff-cdd0be11713d","in":false,"label":"Value","description":"Nothing added here yet.","qTrigger":null,"defaultValue":null,"properties":{"clientService":{"key":"q_analog_in","name":"Analog In","uuid":"b71c0915-8c3a-5100-8db8-7c5040729981","value_len":"4","props":["read","notify"],"propChar":[{"key":"resolution","title":"Resolution","len":2},{"key":"range","title":"Range","len":4}],"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["read","notify"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_Q10k_pot_anl","custom_ADS1015"]}},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"index":0,"clients":[{"id":894,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":118,"subClientId":1228,"serviceId":4439,"PortId":7371,"client":{"id":118,"name":"Q #01953","mac_address":"08:6b:d7:49:07:a1","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-54,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #01953","serviceData":[],"serviceUuids":["5155414e54554d430001ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3277mV","deviceVoltage":"3.280V","internalResistance":"-0.02","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-20T21:10:28.549Z","updatedAt":"2021-01-21T00:30:51.514Z","proxyLinkId":1},"subClient":{"id":1228,"name":"Pinky","category":{"category":7,"subCategory":3},"index":1,"createdAt":"2021-01-20T21:10:29.062Z","updatedAt":"2021-01-21T00:21:09.405Z","ClientId":118},"service":{"id":4439,"client_mac_address":null,"name":"Value","signalType":"Analog In","serviceKey":"q_analog_in","uuid":"b71c09158c3a51008db87c5040729981","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Value"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["read","notify"],"value":"3955"},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"124095124095"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"010050696e6b797e377e33"}],"type":null,"createdAt":"2021-01-20T21:10:29.529Z","updatedAt":"2021-01-21T00:21:11.295Z","SubClientId":1228}}],"NodeId":1832}],"category":"Input Control","version":"0.0.1"},{"id":"1833","internalFlowId":"1833","type":"quantum","selected":false,"x":262.392,"y":231.448,"name":"Ring","mappingDescription":"No instructions defined!","description":"A knob which can be set to a certain value by turning it.","color":"#02B0EF","qType":"Widget","originalName":"Potentiometer","factoryId":"widget_potentiometer","properties":{"mappableCategory":{"category":7,"subCategory":3},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7372","internalFlowId":"236","type":"quantum","selected":false,"name":"e9b33dae-30cf-4231-b96f-690b7c45a456","in":false,"label":"Value","description":"Nothing added here yet.","qTrigger":null,"defaultValue":null,"properties":{"clientService":{"key":"q_analog_in","name":"Analog In","uuid":"b71c0915-8c3a-5100-8db8-7c5040729981","value_len":"4","props":["read","notify"],"propChar":[{"key":"resolution","title":"Resolution","len":2},{"key":"range","title":"Range","len":4}],"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["read","notify"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_Q10k_pot_anl","custom_ADS1015"]}},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"index":0,"clients":[{"id":895,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":118,"subClientId":1229,"serviceId":4440,"PortId":7372,"client":{"id":118,"name":"Q #01953","mac_address":"08:6b:d7:49:07:a1","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-54,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #01953","serviceData":[],"serviceUuids":["5155414e54554d430001ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3277mV","deviceVoltage":"3.280V","internalResistance":"-0.02","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-20T21:10:28.549Z","updatedAt":"2021-01-21T00:30:51.514Z","proxyLinkId":1},"subClient":{"id":1229,"name":"Ring","category":{"category":7,"subCategory":3},"index":2,"createdAt":"2021-01-20T21:10:29.147Z","updatedAt":"2021-01-21T00:21:09.656Z","ClientId":118},"service":{"id":4440,"client_mac_address":null,"name":"Value","signalType":"Analog In","serviceKey":"q_analog_in","uuid":"b71c09158c3a51018db87c5040729981","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Value"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["read","notify"],"value":"3831"},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"124095124095"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"010152696e677e377e33"}],"type":null,"createdAt":"2021-01-20T21:10:29.529Z","updatedAt":"2021-01-21T00:21:11.297Z","SubClientId":1229}}],"NodeId":1833}],"category":"Input Control","version":"0.0.1"},{"id":"1834","internalFlowId":"1834","type":"quantum","selected":false,"x":263.392,"y":336.448,"name":"Middle","mappingDescription":"No instructions defined!","description":"A knob which can be set to a certain value by turning it.","color":"#02B0EF","qType":"Widget","originalName":"Potentiometer","factoryId":"widget_potentiometer","properties":{"mappableCategory":{"category":7,"subCategory":3},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7373","internalFlowId":"237","type":"quantum","selected":false,"name":"280103a1-45a3-483c-a72f-69c7b2e376fb","in":false,"label":"Value","description":"Nothing added here yet.","qTrigger":null,"defaultValue":null,"properties":{"clientService":{"key":"q_analog_in","name":"Analog In","uuid":"b71c0915-8c3a-5100-8db8-7c5040729981","value_len":"4","props":["read","notify"],"propChar":[{"key":"resolution","title":"Resolution","len":2},{"key":"range","title":"Range","len":4}],"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["read","notify"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_Q10k_pot_anl","custom_ADS1015"]}},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"index":0,"clients":[{"id":896,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":118,"subClientId":1230,"serviceId":4441,"PortId":7373,"client":{"id":118,"name":"Q #01953","mac_address":"08:6b:d7:49:07:a1","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-54,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #01953","serviceData":[],"serviceUuids":["5155414e54554d430001ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3277mV","deviceVoltage":"3.280V","internalResistance":"-0.02","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-20T21:10:28.549Z","updatedAt":"2021-01-21T00:30:51.514Z","proxyLinkId":1},"subClient":{"id":1230,"name":"Midle","category":{"category":7,"subCategory":3},"index":3,"createdAt":"2021-01-20T21:10:29.226Z","updatedAt":"2021-01-21T00:21:09.943Z","ClientId":118},"service":{"id":4441,"client_mac_address":null,"name":"Value","signalType":"Analog In","serviceKey":"q_analog_in","uuid":"b71c09158c3a51028db87c5040729981","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Value"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["read","notify"],"value":"781"},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"124095124095"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"01024d69646c657e377e33"}],"type":null,"createdAt":"2021-01-20T21:10:29.529Z","updatedAt":"2021-01-21T00:21:11.299Z","SubClientId":1230}}],"NodeId":1834}],"category":"Input Control","version":"0.0.1"},{"id":"1835","internalFlowId":"1835","type":"quantum","selected":false,"x":259.392,"y":436.448,"name":"Index","mappingDescription":"No instructions defined!","description":"A knob which can be set to a certain value by turning it.","color":"#02B0EF","qType":"Widget","originalName":"Potentiometer","factoryId":"widget_potentiometer","properties":{"mappableCategory":{"category":7,"subCategory":3},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7374","internalFlowId":"238","type":"quantum","selected":false,"name":"49e898d6-bb2f-485b-92a6-cfbe0971e876","in":false,"label":"Value","description":"Nothing added here yet.","qTrigger":null,"defaultValue":null,"properties":{"clientService":{"key":"q_analog_in","name":"Analog In","uuid":"b71c0915-8c3a-5100-8db8-7c5040729981","value_len":"4","props":["read","notify"],"propChar":[{"key":"resolution","title":"Resolution","len":2},{"key":"range","title":"Range","len":4}],"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["read","notify"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_Q10k_pot_anl","custom_ADS1015"]}},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"index":0,"clients":[{"id":897,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":118,"subClientId":1231,"serviceId":4442,"PortId":7374,"client":{"id":118,"name":"Q #01953","mac_address":"08:6b:d7:49:07:a1","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-54,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #01953","serviceData":[],"serviceUuids":["5155414e54554d430001ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3277mV","deviceVoltage":"3.280V","internalResistance":"-0.02","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-20T21:10:28.549Z","updatedAt":"2021-01-21T00:30:51.514Z","proxyLinkId":1},"subClient":{"id":1231,"name":"Index","category":{"category":7,"subCategory":3},"index":4,"createdAt":"2021-01-20T21:10:29.328Z","updatedAt":"2021-01-21T00:21:10.253Z","ClientId":118},"service":{"id":4442,"client_mac_address":null,"name":"Value","signalType":"Analog In","serviceKey":"q_analog_in","uuid":"b71c09158c3a51038db87c5040729981","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Value"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["read","notify"],"value":"3700"},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"124095124095"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"0103496e6465787e377e33"}],"type":null,"createdAt":"2021-01-20T21:10:29.529Z","updatedAt":"2021-01-21T00:21:11.302Z","SubClientId":1231}}],"NodeId":1835}],"category":"Input Control","version":"0.0.1"},{"id":"1836","internalFlowId":"1836","type":"quantum","selected":false,"x":261.392,"y":535.448,"name":"Thumb Base","mappingDescription":"No instructions defined!","description":"A knob which can be set to a certain value by turning it.","color":"#02B0EF","qType":"Widget","originalName":"Potentiometer","factoryId":"widget_potentiometer","properties":{"mappableCategory":{"category":7,"subCategory":3},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7375","internalFlowId":"239","type":"quantum","selected":false,"name":"9dc8cad9-278b-4e16-b84a-0c776b6435f9","in":false,"label":"Value","description":"Nothing added here yet.","qTrigger":null,"defaultValue":null,"properties":{"clientService":{"key":"q_analog_in","name":"Analog In","uuid":"b71c0915-8c3a-5100-8db8-7c5040729981","value_len":"4","props":["read","notify"],"propChar":[{"key":"resolution","title":"Resolution","len":2},{"key":"range","title":"Range","len":4}],"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["read","notify"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_Q10k_pot_anl","custom_ADS1015"]}},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"index":0,"clients":[{"id":898,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":118,"subClientId":1232,"serviceId":4443,"PortId":7375,"client":{"id":118,"name":"Q #01953","mac_address":"08:6b:d7:49:07:a1","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-54,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #01953","serviceData":[],"serviceUuids":["5155414e54554d430001ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3277mV","deviceVoltage":"3.280V","internalResistance":"-0.02","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-20T21:10:28.549Z","updatedAt":"2021-01-21T00:30:51.514Z","proxyLinkId":1},"subClient":{"id":1232,"name":"Thumb Base","category":{"category":7,"subCategory":3},"index":5,"createdAt":"2021-01-20T21:10:29.417Z","updatedAt":"2021-01-21T00:21:10.509Z","ClientId":118},"service":{"id":4443,"client_mac_address":null,"name":"Value","signalType":"Analog In","serviceKey":"q_analog_in","uuid":"b71c09158c3a51048db87c5040729981","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Value"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["read","notify"],"value":"644"},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"124095124095"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"01045468756d6220426173657e377e33"}],"type":null,"createdAt":"2021-01-20T21:10:29.529Z","updatedAt":"2021-01-21T00:21:11.304Z","SubClientId":1232}}],"NodeId":1836}],"category":"Input Control","version":"0.0.1"},{"id":"1837","internalFlowId":"1837","type":"quantum","selected":false,"x":262.392,"y":636.448,"name":"Thumb Tip","mappingDescription":"No instructions defined!","description":"A knob which can be set to a certain value by turning it.","color":"#02B0EF","qType":"Widget","originalName":"Potentiometer","factoryId":"widget_potentiometer","properties":{"mappableCategory":{"category":7,"subCategory":3},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7376","internalFlowId":"240","type":"quantum","selected":false,"name":"47570096-dd53-4e21-bb76-ed0c7991d53d","in":false,"label":"Value","description":"Nothing added here yet.","qTrigger":null,"defaultValue":null,"properties":{"clientService":{"key":"q_analog_in","name":"Analog In","uuid":"b71c0915-8c3a-5100-8db8-7c5040729981","value_len":"4","props":["read","notify"],"propChar":[{"key":"resolution","title":"Resolution","len":2},{"key":"range","title":"Range","len":4}],"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["read","notify"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_Q10k_pot_anl","custom_ADS1015"]}},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0},"index":0,"clients":[{"id":899,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":118,"subClientId":1233,"serviceId":4444,"PortId":7376,"client":{"id":118,"name":"Q #01953","mac_address":"08:6b:d7:49:07:a1","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-54,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #01953","serviceData":[],"serviceUuids":["5155414e54554d430001ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3277mV","deviceVoltage":"3.280V","internalResistance":"-0.02","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-20T21:10:28.549Z","updatedAt":"2021-01-21T00:30:51.514Z","proxyLinkId":1},"subClient":{"id":1233,"name":"Thumb Tip","category":{"category":7,"subCategory":3},"index":6,"createdAt":"2021-01-20T21:10:29.488Z","updatedAt":"2021-01-21T00:21:10.828Z","ClientId":118},"service":{"id":4444,"client_mac_address":null,"name":"Value","signalType":"Analog In","serviceKey":"q_analog_in","uuid":"b71c09158c3a51058db87c5040729981","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Value"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["read","notify"],"value":"3740"},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"124095124095"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"01055468756d62205469707e377e33"}],"type":null,"createdAt":"2021-01-20T21:10:29.529Z","updatedAt":"2021-01-21T00:21:11.306Z","SubClientId":1233}}],"NodeId":1837}],"category":"Input Control","version":"0.0.1"},{"id":"1844","internalFlowId":"1844","type":"quantum","selected":false,"x":1032.954,"y":27.9,"name":"Pinky","mappingDescription":"No instructions defined!","description":"A Servo can adjust to any position between 0 and 180 degrees.","color":"#02B0EF","qType":"Widget","originalName":"Servo","factoryId":"widget_servo","properties":{"mappableCategory":{"category":4,"subCategory":4},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7419","internalFlowId":"283","type":"quantum","selected":false,"name":"074a811d-1fab-459e-8fae-53ede9bc6a59","in":true,"label":"Servo","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"hidden":true,"clientService":{"key":"q_servo","name":"Servo Motor","uuid":"3248ed17-eb11-5100-90b3-a95cd4c64686","value_len":"1","props":["write"],"propChar":[],"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["write"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_generic_servo","custom_pca9865_servo","custom_tlc5940_servo"]}},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"index":0,"clients":[{"id":900,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":101,"subClientId":1234,"serviceId":4449,"PortId":7419,"client":{"id":101,"name":"Q #22579","mac_address":"d0:cf:5e:38:58:33","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-67,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #22579","serviceData":[],"serviceUuids":["5155414e54554d430000ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3288mV","deviceVoltage":"3.287V","internalResistance":"0.05","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-10T21:44:59.074Z","updatedAt":"2021-01-21T00:30:55.428Z","proxyLinkId":1},"subClient":{"id":1234,"name":"Pinky","category":{"category":4,"subCategory":4},"index":1,"createdAt":"2021-01-21T00:10:26.809Z","updatedAt":"2021-01-21T00:21:09.599Z","ClientId":101},"service":{"id":4449,"client_mac_address":null,"name":"Servo","signalType":"Servo Motor","serviceKey":"q_servo","uuid":"3248ed17eb11510090b3a95cd4c64686","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Servo"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["write"],"value":""},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"-"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"010050696e6b797e347e34"}],"type":null,"createdAt":"2021-01-21T00:10:27.596Z","updatedAt":"2021-01-21T00:21:12.335Z","SubClientId":1234}}],"NodeId":1844},{"id":"7420","internalFlowId":"284","type":"quantum","selected":false,"name":"ee7ade88-29c9-4e1b-b967-70bbcc6f9c7c","in":true,"label":"Degrees","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"scaled_number","name":"Scaled Number","baseType":"Number","range":{"min":0,"max":180},"defaultValue":0},"index":1,"clients":[],"NodeId":1844},{"id":"7421","internalFlowId":"285","type":"quantum","selected":false,"name":"de07c780-c169-48bc-aada-edd74f35fbd0","in":true,"label":"0 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1844},{"id":"7422","internalFlowId":"286","type":"quantum","selected":false,"name":"02884f79-2d1b-44b5-9d63-fcc39b09d8eb","in":true,"label":"180 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1844}],"category":"Actuators","version":"0.0.1"},{"id":"1845","internalFlowId":"1845","type":"quantum","selected":false,"x":1031.194,"y":184.544,"name":"Ring","mappingDescription":"No instructions defined!","description":"A Servo can adjust to any position between 0 and 180 degrees.","color":"#02B0EF","qType":"Widget","originalName":"Servo","factoryId":"widget_servo","properties":{"mappableCategory":{"category":4,"subCategory":4},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7423","internalFlowId":"287","type":"quantum","selected":false,"name":"52191801-dc63-4629-8efa-20634446f1ea","in":true,"label":"Servo","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"hidden":true,"clientService":{"key":"q_servo","name":"Servo Motor","uuid":"3248ed17-eb11-5100-90b3-a95cd4c64686","value_len":"1","props":["write"],"propChar":[],"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["write"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_generic_servo","custom_pca9865_servo","custom_tlc5940_servo"]}},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"index":0,"clients":[{"id":901,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":101,"subClientId":1235,"serviceId":4450,"PortId":7423,"client":{"id":101,"name":"Q #22579","mac_address":"d0:cf:5e:38:58:33","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-67,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #22579","serviceData":[],"serviceUuids":["5155414e54554d430000ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3288mV","deviceVoltage":"3.287V","internalResistance":"0.05","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-10T21:44:59.074Z","updatedAt":"2021-01-21T00:30:55.428Z","proxyLinkId":1},"subClient":{"id":1235,"name":"Ring","category":{"category":4,"subCategory":4},"index":2,"createdAt":"2021-01-21T00:10:26.912Z","updatedAt":"2021-01-21T00:21:09.889Z","ClientId":101},"service":{"id":4450,"client_mac_address":null,"name":"Servo","signalType":"Servo Motor","serviceKey":"q_servo","uuid":"3248ed17eb11510190b3a95cd4c64686","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Servo"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["write"],"value":""},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"-"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"010152696e677e347e34"}],"type":null,"createdAt":"2021-01-21T00:10:27.602Z","updatedAt":"2021-01-21T00:21:12.330Z","SubClientId":1235}}],"NodeId":1845},{"id":"7424","internalFlowId":"288","type":"quantum","selected":false,"name":"4383ec0d-654e-4d0f-b005-de9664c8be35","in":true,"label":"Degrees","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"scaled_number","name":"Scaled Number","baseType":"Number","range":{"min":0,"max":180},"defaultValue":0},"index":1,"clients":[],"NodeId":1845},{"id":"7425","internalFlowId":"289","type":"quantum","selected":false,"name":"cd30c389-15ad-4546-8b45-c105d5b50e14","in":true,"label":"0 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1845},{"id":"7426","internalFlowId":"290","type":"quantum","selected":false,"name":"01f70e1b-1109-4a02-84db-5dd2df633202","in":true,"label":"180 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1845}],"category":"Actuators","version":"0.0.1"},{"id":"1846","internalFlowId":"1846","type":"quantum","selected":false,"x":1036.474,"y":335.908,"name":"Middle","mappingDescription":"No instructions defined!","description":"A Servo can adjust to any position between 0 and 180 degrees.","color":"#02B0EF","qType":"Widget","originalName":"Servo","factoryId":"widget_servo","properties":{"mappableCategory":{"category":4,"subCategory":4},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7427","internalFlowId":"291","type":"quantum","selected":false,"name":"6481af3c-2837-4ae3-950d-e02070c168cd","in":true,"label":"Servo","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"hidden":true,"clientService":{"key":"q_servo","name":"Servo Motor","uuid":"3248ed17-eb11-5100-90b3-a95cd4c64686","value_len":"1","props":["write"],"propChar":[],"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["write"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_generic_servo","custom_pca9865_servo","custom_tlc5940_servo"]}},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"index":0,"clients":[{"id":902,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":101,"subClientId":1236,"serviceId":4451,"PortId":7427,"client":{"id":101,"name":"Q #22579","mac_address":"d0:cf:5e:38:58:33","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-67,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #22579","serviceData":[],"serviceUuids":["5155414e54554d430000ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3288mV","deviceVoltage":"3.287V","internalResistance":"0.05","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-10T21:44:59.074Z","updatedAt":"2021-01-21T00:30:55.428Z","proxyLinkId":1},"subClient":{"id":1236,"name":"Middle","category":{"category":4,"subCategory":4},"index":3,"createdAt":"2021-01-21T00:10:27.019Z","updatedAt":"2021-01-21T00:21:10.238Z","ClientId":101},"service":{"id":4451,"client_mac_address":null,"name":"Servo","signalType":"Servo Motor","serviceKey":"q_servo","uuid":"3248ed17eb11510290b3a95cd4c64686","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Servo"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["write"],"value":""},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"-"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"01024d6964646c657e347e34"}],"type":null,"createdAt":"2021-01-21T00:10:27.604Z","updatedAt":"2021-01-21T00:21:12.307Z","SubClientId":1236}}],"NodeId":1846},{"id":"7428","internalFlowId":"292","type":"quantum","selected":false,"name":"359e0e76-0e04-415f-b778-7bc5bbfa352f","in":true,"label":"Degrees","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"scaled_number","name":"Scaled Number","baseType":"Number","range":{"min":0,"max":180},"defaultValue":0},"index":1,"clients":[],"NodeId":1846},{"id":"7429","internalFlowId":"293","type":"quantum","selected":false,"name":"e12e6d1c-a060-4eee-9000-fe20d9a1ed1b","in":true,"label":"0 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1846},{"id":"7430","internalFlowId":"294","type":"quantum","selected":false,"name":"d0572286-f7f6-441b-a17e-35ed3c378daa","in":true,"label":"180 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1846}],"category":"Actuators","version":"0.0.1"},{"id":"1847","internalFlowId":"1847","type":"quantum","selected":false,"x":1041.754,"y":490.792,"name":"Index","mappingDescription":"No instructions defined!","description":"A Servo can adjust to any position between 0 and 180 degrees.","color":"#02B0EF","qType":"Widget","originalName":"Servo","factoryId":"widget_servo","properties":{"mappableCategory":{"category":4,"subCategory":4},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7431","internalFlowId":"295","type":"quantum","selected":false,"name":"d11a9fcf-115c-4376-bcc7-c8267b61e070","in":true,"label":"Servo","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"hidden":true,"clientService":{"key":"q_servo","name":"Servo Motor","uuid":"3248ed17-eb11-5100-90b3-a95cd4c64686","value_len":"1","props":["write"],"propChar":[],"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["write"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_generic_servo","custom_pca9865_servo","custom_tlc5940_servo"]}},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"index":0,"clients":[{"id":903,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":101,"subClientId":1237,"serviceId":4452,"PortId":7431,"client":{"id":101,"name":"Q #22579","mac_address":"d0:cf:5e:38:58:33","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-67,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #22579","serviceData":[],"serviceUuids":["5155414e54554d430000ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3288mV","deviceVoltage":"3.287V","internalResistance":"0.05","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-10T21:44:59.074Z","updatedAt":"2021-01-21T00:30:55.428Z","proxyLinkId":1},"subClient":{"id":1237,"name":"Index","category":{"category":4,"subCategory":4},"index":4,"createdAt":"2021-01-21T00:10:27.117Z","updatedAt":"2021-01-21T00:21:10.468Z","ClientId":101},"service":{"id":4452,"client_mac_address":null,"name":"Servo","signalType":"Servo Motor","serviceKey":"q_servo","uuid":"3248ed17eb11510390b3a95cd4c64686","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Servo"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["write"],"value":""},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"-"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"0103496e6465787e347e34"}],"type":null,"createdAt":"2021-01-21T00:10:27.702Z","updatedAt":"2021-01-21T00:21:12.310Z","SubClientId":1237}}],"NodeId":1847},{"id":"7432","internalFlowId":"296","type":"quantum","selected":false,"name":"07ebd811-4695-4ea9-95bc-9d0f8840fd9e","in":true,"label":"Degrees","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"scaled_number","name":"Scaled Number","baseType":"Number","range":{"min":0,"max":180},"defaultValue":0},"index":1,"clients":[],"NodeId":1847},{"id":"7433","internalFlowId":"297","type":"quantum","selected":false,"name":"1f4c080f-35d6-40fd-a8c4-4819d5a7ed38","in":true,"label":"0 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1847},{"id":"7434","internalFlowId":"298","type":"quantum","selected":false,"name":"9bb9b034-ecd0-497c-a330-c14c1009a977","in":true,"label":"180 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1847}],"category":"Actuators","version":"0.0.1"},{"id":"1848","internalFlowId":"1848","type":"quantum","selected":false,"x":1057.594,"y":645.676,"name":"Thumb Base","mappingDescription":"No instructions defined!","description":"A Servo can adjust to any position between 0 and 180 degrees.","color":"#02B0EF","qType":"Widget","originalName":"Servo","factoryId":"widget_servo","properties":{"mappableCategory":{"category":4,"subCategory":4},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7435","internalFlowId":"299","type":"quantum","selected":false,"name":"795a6427-9b3d-42e7-b4bb-acc054c3e65d","in":true,"label":"Servo","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"hidden":true,"clientService":{"key":"q_servo","name":"Servo Motor","uuid":"3248ed17-eb11-5100-90b3-a95cd4c64686","value_len":"1","props":["write"],"propChar":[],"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["write"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_generic_servo","custom_pca9865_servo","custom_tlc5940_servo"]}},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"index":0,"clients":[{"id":904,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":101,"subClientId":1239,"serviceId":4454,"PortId":7435,"client":{"id":101,"name":"Q #22579","mac_address":"d0:cf:5e:38:58:33","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-67,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #22579","serviceData":[],"serviceUuids":["5155414e54554d430000ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3288mV","deviceVoltage":"3.287V","internalResistance":"0.05","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-10T21:44:59.074Z","updatedAt":"2021-01-21T00:30:55.428Z","proxyLinkId":1},"subClient":{"id":1239,"name":"Thumb Base","category":{"category":4,"subCategory":4},"index":6,"createdAt":"2021-01-21T00:10:27.300Z","updatedAt":"2021-01-21T00:21:11.909Z","ClientId":101},"service":{"id":4454,"client_mac_address":null,"name":"Servo","signalType":"Servo Motor","serviceKey":"q_servo","uuid":"3248ed17eb11510590b3a95cd4c64686","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Servo"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["write"],"value":""},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"-"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"01055468756d6220426173657e347e34"}],"type":null,"createdAt":"2021-01-21T00:10:27.706Z","updatedAt":"2021-01-21T00:21:12.316Z","SubClientId":1239}}],"NodeId":1848},{"id":"7436","internalFlowId":"300","type":"quantum","selected":false,"name":"2c334d21-3e55-4867-adac-d9e376f94672","in":true,"label":"Degrees","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"scaled_number","name":"Scaled Number","baseType":"Number","range":{"min":0,"max":180},"defaultValue":0},"index":1,"clients":[],"NodeId":1848},{"id":"7437","internalFlowId":"301","type":"quantum","selected":false,"name":"8e677f07-0936-445b-acd3-dc62c82ac280","in":true,"label":"0 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1848},{"id":"7438","internalFlowId":"302","type":"quantum","selected":false,"name":"690ce174-9e54-41ea-ae15-683ea487c2cf","in":true,"label":"180 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1848}],"category":"Actuators","version":"0.0.1"},{"id":"1849","internalFlowId":"1849","type":"quantum","selected":false,"x":1062.974,"y":795.914,"name":"Thumb Tip","mappingDescription":"No instructions defined!","description":"A Servo can adjust to any position between 0 and 180 degrees.","color":"#02B0EF","qType":"Widget","originalName":"Servo","factoryId":"widget_servo","properties":{"mappableCategory":{"category":4,"subCategory":4},"multiMapping":false,"manufacturer":"generic"},"ports":[{"id":"7439","internalFlowId":"303","type":"quantum","selected":false,"name":"ab1f8597-a611-493d-81ac-c320bd8f35f4","in":true,"label":"Servo","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"hidden":true,"clientService":{"key":"q_servo","name":"Servo Motor","uuid":"3248ed17-eb11-5100-90b3-a95cd4c64686","value_len":"1","props":["write"],"propChar":[],"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"characteristics":[{"key":"q_info","name":"Info Characteristic","uuid":"6375a20d-31ae-4456-aaf6-8fc84e3cce26","properties":["read"],"type":"utf-8"},{"key":"q_value","name":"Value Characteristic","uuid":"a97ba6d9-c409-4118-8735-b5bef87b9afd","properties":["write"],"type":"user"},{"key":"q_properties","name":"Prop Characteristic","uuid":"93d79faa-21ed-4ce7-b658-d9bcb06bd943","properties":["read"],"type":"utf-8"},{"key":"q_subClient","name":"Subclient Characteristic","uuid":"1270fde2-fd5e-4e4f-b866-241f105f7b15","properties":["read"],"type":"user"}],"drivers":["custom_generic_servo","custom_pca9865_servo","custom_tlc5940_servo"]}},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}},"index":0,"clients":[{"id":905,"createdAt":"2021-01-21T00:18:07.153Z","updatedAt":"2021-01-21T00:18:07.153Z","clientId":101,"subClientId":1238,"serviceId":4453,"PortId":7439,"client":{"id":101,"name":"Q #22579","mac_address":"d0:cf:5e:38:58:33","proxy":"02:81:cf:3b:ac:93","state":"OFF","rssi":-67,"batteryLevel":100,"batteryMode":"USB","lifeCycle":false,"manufacturer":"Quantum","category":{"category":null},"advertisement":{"localName":"Q #22579","serviceData":[],"serviceUuids":["5155414e54554d430000ffffffffffff"],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"energyInformation":{"batteryLevel":"100%","batteryVoltage":"3288mV","deviceVoltage":"3.287V","internalResistance":"0.05","powerTypeNumeric":1,"powerType":"USB"},"createdAt":"2021-01-10T21:44:59.074Z","updatedAt":"2021-01-21T00:30:55.428Z","proxyLinkId":1},"subClient":{"id":1238,"name":"Thumb Tip","category":{"category":4,"subCategory":4},"index":5,"createdAt":"2021-01-21T00:10:27.210Z","updatedAt":"2021-01-21T00:21:10.765Z","ClientId":101},"service":{"id":4453,"client_mac_address":null,"name":"Servo","signalType":"Servo Motor","serviceKey":"q_servo","uuid":"3248ed17eb11510490b3a95cd4c64686","characteristics":[{"uuid":"6375a20d31ae4456aaf68fc84e3cce26","name":null,"type":null,"properties":["read"],"value":"Servo"},{"uuid":"a97ba6d9c40941188735b5bef87b9afd","name":null,"type":null,"properties":["write"],"value":""},{"uuid":"93d79faa21ed4ce7b658d9bcb06bd943","name":null,"type":null,"properties":["read"],"value":"-"},{"uuid":"1270fde2fd5e4e4fb866241f105f7b15","name":null,"type":null,"properties":["read"],"value":"01045468756d62205469707e347e34"}],"type":null,"createdAt":"2021-01-21T00:10:27.704Z","updatedAt":"2021-01-21T00:21:12.313Z","SubClientId":1238}}],"NodeId":1849},{"id":"7440","internalFlowId":"304","type":"quantum","selected":false,"name":"a7d14a59-e327-43a0-bf24-d6083bf18a2c","in":true,"label":"Degrees","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"scaled_number","name":"Scaled Number","baseType":"Number","range":{"min":0,"max":180},"defaultValue":0},"index":1,"clients":[],"NodeId":1849},{"id":"7441","internalFlowId":"305","type":"quantum","selected":false,"name":"052f2c8d-c3d3-43bc-a469-37e5d9875591","in":true,"label":"0 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1849},{"id":"7442","internalFlowId":"306","type":"quantum","selected":false,"name":"2f64024e-00a9-4c30-a4fe-721bb0e71b81","in":true,"label":"180 Offsets","description":"Nothing added here yet.","qTrigger":true,"defaultValue":null,"properties":{"virtual":true},"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1849}],"category":"Actuators","version":"0.0.1"},{"id":"1850","internalFlowId":"1850","type":"quantum","selected":false,"x":656.538,"y":639.851,"name":"Thumb Base","mappingDescription":null,"description":"Set custom Ranges to a numeric value.","color":"#DE00BC","qType":"Snippet","originalName":"Custom Snippet","factoryId":"snippet_custom_snippet","properties":{"executeCode":"\nconst value = inPorts[0].value ? parseFloat(inPorts[0].value) : 0;\nconst newMin = inPorts[3].value ? parseFloat(inPorts[3].value) : 0;\nconst newMax = inPorts[4].value ? parseFloat(inPorts[4].value) : 0;\nconst oldMin = inPorts[1].value ? parseFloat(inPorts[1].value) : 0;\nconst oldMax = inPorts[2].value ? parseFloat(inPorts[2].value) : 0;\n\nif (value >= oldMin && value <=oldMax) {\n  const retValue = (((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin);\n\n  if (inPorts[5].value) return [Math.round(retValue)];\n\n  return [retValue];\n}\nelse{\n  if(value< oldMin){\n    return[newMin];\n  }\n  if(value>oldMax){\n    return[newMax];\n  }\n}\nreturn [];\n  "},"ports":[{"id":"7479","internalFlowId":"c8891c0b-8314-4eee-bbbd-86c8bb7e18ea","type":"quantum","selected":false,"name":"2f9f2b64-c11b-47cd-86f8-e0e2c088cc5d","in":true,"label":"Value","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":0,"clients":[],"NodeId":1850},{"id":"7480","internalFlowId":"415f9779-a915-4090-a3e0-c5d3eb9f8636","type":"quantum","selected":false,"name":"10abf2d7-1c62-4662-bec6-1924acbe1544","in":true,"label":"In Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":1,"clients":[],"NodeId":1850},{"id":"7481","internalFlowId":"33413d50-f579-4334-86d7-9399f35a9728","type":"quantum","selected":false,"name":"345d7d58-0c59-4108-b8b8-823c356f39be","in":true,"label":"In Max","description":"A custom in port!","qTrigger":true,"defaultValue":"800","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1850},{"id":"7482","internalFlowId":"80ce676f-629b-468a-b7ca-c07a9bc50885","type":"quantum","selected":false,"name":"9157ff27-005f-4da9-8edb-47bfb8fe7395","in":true,"label":"Out Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1850},{"id":"7483","internalFlowId":"1e162c0f-adf0-41ad-bac8-f850fcb29bae","type":"quantum","selected":false,"name":"0e16c79a-cc49-4333-a036-e2fb070f9051","in":true,"label":"Out Max","description":"A custom in port!","qTrigger":true,"defaultValue":"180","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":4,"clients":[],"NodeId":1850},{"id":"7484","internalFlowId":"7e5a4c1c-c248-4b32-a2ca-969904dfe682","type":"quantum","selected":false,"name":"361c96da-0ea2-4760-a5fd-1f7a086e57f3","in":true,"label":"Rounded","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false}]}],"signalType":{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false},"index":5,"clients":[],"NodeId":1850},{"id":"7485","internalFlowId":"a0d9afaf-9b80-447e-8976-a654b2f0d852","type":"quantum","selected":false,"name":"67459d0c-26b8-44e8-8077-508b20b5224e","in":false,"label":"Value","description":"A custom out port!","qTrigger":false,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":6,"clients":[],"NodeId":1850}],"category":"Compare","version":"0.0.1"},{"id":"1851","internalFlowId":"1851","type":"quantum","selected":false,"x":657.376,"y":854.591,"name":"Thumb Tip","mappingDescription":null,"description":"Set custom Ranges to a numeric value.","color":"#DE00BC","qType":"Snippet","originalName":"Custom Snippet","factoryId":"snippet_custom_snippet","properties":{"executeCode":"\nconst value = inPorts[0].value ? parseFloat(inPorts[0].value) : 0;\nconst newMin = inPorts[3].value ? parseFloat(inPorts[3].value) : 0;\nconst newMax = inPorts[4].value ? parseFloat(inPorts[4].value) : 0;\nconst oldMin = inPorts[1].value ? parseFloat(inPorts[1].value) : 0;\nconst oldMax = inPorts[2].value ? parseFloat(inPorts[2].value) : 0;\n\nif (value >= oldMin && value <=oldMax) {\n  const retValue = (((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin);\n\n  if (inPorts[5].value) return [Math.round(retValue)];\n\n  return [retValue];\n}\nelse{\n  if(value< oldMin){\n    return[newMin];\n  }\n  if(value>oldMax){\n    return[newMax];\n  }\n}\nreturn [];\n  "},"ports":[{"id":"7490","internalFlowId":"c09c9736cb","type":"quantum","selected":false,"name":"2f9f2b64-c11b-47cd-86f8-e0e2c088cc5d","in":true,"label":"Value","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":0,"clients":[],"NodeId":1851},{"id":"7491","internalFlowId":"1516bffa68","type":"quantum","selected":false,"name":"10abf2d7-1c62-4662-bec6-1924acbe1544","in":true,"label":"In Min","description":"A custom in port!","qTrigger":true,"defaultValue":"3400","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":1,"clients":[],"NodeId":1851},{"id":"7492","internalFlowId":"7ba1de42b1","type":"quantum","selected":false,"name":"345d7d58-0c59-4108-b8b8-823c356f39be","in":true,"label":"In Max","description":"A custom in port!","qTrigger":true,"defaultValue":"4095","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1851},{"id":"7493","internalFlowId":"1081de1753","type":"quantum","selected":false,"name":"9157ff27-005f-4da9-8edb-47bfb8fe7395","in":true,"label":"Out Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1851},{"id":"7494","internalFlowId":"bdfca50821","type":"quantum","selected":false,"name":"0e16c79a-cc49-4333-a036-e2fb070f9051","in":true,"label":"Out Max","description":"A custom in port!","qTrigger":true,"defaultValue":"180","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":4,"clients":[],"NodeId":1851},{"id":"7495","internalFlowId":"cc759c4f82","type":"quantum","selected":false,"name":"361c96da-0ea2-4760-a5fd-1f7a086e57f3","in":true,"label":"Rounded","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false}]}],"signalType":{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false},"index":5,"clients":[],"NodeId":1851},{"id":"7496","internalFlowId":"51f15a406c","type":"quantum","selected":false,"name":"67459d0c-26b8-44e8-8077-508b20b5224e","in":false,"label":"Value","description":"A custom out port!","qTrigger":false,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":6,"clients":[],"NodeId":1851}],"category":"Compare","version":"0.0.1"},{"id":"1858","internalFlowId":"1858","type":"quantum","selected":false,"x":653.003,"y":-229.144,"name":"Pinky","mappingDescription":null,"description":"Set custom Ranges to a numeric value.","color":"#DE00BC","qType":"Snippet","originalName":"Custom Snippet","factoryId":"snippet_custom_snippet","properties":{"executeCode":"\nconst value = inPorts[0].value ? parseFloat(inPorts[0].value) : 0;\nconst newMin = inPorts[3].value ? parseFloat(inPorts[3].value) : 0;\nconst newMax = inPorts[4].value ? parseFloat(inPorts[4].value) : 0;\nconst oldMin = inPorts[1].value ? parseFloat(inPorts[1].value) : 0;\nconst oldMax = inPorts[2].value ? parseFloat(inPorts[2].value) : 0;\n\nif (value >= oldMin && value <=oldMax) {\n  const retValue = (((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin);\n\n  if (inPorts[5].value) return [Math.round(retValue)];\n\n  return [retValue];\n}\nelse{\n  if(value< oldMin){\n    return[newMin];\n  }\n  if(value>oldMax){\n    return[newMax];\n  }\n}\nreturn [];\n  "},"ports":[{"id":"7509","internalFlowId":"6c0ceca27f","type":"quantum","selected":false,"name":"2f9f2b64-c11b-47cd-86f8-e0e2c088cc5d","in":true,"label":"Value","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":0,"clients":[],"NodeId":1858},{"id":"7510","internalFlowId":"c4532ed103","type":"quantum","selected":false,"name":"10abf2d7-1c62-4662-bec6-1924acbe1544","in":true,"label":"In Min","description":"A custom in port!","qTrigger":true,"defaultValue":"3300","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":1,"clients":[],"NodeId":1858},{"id":"7511","internalFlowId":"e95c75bf64","type":"quantum","selected":false,"name":"345d7d58-0c59-4108-b8b8-823c356f39be","in":true,"label":"In Max","description":"A custom in port!","qTrigger":true,"defaultValue":"4095","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1858},{"id":"7512","internalFlowId":"62ae7db165","type":"quantum","selected":false,"name":"9157ff27-005f-4da9-8edb-47bfb8fe7395","in":true,"label":"Out Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1858},{"id":"7513","internalFlowId":"8b0a8d36cc","type":"quantum","selected":false,"name":"0e16c79a-cc49-4333-a036-e2fb070f9051","in":true,"label":"Out Max","description":"A custom in port!","qTrigger":true,"defaultValue":"180","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":4,"clients":[],"NodeId":1858},{"id":"7514","internalFlowId":"1a702a5820","type":"quantum","selected":false,"name":"361c96da-0ea2-4760-a5fd-1f7a086e57f3","in":true,"label":"Rounded","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false}]}],"signalType":{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false},"index":5,"clients":[],"NodeId":1858},{"id":"7515","internalFlowId":"828ded45c3","type":"quantum","selected":false,"name":"67459d0c-26b8-44e8-8077-508b20b5224e","in":false,"label":"Value","description":"A custom out port!","qTrigger":false,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":6,"clients":[],"NodeId":1858}],"category":"Compare","version":"0.0.1"},{"id":"1859","internalFlowId":"1859","type":"quantum","selected":false,"x":657.923,"y":419.923,"name":"Index","mappingDescription":null,"description":"Set custom Ranges to a numeric value.","color":"#DE00BC","qType":"Snippet","originalName":"Custom Snippet","factoryId":"snippet_custom_snippet","properties":{"executeCode":"\nconst value = inPorts[0].value ? parseFloat(inPorts[0].value) : 0;\nconst newMin = inPorts[3].value ? parseFloat(inPorts[3].value) : 0;\nconst newMax = inPorts[4].value ? parseFloat(inPorts[4].value) : 0;\nconst oldMin = inPorts[1].value ? parseFloat(inPorts[1].value) : 0;\nconst oldMax = inPorts[2].value ? parseFloat(inPorts[2].value) : 0;\n\nif (value >= oldMin && value <=oldMax) {\n  const retValue = (((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin);\n\n  if (inPorts[5].value) return [Math.round(retValue)];\n\n  return [retValue];\n}\nelse{\n  if(value< oldMin){\n    return[newMin];\n  }\n  if(value>oldMax){\n    return[newMax];\n  }\n}\nreturn [];\n  "},"ports":[{"id":"7516","internalFlowId":"b1a42f954a","type":"quantum","selected":false,"name":"2f9f2b64-c11b-47cd-86f8-e0e2c088cc5d","in":true,"label":"Value","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":0,"clients":[],"NodeId":1859},{"id":"7517","internalFlowId":"a19894f1be","type":"quantum","selected":false,"name":"10abf2d7-1c62-4662-bec6-1924acbe1544","in":true,"label":"In Min","description":"A custom in port!","qTrigger":true,"defaultValue":"3338","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":1,"clients":[],"NodeId":1859},{"id":"7518","internalFlowId":"7772dbde33","type":"quantum","selected":false,"name":"345d7d58-0c59-4108-b8b8-823c356f39be","in":true,"label":"In Max","description":"A custom in port!","qTrigger":true,"defaultValue":"4095","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1859},{"id":"7519","internalFlowId":"7830e8f893","type":"quantum","selected":false,"name":"9157ff27-005f-4da9-8edb-47bfb8fe7395","in":true,"label":"Out Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1859},{"id":"7520","internalFlowId":"f7f2f2fb41","type":"quantum","selected":false,"name":"0e16c79a-cc49-4333-a036-e2fb070f9051","in":true,"label":"Out Max","description":"A custom in port!","qTrigger":true,"defaultValue":"180","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":4,"clients":[],"NodeId":1859},{"id":"7521","internalFlowId":"0636441f1a","type":"quantum","selected":false,"name":"361c96da-0ea2-4760-a5fd-1f7a086e57f3","in":true,"label":"Rounded","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false}]}],"signalType":{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false},"index":5,"clients":[],"NodeId":1859},{"id":"7522","internalFlowId":"9dfe281fea","type":"quantum","selected":false,"name":"67459d0c-26b8-44e8-8077-508b20b5224e","in":false,"label":"Value","description":"A custom out port!","qTrigger":false,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":6,"clients":[],"NodeId":1859}],"category":"Compare","version":"0.0.1"},{"id":"1860","internalFlowId":"1860","type":"quantum","selected":false,"x":656.907,"y":204.134,"name":"Middle","mappingDescription":null,"description":"Set custom Ranges to a numeric value.","color":"#DE00BC","qType":"Snippet","originalName":"Custom Snippet","factoryId":"snippet_custom_snippet","properties":{"executeCode":"\nconst value = inPorts[0].value ? parseFloat(inPorts[0].value) : 0;\nconst newMin = inPorts[3].value ? parseFloat(inPorts[3].value) : 0;\nconst newMax = inPorts[4].value ? parseFloat(inPorts[4].value) : 0;\nconst oldMin = inPorts[1].value ? parseFloat(inPorts[1].value) : 0;\nconst oldMax = inPorts[2].value ? parseFloat(inPorts[2].value) : 0;\n\nif (value >= oldMin && value <=oldMax) {\n  const retValue = (((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin);\n\n  if (inPorts[5].value) return [Math.round(retValue)];\n\n  return [retValue];\n}\nelse{\n  if(value< oldMin){\n    return[newMin];\n  }\n  if(value>oldMax){\n    return[newMax];\n  }\n}\nreturn [];\n  "},"ports":[{"id":"7523","internalFlowId":"a58132ee5b","type":"quantum","selected":false,"name":"2f9f2b64-c11b-47cd-86f8-e0e2c088cc5d","in":true,"label":"Value","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":0,"clients":[],"NodeId":1860},{"id":"7524","internalFlowId":"37a116bb00","type":"quantum","selected":false,"name":"10abf2d7-1c62-4662-bec6-1924acbe1544","in":true,"label":"In Min","description":"A custom in port!","qTrigger":true,"defaultValue":"377","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":1,"clients":[],"NodeId":1860},{"id":"7525","internalFlowId":"e98a535126","type":"quantum","selected":false,"name":"345d7d58-0c59-4108-b8b8-823c356f39be","in":true,"label":"In Max","description":"A custom in port!","qTrigger":true,"defaultValue":"1373","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1860},{"id":"7526","internalFlowId":"5d4699970f","type":"quantum","selected":false,"name":"9157ff27-005f-4da9-8edb-47bfb8fe7395","in":true,"label":"Out Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1860},{"id":"7527","internalFlowId":"2cbe7cbcd4","type":"quantum","selected":false,"name":"0e16c79a-cc49-4333-a036-e2fb070f9051","in":true,"label":"Out Max","description":"A custom in port!","qTrigger":true,"defaultValue":"180","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":4,"clients":[],"NodeId":1860},{"id":"7528","internalFlowId":"660a088b25","type":"quantum","selected":false,"name":"361c96da-0ea2-4760-a5fd-1f7a086e57f3","in":true,"label":"Rounded","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false}]}],"signalType":{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false},"index":5,"clients":[],"NodeId":1860},{"id":"7529","internalFlowId":"1410bbb085","type":"quantum","selected":false,"name":"67459d0c-26b8-44e8-8077-508b20b5224e","in":false,"label":"Value","description":"A custom out port!","qTrigger":false,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":6,"clients":[],"NodeId":1860}],"category":"Compare","version":"0.0.1"},{"id":"1861","internalFlowId":"1861","type":"quantum","selected":false,"x":654.473,"y":-12.672,"name":"Ring","mappingDescription":null,"description":"Set custom Ranges to a numeric value.","color":"#DE00BC","qType":"Snippet","originalName":"Custom Snippet","factoryId":"snippet_custom_snippet","properties":{"executeCode":"\nconst value = inPorts[0].value ? parseFloat(inPorts[0].value) : 0;\nconst newMin = inPorts[3].value ? parseFloat(inPorts[3].value) : 0;\nconst newMax = inPorts[4].value ? parseFloat(inPorts[4].value) : 0;\nconst oldMin = inPorts[1].value ? parseFloat(inPorts[1].value) : 0;\nconst oldMax = inPorts[2].value ? parseFloat(inPorts[2].value) : 0;\n\nif (value >= oldMin && value <=oldMax) {\n  const retValue = (((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin);\n\n  if (inPorts[5].value) return [Math.round(retValue)];\n\n  return [retValue];\n}\nelse{\n  if(value< oldMin){\n    return[newMin];\n  }\n  if(value>oldMax){\n    return[newMax];\n  }\n}\nreturn [];\n  "},"ports":[{"id":"7530","internalFlowId":"6ae7f369c0","type":"quantum","selected":false,"name":"2f9f2b64-c11b-47cd-86f8-e0e2c088cc5d","in":true,"label":"Value","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":0,"clients":[],"NodeId":1861},{"id":"7531","internalFlowId":"24f316e839","type":"quantum","selected":false,"name":"10abf2d7-1c62-4662-bec6-1924acbe1544","in":true,"label":"In Min","description":"A custom in port!","qTrigger":true,"defaultValue":"3200","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":1,"clients":[],"NodeId":1861},{"id":"7532","internalFlowId":"144bf5a70a","type":"quantum","selected":false,"name":"345d7d58-0c59-4108-b8b8-823c356f39be","in":true,"label":"In Max","description":"A custom in port!","qTrigger":true,"defaultValue":"4044","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":2,"clients":[],"NodeId":1861},{"id":"7533","internalFlowId":"de77ed164b","type":"quantum","selected":false,"name":"9157ff27-005f-4da9-8edb-47bfb8fe7395","in":true,"label":"Out Min","description":"A custom in port!","qTrigger":true,"defaultValue":"0","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":3,"clients":[],"NodeId":1861},{"id":"7534","internalFlowId":"4cdba2193f","type":"quantum","selected":false,"name":"0e16c79a-cc49-4333-a036-e2fb070f9051","in":true,"label":"Out Max","description":"A custom in port!","qTrigger":true,"defaultValue":"180","properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":4,"clients":[],"NodeId":1861},{"id":"7535","internalFlowId":"0dced0003e","type":"quantum","selected":false,"name":"361c96da-0ea2-4760-a5fd-1f7a086e57f3","in":true,"label":"Rounded","description":"A custom in port!","qTrigger":true,"defaultValue":null,"properties":[{"linkableServices":[{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false}]}],"signalType":{"key":"digital","name":"Digital","baseType":"Boolean","defaultValue":false},"index":5,"clients":[],"NodeId":1861},{"id":"7536","internalFlowId":"81834ecedf","type":"quantum","selected":false,"name":"67459d0c-26b8-44e8-8077-508b20b5224e","in":false,"label":"Value","description":"A custom out port!","qTrigger":false,"defaultValue":null,"properties":[{"linkableServices":[{"key":"number","name":"Number","baseType":"Number","defaultValue":0}]}],"signalType":{"key":"number","name":"Number","baseType":"Number","defaultValue":0},"index":6,"clients":[],"NodeId":1861}],"category":"Compare","version":"0.0.1"}],"status":"Stopped","rendering":{"id":"444","tabs":[{"id":"505","internalFlowId":"504","name":"Tab 1","position":0,"groups":[{"id":"597","internalFlowId":"596","name":"Group 1","position":0,"gadgets":[]}]}]},"createdAt":"2021-01-15T20:38:05.251Z","errorLog":null,"debugFlag":false,"version":"0.0.1"}

Robot Hand Firmware.json

JSON
This code is the firmware file for the project. The code is customized to be used on the Q-Server's OS.
{"name":"Robot Hand","commit":"1.2.6-development-e6900041","lifecycle":false,"signal":[{"disabled":false,"subClientIndex":0,"subClientName":"Pinky","subClientCategory":4,"subClientSubCategory":4,"serviceName":"Servo","service":"q_servo","driver":"custom_pca9865_servo","driverValues":{"address":"40","pin":"0"},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}}},{"disabled":false,"subClientIndex":1,"subClientName":"Ring","subClientCategory":4,"subClientSubCategory":4,"serviceName":"Servo","service":"q_servo","driver":"custom_pca9865_servo","driverValues":{"address":"40","pin":"1"},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}}},{"disabled":false,"subClientIndex":2,"subClientName":"Middle","subClientCategory":4,"subClientSubCategory":4,"serviceName":"Servo","service":"q_servo","driver":"custom_pca9865_servo","driverValues":{"address":"40","pin":"2"},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}}},{"disabled":false,"subClientIndex":3,"subClientName":"Index","subClientCategory":4,"subClientSubCategory":4,"serviceName":"Servo","service":"q_servo","driver":"custom_pca9865_servo","driverValues":{"address":"40","pin":"3"},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}}},{"disabled":false,"subClientIndex":4,"subClientName":"Thumb Tip","subClientCategory":4,"subClientSubCategory":4,"serviceName":"Servo","service":"q_servo","driver":"custom_pca9865_servo","driverValues":{"address":"40","pin":"5"},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}}},{"disabled":false,"subClientIndex":5,"subClientName":"Thumb Base","subClientCategory":4,"subClientSubCategory":4,"serviceName":"Servo","service":"q_servo","driver":"custom_pca9865_servo","driverValues":{"address":"40","pin":"4"},"signalType":{"key":"servo","name":"Servo","baseType":"JSON","internal":true,"defaultValue":{}}}],"version":"0.0.1"}

Exo Hand Firmware.json

JSON
This code is the firmware file for the project. The code is customized to be used on the Q-Server's OS.
{"name":"Exo Hand","commit":"1.2.6-development-598fbe17","lifecycle":false,"signal":[{"disabled":false,"subClientIndex":0,"subClientName":"Pinky","subClientCategory":7,"subClientSubCategory":3,"serviceName":"Value","service":"q_analog_in","driver":"custom_Q10k_pot_anl","driverValues":{"granularity":50,"posSel":"adcPosSelAPORT3YCH5","negSel":"adcNegSelAPORT4XCH5"},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0}},{"disabled":false,"subClientIndex":1,"subClientName":"Ring","subClientCategory":7,"subClientSubCategory":3,"serviceName":"Value","service":"q_analog_in","driver":"custom_Q10k_pot_anl","driverValues":{"granularity":50,"posSel":"adcPosSelAPORT3XCH6","negSel":"adcNegSelAPORT4YCH6"},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0}},{"disabled":false,"subClientIndex":2,"subClientName":"Middle","subClientCategory":7,"subClientSubCategory":3,"serviceName":"Value","service":"q_analog_in","driver":"custom_Q10k_pot_anl","driverValues":{"granularity":50,"posSel":"adcPosSelAPORT3YCH7","negSel":"adcNegSelAPORT4XCH7"},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0}},{"disabled":false,"subClientIndex":3,"subClientName":"Index","subClientCategory":7,"subClientSubCategory":3,"serviceName":"Value","service":"q_analog_in","driver":"custom_Q10k_pot_anl","driverValues":{"granularity":50,"posSel":"adcPosSelAPORT4XCH27","negSel":"adcNegSelAPORT3YCH27"},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0}},{"disabled":false,"subClientIndex":5,"subClientName":"Thumb Tip","subClientCategory":7,"subClientSubCategory":3,"serviceName":"Value","service":"q_analog_in","driver":"custom_Q10k_pot_anl","driverValues":{"granularity":50,"posSel":"adcPosSelAPORT1XCH18","negSel":"adcNegSelAPORT2YCH18"},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0}},{"disabled":false,"subClientIndex":6,"subClientName":"Thumb Base","subClientCategory":7,"subClientSubCategory":3,"serviceName":"Value","service":"q_analog_in","driver":"custom_Q10k_pot_anl","driverValues":{"granularity":50,"posSel":"adcPosSelAPORT1YCH19","negSel":"adcNegSelAPORT2XCH19"},"signalType":{"key":"analog","name":"Analog","baseType":"Number","range":{"min":0,"max":4095},"defaultValue":0}}],"version":"0.0.1"}

Credits

Thanks to YouBionic.

Comments