[update] renamed gpio local module directory

This commit is contained in:
ocogeclub 2022-05-24 22:11:10 +09:00
parent 2442b8a135
commit 60198b1e98
19 changed files with 191 additions and 140 deletions

View File

@ -1,7 +1,7 @@
'use strict'; 'use strict';
const err_msg = 'AMG8833 is already opened. Please close old connection to use new one.'; const err_msg = 'AMG8833 is already opened. Please close old connection to use new one.';
const pig = require('@ocogeclub/pigpio'); const pig = require('@ocoge.club/pigpio');
let pi = -1; let pi = -1;
let i2c_hand = -1; let i2c_hand = -1;

View File

@ -59,7 +59,7 @@ Blockly.Blocks['ugj_grideye_init'] = {
Blockly.JavaScript['ugj_grideye_init'] = function (block) { Blockly.JavaScript['ugj_grideye_init'] = function (block) {
var dropdown_addr = block.getFieldValue('addr'); var dropdown_addr = block.getFieldValue('addr');
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(
'require_gpio', [`const _pi = require('@ocogeclub/` + elutil.gpio_backend + `');`] 'require_gpio', [`const _pi = require('@ocoge.club/` + elutil.gpio_backend + `');`]
); );
let modpath = elutil.path.join(elutil.blocks_sensors_dir, 'amg8833', 'AMG8833x.js'); let modpath = elutil.path.join(elutil.blocks_sensors_dir, 'amg8833', 'AMG8833x.js');
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(

View File

@ -42,7 +42,7 @@ this.REGISTER_TEMP_DATA = 0xFA;
this.REGISTER_HUMIDITY_DATA = 0xFD; this.REGISTER_HUMIDITY_DATA = 0xFD;
exports.init = async (options) => { exports.init = async (options) => {
this.pig = require('@ocogeclub/pigpio'); this.pig = require('@ocoge.club/pigpio');
this.pi = await this.pig._pigpio_start('', ''); this.pi = await this.pig._pigpio_start('', '');
this.i2cBusNo = (options && options.hasOwnProperty('i2cBusNo')) ? options.i2cBusNo : 1; this.i2cBusNo = (options && options.hasOwnProperty('i2cBusNo')) ? options.i2cBusNo : 1;

View File

@ -18,7 +18,7 @@ Blockly.Blocks['ugj_bme280'] = {
Blockly.JavaScript['ugj_bme280'] = function (block) { Blockly.JavaScript['ugj_bme280'] = function (block) {
var dropdown_addr = block.getFieldValue('addr'); var dropdown_addr = block.getFieldValue('addr');
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(
'require_gpio', [`const _pi = require('@ocogeclub/` + elutil.gpio_backend + `');`] 'require_gpio', [`const _pi = require('@ocoge.club/` + elutil.gpio_backend + `');`]
); );
let modpath = elutil.path.join(elutil.blocks_sensors_dir, 'bme280', 'BME280x.js'); let modpath = elutil.path.join(elutil.blocks_sensors_dir, 'bme280', 'BME280x.js');
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(

View File

@ -322,7 +322,7 @@ exports.init = async (i2c_bus, i2c_addr, wael = null) => {
await exports.stop(); await exports.stop();
}); });
} }
pig = require('@ocogeclub/pigpio'); pig = require('@ocoge.club/pigpio');
if (pi >= 0) { throw new Error(err_msg); return; } if (pi >= 0) { throw new Error(err_msg); return; }
pi = await pig._pigpio_start('', ''); pi = await pig._pigpio_start('', '');
if (i2c_hand >= 0) { throw new Error(err_msg); return; } if (i2c_hand >= 0) { throw new Error(err_msg); return; }

View File

@ -33,7 +33,7 @@ Blockly.Blocks['ugj_gesture_init'] = {
Blockly.JavaScript['ugj_gesture_init'] = function (block) { Blockly.JavaScript['ugj_gesture_init'] = function (block) {
var value_i2c_addr = Blockly.JavaScript.valueToCode(block, 'i2c_addr', Blockly.JavaScript.ORDER_ATOMIC); var value_i2c_addr = Blockly.JavaScript.valueToCode(block, 'i2c_addr', Blockly.JavaScript.ORDER_ATOMIC);
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(
'require_gpio', [`const _pi = require('@ocogeclub/` + elutil.gpio_backend + `');`] 'require_gpio', [`const _pi = require('@ocoge.club/` + elutil.gpio_backend + `');`]
); );
let modpath = elutil.path.join(elutil.blocks_sensors_dir, 'paj7620', 'PAJ7620x.js'); let modpath = elutil.path.join(elutil.blocks_sensors_dir, 'paj7620', 'PAJ7620x.js');
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(

View File

@ -242,7 +242,7 @@ class elUtil {
// GPIO 関連リロードでGPIOをロックしたままハンドルを失うのを防ぐ // GPIO 関連リロードでGPIOをロックしたままハンドルを失うのを防ぐ
cleanupGPIO() { cleanupGPIO() {
// this.ugjEmitter.emit('device_stop');//デバイス停止イベント // this.ugjEmitter.emit('device_stop');//デバイス停止イベント
require('@ocogeclub/' + this.gpio_backend).close_all_handle(); require('@ocoge.club/' + this.gpio_backend).close_all_handle();
} }
// 設定(保存ファイルパスと未保存フラグ)をローカルストレージに保存 // 設定(保存ファイルパスと未保存フラグ)をローカルストレージに保存
@ -381,7 +381,7 @@ if (!is_el) {
case 'nodemailer': case 'nodemailer':
block = 'メール送信'; block = 'メール送信';
break; break;
case '@ocogeclub/pigpio': case '@ocoge.club/pigpio':
block = 'GPIO'; block = 'GPIO';
break; break;
case 'fs': case 'fs':

View File

@ -1,5 +1,5 @@
{ {
"name": "@ocogeclub/lgpio", "name": "@ocoge.club/lgpio",
"version": "0.0.1", "version": "0.0.1",
"main": "index.js", "main": "index.js",
"private": true, "private": true,

View File

@ -1,5 +1,5 @@
{ {
"name": "@ocogeclub/pigpio", "name": "@ocoge.club/pigpio",
"version": "0.0.1", "version": "0.0.1",
"main": "index.js", "main": "index.js",
"private": true, "private": true,

View File

@ -14,8 +14,10 @@ function createWindow() {
win = new BrowserWindow({ win = new BrowserWindow({
/** Icon */ /** Icon */
icon: path.join(__dirname, "icon.png"), icon: path.join(__dirname, "icon.png"),
width: 1280, width: 1600,
height: 940, height: 900,
// width: 1280,
// height: 940,
webPreferences: { webPreferences: {
// preload: path.join(__dirname, 'preload.js'), // preload: path.join(__dirname, 'preload.js'),
nodeIntegration: true, nodeIntegration: true,

283
package-lock.json generated
View File

@ -9,15 +9,15 @@
"version": "0.1.6", "version": "0.1.6",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@ocogeclub/pigpio": "file:local_modules/@ocogeclub/pigpio", "@ocoge.club/pigpio": "file:local_modules/@ocoge.club/pigpio",
"@tensorflow-models/blazeface": "^0.0.7", "@tensorflow-models/blazeface": "^0.0.7",
"@tensorflow-models/knn-classifier": "^1.2.4", "@tensorflow-models/knn-classifier": "^1.2.4",
"@tensorflow-models/mobilenet": "^2.1.0", "@tensorflow-models/mobilenet": "^2.1.0",
"@tensorflow/tfjs": "^3.15.0", "@tensorflow/tfjs": "^3.17.0",
"@tensorflow/tfjs-backend-wasm": "^3.15.0", "@tensorflow/tfjs-backend-wasm": "^3.17.0",
"axios": "^0.26.1", "axios": "^0.27.2",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.0",
"nodemailer": "^6.7.3", "nodemailer": "^6.7.5",
"tensorset": "^1.2.9" "tensorset": "^1.2.9"
}, },
"devDependencies": { "devDependencies": {
@ -26,10 +26,24 @@
"@electron-forge/maker-rpm": "^6.0.0-beta.63", "@electron-forge/maker-rpm": "^6.0.0-beta.63",
"@electron-forge/maker-squirrel": "6.0.0-beta.33", "@electron-forge/maker-squirrel": "6.0.0-beta.33",
"@electron-forge/maker-zip": "^6.0.0-beta.63", "@electron-forge/maker-zip": "^6.0.0-beta.63",
"electron": "^18.0.4", "electron": "^18.2.3",
"electron-rebuild": "^3.2.7" "electron-rebuild": "^3.2.7"
} }
}, },
"local_modules/@ocoge.club/pigpio": {
"version": "0.0.1",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"bindings": "^1.5.0",
"node-addon-api": "^1.7.1"
}
},
"local_modules/@ocoge.club/pigpio/node_modules/node-addon-api": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
"integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg=="
},
"local_modules/@ocogeclub/amg8833": { "local_modules/@ocogeclub/amg8833": {
"version": "0.0.1", "version": "0.0.1",
"extraneous": true, "extraneous": true,
@ -56,17 +70,13 @@
}, },
"local_modules/@ocogeclub/pigpio": { "local_modules/@ocogeclub/pigpio": {
"version": "0.0.1", "version": "0.0.1",
"extraneous": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"bindings": "^1.5.0", "bindings": "^1.5.0",
"node-addon-api": "^1.7.1" "node-addon-api": "^1.7.1"
} }
}, },
"local_modules/@ocogeclub/pigpio/node_modules/node-addon-api": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
"integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg=="
},
"node_modules/@electron-forge/async-ora": { "node_modules/@electron-forge/async-ora": {
"version": "6.0.0-beta.63", "version": "6.0.0-beta.63",
"resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.63.tgz", "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.63.tgz",
@ -1420,8 +1430,8 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@ocogeclub/pigpio": { "node_modules/@ocoge.club/pigpio": {
"resolved": "local_modules/@ocogeclub/pigpio", "resolved": "local_modules/@ocoge.club/pigpio",
"link": true "link": true
}, },
"node_modules/@sindresorhus/is": { "node_modules/@sindresorhus/is": {
@ -1473,16 +1483,16 @@
} }
}, },
"node_modules/@tensorflow/tfjs": { "node_modules/@tensorflow/tfjs": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.17.0.tgz",
"integrity": "sha512-sXcgD5hJsFsKlsBqSQYL21i27PtZ2V4fJLpKhGHXbNxvWq7B83UJuAzhc05x9hU6Ectnq4/41cMdTN/D+pe75Q==", "integrity": "sha512-mLN0z5fOdjzikQbYeZQALQYjSFt7OYTrTl+Ky8nkMv0bvb69szFVS/655ir4zkTYL4F/YmU140w8Ml+DVHtNkQ==",
"dependencies": { "dependencies": {
"@tensorflow/tfjs-backend-cpu": "3.15.0", "@tensorflow/tfjs-backend-cpu": "3.17.0",
"@tensorflow/tfjs-backend-webgl": "3.15.0", "@tensorflow/tfjs-backend-webgl": "3.17.0",
"@tensorflow/tfjs-converter": "3.15.0", "@tensorflow/tfjs-converter": "3.17.0",
"@tensorflow/tfjs-core": "3.15.0", "@tensorflow/tfjs-core": "3.17.0",
"@tensorflow/tfjs-data": "3.15.0", "@tensorflow/tfjs-data": "3.17.0",
"@tensorflow/tfjs-layers": "3.15.0", "@tensorflow/tfjs-layers": "3.17.0",
"argparse": "^1.0.10", "argparse": "^1.0.10",
"chalk": "^4.1.0", "chalk": "^4.1.0",
"core-js": "3", "core-js": "3",
@ -1494,9 +1504,9 @@
} }
}, },
"node_modules/@tensorflow/tfjs-backend-cpu": { "node_modules/@tensorflow/tfjs-backend-cpu": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.17.0.tgz",
"integrity": "sha512-f+GREHSiVkVIpFAwkjB7YWcZefqQvCKQhrNjZzm1WX4VdnWlo0b1lTI+gPIIYNk4LEFMBNJbfqy/N1xNS/SOLQ==", "integrity": "sha512-alfmaPLnsa/DvkhnPoX/r9ZVDcSuRZUJEElaG3o84JrCBOqzq2jcFwaT9KxchN8rDLmKjJMLQkcQx/bSp/Oz4w==",
"dependencies": { "dependencies": {
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"seedrandom": "2.4.3" "seedrandom": "2.4.3"
@ -1505,27 +1515,27 @@
"yarn": ">= 1.3.2" "yarn": ">= 1.3.2"
}, },
"peerDependencies": { "peerDependencies": {
"@tensorflow/tfjs-core": "3.15.0" "@tensorflow/tfjs-core": "3.17.0"
} }
}, },
"node_modules/@tensorflow/tfjs-backend-wasm": { "node_modules/@tensorflow/tfjs-backend-wasm": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.17.0.tgz",
"integrity": "sha512-Oohpk0hOvMPabBqe3NyTS7/oZy2dcsALMGlsaz7t5bJNxEVOambHsrcEtD5qbmQcuVBITArutF2myO8cV1QeHA==", "integrity": "sha512-hfh4VpYr0C1Qu1uuO2SQH4WuX62OdDkg2e5/rFFgyjMg/avf94udgXtvkD2f4VUMwsoiZk1p40+rZCCnoCBB2A==",
"dependencies": { "dependencies": {
"@tensorflow/tfjs-backend-cpu": "3.15.0", "@tensorflow/tfjs-backend-cpu": "3.17.0",
"@types/emscripten": "~0.0.34" "@types/emscripten": "~0.0.34"
}, },
"peerDependencies": { "peerDependencies": {
"@tensorflow/tfjs-core": "3.15.0" "@tensorflow/tfjs-core": "3.17.0"
} }
}, },
"node_modules/@tensorflow/tfjs-backend-webgl": { "node_modules/@tensorflow/tfjs-backend-webgl": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.17.0.tgz",
"integrity": "sha512-QOxbTABFbP+m+UmCVB8VQlmZbsXiJOP8QRkRRZHhGWNKjtT3eWi+ROS1tbloS7/Q20SEmNZXCvcsjv0TBgFQPw==", "integrity": "sha512-OC/IvU4TNx+B0J51kzCvSPWrC5qXtjY2aAsUvqXb9edhSMwrhC0sSS64t+KuIuPbNiAlVqPvlWZDz3WKPiIPdA==",
"dependencies": { "dependencies": {
"@tensorflow/tfjs-backend-cpu": "3.15.0", "@tensorflow/tfjs-backend-cpu": "3.17.0",
"@types/offscreencanvas": "~2019.3.0", "@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30", "@types/webgl-ext": "0.0.30",
@ -1536,26 +1546,27 @@
"yarn": ">= 1.3.2" "yarn": ">= 1.3.2"
}, },
"peerDependencies": { "peerDependencies": {
"@tensorflow/tfjs-core": "3.15.0" "@tensorflow/tfjs-core": "3.17.0"
} }
}, },
"node_modules/@tensorflow/tfjs-converter": { "node_modules/@tensorflow/tfjs-converter": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.17.0.tgz",
"integrity": "sha512-FBk3qGvNfS1xCw+ZLXCiD72vpR/rZaShFOY7HmLtTTfWlebWowrjaNqjvO8SKc7UGtRR/GJ7Bf3TgKyr9D3g0Q==", "integrity": "sha512-AlnIg7aKtfiFq7/ZrWDsVgaw82Uig2KLJY2MOAwadpI4OqhKwwArFHVbVBiOhAEHmp6obwwYaGtItmSM+dzlUQ==",
"peerDependencies": { "peerDependencies": {
"@tensorflow/tfjs-core": "3.15.0" "@tensorflow/tfjs-core": "3.17.0"
} }
}, },
"node_modules/@tensorflow/tfjs-core": { "node_modules/@tensorflow/tfjs-core": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.17.0.tgz",
"integrity": "sha512-X1XGr8rewm/n0RDMnaLRcRYsTHlQCqQUR5DCtjUf4TuII7kq/pkZ9xCKPPfS1qUd5jLy663h8j5cAyjJNUt/hw==", "integrity": "sha512-PMqEDysVy3WsSK4pU+UaoINRjps1RTF2CPvS1sWgOJqc/rUz8mSMibMosti0Is6DHGw7UiAq53y9VMuzQRVJqA==",
"dependencies": { "dependencies": {
"@types/long": "^4.0.1", "@types/long": "^4.0.1",
"@types/offscreencanvas": "~2019.3.0", "@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30", "@types/webgl-ext": "0.0.30",
"@webgpu/types": "^0.1.16",
"long": "4.0.0", "long": "4.0.0",
"node-fetch": "~2.6.1", "node-fetch": "~2.6.1",
"seedrandom": "2.4.3" "seedrandom": "2.4.3"
@ -1565,24 +1576,24 @@
} }
}, },
"node_modules/@tensorflow/tfjs-data": { "node_modules/@tensorflow/tfjs-data": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.17.0.tgz",
"integrity": "sha512-x8JOhpIsqN9jIWZqEmt2vLYf49lIhekI6nyw/fgAKjtx+I4qKw2gY7/r11TewZRxyD2o7SOrSoNIZT8nQJ5YfQ==", "integrity": "sha512-RgsdrGzWaQtxlRnk7Yiz8ebxbFfgNLITaFri6WxSPNZFI5ajLtw/daxp04ij9l1MIUJeJYgaKeMVXFvJwy8TAQ==",
"dependencies": { "dependencies": {
"@types/node-fetch": "^2.1.2", "@types/node-fetch": "^2.1.2",
"node-fetch": "~2.6.1" "node-fetch": "~2.6.1"
}, },
"peerDependencies": { "peerDependencies": {
"@tensorflow/tfjs-core": "3.15.0", "@tensorflow/tfjs-core": "3.17.0",
"seedrandom": "~2.4.3" "seedrandom": "~2.4.3"
} }
}, },
"node_modules/@tensorflow/tfjs-layers": { "node_modules/@tensorflow/tfjs-layers": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.17.0.tgz",
"integrity": "sha512-6MWTrRd+kK2rto/HXX0Gg9yGIkT0twvuzTHcxFHUJVlW3JYulRCp185h3AcBytyzqQeae5eA73aOovm3lBvN+A==", "integrity": "sha512-SXx6k1va/RfiCmwaglbaN/eQzZ33xhCUZgk5zpRJkxk3Gx9xXRHb05HszM0BH+cokwmueWcJQpRjcnvjdKxtUg==",
"peerDependencies": { "peerDependencies": {
"@tensorflow/tfjs-core": "3.15.0" "@tensorflow/tfjs-core": "3.17.0"
} }
}, },
"node_modules/@tootallnate/once": { "node_modules/@tootallnate/once": {
@ -1657,9 +1668,9 @@
} }
}, },
"node_modules/@types/long": { "node_modules/@types/long": {
"version": "4.0.1", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
}, },
"node_modules/@types/minimatch": { "node_modules/@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
@ -1721,6 +1732,11 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@webgpu/types": {
"version": "0.1.16",
"resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.16.tgz",
"integrity": "sha512-9E61voMP4+Rze02jlTXud++Htpjyyk8vw5Hyw9FGRrmhHQg2GqbuOfwf5Klrb8vTxc2XWI3EfO7RUHMpxTj26A=="
},
"node_modules/abbrev": { "node_modules/abbrev": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@ -1956,11 +1972,25 @@
"dev": true "dev": true
}, },
"node_modules/axios": { "node_modules/axios": {
"version": "0.26.1", "version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": { "dependencies": {
"follow-redirects": "^1.14.8" "follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"node_modules/axios/node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
} }
}, },
"node_modules/balanced-match": { "node_modules/balanced-match": {
@ -2826,9 +2856,9 @@
} }
}, },
"node_modules/electron": { "node_modules/electron": {
"version": "18.0.4", "version": "18.2.3",
"resolved": "https://registry.npmjs.org/electron/-/electron-18.0.4.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-18.2.3.tgz",
"integrity": "sha512-xfsozNpFr3WzeM1EFlw2qqiqXbCrgQNBJJMlcC4/DUYVpkF8364SZenX7FFFA42NmwXiOEahkvvho/u7UrAcGg==", "integrity": "sha512-DJWX03hCRKTscsfXxmW4gmgFuseop+g+m4ml7NfOMfankD8uYyr2Xyi3Ui02inL9qZOlbLMeLVCu6jKCKs8p/w==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
@ -4103,9 +4133,9 @@
} }
}, },
"node_modules/follow-redirects": { "node_modules/follow-redirects": {
"version": "1.14.8", "version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"funding": [ "funding": [
{ {
"type": "individual", "type": "individual",
@ -5741,9 +5771,9 @@
} }
}, },
"node_modules/nodemailer": { "node_modules/nodemailer": {
"version": "6.7.3", "version": "6.7.5",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.5.tgz",
"integrity": "sha512-KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==", "integrity": "sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==",
"engines": { "engines": {
"node": ">=6.0.0" "node": ">=6.0.0"
} }
@ -9168,8 +9198,8 @@
} }
} }
}, },
"@ocogeclub/pigpio": { "@ocoge.club/pigpio": {
"version": "file:local_modules/@ocogeclub/pigpio", "version": "file:local_modules/@ocoge.club/pigpio",
"requires": { "requires": {
"bindings": "^1.5.0", "bindings": "^1.5.0",
"node-addon-api": "^1.7.1" "node-addon-api": "^1.7.1"
@ -9213,16 +9243,16 @@
"integrity": "sha512-JjqT9ijHDFA2FEpUGWg7H2lQ0GrMuE2VmiCRBYmUew6b4JKht8LXDjG5HxZh95YH6c/25sZWTpGeHbquloH+hw==" "integrity": "sha512-JjqT9ijHDFA2FEpUGWg7H2lQ0GrMuE2VmiCRBYmUew6b4JKht8LXDjG5HxZh95YH6c/25sZWTpGeHbquloH+hw=="
}, },
"@tensorflow/tfjs": { "@tensorflow/tfjs": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.17.0.tgz",
"integrity": "sha512-sXcgD5hJsFsKlsBqSQYL21i27PtZ2V4fJLpKhGHXbNxvWq7B83UJuAzhc05x9hU6Ectnq4/41cMdTN/D+pe75Q==", "integrity": "sha512-mLN0z5fOdjzikQbYeZQALQYjSFt7OYTrTl+Ky8nkMv0bvb69szFVS/655ir4zkTYL4F/YmU140w8Ml+DVHtNkQ==",
"requires": { "requires": {
"@tensorflow/tfjs-backend-cpu": "3.15.0", "@tensorflow/tfjs-backend-cpu": "3.17.0",
"@tensorflow/tfjs-backend-webgl": "3.15.0", "@tensorflow/tfjs-backend-webgl": "3.17.0",
"@tensorflow/tfjs-converter": "3.15.0", "@tensorflow/tfjs-converter": "3.17.0",
"@tensorflow/tfjs-core": "3.15.0", "@tensorflow/tfjs-core": "3.17.0",
"@tensorflow/tfjs-data": "3.15.0", "@tensorflow/tfjs-data": "3.17.0",
"@tensorflow/tfjs-layers": "3.15.0", "@tensorflow/tfjs-layers": "3.17.0",
"argparse": "^1.0.10", "argparse": "^1.0.10",
"chalk": "^4.1.0", "chalk": "^4.1.0",
"core-js": "3", "core-js": "3",
@ -9231,29 +9261,29 @@
} }
}, },
"@tensorflow/tfjs-backend-cpu": { "@tensorflow/tfjs-backend-cpu": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.17.0.tgz",
"integrity": "sha512-f+GREHSiVkVIpFAwkjB7YWcZefqQvCKQhrNjZzm1WX4VdnWlo0b1lTI+gPIIYNk4LEFMBNJbfqy/N1xNS/SOLQ==", "integrity": "sha512-alfmaPLnsa/DvkhnPoX/r9ZVDcSuRZUJEElaG3o84JrCBOqzq2jcFwaT9KxchN8rDLmKjJMLQkcQx/bSp/Oz4w==",
"requires": { "requires": {
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"seedrandom": "2.4.3" "seedrandom": "2.4.3"
} }
}, },
"@tensorflow/tfjs-backend-wasm": { "@tensorflow/tfjs-backend-wasm": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.17.0.tgz",
"integrity": "sha512-Oohpk0hOvMPabBqe3NyTS7/oZy2dcsALMGlsaz7t5bJNxEVOambHsrcEtD5qbmQcuVBITArutF2myO8cV1QeHA==", "integrity": "sha512-hfh4VpYr0C1Qu1uuO2SQH4WuX62OdDkg2e5/rFFgyjMg/avf94udgXtvkD2f4VUMwsoiZk1p40+rZCCnoCBB2A==",
"requires": { "requires": {
"@tensorflow/tfjs-backend-cpu": "3.15.0", "@tensorflow/tfjs-backend-cpu": "3.17.0",
"@types/emscripten": "~0.0.34" "@types/emscripten": "~0.0.34"
} }
}, },
"@tensorflow/tfjs-backend-webgl": { "@tensorflow/tfjs-backend-webgl": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.17.0.tgz",
"integrity": "sha512-QOxbTABFbP+m+UmCVB8VQlmZbsXiJOP8QRkRRZHhGWNKjtT3eWi+ROS1tbloS7/Q20SEmNZXCvcsjv0TBgFQPw==", "integrity": "sha512-OC/IvU4TNx+B0J51kzCvSPWrC5qXtjY2aAsUvqXb9edhSMwrhC0sSS64t+KuIuPbNiAlVqPvlWZDz3WKPiIPdA==",
"requires": { "requires": {
"@tensorflow/tfjs-backend-cpu": "3.15.0", "@tensorflow/tfjs-backend-cpu": "3.17.0",
"@types/offscreencanvas": "~2019.3.0", "@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30", "@types/webgl-ext": "0.0.30",
@ -9262,37 +9292,38 @@
} }
}, },
"@tensorflow/tfjs-converter": { "@tensorflow/tfjs-converter": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.17.0.tgz",
"integrity": "sha512-FBk3qGvNfS1xCw+ZLXCiD72vpR/rZaShFOY7HmLtTTfWlebWowrjaNqjvO8SKc7UGtRR/GJ7Bf3TgKyr9D3g0Q==" "integrity": "sha512-AlnIg7aKtfiFq7/ZrWDsVgaw82Uig2KLJY2MOAwadpI4OqhKwwArFHVbVBiOhAEHmp6obwwYaGtItmSM+dzlUQ=="
}, },
"@tensorflow/tfjs-core": { "@tensorflow/tfjs-core": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.17.0.tgz",
"integrity": "sha512-X1XGr8rewm/n0RDMnaLRcRYsTHlQCqQUR5DCtjUf4TuII7kq/pkZ9xCKPPfS1qUd5jLy663h8j5cAyjJNUt/hw==", "integrity": "sha512-PMqEDysVy3WsSK4pU+UaoINRjps1RTF2CPvS1sWgOJqc/rUz8mSMibMosti0Is6DHGw7UiAq53y9VMuzQRVJqA==",
"requires": { "requires": {
"@types/long": "^4.0.1", "@types/long": "^4.0.1",
"@types/offscreencanvas": "~2019.3.0", "@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30", "@types/webgl-ext": "0.0.30",
"@webgpu/types": "^0.1.16",
"long": "4.0.0", "long": "4.0.0",
"node-fetch": "~2.6.1", "node-fetch": "~2.6.1",
"seedrandom": "2.4.3" "seedrandom": "2.4.3"
} }
}, },
"@tensorflow/tfjs-data": { "@tensorflow/tfjs-data": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.17.0.tgz",
"integrity": "sha512-x8JOhpIsqN9jIWZqEmt2vLYf49lIhekI6nyw/fgAKjtx+I4qKw2gY7/r11TewZRxyD2o7SOrSoNIZT8nQJ5YfQ==", "integrity": "sha512-RgsdrGzWaQtxlRnk7Yiz8ebxbFfgNLITaFri6WxSPNZFI5ajLtw/daxp04ij9l1MIUJeJYgaKeMVXFvJwy8TAQ==",
"requires": { "requires": {
"@types/node-fetch": "^2.1.2", "@types/node-fetch": "^2.1.2",
"node-fetch": "~2.6.1" "node-fetch": "~2.6.1"
} }
}, },
"@tensorflow/tfjs-layers": { "@tensorflow/tfjs-layers": {
"version": "3.15.0", "version": "3.17.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.15.0.tgz", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.17.0.tgz",
"integrity": "sha512-6MWTrRd+kK2rto/HXX0Gg9yGIkT0twvuzTHcxFHUJVlW3JYulRCp185h3AcBytyzqQeae5eA73aOovm3lBvN+A==" "integrity": "sha512-SXx6k1va/RfiCmwaglbaN/eQzZ33xhCUZgk5zpRJkxk3Gx9xXRHb05HszM0BH+cokwmueWcJQpRjcnvjdKxtUg=="
}, },
"@tootallnate/once": { "@tootallnate/once": {
"version": "1.1.2", "version": "1.1.2",
@ -9363,9 +9394,9 @@
} }
}, },
"@types/long": { "@types/long": {
"version": "4.0.1", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
}, },
"@types/minimatch": { "@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
@ -9427,6 +9458,11 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"@webgpu/types": {
"version": "0.1.16",
"resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.16.tgz",
"integrity": "sha512-9E61voMP4+Rze02jlTXud++Htpjyyk8vw5Hyw9FGRrmhHQg2GqbuOfwf5Klrb8vTxc2XWI3EfO7RUHMpxTj26A=="
},
"abbrev": { "abbrev": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@ -9606,11 +9642,24 @@
"dev": true "dev": true
}, },
"axios": { "axios": {
"version": "0.26.1", "version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"requires": { "requires": {
"follow-redirects": "^1.14.8" "follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
},
"dependencies": {
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
}
} }
}, },
"balanced-match": { "balanced-match": {
@ -10261,9 +10310,9 @@
} }
}, },
"electron": { "electron": {
"version": "18.0.4", "version": "18.2.3",
"resolved": "https://registry.npmjs.org/electron/-/electron-18.0.4.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-18.2.3.tgz",
"integrity": "sha512-xfsozNpFr3WzeM1EFlw2qqiqXbCrgQNBJJMlcC4/DUYVpkF8364SZenX7FFFA42NmwXiOEahkvvho/u7UrAcGg==", "integrity": "sha512-DJWX03hCRKTscsfXxmW4gmgFuseop+g+m4ml7NfOMfankD8uYyr2Xyi3Ui02inL9qZOlbLMeLVCu6jKCKs8p/w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@electron/get": "^1.13.0", "@electron/get": "^1.13.0",
@ -11261,9 +11310,9 @@
} }
}, },
"follow-redirects": { "follow-redirects": {
"version": "1.14.8", "version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
}, },
"forever-agent": { "forever-agent": {
"version": "0.6.1", "version": "0.6.1",
@ -12558,9 +12607,9 @@
"dev": true "dev": true
}, },
"nodemailer": { "nodemailer": {
"version": "6.7.3", "version": "6.7.5",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.5.tgz",
"integrity": "sha512-KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==" "integrity": "sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg=="
}, },
"nopt": { "nopt": {
"version": "5.0.0", "version": "5.0.0",

View File

@ -27,19 +27,19 @@
"@electron-forge/maker-rpm": "^6.0.0-beta.63", "@electron-forge/maker-rpm": "^6.0.0-beta.63",
"@electron-forge/maker-squirrel": "6.0.0-beta.33", "@electron-forge/maker-squirrel": "6.0.0-beta.33",
"@electron-forge/maker-zip": "^6.0.0-beta.63", "@electron-forge/maker-zip": "^6.0.0-beta.63",
"electron": "^18.0.4", "electron": "^18.2.3",
"electron-rebuild": "^3.2.7" "electron-rebuild": "^3.2.7"
}, },
"dependencies": { "dependencies": {
"@ocogeclub/pigpio": "file:local_modules/@ocogeclub/pigpio", "@ocoge.club/pigpio": "file:local_modules/@ocoge.club/pigpio",
"@tensorflow-models/blazeface": "^0.0.7", "@tensorflow-models/blazeface": "^0.0.7",
"@tensorflow-models/knn-classifier": "^1.2.4", "@tensorflow-models/knn-classifier": "^1.2.4",
"@tensorflow-models/mobilenet": "^2.1.0", "@tensorflow-models/mobilenet": "^2.1.0",
"@tensorflow/tfjs": "^3.15.0", "@tensorflow/tfjs": "^3.17.0",
"@tensorflow/tfjs-backend-wasm": "^3.15.0", "@tensorflow/tfjs-backend-wasm": "^3.17.0",
"axios": "^0.26.1", "axios": "^0.27.2",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.0",
"nodemailer": "^6.7.3", "nodemailer": "^6.7.5",
"tensorset": "^1.2.9" "tensorset": "^1.2.9"
}, },
"config": { "config": {
@ -66,7 +66,7 @@
"Development" "Development"
], ],
"icon": "./icon.png", "icon": "./icon.png",
"maintainer": "ICHIJU-INN <pi@ichiju.in>" "maintainer": "ocogeclub <ichiju@ocoge.club>"
} }
} }
} }

View File

@ -261,7 +261,7 @@ Blockly.Blocks['ugj_gpio_open'] = {
}; };
Blockly.JavaScript['ugj_gpio_open'] = function (block) { Blockly.JavaScript['ugj_gpio_open'] = function (block) {
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(
'require_gpio', [`const _pi = require('@ocogeclub/` + elutil.gpio_backend + `');`] 'require_gpio', [`const _pi = require('@ocoge.club/` + elutil.gpio_backend + `');`]
); );
var code = `await _pi.gpio_open();\n`; // var code = `await _pi.gpio_open();\n`; //
return code; return code;
@ -613,7 +613,7 @@ Blockly.JavaScript['ugj_serial_open'] = function (block) {
// var value_tty = Blockly.JavaScript.valueToCode(block, 'tty', Blockly.JavaScript.ORDER_ATOMIC); // var value_tty = Blockly.JavaScript.valueToCode(block, 'tty', Blockly.JavaScript.ORDER_ATOMIC);
var dropdown_baud = block.getFieldValue('baud'); var dropdown_baud = block.getFieldValue('baud');
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(
'require_gpio', [`const _pi = require('@ocogeclub/` + elutil.gpio_backend + `');`] 'require_gpio', [`const _pi = require('@ocoge.club/` + elutil.gpio_backend + `');`]
); );
var code = `await _pi.serial_open('/dev/serial0', ${dropdown_baud});\n`; var code = `await _pi.serial_open('/dev/serial0', ${dropdown_baud});\n`;
return code; return code;
@ -753,7 +753,7 @@ Blockly.Blocks['ugj_i2c_open'] = {
Blockly.JavaScript['ugj_i2c_open'] = function (block) { Blockly.JavaScript['ugj_i2c_open'] = function (block) {
var value_i2c_address = Blockly.JavaScript.valueToCode(block, 'i2c_address', Blockly.JavaScript.ORDER_ATOMIC); var value_i2c_address = Blockly.JavaScript.valueToCode(block, 'i2c_address', Blockly.JavaScript.ORDER_ATOMIC);
Blockly.JavaScript.provideFunction_( Blockly.JavaScript.provideFunction_(
'require_gpio', [`const _pi = require('@ocogeclub/` + elutil.gpio_backend + `');`] 'require_gpio', [`const _pi = require('@ocoge.club/` + elutil.gpio_backend + `');`]
); );
var code = `await _pi.i2c_open(${elutil.i2c_bus}, ${value_i2c_address});\n`; var code = `await _pi.i2c_open(${elutil.i2c_bus}, ${value_i2c_address});\n`;
return code; return code;