//* comment *// Plugin butia //* globals *// var butiaGet = function (url, blk) { var request = new XMLHttpRequest(); request.open('GET', 'http://' + '127.0.0.1:5002' + url, true); request.send(null); request.onerror = function(e) { throw 'Error trying to call ' + url; }; return request.responseText; }; //* arg-globals *// var block = logo.blocks.blockList[blk]; var conns = block.connections; //* flow-globals *// var block = logo.blocks.blockList[blk]; var conns = block.connections; //* arg-globals *// var block = logo.blocks.blockList[blk]; var conns = block.connections; //* block-globals *// var action = function (name, label) { var block = new ProtoBlock(name); block.palette = palettes.dict['butia']; blocks.protoBlockDict[name] = block; block.extraWidth = 24; block.zeroArgBlock(); block.staticLabels.push(_(label)); }; var oneArg = function (name, label) { var block = new ProtoBlock(name); block.palette = palettes.dict['butia']; blocks.protoBlockDict[name] = block; block.oneArgBlock(); block.extraWidth = 24; block.staticLabels.push(_(label)); block.defaults.push('600'); block.docks[1][2] = 'anyin'; }; var staticBlock = function (name) { var block = new ProtoBlock(name); block.palette = palettes.dict['butia']; block.extraWidth = 24; blocks.protoBlockDict[name] = block; block.parameterBlock(); block.staticLabels.push(_(name)); }; var oneArgSen = function (name,port) { var block = new ProtoBlock(name); block.palette = palettes.dict['butia']; blocks.protoBlockDict[name] = block; block.oneArgMathBlock(); block.extraWidth = 24; block.defaults.push(port); block.staticLabels.push(_(name)); }; var getsenPorts = function (n) { var request = new XMLHttpRequest(); request.open('GET', 'http://127.0.0.1:5002/List', false); request.send(null); var SenPort = request.responseText; var SenSplit = SenPort.split("&"); senPorts = {button:[], gray:[], light:[], distance:[]}; for ( var i in SenSplit ){ var senPortAux = SenSplit[i].split(":"); if (senPortAux[0] == "button" ) senPorts.button.push(parseInt(senPortAux[1])); else if (senPortAux[0] == "grey" ) senPorts.gray.push(parseInt(senPortAux[1])); else if (senPortAux[0] == "light" ) senPorts.light.push(parseInt(senPortAux[1])); else if (senPortAux[0] == "distanc" ) senPorts.distance.push(parseInt(senPortAux[1])); }; return senPorts; }; //* block:forwardButia *// action('forwardButia', 'Forward Butia'); //* flow:forwardButia*// butiaGet('/forwardButia'); //* block:stopButia *// action('stopButia', 'Stop Butia'); //* flow:stopButia*// butiaGet('/stopButia'); //* block:rightButia *// action('rightButia', 'Right Butia'); //* flow:rightButia*// butiaGet('/rightButia'); //* block:leftButia *// action('leftButia', 'Left Butia'); //* flow:leftButia*// butiaGet('/leftButia'); //* block:backwardButia *// action('backwardButia', 'Backward Butia'); //* flow:backwardButia*// butiaGet('/backwardButia'); //* block:speedButia *// oneArg('speedButia', 'Speed Butia'); //* flow:speedButia*// var speed = logo.parseArg(logo, turtle, conns[1]); butiaGet('/speedButia/' + speed); //* block:sensorButia *// var b = ['button', 'gray', 'light', 'distance']; if (getsenPorts().button.length >0) oneArgSen("button Butia",getsenPorts().button[0]); if (getsenPorts().gray.length >0) oneArgSen("gray Butia",getsenPorts().gray[0]); if (getsenPorts().light.length >0) oneArgSen("light Butia",getsenPorts().light[0]); if (getsenPorts().distance.length >0) oneArgSen("distance Butia",getsenPorts().distance[0]); //* arg:lightButia *// var port = logo.parseArg(logo, turtle, conns[1]); block.value = butiaGet('/getLight\/'+port); //* arg:distanceButia *// var port = logo.parseArg(logo, turtle, conns[1]); block.value = butiaGet('/getDistance\/'+port); //* arg:grayButia *// var port = logo.parseArg(logo, turtle, conns[1]); block.value = butiaGet('/getGray\/'+port); //* arg:buttonButia *// var port = logo.parseArg(logo, turtle, conns[1]); block.value = butiaGet(('/getButton\/'+port); //* palette-icon:butia *// //* palette-fill:butia *// #ff0066 //* palette-stroke:butia *// #ef003e //* palette-highlight:butia *// #ffb1b3