/
nxt.json
56 lines (56 loc) · 14.5 KB
/
nxt.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
"ARGPLUGINS": {
"sensorColor": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;var port = logo.parseArg(logo, turtle, conns[1]);\nif (validPort(logo, port, blk)) {\n block.value = parseInt(logo, get('/color/' + port));\n};",
"blue": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;block.value = 2;",
"sensorUltrasonic": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;var port = logo.parseArg(logo, turtle, conns[1]);\nif (validPort(logo, port, blk)) {\n block.value = parseInt(get(logo, '/ultrasonic/' + port));\n};",
"yellow": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;block.value = 4;",
"sensorGyroAngle": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;var port = logo.parseArg(logo, turtle, conns[1]);\nif (validPort(logo, port, blk)) {\n block.value = parseInt(get(logo, '/gyro/angle/' + port));\n};",
"black": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;block.value = 1;",
"sensorGyroRate": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;var port = logo.parseArg(logo, turtle, conns[1]);\nif (validPort(logo, port, blk)) {\n block.value = parseInt(get(logo, '/gyro/rate/' + port));\n};",
"green": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;block.value = 3;",
"white": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;block.value = 6;",
"sensorLight": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;var port = logo.parseArg(logo, turtle, conns[1]);\nif (validPort(logo, port, blk)) {\n block.value = parseInt(get(logo, '/light/' + port)) / 13 * 100;\n};",
"red": "var block = logo.blocks.blockList[blk];\nvar conns = block.connections;block.value = 5;"
},
"GLOBALS": "get = function (logo, url, blk) {\n if (window.nxtURL === undefined) {\n logo.errorMsg('You haven\\'t connected to the NXT yet', blk);\n return '';\n }\n try {\n request = new XMLHttpRequest();\n request.open('GET', 'http://' + window.nxtURL + ':5002' + url, false);\n request.send(null);\n return request.responseText;\n } catch (e) {\n logo.errorMsg('Error with NXT', blk);\n }\n return '';\n};\n\nvalidPort = function (logo, port, blk) {\n if (0 < port && port <= window.nxtInfo.sensors) {\n return true;\n } else {\n logo.errorMsg('Port must be from 1 to '\n + window.nxtInfo.sensors, blk);\n return false;\n }\n};\n\nvalidColor = function (logo, color, blk) {\n if (['red', 'green', 'blue', 'none', 'all'].indexOf(color) !== -1) {\n return true;\n } else {\n logo.errorMsg('Invalid color. Use green, red, blue, all or none', blk);\n return false;\n }\n};\n\nvaildMotor = function (logo, motor, blk) {\n if (window.nxtInfo.motors.indexOf(motor.toUpperCase()) !== -1) {\n return true;\n } else {\n logo.errorMsg('Motor must be either '\n + window.nxtInfo.motors.join(', '), blk);\n return false;\n }\n};\n\nvalidPower = function (logo, power, blk) {\n if (-127 < power <= 128) {\n return true;\n } else {\n logo.errorMsg('Power must be between -127 and 128', blk);\n return false;\n }\n};",
"PALETTEHIGHLIGHTCOLORS": {
"NXT": "#ffb1b3"
},
"FLOWPLUGINS": {
"colorLED": "console.log(logo);\nvar block = logo.blocks.blockList[blk];\nconsole.log(logo);\nvar conns = block.connections;var port = logo.parseArg(logo, turtle, conns[1]);\nvar color = logo.parseArg(logo, turtle, conns[2]).toLowerCase();\nif (validPort(logo, port, blk) && validColor(logo, color, blk)) {\n get(logo, '/led/' + port + '/' + color);\n};",
"motorStop": "console.log(logo);\nvar block = logo.blocks.blockList[blk];\nconsole.log(logo);\nvar conns = block.connections;var motor = logo.parseArg(logo, turtle, conns[1]);\nif (vaildMotor(logo, motor, blk)) {\n get(logo, '/motor/' + motor + '/stop');\n};",
"motorTurn": "console.log(logo);\nvar block = logo.blocks.blockList[blk];\nconsole.log(logo);\nvar conns = block.connections;var motor = logo.parseArg(logo, turtle, conns[1]);\nvar deg = logo.parseArg(logo, turtle, conns[2]);\nif (vaildMotor(logo, motor, blk)) {\n var power = 75;\n if (deg < 0) {\n deg = Math.abs(deg);\n power = -75;\n }\n get(logo, '/motor/' + motor + '/turn/' + deg + '/' + power);\n};",
"connectToNxt": "console.log(logo);\nvar block = logo.blocks.blockList[blk];\nconsole.log(logo);\nvar conns = block.connections;window.nxtURL = logo.parseArg(logo, turtle, conns[1]);\nj = JSON.parse(get(logo, '/about'));\nwindow.nxtInfo = j;",
"motorStart": "console.log(logo);\nvar block = logo.blocks.blockList[blk];\nconsole.log(logo);\nvar conns = block.connections;var motor = logo.parseArg(logo, turtle, conns[1]);\nvar power = logo.parseArg(logo, turtle, conns[2]);\nif (vaildMotor(logo, motor, blk) && validPower(logo, power, blk)) {\n get(logo, '/motor/' + motor + '/start/' + power);\n};",
"motorIdle": "console.log(logo);\nvar block = logo.blocks.blockList[blk];\nconsole.log(logo);\nvar conns = block.connections;console.log(logo)\nvar motor = logo.parseArg(logo, turtle, conns[1]);\nif (vaildMotor(logo, motor, blk)) {\n get(logo, '/motor/' + motor + '/idle');\n};"
},
"PALETTEPLUGINS": {
"NXT": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<svg height=\"55\" viewBox=\"0 0 55 55\" width=\"55\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n <metadata id=\"metadata15\"/>\n <text x=\"23.593\" font-size=\"43.08\" letter-spacing=\"0\" y=\"56.724\" font-weight=\"bold\" line-height=\"125%\" fill=\"#ffffff\" id=\"text3014\" word-spacing=\"0\" font-family=\"Sans\"><tspan x=\"23.593\" y=\"56.724\" id=\"tspan3016\"/>\n </text>\n <rect x=\"6.535\" y=\"6.088\" fill=\"#ffffff\" fill-rule=\"evenodd\" height=\"7.913\" id=\"rect4439\" width=\"42.05\"/>\n <rect x=\"6.263\" y=\"-14.246\" fill=\"#ffffff\" fill-rule=\"evenodd\" height=\"7.913\" id=\"rect4439-1\" width=\"42.05\" transform=\"matrix(-0.00503 0.99999 -0.99999 -0.00503 0 0)\"/>\n <rect x=\"6.09\" y=\"-48.835\" fill=\"#ffffff\" fill-rule=\"evenodd\" height=\"7.913\" id=\"rect4439-1-5\" width=\"41.828\" transform=\"matrix(-0.00505 0.99999 -0.99999 -0.005 0 0)\"/>\n <rect x=\"6.535\" y=\"40.34\" fill=\"#ffffff\" fill-rule=\"evenodd\" height=\"7.913\" id=\"rect4439-6\" width=\"40.676\"/>\n <rect x=\"22.36\" y=\"22.14\" fill=\"#ffffff\" fill-rule=\"evenodd\" height=\"9.721\" id=\"rect4556\" width=\"9.947\"/>\n</svg>"
},
"BLOCKPLUGINS": {
"colorLED": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('colorLED');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['colorLED'] = block;\nblock.twoArgBlock();\nblock.dockTypes[1] = 'numberinin';\nblock.dockTypes[2] = 'anyin';\nblock.defaults.push(3, 'red');\nblock.staticLabels.push('LED', 'port', 'color');",
"sensorTouch": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('sensorTouch');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['sensorTouch'] = block;\nblock.booleanOneArgBlock();\nblock.dockTypes[1] = 'numberin';\nblock.defaults.push(2);\nblock.staticLabels.push('touch');\n//( arg:sensorTouch (//\nvar port = logo.parseArg(logo, turtle, conns[1]);\nif (validPort(logo, port, blk)) {\n if (get('logo, /touch/' + port) === '1') {\n block.value = true;\n } else {\n block.value = false;\n };\n};",
"sensorUltrasonic": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('sensorUltrasonic');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['sensorUltrasonic'] = block;\nblock.oneArgMathBlock();\nblock.defaults.push(1);\nblock.staticLabels.push('ultrasonic');",
"sensorColor": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('sensorColor');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['sensorColor'] = block;\nblock.oneArgMathBlock();\nblock.defaults.push(3);\nblock.staticLabels.push('color');",
"motorStop": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('motorStop');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['motorStop'] = block;\nblock.oneArgBlock();\nblock.dockTypes[1] = 'anyin';\nblock.defaults.push('A');\nblock.staticLabels.push('stop');",
"motorTurn": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('motorTurn');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['motorTurn'] = block;\nblock.twoArgBlock();\nblock.dockTypes[1] = 'anyin';\nblock.defaults.push('A', 360);\nblock.staticLabels.push('turn', 'motor', 'deg');",
"blue": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};staticBlock('blue')",
"connectToNxt": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('connectToNxt');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['connectToNxt'] = block;\nblock.oneArgBlock();\nblock.dockTypes[1] = 'anyin';\nblock.defaults.push('localhost');\nblock.staticLabels.push('connect');",
"yellow": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};staticBlock('yellow')",
"sensorGyroAngle": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('sensorGyroAngle');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['sensorGyroAngle'] = block;\nblock.oneArgMathBlock();\nblock.defaults.push(2);\nblock.staticLabels.push('angle');",
"motorStart": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('motorStart');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['motorStart'] = block;\nblock.twoArgBlock();\nblock.dockTypes[1] = 'anyin';\nblock.defaults.push('A', 100);\nblock.staticLabels.push('start', 'motor', 'power');",
"black": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};staticBlock('black')",
"sensorGyroRate": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('sensorGyroRate');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['sensorGyroRate'] = block;\nblock.oneArgMathBlock();\nblock.defaults.push(2);\nblock.staticLabels.push('rate');",
"green": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};staticBlock('green')",
"white": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};staticBlock('white')",
"motorIdle": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('motorIdle');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['motorIdle'] = block;\nblock.oneArgBlock();\nblock.dockTypes[1] = 'anyin';\nblock.defaults.push('A');\nblock.staticLabels.push('idle');",
"sensorLight": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};var block = new ProtoBlock('sensorLight');\nblock.palette = palettes.dict['NXT'];\nblocks.protoBlockDict['sensorLight'] = block;\nblock.oneArgMathBlock();\nblock.defaults.push(3);\nblock.staticLabels.push('lightness');",
"red": "var staticBlock = function (name) {\n var block = new ProtoBlock(name);\n block.palette = palettes.dict['NXT'];\n blocks.protoBlockDict[name] = block;\n block.parameterBlock();\n block.staticLabels.push(name);\n};staticBlock('red')"
},
"PALETTEFILLCOLORS": {
"NXT": "#ff0066"
},
"PALETTESTROKECOLORS": {
"NXT": "#ef003e"
}
}