From b1e6ab740e7a50a4c7eb5e9d9e6896e2569d5569 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 25 Mar 2022 13:54:08 +0100 Subject: [PATCH 01/13] ok --- blockly/blocks/arduino/Bente.js | 16 + blockly/generators/arduino/Bente2.js | 7 + blockly/index.html | 5 + package-lock.json | 597 +++++++++++++++++++++++++++ 4 files changed, 625 insertions(+) create mode 100644 blockly/blocks/arduino/Bente.js create mode 100644 blockly/generators/arduino/Bente2.js create mode 100644 package-lock.json diff --git a/blockly/blocks/arduino/Bente.js b/blockly/blocks/arduino/Bente.js new file mode 100644 index 0000000000..302cb6e46a --- /dev/null +++ b/blockly/blocks/arduino/Bente.js @@ -0,0 +1,16 @@ +Blockly.Blocks['ledder_block'] = { + init: function() { + this.appendDummyInput() + .appendField("Led Status"); + this.appendDummyInput() + .appendField("LED") + .appendField(new Blockly.FieldDropdown([["1","LED1"], ["2","LED2"], ["3","LED3"], ["4","LED4"], ["5","LED5"], ["6","LED6"], ["allemaal","LEDALL"]]), "LED") + .appendField("status:") + .appendField(new Blockly.FieldDropdown([["aan","ON"], ["uit","OF"]]), "LEDSTATE"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(165); + this.setTooltip(""); + this.setHelpUrl(""); + } +}; diff --git a/blockly/generators/arduino/Bente2.js b/blockly/generators/arduino/Bente2.js new file mode 100644 index 0000000000..d07773fa0f --- /dev/null +++ b/blockly/generators/arduino/Bente2.js @@ -0,0 +1,7 @@ +Blockly.JavaScript['ledder_block'] = function(block) { + var dropdown_led = block.getFieldValue('LED'); + var dropdown_ledstate = block.getFieldValue('LEDSTATE'); + // TODO: Assemble JavaScript into code variable. + var code = 'Bente\n'; + return code; +}; \ No newline at end of file diff --git a/blockly/index.html b/blockly/index.html index 329224f254..f074ebf356 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -57,6 +57,7 @@ + @@ -1358,6 +1359,10 @@ + + + + ; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..f5438de125 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,597 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@eslint/eslintrc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eslint": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", + "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", + "requires": { + "@eslint/eslintrc": "^1.2.1", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + }, + "espree": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "requires": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } +} From b45ca01a33f3e05fffdfb06a34ced2e35f860967 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 28 Mar 2022 09:44:53 +0200 Subject: [PATCH 02/13] good --- blockly/blocks/arduino/{Bente.js => v2Led.js} | 0 blockly/blocks/arduino/v2Setup.js | 15 +++++++++++++++ .../generators/arduino/{Bente2.js => v2Led.js} | 11 ++++++++--- blockly/generators/arduino/v2Setup.js | 11 +++++++++++ blockly/index.html | 9 +++++++-- 5 files changed, 41 insertions(+), 5 deletions(-) rename blockly/blocks/arduino/{Bente.js => v2Led.js} (100%) create mode 100644 blockly/blocks/arduino/v2Setup.js rename blockly/generators/arduino/{Bente2.js => v2Led.js} (53%) create mode 100644 blockly/generators/arduino/v2Setup.js diff --git a/blockly/blocks/arduino/Bente.js b/blockly/blocks/arduino/v2Led.js similarity index 100% rename from blockly/blocks/arduino/Bente.js rename to blockly/blocks/arduino/v2Led.js diff --git a/blockly/blocks/arduino/v2Setup.js b/blockly/blocks/arduino/v2Setup.js new file mode 100644 index 0000000000..e3e247ab5e --- /dev/null +++ b/blockly/blocks/arduino/v2Setup.js @@ -0,0 +1,15 @@ +Blockly.Blocks['setup_block'] = { + init: function() { + this.appendDummyInput() + .appendField("Setup"); + this.appendDummyInput() + .appendField("Tester?") + .appendField(new Blockly.FieldCheckbox("TRUE"), "testercheck"); + this.appendStatementInput("NAME") + .setCheck("function") + .appendField("Functions:"); + this.setColour(315); + this.setTooltip("This sets up everything"); + this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); + } +}; \ No newline at end of file diff --git a/blockly/generators/arduino/Bente2.js b/blockly/generators/arduino/v2Led.js similarity index 53% rename from blockly/generators/arduino/Bente2.js rename to blockly/generators/arduino/v2Led.js index d07773fa0f..98cedbfca0 100644 --- a/blockly/generators/arduino/Bente2.js +++ b/blockly/generators/arduino/v2Led.js @@ -1,7 +1,12 @@ -Blockly.JavaScript['ledder_block'] = function(block) { +goog.provide('Blockly.Arduino.v2Led'); + + +goog.require('Blockly.Blocks'); + +Blockly.Arduino['ledder_block'] = function(block) { var dropdown_led = block.getFieldValue('LED'); var dropdown_ledstate = block.getFieldValue('LEDSTATE'); // TODO: Assemble JavaScript into code variable. - var code = 'Bente\n'; + var code = 'Ledjes\n'; return code; -}; \ No newline at end of file +}; \ No newline at end of file diff --git a/blockly/generators/arduino/v2Setup.js b/blockly/generators/arduino/v2Setup.js new file mode 100644 index 0000000000..cbf76edaa7 --- /dev/null +++ b/blockly/generators/arduino/v2Setup.js @@ -0,0 +1,11 @@ +goog.provide('Blockly.Arduino.v2Setup'); + + +goog.require('Blockly.Blocks'); + +Blockly.Arduino['setup_block'] = function(block) { + var checkbox_testercheck = block.getFieldValue('testercheck') === 'TRUE'; + // TODO: Assemble JavaScript into code variable. + var code = 'Jens\n'; + return code; +}; \ No newline at end of file diff --git a/blockly/index.html b/blockly/index.html index f074ebf356..9d4a0aa47b 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -57,7 +57,8 @@ - + + @@ -97,6 +98,8 @@ + + @@ -263,7 +266,7 @@ - Kies poort: + Kies poort:
@@ -1362,6 +1365,8 @@ + + ; From d09d982fdc2fda84f7ce4bd814022a9ba5af30a3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 28 Mar 2022 10:57:45 +0200 Subject: [PATCH 03/13] ok --- blockly/blocks/arduino/{v2Led.js => beta.js} | 18 +++++++++++++- blockly/blocks/arduino/v2Setup.js | 15 ----------- blockly/generators/arduino/beta.js | 26 ++++++++++++++++++++ blockly/generators/arduino/v2Led.js | 12 --------- blockly/generators/arduino/v2Setup.js | 11 --------- blockly/index.html | 6 ++--- 6 files changed, 45 insertions(+), 43 deletions(-) rename blockly/blocks/arduino/{v2Led.js => beta.js} (55%) delete mode 100644 blockly/blocks/arduino/v2Setup.js create mode 100644 blockly/generators/arduino/beta.js delete mode 100644 blockly/generators/arduino/v2Led.js delete mode 100644 blockly/generators/arduino/v2Setup.js diff --git a/blockly/blocks/arduino/v2Led.js b/blockly/blocks/arduino/beta.js similarity index 55% rename from blockly/blocks/arduino/v2Led.js rename to blockly/blocks/arduino/beta.js index 302cb6e46a..6287c66a86 100644 --- a/blockly/blocks/arduino/v2Led.js +++ b/blockly/blocks/arduino/beta.js @@ -13,4 +13,20 @@ Blockly.Blocks['ledder_block'] = { this.setTooltip(""); this.setHelpUrl(""); } -}; +}; + +Blockly.Blocks['setup_block'] = { + init: function() { + this.appendDummyInput() + .appendField("Setup"); + this.appendDummyInput() + .appendField("Tester?") + .appendField(new Blockly.FieldCheckbox("TRUE"), "testercheck"); + this.appendStatementInput("NAME") + .setCheck("function") + .appendField("Functions:"); + this.setColour(315); + this.setTooltip("This sets up everything"); + this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); + } +}; \ No newline at end of file diff --git a/blockly/blocks/arduino/v2Setup.js b/blockly/blocks/arduino/v2Setup.js deleted file mode 100644 index e3e247ab5e..0000000000 --- a/blockly/blocks/arduino/v2Setup.js +++ /dev/null @@ -1,15 +0,0 @@ -Blockly.Blocks['setup_block'] = { - init: function() { - this.appendDummyInput() - .appendField("Setup"); - this.appendDummyInput() - .appendField("Tester?") - .appendField(new Blockly.FieldCheckbox("TRUE"), "testercheck"); - this.appendStatementInput("NAME") - .setCheck("function") - .appendField("Functions:"); - this.setColour(315); - this.setTooltip("This sets up everything"); - this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); - } -}; \ No newline at end of file diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js new file mode 100644 index 0000000000..0b23f666fb --- /dev/null +++ b/blockly/generators/arduino/beta.js @@ -0,0 +1,26 @@ +goog.provide('Blockly.Arduino.beta'); + + +goog.require('Blockly.Blocks'); + +Blockly.Arduino['ledder_block'] = function(block) { + var dropdown_led = block.getFieldValue('LED'); + var dropdown_ledstate = block.getFieldValue('LEDSTATE'); + // TODO: Assemble JavaScript into code variable. + var code = dropdown_led + "\n" + dropdown_ledstate; + var pinSetupCode = 'pinMode(' + code + ', INPUT);\n'; + Blockly.Arduino.addSetup("setupvrLed","...setup"); + return code; +}; + + + +Blockly.Arduino['setup_block'] = function(block) { + var checkbox_testercheck = block.getFieldValue('testercheck') === 'TRUE'; + // TODO: Assemble JavaScript into code variable. + var code = 'Jens\n'; + if(checkbox_testercheck==true) code = "JAAA"; + + + return code; +}; \ No newline at end of file diff --git a/blockly/generators/arduino/v2Led.js b/blockly/generators/arduino/v2Led.js deleted file mode 100644 index 98cedbfca0..0000000000 --- a/blockly/generators/arduino/v2Led.js +++ /dev/null @@ -1,12 +0,0 @@ -goog.provide('Blockly.Arduino.v2Led'); - - -goog.require('Blockly.Blocks'); - -Blockly.Arduino['ledder_block'] = function(block) { - var dropdown_led = block.getFieldValue('LED'); - var dropdown_ledstate = block.getFieldValue('LEDSTATE'); - // TODO: Assemble JavaScript into code variable. - var code = 'Ledjes\n'; - return code; -}; \ No newline at end of file diff --git a/blockly/generators/arduino/v2Setup.js b/blockly/generators/arduino/v2Setup.js deleted file mode 100644 index cbf76edaa7..0000000000 --- a/blockly/generators/arduino/v2Setup.js +++ /dev/null @@ -1,11 +0,0 @@ -goog.provide('Blockly.Arduino.v2Setup'); - - -goog.require('Blockly.Blocks'); - -Blockly.Arduino['setup_block'] = function(block) { - var checkbox_testercheck = block.getFieldValue('testercheck') === 'TRUE'; - // TODO: Assemble JavaScript into code variable. - var code = 'Jens\n'; - return code; -}; \ No newline at end of file diff --git a/blockly/index.html b/blockly/index.html index 9d4a0aa47b..b9d8250e4a 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -57,8 +57,7 @@ - - + @@ -98,8 +97,7 @@ - - + From b4237acf91c8d95779e69ea5d2ccb7b6dadeb045 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 28 Mar 2022 11:46:07 +0200 Subject: [PATCH 04/13] ok boomer --- blockly/blocks/arduino/beta.js | 15 +++++++-------- blockly/generators/arduino/beta.js | 22 ++++++++++++++++++---- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 6287c66a86..0c34bcc64f 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -20,13 +20,12 @@ Blockly.Blocks['setup_block'] = { this.appendDummyInput() .appendField("Setup"); this.appendDummyInput() - .appendField("Tester?") - .appendField(new Blockly.FieldCheckbox("TRUE"), "testercheck"); - this.appendStatementInput("NAME") - .setCheck("function") - .appendField("Functions:"); - this.setColour(315); - this.setTooltip("This sets up everything"); - this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); + .appendField("Test ledjes:") + .appendField(new Blockly.FieldCheckbox("TRUE"), "NAME"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(90); + this.setTooltip(""); + this.setHelpUrl(""); } }; \ No newline at end of file diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index 0b23f666fb..234d754d89 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -9,6 +9,8 @@ Blockly.Arduino['ledder_block'] = function(block) { // TODO: Assemble JavaScript into code variable. var code = dropdown_led + "\n" + dropdown_ledstate; var pinSetupCode = 'pinMode(' + code + ', INPUT);\n'; + Blockly.Arduino.addInclude("includeLed","ok boomer"); + Blockly.Arduino.addDeclaration("declairLed","zoomer"); Blockly.Arduino.addSetup("setupvrLed","...setup"); return code; }; @@ -16,11 +18,23 @@ Blockly.Arduino['ledder_block'] = function(block) { Blockly.Arduino['setup_block'] = function(block) { - var checkbox_testercheck = block.getFieldValue('testercheck') === 'TRUE'; + var checkbox_name = block.getFieldValue('NAME') === 'TRUE'; // TODO: Assemble JavaScript into code variable. - var code = 'Jens\n'; - if(checkbox_testercheck==true) code = "JAAA"; + Blockly.Arduino.addInclude("includeSetup","#include // Sleep Modes\n#include // Power management"); + + Blockly.Arduino.addDeclaration("declairSetup","#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000"); + + + + + + + var code = "pinMode(DATA, OUTPUT);\npinMode(RCLK, OUTPUT);\npinMode(SRCLK, OUTPUT);\npinMode(BUTTON, INPUT);\n"; + code += "ADCSRA = 0; // turn off ADC\nPCMSK |= bit (PCINT4); // want pin D4 / pin 3\nGIFR |= bit (PCIF); // clear any outstanding interrupts\nGIMSK |= bit (PCIE); // enable pin change interrupts\n"; + if(checkbox_name==true) code += ('\nmemset(registers,sizeof(registers),true);\nwritereg();\ndelay(DELAYML);\nmemset(registers,sizeof(registers),false);\nwritereg();\ndelay(DELAYML);') + return code; -}; \ No newline at end of file +}; + From bb797e60d815dc5325df7d4050770425332e258f Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 28 Mar 2022 16:36:49 +0200 Subject: [PATCH 05/13] io --- blockly/blocks/arduino/beta.js | 35 +++++++++++++++++++++-- blockly/generators/arduino/beta.js | 46 +++++++++++++++++++++++------- blockly/index.html | 4 +++ 3 files changed, 72 insertions(+), 13 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 0c34bcc64f..01a19e1e03 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -6,7 +6,7 @@ Blockly.Blocks['ledder_block'] = { .appendField("LED") .appendField(new Blockly.FieldDropdown([["1","LED1"], ["2","LED2"], ["3","LED3"], ["4","LED4"], ["5","LED5"], ["6","LED6"], ["allemaal","LEDALL"]]), "LED") .appendField("status:") - .appendField(new Blockly.FieldDropdown([["aan","ON"], ["uit","OF"]]), "LEDSTATE"); + .appendField(new Blockly.FieldDropdown([["aan","true"], ["uit","false"]]), "LEDSTATE"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(165); @@ -28,4 +28,35 @@ Blockly.Blocks['setup_block'] = { this.setTooltip(""); this.setHelpUrl(""); } -}; \ No newline at end of file +}; + +Blockly.Blocks['effect_block'] = { + init: function() { + this.appendDummyInput() + .setAlign(Blockly.ALIGN_CENTRE) + .appendField("Effectenblok"); + this.appendDummyInput() + .appendField("Effect:") + .appendField(new Blockly.FieldDropdown([["Draaien","ROTATE"], ["Rond","ROUND"], ["Flikkeren","BLINK"], ["Willekeurig aan","RANDOM_ON"], ["Willekeurig uit","RANDOM_OF"]]), "EFFECT"); + this.appendDummyInput() + .appendField("Snelheid:") + .appendField(new Blockly.FieldDropdown([["Snel","FAST"], ["Medium","MEDIUM"], ["Traag","SLOW"]]), "SPEED"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(210); + this.setTooltip("keuze van voorgeprogrammeerde effecten"); + this.setHelpUrl(""); + } +}; + +Blockly.Blocks['create_effect'] = { + init: function() { + this.appendDummyInput() + .appendField("aanmaak effect"); + this.appendStatementInput("FUNCS") + .setCheck("effectPointer"); + this.setColour(230); + this.setTooltip(""); + this.setHelpUrl(""); + } +}; \ No newline at end of file diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index 234d754d89..1735d8b05d 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -7,11 +7,11 @@ Blockly.Arduino['ledder_block'] = function(block) { var dropdown_led = block.getFieldValue('LED'); var dropdown_ledstate = block.getFieldValue('LEDSTATE'); // TODO: Assemble JavaScript into code variable. - var code = dropdown_led + "\n" + dropdown_ledstate; + var code = "registers[0]=" + dropdown_ledstate + ";\nwritereg();"; var pinSetupCode = 'pinMode(' + code + ', INPUT);\n'; - Blockly.Arduino.addInclude("includeLed","ok boomer"); - Blockly.Arduino.addDeclaration("declairLed","zoomer"); - Blockly.Arduino.addSetup("setupvrLed","...setup"); + Blockly.Arduino.addInclude("includeLed","//includes:"); + Blockly.Arduino.addDeclaration("declairLed","//declarations:"); + Blockly.Arduino.addSetup("setupvrLed","//setups:"); return code; }; @@ -23,18 +23,42 @@ Blockly.Arduino['setup_block'] = function(block) { Blockly.Arduino.addInclude("includeSetup","#include // Sleep Modes\n#include // Power management"); Blockly.Arduino.addDeclaration("declairSetup","#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000"); - + Blockly.Arduino.addDeclaration("declairVar","int count = 0;\nint mode = 0;\nbool pressed = false;\nboolean registers[6];\nbool sleep = false;\nlong pressTime = 0;\nlong duration;\nint ran;\nint prevRan;") + Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n duration = 1;\n if (count == 1) pressTime = millis();\n if(count >= 2) count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n/* else mode++;\n if (mode > (sizeof(callEffect)>>1)) mode = 0;\n*/}"); + Blockly.Arduino.addFunction("sleep","void goToSleep() {\n memset(registers,false,sizeof(registers));\n writereg();\n\n set_sleep_mode(SLEEP_MODE_PWR_DOWN);\n power_all_disable (); // power off ADC, Timer 0 and 1, serial interface\n sleep_enable();\n sleep_cpu();\n sleep_disable(); //power everything back on\n power_all_enable();\n sleep=false;\n count=-1;\n mode=0;\n}"); + + Blockly.Arduino.addFunction("writereg","void writereg() {\n digitalWrite(SRCLK,LOW);\n\n for(int i=sizeof(registers)-1;i>=0;i--)\n {\n digitalWrite(RCLK,LOW);\n digitalWrite(DATA,registers[i]);\n digitalWrite(RCLK,HIGH);\n }\n\n digitalWrite(SRCLK,HIGH);\n}"); + + if(checkbox_name==true) + { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);\n\nmemset(registers,true,sizeof(registers));\nwritereg();\ndelay(DELAYML);\nmemset(registers,false,sizeof(registers));\nwritereg();\ndelay(DELAYML);") + } + else + { + Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") + } + + + + var code = "if (sleep) goToSleep();\n"; + return code; +}; - - var code = "pinMode(DATA, OUTPUT);\npinMode(RCLK, OUTPUT);\npinMode(SRCLK, OUTPUT);\npinMode(BUTTON, INPUT);\n"; - code += "ADCSRA = 0; // turn off ADC\nPCMSK |= bit (PCINT4); // want pin D4 / pin 3\nGIFR |= bit (PCIF); // clear any outstanding interrupts\nGIMSK |= bit (PCIE); // enable pin change interrupts\n"; - if(checkbox_name==true) code += ('\nmemset(registers,sizeof(registers),true);\nwritereg();\ndelay(DELAYML);\nmemset(registers,sizeof(registers),false);\nwritereg();\ndelay(DELAYML);') - +Blockly.Arduino['effect_block'] = function(block) { + var dropdown_effect = block.getFieldValue('EFFECT'); + var dropdown_speed = block.getFieldValue('SPEED'); + // TODO: Assemble JavaScript into code variable. + var code = '...;\n'; return code; -}; +}; +Blockly.Arduino['create_effect'] = function(block) { + var statements_name = Blockly.JavaScript.statementToCode(block, 'FUNCS'); + // TODO: Assemble JavaScript into code variable. + var code = '...;\n'; + return code; +}; \ No newline at end of file diff --git a/blockly/index.html b/blockly/index.html index b9d8250e4a..b7b76cf6b7 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -1365,6 +1365,10 @@ + + + + ; From edc9cfe5dea4da2ef159b8d2f6aea5d9b1181a9f Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Mar 2022 11:53:43 +0200 Subject: [PATCH 06/13] ja --- blockly/blocks/arduino/beta.js | 17 ++- blockly/blocks/loops.js | 2 +- blockly/generators/arduino/beta.js | 34 +++-- blockly/package-lock.json | 236 ++++++++++++++++------------- blockly/package.json | 2 +- zq | 86 +++++++++++ 6 files changed, 254 insertions(+), 123 deletions(-) create mode 100644 zq diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 01a19e1e03..4b9354735b 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -20,13 +20,14 @@ Blockly.Blocks['setup_block'] = { this.appendDummyInput() .appendField("Setup"); this.appendDummyInput() - .appendField("Test ledjes:") - .appendField(new Blockly.FieldCheckbox("TRUE"), "NAME"); - this.setPreviousStatement(true, null); - this.setNextStatement(true, null); - this.setColour(90); - this.setTooltip(""); - this.setHelpUrl(""); + .appendField("Test leds:") + .appendField(new Blockly.FieldCheckbox("TRUE"), "testercheck"); + this.appendStatementInput("FUNCS") + .setCheck("function") + .appendField("Functions:"); + this.setColour(315); + this.setTooltip("This sets up everything"); + this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); } }; @@ -54,7 +55,7 @@ Blockly.Blocks['create_effect'] = { this.appendDummyInput() .appendField("aanmaak effect"); this.appendStatementInput("FUNCS") - .setCheck("effectPointer"); + .setCheck(null); this.setColour(230); this.setTooltip(""); this.setHelpUrl(""); diff --git a/blockly/blocks/loops.js b/blockly/blocks/loops.js index 2f1bea1beb..239bc22fdb 100644 --- a/blockly/blocks/loops.js +++ b/blockly/blocks/loops.js @@ -25,7 +25,7 @@ goog.require('Blockly.FieldDropdown'); goog.require('Blockly.FieldLabel'); goog.require('Blockly.FieldNumber'); goog.require('Blockly.FieldVariable'); -goog.require('Blockly.Warning'); +goog.require('Blockly.Warning'); /** diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index 1735d8b05d..d5df01131b 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -19,7 +19,18 @@ Blockly.Arduino['ledder_block'] = function(block) { Blockly.Arduino['setup_block'] = function(block) { var checkbox_name = block.getFieldValue('NAME') === 'TRUE'; - // TODO: Assemble JavaScript into code variable. + var functies = Blockly.Arduino.statementToCode(block, 'FUNCS'); + Blockly.Arduino.addDeclaration("delcairEffPointer","typedef void (*effectPointer) ();"); + + functies = functies.replaceAll(";",","); + var lIndex = functies.lastIndexOf(","); + functies = functies.substring(0,lIndex) + "" + functies.substring(lIndex+1); + + functies = "effectPointer callEffect[] = {\n" + functies + "\n};"; + console.log(functies); + + + Blockly.Arduino.addInclude("includeSetup","#include // Sleep Modes\n#include // Power management"); Blockly.Arduino.addDeclaration("declairSetup","#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000"); @@ -29,7 +40,7 @@ Blockly.Arduino['setup_block'] = function(block) { Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n duration = 1;\n if (count == 1) pressTime = millis();\n if(count >= 2) count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n/* else mode++;\n if (mode > (sizeof(callEffect)>>1)) mode = 0;\n*/}"); Blockly.Arduino.addFunction("sleep","void goToSleep() {\n memset(registers,false,sizeof(registers));\n writereg();\n\n set_sleep_mode(SLEEP_MODE_PWR_DOWN);\n power_all_disable (); // power off ADC, Timer 0 and 1, serial interface\n sleep_enable();\n sleep_cpu();\n sleep_disable(); //power everything back on\n power_all_enable();\n sleep=false;\n count=-1;\n mode=0;\n}"); - + Blockly.Arduino.addFunction("writereg","void writereg() {\n digitalWrite(SRCLK,LOW);\n\n for(int i=sizeof(registers)-1;i>=0;i--)\n {\n digitalWrite(RCLK,LOW);\n digitalWrite(DATA,registers[i]);\n digitalWrite(RCLK,HIGH);\n }\n\n digitalWrite(SRCLK,HIGH);\n}"); if(checkbox_name==true) @@ -40,10 +51,8 @@ Blockly.Arduino['setup_block'] = function(block) { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") } - - var code = "if (sleep) goToSleep();\n"; - + Blockly.Arduino.addFunction("declFullPointer",functies); return code; }; @@ -57,8 +66,15 @@ Blockly.Arduino['effect_block'] = function(block) { }; Blockly.Arduino['create_effect'] = function(block) { - var statements_name = Blockly.JavaScript.statementToCode(block, 'FUNCS'); - // TODO: Assemble JavaScript into code variable. - var code = '...;\n'; - return code; + var functies = Blockly.Arduino.statementToCode(block, 'FUNCS'); + Blockly.Arduino.addDeclaration("delcairEffPointer","typedef void (*effectPointer) ();"); + + functies = functies.replaceAll(";",","); + var lIndex = functies.lastIndexOf(","); + functies = functies.substring(0,lIndex) + "" + functies.substring(lIndex+1); + + var code = "effectPointer callEffect[] = {\n" + functies + "\n};"; + console.log(code); + Blockly.Arduino.addSetup("declairFullPointer",code); + return ""; }; \ No newline at end of file diff --git a/blockly/package-lock.json b/blockly/package-lock.json index 08031f3bdf..701a5ec572 100644 --- a/blockly/package-lock.json +++ b/blockly/package-lock.json @@ -240,15 +240,15 @@ "dev": true }, "@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", @@ -257,12 +257,12 @@ }, "dependencies": { "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } } } @@ -320,6 +320,23 @@ } } }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -736,9 +753,9 @@ } }, "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, "acorn-walk": { @@ -2573,29 +2590,32 @@ } }, "eslint": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz", - "integrity": "sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -2603,7 +2623,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -2612,7 +2632,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -2627,18 +2647,18 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/highlight": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz", - "integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -2653,19 +2673,25 @@ "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true } } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -2724,28 +2750,40 @@ "which": "^2.0.1" } }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } }, "levn": { @@ -2758,12 +2796,6 @@ "type-check": "~0.4.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -2791,9 +2823,9 @@ "dev": true }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -2815,12 +2847,12 @@ "dev": true }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "supports-color": { @@ -2924,9 +2956,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -2941,9 +2973,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -3307,9 +3339,9 @@ } }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "flush-write-stream": { @@ -3694,11 +3726,6 @@ } } }, - "google-closure-library": { - "version": "20210302.0.0", - "resolved": "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20210302.0.0.tgz", - "integrity": "sha512-xu5TytXJmPe0WxZ6Igy3Bo+XFiwrftch6iVN2E6TzKMGbZ+rnvotzWaIpigtDx6GWZVAFLok8ErT5avQkSep/w==" - }, "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -5140,6 +5167,12 @@ "lodash._reinterpolate": "^3.0.0" } }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "lodash.union": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", @@ -6918,9 +6951,9 @@ } }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "registry-auth-token": { @@ -8024,21 +8057,22 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "dependencies": { "ajv": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", - "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -8048,9 +8082,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "fast-deep-equal": { @@ -8071,30 +8105,24 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } @@ -8383,9 +8411,9 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "typedarray": { @@ -8596,9 +8624,9 @@ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8flags": { diff --git a/blockly/package.json b/blockly/package.json index df9053b400..b99809d7e6 100644 --- a/blockly/package.json +++ b/blockly/package.json @@ -70,7 +70,7 @@ "chai": "^4.2.0", "clang-format": "^1.5.0", "concurrently": "^6.0.0", - "eslint": "^7.6.0", + "eslint": "^7.32.0", "eslint-plugin-es5": "^1.5.0", "google-closure-compiler": "^20210302.0.0", "google-closure-deps": "^20210202.0.0", diff --git a/zq b/zq new file mode 100644 index 0000000000..ee05ad6de0 --- /dev/null +++ b/zq @@ -0,0 +1,86 @@ +GIT-GUI(1) Git Manual GIT-GUI(1) + +NNAAMMEE + git-gui - A portable graphical interface to Git + +SSYYNNOOPPSSIISS + _g_i_t _g_u_i [] [arguments] + +DDEESSCCRRIIPPTTIIOONN + A Tcl/Tk based graphical user interface to Git. _g_i_t _g_u_i focuses on allowing users to make changes to their + repository by making new commits, amending existing ones, creating branches, performing local merges, and + fetching/pushing to remote repositories. + + Unlike _g_i_t_k, _g_i_t _g_u_i focuses on commit generation and single file annotation and does not show project + history. It does however supply menu actions to start a _g_i_t_k session from within _g_i_t _g_u_i. + + _g_i_t _g_u_i is known to work on all popular UNIX systems, Mac OS X, and Windows (under both Cygwin and MSYS). + To the extent possible OS specific user interface guidelines are followed, making _g_i_t _g_u_i a fairly native + interface for users. + +CCOOMMMMAANNDDSS + blame + Start a blame viewer on the specified file on the given version (or working directory if not + specified). + + browser + Start a tree browser showing all files in the specified commit. Files selected through the browser are + opened in the blame viewer. + + citool + Start _g_i_t _g_u_i and arrange to make exactly one commit before exiting and returning to the shell. The + interface is limited to only commit actions, slightly reducing the application’s startup time and + simplifying the menubar. + + version + Display the currently running version of _g_i_t _g_u_i. + +EEXXAAMMPPLLEESS + ggiitt gguuii bbllaammee MMaakkeeffiillee + Show the contents of the file _M_a_k_e_f_i_l_e in the current working directory, and provide annotations for + both the original author of each line, and who moved the line to its current location. The uncommitted + file is annotated, and uncommitted changes (if any) are explicitly attributed to _N_o_t _Y_e_t _C_o_m_m_i_t_t_e_d. + + ggiitt gguuii bbllaammee vv00..9999..88 MMaakkeeffiillee + Show the contents of _M_a_k_e_f_i_l_e in revision _v_0_._9_9_._8 and provide annotations for each line. Unlike the + above example the file is read from the object database and not the working directory. + + ggiitt gguuii bbllaammee ----lliinnee==110000 MMaakkeeffiillee + Loads annotations as described above and automatically scrolls the view to center on line _1_0_0. + + ggiitt gguuii cciittooooll + Make one commit and return to the shell when it is complete. This command returns a non-zero exit code + if the window was closed in any way other than by making a commit. + + ggiitt gguuii cciittooooll ----aammeenndd + Automatically enter the _A_m_e_n_d _L_a_s_t _C_o_m_m_i_t mode of the interface. + + ggiitt gguuii cciittooooll ----nnooccoommmmiitt + Behave as normal citool, but instead of making a commit simply terminate with a zero exit code. It + still checks that the index does not contain any unmerged entries, so you can use it as a GUI version + of ggiitt--mmeerrggeettooooll(1) + + ggiitt cciittooooll + Same as ggiitt gguuii cciittooooll (above). + + ggiitt gguuii bbrroowwsseerr mmaaiinntt + Show a browser for the tree of the _m_a_i_n_t branch. Files selected in the browser can be viewed with the + internal blame viewer. + +SSEEEE AALLSSOO + ggiittkk(1) + The Git repository browser. Shows branches, commit history and file differences. gitk is the utility + started by _g_i_t _g_u_i's Repository Visualize actions. + +OOTTHHEERR + _g_i_t _g_u_i is actually maintained as an independent project, but stable versions are distributed as part of + the Git suite for the convenience of end users. + + The official repository of the _g_i_t _g_u_i project can be found at: + + https://github.com/prati0100/git-gui.git/ + +GGIITT + Part of the ggiitt(1) suite + +Git 2.25.1 09/09/2021 GIT-GUI(1) From 9be1b260fe066fda16ac2292aa73456af13299d1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Mar 2022 16:33:36 +0200 Subject: [PATCH 07/13] ok --- blockly/blocks/arduino/beta.js | 14 +------- blockly/generators/arduino/beta.js | 54 +++++++++++++++++++----------- 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 4b9354735b..768b06c9a7 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -21,7 +21,7 @@ Blockly.Blocks['setup_block'] = { .appendField("Setup"); this.appendDummyInput() .appendField("Test leds:") - .appendField(new Blockly.FieldCheckbox("TRUE"), "testercheck"); + .appendField(new Blockly.FieldCheckbox("TRUE"), "LEDTESTER"); this.appendStatementInput("FUNCS") .setCheck("function") .appendField("Functions:"); @@ -48,16 +48,4 @@ Blockly.Blocks['effect_block'] = { this.setTooltip("keuze van voorgeprogrammeerde effecten"); this.setHelpUrl(""); } -}; - -Blockly.Blocks['create_effect'] = { - init: function() { - this.appendDummyInput() - .appendField("aanmaak effect"); - this.appendStatementInput("FUNCS") - .setCheck(null); - this.setColour(230); - this.setTooltip(""); - this.setHelpUrl(""); - } }; \ No newline at end of file diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index d5df01131b..f26e253888 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -18,16 +18,41 @@ Blockly.Arduino['ledder_block'] = function(block) { Blockly.Arduino['setup_block'] = function(block) { - var checkbox_name = block.getFieldValue('NAME') === 'TRUE'; + var testleds = block.getFieldValue('LEDTESTER'); var functies = Blockly.Arduino.statementToCode(block, 'FUNCS'); Blockly.Arduino.addDeclaration("delcairEffPointer","typedef void (*effectPointer) ();"); - functies = functies.replaceAll(";",","); + /*functies = functies.replaceAll(";",","); var lIndex = functies.lastIndexOf(","); functies = functies.substring(0,lIndex) + "" + functies.substring(lIndex+1); functies = "effectPointer callEffect[] = {\n" + functies + "\n};"; - console.log(functies); + functies = functies.replaceAll("()","");*/ + var Index= functies.indexOf(";"); + var testopslag =[] + while (Index != -1) +{ + Index= functies.indexOf(";"); + console.log(Index); + if(Index != -1) + { + testopslag.push(functies.substring(0,Index+1)) + } + functies = functies.substring(Index+1); +} + console.log(testopslag.length); + for(var counter=0; counter<=(testopslag.length);counter++) + { + console.log(testopslag[counter]); + } + + var epic = "switch(mode)\n{"; + for(var counter=0; counter<(testopslag.length);counter++) + { + epic+= "\ncase " + counter + ":" + testopslag[counter] + "\nbreak;"; + } + epic+="\n}\n"; + @@ -35,23 +60,26 @@ Blockly.Arduino['setup_block'] = function(block) { Blockly.Arduino.addDeclaration("declairSetup","#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000"); - Blockly.Arduino.addDeclaration("declairVar","int count = 0;\nint mode = 0;\nbool pressed = false;\nboolean registers[6];\nbool sleep = false;\nlong pressTime = 0;\nlong duration;\nint ran;\nint prevRan;") + Blockly.Arduino.addDeclaration("declairVar","int count = 0;\nint mode = 0;\nbool pressed = false;\nboolean registers[6];\nbool sleep = false;\nlong pressTime = 0;\nint ran;\nint prevRan;") - Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n duration = 1;\n if (count == 1) pressTime = millis();\n if(count >= 2) count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n/* else mode++;\n if (mode > (sizeof(callEffect)>>1)) mode = 0;\n*/}"); + Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n if (count == 1) {\n pressTime = millis();}\n if(count >= 2) {\n count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n else mode++;}\n if (mode > " + testopslag.length + ") mode = 0;\n}"); Blockly.Arduino.addFunction("sleep","void goToSleep() {\n memset(registers,false,sizeof(registers));\n writereg();\n\n set_sleep_mode(SLEEP_MODE_PWR_DOWN);\n power_all_disable (); // power off ADC, Timer 0 and 1, serial interface\n sleep_enable();\n sleep_cpu();\n sleep_disable(); //power everything back on\n power_all_enable();\n sleep=false;\n count=-1;\n mode=0;\n}"); Blockly.Arduino.addFunction("writereg","void writereg() {\n digitalWrite(SRCLK,LOW);\n\n for(int i=sizeof(registers)-1;i>=0;i--)\n {\n digitalWrite(RCLK,LOW);\n digitalWrite(DATA,registers[i]);\n digitalWrite(RCLK,HIGH);\n }\n\n digitalWrite(SRCLK,HIGH);\n}"); - if(checkbox_name==true) + if(testleds=="TRUE") { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);\n\nmemset(registers,true,sizeof(registers));\nwritereg();\ndelay(DELAYML);\nmemset(registers,false,sizeof(registers));\nwritereg();\ndelay(DELAYML);") + console.log("ja"); } else { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") + console.log("no"); } var code = "if (sleep) goToSleep();\n"; + code+=epic; Blockly.Arduino.addFunction("declFullPointer",functies); return code; }; @@ -64,17 +92,3 @@ Blockly.Arduino['effect_block'] = function(block) { var code = '...;\n'; return code; }; - -Blockly.Arduino['create_effect'] = function(block) { - var functies = Blockly.Arduino.statementToCode(block, 'FUNCS'); - Blockly.Arduino.addDeclaration("delcairEffPointer","typedef void (*effectPointer) ();"); - - functies = functies.replaceAll(";",","); - var lIndex = functies.lastIndexOf(","); - functies = functies.substring(0,lIndex) + "" + functies.substring(lIndex+1); - - var code = "effectPointer callEffect[] = {\n" + functies + "\n};"; - console.log(code); - Blockly.Arduino.addSetup("declairFullPointer",code); - return ""; -}; \ No newline at end of file From d267e49cf12abc6eaad99f683035b4bf4666047c Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 30 Mar 2022 10:51:00 +0200 Subject: [PATCH 08/13] ok --- blockly/blocks/arduino/beta.js | 14 +++++++++++- blockly/generators/arduino/beta.js | 35 +++++++++++++++++------------- blockly/index.html | 2 +- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 768b06c9a7..9e3f51e894 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -4,7 +4,7 @@ Blockly.Blocks['ledder_block'] = { .appendField("Led Status"); this.appendDummyInput() .appendField("LED") - .appendField(new Blockly.FieldDropdown([["1","LED1"], ["2","LED2"], ["3","LED3"], ["4","LED4"], ["5","LED5"], ["6","LED6"], ["allemaal","LEDALL"]]), "LED") + .appendField(new Blockly.FieldDropdown([["1","L0"], ["2","L1"], ["3","L2"], ["4","L3"], ["5","L4"], ["6","L5"], ["allemaal","L6"]]), "LED") .appendField("status:") .appendField(new Blockly.FieldDropdown([["aan","true"], ["uit","false"]]), "LEDSTATE"); this.setPreviousStatement(true, null); @@ -31,6 +31,18 @@ Blockly.Blocks['setup_block'] = { } }; +Blockly.Blocks['write_block'] = { + init: function() { + this.appendDummyInput() + .appendField("writeReg"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(20); + this.setTooltip("schrijft naar shiftregister"); + this.setHelpUrl(""); + } +}; + Blockly.Blocks['effect_block'] = { init: function() { this.appendDummyInput() diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index f26e253888..d50da82300 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -6,16 +6,24 @@ goog.require('Blockly.Blocks'); Blockly.Arduino['ledder_block'] = function(block) { var dropdown_led = block.getFieldValue('LED'); var dropdown_ledstate = block.getFieldValue('LEDSTATE'); - // TODO: Assemble JavaScript into code variable. - var code = "registers[0]=" + dropdown_ledstate + ";\nwritereg();"; - var pinSetupCode = 'pinMode(' + code + ', INPUT);\n'; - Blockly.Arduino.addInclude("includeLed","//includes:"); - Blockly.Arduino.addDeclaration("declairLed","//declarations:"); - Blockly.Arduino.addSetup("setupvrLed","//setups:"); + dropdown_led = dropdown_led.replaceAll("L",""); + console.log(dropdown_led); + if(dropdown_led<6) + { + var code = "registers[" + dropdown_led + "]=" + dropdown_ledstate + ";\nwritereg();\n"; + } + else code = "memset(registers," + dropdown_ledstate + ",sizeof(registers));\nwritereg();\n" return code; }; +Blockly.Arduino['write_block'] = function(block) { + // TODO: Assemble JavaScript into code variable. + var code = 'writereg();\n'; + return code; +}; + + Blockly.Arduino['setup_block'] = function(block) { var testleds = block.getFieldValue('LEDTESTER'); @@ -33,18 +41,12 @@ Blockly.Arduino['setup_block'] = function(block) { while (Index != -1) { Index= functies.indexOf(";"); - console.log(Index); if(Index != -1) { testopslag.push(functies.substring(0,Index+1)) } functies = functies.substring(Index+1); } - console.log(testopslag.length); - for(var counter=0; counter<=(testopslag.length);counter++) - { - console.log(testopslag[counter]); - } var epic = "switch(mode)\n{"; for(var counter=0; counter<(testopslag.length);counter++) @@ -62,7 +64,7 @@ Blockly.Arduino['setup_block'] = function(block) { Blockly.Arduino.addDeclaration("declairVar","int count = 0;\nint mode = 0;\nbool pressed = false;\nboolean registers[6];\nbool sleep = false;\nlong pressTime = 0;\nint ran;\nint prevRan;") - Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n if (count == 1) {\n pressTime = millis();}\n if(count >= 2) {\n count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n else mode++;}\n if (mode > " + testopslag.length + ") mode = 0;\n}"); + Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n if (digitalRead(BUTTON)==HIGH) {\n pressTime = millis();}\n if(digitalRead(BUTTON)==LOW) {\n count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n else mode++;}\n if (mode >= " + testopslag.length + ") mode = 0;\n}"); Blockly.Arduino.addFunction("sleep","void goToSleep() {\n memset(registers,false,sizeof(registers));\n writereg();\n\n set_sleep_mode(SLEEP_MODE_PWR_DOWN);\n power_all_disable (); // power off ADC, Timer 0 and 1, serial interface\n sleep_enable();\n sleep_cpu();\n sleep_disable(); //power everything back on\n power_all_enable();\n sleep=false;\n count=-1;\n mode=0;\n}"); @@ -70,14 +72,17 @@ Blockly.Arduino['setup_block'] = function(block) { if(testleds=="TRUE") { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);\n\nmemset(registers,true,sizeof(registers));\nwritereg();\ndelay(DELAYML);\nmemset(registers,false,sizeof(registers));\nwritereg();\ndelay(DELAYML);") - console.log("ja"); + } else { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") - console.log("no"); + } + Blockly.Arduino.addSetup("setupInterrupt","\nADCSRA = 0;\nPCMSK |= bit(PCINT4);\nGIFR |= bit(PCIF);\nGIMSK |= bit(PCIE);") + + var code = "if (sleep) goToSleep();\n"; code+=epic; Blockly.Arduino.addFunction("declFullPointer",functies); diff --git a/blockly/index.html b/blockly/index.html index b7b76cf6b7..1cd4d0af42 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -1367,7 +1367,7 @@ - + From 2d4d96b141f1ad915553fdf59d65ca5dbf4017e0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 30 Mar 2022 12:00:01 +0200 Subject: [PATCH 09/13] sz --- blockly/blocks/arduino/beta.js | 5 +++-- blockly/blocks/logic.js | 2 +- blockly/blocks/loops.js | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 9e3f51e894..594b5358c2 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -15,8 +15,8 @@ Blockly.Blocks['ledder_block'] = { } }; -Blockly.Blocks['setup_block'] = { - init: function() { +Blockly.Blocks['setup_block'] = { + init: function() { this.appendDummyInput() .appendField("Setup"); this.appendDummyInput() @@ -28,6 +28,7 @@ Blockly.Blocks['setup_block'] = { this.setColour(315); this.setTooltip("This sets up everything"); this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); + } }; diff --git a/blockly/blocks/logic.js b/blockly/blocks/logic.js index a302f305a7..54ae28f630 100644 --- a/blockly/blocks/logic.js +++ b/blockly/blocks/logic.js @@ -80,7 +80,7 @@ Blockly.defineBlocksWithJsonArray([ // BEGIN JSON EXTRACT // If/else block that does not use a mutator. { "type": "controls_ifelse", - "message0": "%{BKY_CONTROLS_IF_MSG_IF} %1", + "message0": "%{BKY_CONTROLS_IF_MSG_IF} %1", "args0": [ { "type": "input_value", diff --git a/blockly/blocks/loops.js b/blockly/blocks/loops.js index 239bc22fdb..5d7a05a405 100644 --- a/blockly/blocks/loops.js +++ b/blockly/blocks/loops.js @@ -164,7 +164,7 @@ Blockly.defineBlocksWithJsonArray([ // BEGIN JSON EXTRACT }, { "type": "input_value", - "name": "LIST", + "name": "LIST", "check": "Array" } ], From 502f26fd442231c03f131b1e2c9e7e272e7e0397 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 31 Mar 2022 14:20:19 +0200 Subject: [PATCH 10/13] ok --- blockly/blocks/arduino/beta.js | 2 + blockly/generators/arduino/beta.js | 65 +++++++++++++++++------------- 2 files changed, 38 insertions(+), 29 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index 594b5358c2..ca5cf68b8c 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -19,6 +19,8 @@ Blockly.Blocks['setup_block'] = { init: function() { this.appendDummyInput() .appendField("Setup"); + this.appendDummyInput() + .appendField(new Blockly.FieldDropdown([["LedUpKidz tester","TEST"], ["LedUpKidz final","FINAL"]]), "ProgSelecter"); this.appendDummyInput() .appendField("Test leds:") .appendField(new Blockly.FieldCheckbox("TRUE"), "LEDTESTER"); diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index d50da82300..b6a3bc0698 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -7,7 +7,6 @@ Blockly.Arduino['ledder_block'] = function(block) { var dropdown_led = block.getFieldValue('LED'); var dropdown_ledstate = block.getFieldValue('LEDSTATE'); dropdown_led = dropdown_led.replaceAll("L",""); - console.log(dropdown_led); if(dropdown_led<6) { var code = "registers[" + dropdown_led + "]=" + dropdown_ledstate + ";\nwritereg();\n"; @@ -28,14 +27,13 @@ Blockly.Arduino['write_block'] = function(block) { Blockly.Arduino['setup_block'] = function(block) { var testleds = block.getFieldValue('LEDTESTER'); var functies = Blockly.Arduino.statementToCode(block, 'FUNCS'); - Blockly.Arduino.addDeclaration("delcairEffPointer","typedef void (*effectPointer) ();"); + var programmer = block.getFieldValue('ProgSelecter'); + var Decl=""; + var Func=""; + var Incl=""; + var Setp=""; + var code=""; - /*functies = functies.replaceAll(";",","); - var lIndex = functies.lastIndexOf(","); - functies = functies.substring(0,lIndex) + "" + functies.substring(lIndex+1); - - functies = "effectPointer callEffect[] = {\n" + functies + "\n};"; - functies = functies.replaceAll("()","");*/ var Index= functies.indexOf(";"); var testopslag =[] while (Index != -1) @@ -55,38 +53,47 @@ Blockly.Arduino['setup_block'] = function(block) { } epic+="\n}\n"; + Incl += ("#include // Sleep Modes\n#include // Power management"); + + if(programmer=="FINAL") + { + Decl += ("#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000\n\n"); + + Func += ("ISR (PCINT0_vect) {\n if (digitalRead(BUTTON)==HIGH) {\n pressTime = millis();}\n if(digitalRead(BUTTON)==LOW) {\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n else mode++;}\n if (mode >= " + testopslag.length + ") mode = 0;\n}\n\n"); + code = "if (sleep) goToSleep();\n"; + Setp += ("\nADCSRA = 0;\nPCMSK |= bit(PCINT4);\nGIFR |= bit(PCIF);\nGIMSK |= bit(PCIE);\n") + Setp += ("pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") + } + if(programmer=="TEST") + { + Decl += "#define DATA 8 //data pin shift reg\n#define RCLK 6 //clock pin shift reg\n#define SRCLK 7 //latch pin shift reg\n#define BUTTON 2\n#define DELAYML 100\n#define LONGPRESS 1000\n\n" + Func += "void buttonIntrupt() {\nif (digitalRead(BUTTON)==LOW) pressTime = millis();\nif(digitalRead(BUTTON)==HIGH) \n{\nif(millis() - pressTime >= LONGPRESS) sleep = true;\nelse mode++;\n}\nif (mode >= 2) mode = 0;\n}\n\n"; + Setp += ("pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT_PULLUP);") + Setp += "\nattachInterrupt(digitalPinToInterrupt(BUTTON), buttonIntrupt, CHANGE);"; + } - Blockly.Arduino.addInclude("includeSetup","#include // Sleep Modes\n#include // Power management"); - - Blockly.Arduino.addDeclaration("declairSetup","#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000"); + Func += ("void goToSleep() {\n memset(registers,false,sizeof(registers));\n writereg();\n\n set_sleep_mode(SLEEP_MODE_PWR_DOWN);\n power_all_disable (); // power off ADC, Timer 0 and 1, serial interface\n sleep_enable();\n sleep_cpu();\n sleep_disable(); //power everything back on\n power_all_enable();\n sleep=false;\n mode=0;\n}\n\n"); - Blockly.Arduino.addDeclaration("declairVar","int count = 0;\nint mode = 0;\nbool pressed = false;\nboolean registers[6];\nbool sleep = false;\nlong pressTime = 0;\nint ran;\nint prevRan;") - Blockly.Arduino.addFunction("ISR","ISR (PCINT0_vect) {\n count++;\n if (digitalRead(BUTTON)==HIGH) {\n pressTime = millis();}\n if(digitalRead(BUTTON)==LOW) {\n count = 0;\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n else mode++;}\n if (mode >= " + testopslag.length + ") mode = 0;\n}"); - - Blockly.Arduino.addFunction("sleep","void goToSleep() {\n memset(registers,false,sizeof(registers));\n writereg();\n\n set_sleep_mode(SLEEP_MODE_PWR_DOWN);\n power_all_disable (); // power off ADC, Timer 0 and 1, serial interface\n sleep_enable();\n sleep_cpu();\n sleep_disable(); //power everything back on\n power_all_enable();\n sleep=false;\n count=-1;\n mode=0;\n}"); - - Blockly.Arduino.addFunction("writereg","void writereg() {\n digitalWrite(SRCLK,LOW);\n\n for(int i=sizeof(registers)-1;i>=0;i--)\n {\n digitalWrite(RCLK,LOW);\n digitalWrite(DATA,registers[i]);\n digitalWrite(RCLK,HIGH);\n }\n\n digitalWrite(SRCLK,HIGH);\n}"); + Decl += ("int mode = 0;\nboolean registers[6];\nbool sleep = false;\nlong pressTime = 0;") + + Func += ("void writereg() {\n digitalWrite(SRCLK,LOW);\n\n for(int i=sizeof(registers)-1;i>=0;i--)\n {\n digitalWrite(RCLK,LOW);\n digitalWrite(DATA,registers[i]);\n digitalWrite(RCLK,HIGH);\n }\n\n digitalWrite(SRCLK,HIGH);\n}"); if(testleds=="TRUE") - { Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);\n\nmemset(registers,true,sizeof(registers));\nwritereg();\ndelay(DELAYML);\nmemset(registers,false,sizeof(registers));\nwritereg();\ndelay(DELAYML);") - + { Setp += ("\nmemset(registers,true,sizeof(registers));\nwritereg();\ndelay(DELAYML);\nmemset(registers,false,sizeof(registers));\nwritereg();\ndelay(DELAYML);") } - else - { - Blockly.Arduino.addSetup("setupSetup","pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") - - } - - Blockly.Arduino.addSetup("setupInterrupt","\nADCSRA = 0;\nPCMSK |= bit(PCINT4);\nGIFR |= bit(PCIF);\nGIMSK |= bit(PCIE);") - var code = "if (sleep) goToSleep();\n"; code+=epic; - Blockly.Arduino.addFunction("declFullPointer",functies); - return code; + Blockly.Arduino.addInclude("setupInclude",Incl); + Blockly.Arduino.addDeclaration("setupDecl",Decl); + Blockly.Arduino.addFunction("Setup",Func); + Blockly.Arduino.addSetup("setupSetup",Setp); + + + return code + "\nif(sleep) goToSleep();"; }; From 7ce76ec7b47068ac71a9cd0ba58c55f410dc0392 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 31 Mar 2022 15:50:05 +0200 Subject: [PATCH 11/13] zzzz --- blockly/generators/arduino/beta.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index b6a3bc0698..0a772cba1c 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -67,7 +67,7 @@ Blockly.Arduino['setup_block'] = function(block) { } if(programmer=="TEST") { - Decl += "#define DATA 8 //data pin shift reg\n#define RCLK 6 //clock pin shift reg\n#define SRCLK 7 //latch pin shift reg\n#define BUTTON 2\n#define DELAYML 100\n#define LONGPRESS 1000\n\n" + Decl += "#define DATA 7 //data pin shift reg\n#define RCLK 5 //clock pin shift reg\n#define SRCLK 6 //latch pin shift reg\n#define BUTTON 2\n#define DELAYML 100\n#define LONGPRESS 1000\n\n" Func += "void buttonIntrupt() {\nif (digitalRead(BUTTON)==LOW) pressTime = millis();\nif(digitalRead(BUTTON)==HIGH) \n{\nif(millis() - pressTime >= LONGPRESS) sleep = true;\nelse mode++;\n}\nif (mode >= 2) mode = 0;\n}\n\n"; Setp += ("pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT_PULLUP);") Setp += "\nattachInterrupt(digitalPinToInterrupt(BUTTON), buttonIntrupt, CHANGE);"; From bd8f414da9104e1021c46928eb3da9d689a73ba4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 1 Apr 2022 10:34:03 +0200 Subject: [PATCH 12/13] Final dots on the i --- blockly/blocks/arduino/beta.js | 39 ++++++++++++++++++++++-------- blockly/generators/arduino/beta.js | 18 +++++++++++++- blockly/index.html | 2 ++ 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index ca5cf68b8c..b94676d7f6 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -1,34 +1,53 @@ Blockly.Blocks['ledder_block'] = { init: function() { this.appendDummyInput() - .appendField("Led Status"); - this.appendDummyInput() - .appendField("LED") + .appendField("Zet LedUp v2 LED") .appendField(new Blockly.FieldDropdown([["1","L0"], ["2","L1"], ["3","L2"], ["4","L3"], ["5","L4"], ["6","L5"], ["allemaal","L6"]]), "LED") - .appendField("status:") - .appendField(new Blockly.FieldDropdown([["aan","true"], ["uit","false"]]), "LEDSTATE"); + .appendField("aan? Waar/Onwaar:") + .appendField(new Blockly.FieldDropdown([["Waar","Onwaar"], ["uit","false"]]), "LEDSTATE"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); - this.setColour(165); this.setTooltip(""); this.setHelpUrl(""); + this.setColour(Blockly.Blocks.light.HUE); } }; +Blockly.Blocks['ledder_block_variabele'] = { + init: function() { + this.appendDummyInput() + .appendField("Zet LedUp v2 LED"); + this.appendValueInput("led") + .setCheck("Number"); + this.appendValueInput("status") + .setCheck("Boolean") + .appendField("aan? True/False:"); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(Blockly.Blocks.light.HUE); + this.setTooltip("Geef als LED nummer een getal van 0 tot 5 "); + this.setHelpUrl(""); + } +}; + Blockly.Blocks['setup_block'] = { init: function() { this.appendDummyInput() - .appendField("Setup"); + .appendField("LedUpKidz v2"); this.appendDummyInput() - .appendField(new Blockly.FieldDropdown([["LedUpKidz tester","TEST"], ["LedUpKidz final","FINAL"]]), "ProgSelecter"); + .appendField("Type:") + .appendField(new Blockly.FieldDropdown([["tester","TEST"], ["final","FINAL"]]), "ProgSelecter"); this.appendDummyInput() .appendField("Test leds:") .appendField(new Blockly.FieldCheckbox("TRUE"), "LEDTESTER"); this.appendStatementInput("FUNCS") .setCheck("function") - .appendField("Functions:"); + .appendField("Acties:"); + this.appendDummyInput() + .appendField("Druk knop voor volgende actie"); this.setColour(315); - this.setTooltip("This sets up everything"); + this.setTooltip("Dit is de setup blok, selecteer welk type chip je gebruikt. Of je de ledjes wilt testen als je het programma opstart en de acties/functies die je wilt uitvoeren. Per druk op de drukknop ga je naar de volgende actie, hou de knop ingedrukt voor slaapmodus, druk nog eens voor wakker te maken."); this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); } diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index 0a772cba1c..8301c47a6c 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -7,14 +7,30 @@ Blockly.Arduino['ledder_block'] = function(block) { var dropdown_led = block.getFieldValue('LED'); var dropdown_ledstate = block.getFieldValue('LEDSTATE'); dropdown_led = dropdown_led.replaceAll("L",""); + if(dropdown_ledstate="Waar") dropdown_ledstate="true"; + else dropdown_ledstate="false;" + var code; if(dropdown_led<6) { - var code = "registers[" + dropdown_led + "]=" + dropdown_ledstate + ";\nwritereg();\n"; + code = "registers[" + dropdown_led + "]=" + dropdown_ledstate + ";\nwritereg();\n"; } else code = "memset(registers," + dropdown_ledstate + ",sizeof(registers));\nwritereg();\n" return code; }; +Blockly.Arduino['ledder_block_variabele'] = function(block) { + var value_led = Blockly.Arduino.valueToCode(block, 'led', Blockly.Arduino.ORDER_ATOMIC || '0'); + var value_status = Blockly.Arduino.valueToCode(block, 'status', Blockly.Arduino.ORDER_ATOMIC || true); + // TODO: Assemble JavaScript into code variable. + var code; + if(value_led<6) + { + code = "registers[" + value_led + "]=" + value_status + ";\nwritereg();\n"; + } + else code = "memset(registers," + value_status + ",sizeof(registers));\nwritereg();\n" + return code; +}; + Blockly.Arduino['write_block'] = function(block) { // TODO: Assemble JavaScript into code variable. diff --git a/blockly/index.html b/blockly/index.html index 1cd4d0af42..fcecaaff4d 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -1363,6 +1363,8 @@ + + From b57f80fecbf860ab488571d41a81f791778d8ff5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 1 Apr 2022 11:12:45 +0200 Subject: [PATCH 13/13] fixing problems --- blockly/blocks/arduino/beta.js | 25 +++---------------------- blockly/generators/arduino/beta.js | 18 +----------------- blockly/index.html | 2 -- 3 files changed, 4 insertions(+), 41 deletions(-) diff --git a/blockly/blocks/arduino/beta.js b/blockly/blocks/arduino/beta.js index b94676d7f6..93b7eb01b5 100644 --- a/blockly/blocks/arduino/beta.js +++ b/blockly/blocks/arduino/beta.js @@ -4,7 +4,7 @@ Blockly.Blocks['ledder_block'] = { .appendField("Zet LedUp v2 LED") .appendField(new Blockly.FieldDropdown([["1","L0"], ["2","L1"], ["3","L2"], ["4","L3"], ["5","L4"], ["6","L5"], ["allemaal","L6"]]), "LED") .appendField("aan? Waar/Onwaar:") - .appendField(new Blockly.FieldDropdown([["Waar","Onwaar"], ["uit","false"]]), "LEDSTATE"); + .appendField(new Blockly.FieldDropdown([["Waar","true"], ["Onwaar","false"]]), "LEDSTATE"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(""); @@ -43,9 +43,9 @@ Blockly.Blocks['setup_block'] = { .appendField(new Blockly.FieldCheckbox("TRUE"), "LEDTESTER"); this.appendStatementInput("FUNCS") .setCheck("function") - .appendField("Acties:"); + .appendField("Effecten:"); this.appendDummyInput() - .appendField("Druk knop voor volgende actie"); + .appendField("Druk knop voor volgende effect"); this.setColour(315); this.setTooltip("Dit is de setup blok, selecteer welk type chip je gebruikt. Of je de ledjes wilt testen als je het programma opstart en de acties/functies die je wilt uitvoeren. Per druk op de drukknop ga je naar de volgende actie, hou de knop ingedrukt voor slaapmodus, druk nog eens voor wakker te maken."); this.setHelpUrl("https://www.youtube.com/watch?v=xvFZjo5PgG0"); @@ -64,22 +64,3 @@ Blockly.Blocks['write_block'] = { this.setHelpUrl(""); } }; - -Blockly.Blocks['effect_block'] = { - init: function() { - this.appendDummyInput() - .setAlign(Blockly.ALIGN_CENTRE) - .appendField("Effectenblok"); - this.appendDummyInput() - .appendField("Effect:") - .appendField(new Blockly.FieldDropdown([["Draaien","ROTATE"], ["Rond","ROUND"], ["Flikkeren","BLINK"], ["Willekeurig aan","RANDOM_ON"], ["Willekeurig uit","RANDOM_OF"]]), "EFFECT"); - this.appendDummyInput() - .appendField("Snelheid:") - .appendField(new Blockly.FieldDropdown([["Snel","FAST"], ["Medium","MEDIUM"], ["Traag","SLOW"]]), "SPEED"); - this.setPreviousStatement(true, null); - this.setNextStatement(true, null); - this.setColour(210); - this.setTooltip("keuze van voorgeprogrammeerde effecten"); - this.setHelpUrl(""); - } -}; \ No newline at end of file diff --git a/blockly/generators/arduino/beta.js b/blockly/generators/arduino/beta.js index 8301c47a6c..3f1451e382 100644 --- a/blockly/generators/arduino/beta.js +++ b/blockly/generators/arduino/beta.js @@ -7,8 +7,6 @@ Blockly.Arduino['ledder_block'] = function(block) { var dropdown_led = block.getFieldValue('LED'); var dropdown_ledstate = block.getFieldValue('LEDSTATE'); dropdown_led = dropdown_led.replaceAll("L",""); - if(dropdown_ledstate="Waar") dropdown_ledstate="true"; - else dropdown_ledstate="false;" var code; if(dropdown_led<6) { @@ -23,11 +21,7 @@ Blockly.Arduino['ledder_block_variabele'] = function(block) { var value_status = Blockly.Arduino.valueToCode(block, 'status', Blockly.Arduino.ORDER_ATOMIC || true); // TODO: Assemble JavaScript into code variable. var code; - if(value_led<6) - { code = "registers[" + value_led + "]=" + value_status + ";\nwritereg();\n"; - } - else code = "memset(registers," + value_status + ",sizeof(registers));\nwritereg();\n" return code; }; @@ -77,7 +71,6 @@ Blockly.Arduino['setup_block'] = function(block) { Decl += ("#define DATA 0 //data pin shift reg\n#define RCLK 1 //latch pin shift reg\n#define SRCLK 2 //clock pin shift reg\n#define BUTTON 4\n#define DELAYML 100\n#define LONGPRESS 1000\n\n"); Func += ("ISR (PCINT0_vect) {\n if (digitalRead(BUTTON)==HIGH) {\n pressTime = millis();}\n if(digitalRead(BUTTON)==LOW) {\n if(millis() - pressTime >= LONGPRESS) sleep = true;\n else mode++;}\n if (mode >= " + testopslag.length + ") mode = 0;\n}\n\n"); - code = "if (sleep) goToSleep();\n"; Setp += ("\nADCSRA = 0;\nPCMSK |= bit(PCINT4);\nGIFR |= bit(PCIF);\nGIMSK |= bit(PCIE);\n") Setp += ("pinMode(DATA,OUTPUT);\npinMode(RCLK,OUTPUT);\npinMode(SRCLK,OUTPUT);\npinMode(BUTTON,INPUT);") } @@ -110,13 +103,4 @@ Blockly.Arduino['setup_block'] = function(block) { return code + "\nif(sleep) goToSleep();"; -}; - - -Blockly.Arduino['effect_block'] = function(block) { - var dropdown_effect = block.getFieldValue('EFFECT'); - var dropdown_speed = block.getFieldValue('SPEED'); - // TODO: Assemble JavaScript into code variable. - var code = '...;\n'; - return code; -}; +}; \ No newline at end of file diff --git a/blockly/index.html b/blockly/index.html index fcecaaff4d..50f227874a 100644 --- a/blockly/index.html +++ b/blockly/index.html @@ -1367,8 +1367,6 @@ - -