Skip to content

Instantly share code, notes, and snippets.

@monteslu
Created April 27, 2018 16:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save monteslu/6970d4c6d483bf2cb24fe7aed65cf478 to your computer and use it in GitHub Desktop.
Save monteslu/6970d4c6d483bf2cb24fe7aed65cf478 to your computer and use it in GitHub Desktop.
bot
[{"id":"cBef6VcF_Ws","type":"bluetooth out","z":"rAuvw31rhPg","name":"digital","characteristicId":"2a56","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":780,"y":257,"wires":[]},{"id":"EFQOBN3SDyA","type":"bluetooth out","z":"rAuvw31rhPg","name":"analog","characteristicId":"2a58","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":783,"y":420,"wires":[]},{"id":"iiFCoxm56FE","type":"iot buttons","z":"rAuvw31rhPg","x":80,"y":36,"wires":[["zESap7UaIGA"]]},{"id":"zESap7UaIGA","type":"switch","z":"rAuvw31rhPg","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"10","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"7","vt":"num"},{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"8","vt":"num"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","outputs":8,"x":117,"y":155,"wires":[["bUXDfKVQEnw","n9W61kiVlQ4"],["XXbmUh8NOdE","KTc2-f2BYxk"],["bUXDfKVQEnw","KTc2-f2BYxk"],["n9W61kiVlQ4","XXbmUh8NOdE"],["MWaVGp2fwpw"],["ROc-3CQTUjU"],["ML8GfXQIeSU"],[]]},{"id":"MWaVGp2fwpw","type":"change","z":"rAuvw31rhPg","name":"stop right & left","rules":[{"t":"set","p":"payload","pt":"msg","to":"[19,0,0,4,0,0]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":576,"y":348,"wires":[["EFQOBN3SDyA"]]},{"id":"ROc-3CQTUjU","type":"change","z":"rAuvw31rhPg","name":"med right & left","rules":[{"t":"set","p":"payload","pt":"msg","to":"[19,200,0,4,200,0]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":561,"y":426,"wires":[["EFQOBN3SDyA"]]},{"id":"ML8GfXQIeSU","type":"change","z":"rAuvw31rhPg","name":"high right & left","rules":[{"t":"set","p":"payload","pt":"msg","to":"[19,255,255,4,255,255]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":504,"wires":[["EFQOBN3SDyA"]]},{"id":"bUXDfKVQEnw","type":"change","z":"rAuvw31rhPg","name":"forward right","rules":[{"t":"set","p":"payload","pt":"msg","to":"[23,1,18,0]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":479,"y":32,"wires":[["cBef6VcF_Ws"]]},{"id":"n9W61kiVlQ4","type":"change","z":"rAuvw31rhPg","name":"forward left","rules":[{"t":"set","p":"payload","pt":"msg","to":"[17,1,16,0]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":487,"y":124,"wires":[["cBef6VcF_Ws"]]},{"id":"XXbmUh8NOdE","type":"change","z":"rAuvw31rhPg","name":"reverse right","rules":[{"t":"set","p":"payload","pt":"msg","to":"[23,0,18,1]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":498,"y":197,"wires":[["cBef6VcF_Ws"]]},{"id":"KTc2-f2BYxk","type":"change","z":"rAuvw31rhPg","name":"reverse left","rules":[{"t":"set","p":"payload","pt":"msg","to":"[17,0,16,1]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":534,"y":261,"wires":[["cBef6VcF_Ws"]]},{"id":"KVbeLTY3uug","type":"debug","z":"rAuvw31rhPg","name":"","active":true,"console":"false","complete":"dir","x":615,"y":685,"wires":[]},{"id":"9xu9yb34178","type":"gamepad","z":"rAuvw31rhPg","name":"","controllerId":"0","refreshInterval":"100","onlyButtonChanges":false,"roundAxes":true,"x":70,"y":291,"wires":[["eYDlFkslwf0"]]},{"id":"eYDlFkslwf0","type":"function","z":"rAuvw31rhPg","name":"control","func":"let prevPow, prevDir;\nreturn flow.get('dir')\n .then((pd) => {\n prevDir = pd;\n return flow.get('pow');\n })\n .then((pp) => {\n prevPow = pp;\n console.log('pp', prevPow, 'pd', prevDir);\n const a = msg.payload.axes || [0,0];\n const b = msg.payload.buttons || [{}, {}];\n \n if(a[1] === -1) {\n msg.dir = 'f';\n }\n else if(a[1] === 1) {\n msg.dir = 'b';\n }\n else if(a[0] === -1) {\n msg.dir = 'l';\n }\n else if(a[0] === 1) {\n msg.dir = 'r';\n }\n else {\n msg.dir = 's';\n }\n \n if(msg.dir === 's') {\n msg.power = 0;\n }\n else if(b[0].value) {\n msg.power = 1;\n }\n else if(b[1].value) {\n msg.power = 2;\n }\n else{\n msg.power = 0;\n }\n return msg;\n })\n .then(() => {\n return flow.set('pow', msg.power);\n })\n .then(() => {\n return flow.set('dir', msg.dir);\n })\n .then(() => {\n if((prevPow !== msg.power) || (prevDir !== msg.dir)){\n return [msg, null];\n }\n return [null, msg];\n });","outputs":"2","noerr":0,"x":108.5,"y":455,"wires":[["WSBB-uUOicU","60SyO-3JBZA","KQidtzXpR4o"],[]]},{"id":"WSBB-uUOicU","type":"switch","z":"rAuvw31rhPg","name":"","property":"dir","propertyType":"msg","rules":[{"t":"eq","v":"f","vt":"str"},{"t":"eq","v":"b","vt":"str"},{"t":"eq","v":"l","vt":"str"},{"t":"eq","v":"r","vt":"str"},{"t":"else"}],"checkall":"true","outputs":5,"x":348,"y":498,"wires":[["bUXDfKVQEnw","n9W61kiVlQ4"],["XXbmUh8NOdE","KTc2-f2BYxk"],["bUXDfKVQEnw","KTc2-f2BYxk"],["n9W61kiVlQ4","XXbmUh8NOdE"],["MWaVGp2fwpw"]]},{"id":"60SyO-3JBZA","type":"switch","z":"rAuvw31rhPg","name":"","property":"power","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"else"}],"checkall":"true","outputs":3,"x":374,"y":629,"wires":[["ROc-3CQTUjU"],["ML8GfXQIeSU"],["MWaVGp2fwpw"]]},{"id":"KQidtzXpR4o","type":"change","z":"rAuvw31rhPg","name":"","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":407,"y":724,"wires":[["KVbeLTY3uug"]]}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment