diff --git a/index.js b/index.js index 68c9352..8776ad3 100644 --- a/index.js +++ b/index.js @@ -391,7 +391,7 @@ const ugj_runCode = async () => { // Pyboard ocoge const ugj_spawnPyboard = (code, mode) => { let script_path = elutil.path.join(elutil.library_path, 'pybtool.py'); - let p = require('child_process').spawn('python3', [script_path, mode]); + let p = require('child_process').spawn('python3', [script_path, mode], { env: { "PYTHONUTF8": "1" } }); p.stdin.write(code); p.stdin.end(); p.stderr.on('data', d => { console.error(d.toString()) }); diff --git a/lib/__pycache__/pyboard.cpython-39.pyc b/lib/__pycache__/pyboard.cpython-39.pyc index eb1fe3c..34e3b71 100644 Binary files a/lib/__pycache__/pyboard.cpython-39.pyc and b/lib/__pycache__/pyboard.cpython-39.pyc differ diff --git a/lib/pybfm.py b/lib/pybfm.py index 1719a17..92958b2 100644 --- a/lib/pybfm.py +++ b/lib/pybfm.py @@ -1,5 +1,4 @@ -#!/usr/bin/python3 -# coding: utf-8 +#!/usr/bin/env python3 from tkinter import * from tkinterdnd2 import * diff --git a/lib/pybtool.py b/lib/pybtool.py index 0498a5d..b2bc73c 100644 --- a/lib/pybtool.py +++ b/lib/pybtool.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + import sys import pyboard import serial.tools.list_ports diff --git a/local_modules/@ocoge.club/lgpio/binding.gyp b/local_modules/@ocoge.club/lgpio/binding.gyp deleted file mode 100644 index 5a0e00b..0000000 --- a/local_modules/@ocoge.club/lgpio/binding.gyp +++ /dev/null @@ -1,12 +0,0 @@ -{ - "targets": [ - { - "target_name": "lgpio", - "sources": ["lgpio.cpp"], - "defines": ["NAPI_DISABLE_CPP_EXCEPTIONS"], - "include_dirs": [" { - if (gpio_hand < 0) gpio_hand = module.exports._gpiochip_open(0); - return gpio_hand; -} -module.exports.gpio_close = () => { - if (gpio_hand >= 0) module.exports._gpiochip_close(gpio_hand); - gpio_hand = -1; -} -module.exports.gpio_set_output = gpio => { - if (gpio_hand >= 0) return module.exports._gpio_claim_output(gpio_hand, gpio); -} -module.exports.gpio_set_input = (gpio, lflag) => { - if (gpio_hand >= 0) return module.exports._gpio_claim_input(gpio_hand, gpio, lflag); -} -module.exports.gpio_read = gpio => { - if (gpio_hand >= 0) return module.exports._gpio_read(gpio_hand, gpio); -} -module.exports.gpio_write = (gpio, value) => { - if (gpio_hand >= 0) return module.exports._gpio_write(gpio_hand, gpio, value); -} -module.exports.servo = (gpio, pulse_width) => { - if (gpio_hand >= 0) return module.exports._tx_servo(gpio_hand, gpio, pulse_width); -} -module.exports.pwm = (gpio, pwm_frequency, pwm_duty_cycle) => { - if (gpio_hand >= 0) return module.exports._tx_pwm(gpio_hand, gpio, pwm_frequency, pwm_duty_cycle); -} -module.exports.serial_open = (tty, baud) => { - if (ser_hand >= 0) module.exports._serial_close(ser_hand); // 勝手に閉じる - ser_hand = module.exports._serial_open(tty, baud); - return ser_hand; -} -module.exports.serial_close = () => { - if (ser_hand >= 0) module.exports._serial_close(ser_hand); - ser_hand = -1; -} -module.exports.serial_write = data => { - if (ser_hand >= 0) return module.exports._serial_write(ser_hand, Buffer.from(data)); -} -module.exports.serial_read = count => { - if (ser_hand >= 0) return module.exports._serial_read(ser_hand, count).toString('utf8'); -} -module.exports.i2c_open = (i2c_bus, i2c_address) => { - if (i2c_hand >= 0) module.exports._i2c_close(i2c_hand); // 勝手に閉じる - i2c_hand = module.exports._i2c_open(i2c_bus, i2c_address); - return i2c_hand; -} -module.exports.i2c_close = () => { - if (i2c_hand >= 0) module.exports._i2c_close(i2c_hand); - i2c_hand = -1; -} -module.exports.i2c_write_byte_data = (reg, byte_val) => { - if (i2c_hand >= 0) return module.exports._i2c_write_byte_data(i2c_hand, reg, byte_val); -} -module.exports.i2c_read_byte_data = reg => { - if (i2c_hand >= 0) return module.exports._i2c_read_byte_data(i2c_hand, reg); -} -module.exports.i2c_read_device = count => { - if (i2c_hand >= 0) return module.exports._i2c_read_device(i2c_hand, count).toString('utf8'); -} -module.exports.i2c_write_device = data => { - if (i2c_hand >= 0) return module.exports._i2c_write_device(i2c_hand, Buffer.from(data)); -} -// 終了処理 -module.exports.close_all_handle = () => { - module.exports.gpio_close(); - module.exports.serial_close(); - module.exports.i2c_close(); -} \ No newline at end of file diff --git a/local_modules/@ocoge.club/lgpio/lgpio.cpp b/local_modules/@ocoge.club/lgpio/lgpio.cpp deleted file mode 100644 index 88fb75e..0000000 --- a/local_modules/@ocoge.club/lgpio/lgpio.cpp +++ /dev/null @@ -1,555 +0,0 @@ -/** lgpio を Node.js から利用するモジュール ** */ -/** 関数名・書式は lgpio Python に準拠 ******************* */ - -#include -#include -#include -#include - -using namespace Napi; - -// gpiochipデバイスを開く -Value gpiochipOpen(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 1) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - int gpioDev = info[0].As().Int32Value(); - return Number::New(env, lgGpiochipOpen(gpioDev)); -} - -// gpiochipデバイスを閉じる -Value gpiochipClose(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 1) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - int handle = info[0].As().Int32Value(); - return Number::New(env, lgGpiochipClose(handle)); -} - -// GPIO のモードを出力にする(ことを要求?) -Value gpioClaimOutput(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int gpio = info[1].As().Int32Value(); - - return Number::New(env, - lgGpioClaimOutput(handle, 0, gpio, 0)); -} - -// GPIO のモードを入力にする(ことを要求?) -Value gpioClaimInput(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 3) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber() || !info[2].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int gpio = info[1].As().Int32Value(); - int lflag = info[2].As().Int32Value(); - - return Number::New(env, - lgGpioClaimInput(handle, lflag, gpio)); -} - -// GPIOの電圧を読む -Value gpioRead(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int gpio = info[1].As().Int32Value(); - - return Number::New(env, - lgGpioRead(handle, gpio)); -} - -// GPIO の電圧をセットする -Value gpioWrite(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 3) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber() || !info[2].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int gpio = info[1].As().Int32Value(); - int level = info[2].As().Int32Value(); - - return Number::New(env, - lgGpioWrite(handle, gpio, level)); -} - -// サーボパルス幅をセットする -Value txServo(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 3) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber() || !info[2].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int gpio = info[1].As().Int32Value(); - int pulseWidth = info[2].As().Int32Value(); - - return Number::New(env, - lgTxServo(handle, gpio, pulseWidth, 50, 0, 0)); -} - -// PWMを設定して出力 -Value txPwm(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 4) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber() || !info[2].IsNumber() || !info[3].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int gpio = info[1].As().Int32Value(); - float pwmFrequency = info[2].As().FloatValue(); - float pwmDutyCycle = info[3].As().FloatValue(); - - return Number::New(env, - lgTxPwm(handle, gpio, pwmFrequency, pwmDutyCycle, 0, 0)); -} - -// シリアルポートを開く -Value serialOpen(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsString() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - std::string tty = info[0].As().Utf8Value(); - - int baud = info[1].As().Int32Value(); - - return Number::New(env, - lgSerialOpen(tty.c_str(), baud, 0)); -} - -// シリアルポートを閉じる -Value serialClose(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 1) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - - return Number::New(env, - lgSerialClose(handle)); -} - -// シリアルデバイスからデータを受け取る -Value SerialRead(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int count = info[1].As().Int32Value(); - - char rxBuf[count]; - int rxCount = lgSerialRead(handle, rxBuf, count); - auto outBuf = Buffer::Copy(env, rxBuf, rxCount); - - return outBuf; -} - -// シリアルデバイスにバイト列を送る(data: buffer) -Value serialWrite(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsBuffer()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - auto txBuf = info[1].As>(); - - int count = txBuf.Length(); - - return Number::New(env, - lgSerialWrite(handle, txBuf.Data(), count)); -} - -// I2Cバスアドレスのデバイスのハンドルを返す -Value i2cOpen(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int i2cDev = info[0].As().Int32Value(); - int i2cAddr = info[1].As().Int32Value(); - - return Number::New(env, - lgI2cOpen(i2cDev, i2cAddr, 0)); -} - -// オープン済みI2Cハンドルを閉じる -Value i2cClose(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 1) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - - return Number::New(env, - lgI2cClose(handle)); -} - -// デバイスに1バイトを送る -Value i2cWriteByte(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int byteVal = info[1].As().Int32Value(); - - return Number::New(env, - lgI2cWriteByte(handle, byteVal)); -} -// デバイスから1バイトを受け取る -Value i2cReadByte(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 1) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - - return Number::New(env, - lgI2cReadByte(handle)); -} - -// I2Cハンドルに関連付けられているデバイスの指定されたレジスタに1バイトを書き込む -Value i2cWriteByteData(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 3) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber() || !info[2].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int i2cReg = info[1].As().Int32Value(); - int byteVal = info[2].As().Int32Value(); - - return Number::New(env, - lgI2cWriteByteData(handle, i2cReg, byteVal)); -} - -// I2Cハンドルに関連付けられているデバイスの指定されたレジスタから1バイトを読み込む -Value i2cReadByteData(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int i2cReg = info[1].As().Int32Value(); - - return Number::New(env, - lgI2cReadByteData(handle, i2cReg)); -} - -// I2Cハンドルに関連付けられているデバイスの指定されたレジスタからcountバイトを読み込む。countは1~32。 -Value i2cReadI2cBlockData(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 3) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber() || !info[2].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int i2cReg = info[1].As().Int32Value(); - int count = info[2].As().Int32Value(); - - char rxBuf[count]; - int rxCount = lgI2cReadI2CBlockData(handle, i2cReg, rxBuf, count); - auto outBuf = Buffer::Copy(env, rxBuf, rxCount); - - return outBuf; -} - -// I2Cハンドルに関連付けられているデバイスの指定されたレジスタから単一の16ビットワードを読み取る -Value I2cReadWordData(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int i2cReg = info[1].As().Int32Value(); - - return Number::New(env, - lgI2cReadWordData(handle, i2cReg)); -} - -// i2c デバイスからデータを受け取る -Value I2cReadDevice(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsNumber()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - int count = info[1].As().Int32Value(); - - char rxBuf[count]; - int rxCount = lgI2cReadDevice(handle, rxBuf, count); - auto outBuf = Buffer::Copy(env, rxBuf, rxCount); - - return outBuf; -} - -// i2c デバイスにバイト列を送る(data: buffer) -Value I2cWriteDevice(const CallbackInfo &info) -{ - Env env = info.Env(); - if (info.Length() < 2) - { - TypeError::New(env, "Wrong number of arguments") - .ThrowAsJavaScriptException(); - return env.Null(); - } - if (!info[0].IsNumber() || !info[1].IsBuffer()) - { - TypeError::New(env, "Wrong arguments").ThrowAsJavaScriptException(); - return env.Null(); - } - - int handle = info[0].As().Int32Value(); - auto txBuf = info[1].As>(); - - int count = txBuf.Length(); - - return Number::New(env, - lgI2cWriteDevice(handle, txBuf.Data(), count)); -} - -Object -Init(Env env, Object exports) -{ - exports.Set(String::New(env, "_gpiochip_open"), Function::New(env, gpiochipOpen)); - exports.Set(String::New(env, "_gpiochip_close"), Function::New(env, gpiochipClose)); - exports.Set(String::New(env, "_gpio_claim_input"), Function::New(env, gpioClaimInput)); - exports.Set(String::New(env, "_gpio_claim_output"), Function::New(env, gpioClaimOutput)); - exports.Set(String::New(env, "_gpio_read"), Function::New(env, gpioRead)); - exports.Set(String::New(env, "_gpio_write"), Function::New(env, gpioWrite)); - exports.Set(String::New(env, "_tx_servo"), Function::New(env, txServo)); - exports.Set(String::New(env, "_tx_pwm"), Function::New(env, txPwm)); - exports.Set(String::New(env, "_serial_open"), Function::New(env, serialOpen)); - exports.Set(String::New(env, "_serial_close"), Function::New(env, serialClose)); - exports.Set(String::New(env, "_serial_read"), Function::New(env, SerialRead)); - exports.Set(String::New(env, "_serial_write"), Function::New(env, serialWrite)); - exports.Set(String::New(env, "_i2c_open"), Function::New(env, i2cOpen)); - exports.Set(String::New(env, "_i2c_close"), Function::New(env, i2cClose)); - exports.Set(String::New(env, "_i2c_write_byte"), Function::New(env, i2cWriteByte)); - exports.Set(String::New(env, "_i2c_read_byte"), Function::New(env, i2cReadByte)); - exports.Set(String::New(env, "_i2c_write_byte_data"), Function::New(env, i2cWriteByteData)); - exports.Set(String::New(env, "_i2c_read_byte_data"), Function::New(env, i2cReadByteData)); - exports.Set(String::New(env, "_i2c_read_i2c_block_data"), Function::New(env, i2cReadI2cBlockData)); - exports.Set(String::New(env, "_i2c_read_word_data"), Function::New(env, I2cReadWordData)); - exports.Set(String::New(env, "_i2c_read_device"), Function::New(env, I2cReadDevice)); - exports.Set(String::New(env, "_i2c_write_device"), Function::New(env, I2cWriteDevice)); - - return exports; -} - -NODE_API_MODULE(lgpio, Init) \ No newline at end of file diff --git a/local_modules/@ocoge.club/lgpio/package.json b/local_modules/@ocoge.club/lgpio/package.json deleted file mode 100644 index 9e61c03..0000000 --- a/local_modules/@ocoge.club/lgpio/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "@ocoge.club/lgpio", - "version": "0.0.1", - "main": "index.js", - "private": true, - "license": "MIT", - "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^1.7.1" - } -} \ No newline at end of file diff --git a/local_modules/@ocoge.club/pigpio/binding.gyp b/local_modules/pigpio/binding.gyp similarity index 100% rename from local_modules/@ocoge.club/pigpio/binding.gyp rename to local_modules/pigpio/binding.gyp diff --git a/local_modules/@ocoge.club/pigpio/index.js b/local_modules/pigpio/index.js similarity index 100% rename from local_modules/@ocoge.club/pigpio/index.js rename to local_modules/pigpio/index.js diff --git a/local_modules/@ocoge.club/pigpio/package.json b/local_modules/pigpio/package.json similarity index 100% rename from local_modules/@ocoge.club/pigpio/package.json rename to local_modules/pigpio/package.json diff --git a/local_modules/@ocoge.club/pigpio/pigpio.cpp b/local_modules/pigpio/pigpio.cpp similarity index 100% rename from local_modules/@ocoge.club/pigpio/pigpio.cpp rename to local_modules/pigpio/pigpio.cpp diff --git a/package-lock.json b/package-lock.json index a359909..537cf01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "ocoge", - "version": "0.1.7", + "version": "0.1.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ocoge", - "version": "0.1.7", + "version": "0.1.8", "license": "ISC", "dependencies": { - "@ocoge.club/pigpio": "file:local_modules/@ocoge.club/pigpio", + "@ocoge.club/pigpio": "file:local_modules/pigpio", "@tensorflow-models/blazeface": "^0.0.7", "@tensorflow-models/knn-classifier": "^1.2.4", "@tensorflow-models/mobilenet": "^2.1.0", @@ -23,23 +23,19 @@ "devDependencies": { "@electron-forge/cli": "^6.0.0-beta.65", "@electron-forge/maker-deb": "^6.0.0-beta.65", - "electron": "^19.0.9", + "electron": "^19.0.10", "electron-rebuild": "^3.2.8" } }, "local_modules/@ocoge.club/pigpio": { "version": "0.0.1", + "extraneous": 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": { "version": "0.0.1", "extraneous": true, @@ -73,6 +69,20 @@ "node-addon-api": "^1.7.1" } }, + "local_modules/pigpio": { + "name": "@ocoge.club/pigpio", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, + "local_modules/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": { "version": "6.0.0-beta.65", "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.65.tgz", @@ -815,7 +825,7 @@ } }, "node_modules/@ocoge.club/pigpio": { - "resolved": "local_modules/@ocoge.club/pigpio", + "resolved": "local_modules/pigpio", "link": true }, "node_modules/@sindresorhus/is": { @@ -2142,9 +2152,9 @@ "dev": true }, "node_modules/electron": { - "version": "19.0.9", - "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.9.tgz", - "integrity": "sha512-ooEwrv8Y7NSzdhKcl6kPCYecnzcg5nFWuS5ryG+VFH3MMBR8zXh9nW2wLsZrBz6OGUxXrcc5BKBC7dA8C6RhGQ==", + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.10.tgz", + "integrity": "sha512-EiWtPWdD7CzkRkp1cw7t0N9W2qhI5XZOudHX7daOh5wI076nsdV2dtlAf/XyTHhPNoKR5qhTWrSnYL9PY6D1vg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -6795,7 +6805,7 @@ } }, "@ocoge.club/pigpio": { - "version": "file:local_modules/@ocoge.club/pigpio", + "version": "file:local_modules/pigpio", "requires": { "bindings": "^1.5.0", "node-addon-api": "^1.7.1" @@ -7843,9 +7853,9 @@ "dev": true }, "electron": { - "version": "19.0.9", - "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.9.tgz", - "integrity": "sha512-ooEwrv8Y7NSzdhKcl6kPCYecnzcg5nFWuS5ryG+VFH3MMBR8zXh9nW2wLsZrBz6OGUxXrcc5BKBC7dA8C6RhGQ==", + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.10.tgz", + "integrity": "sha512-EiWtPWdD7CzkRkp1cw7t0N9W2qhI5XZOudHX7daOh5wI076nsdV2dtlAf/XyTHhPNoKR5qhTWrSnYL9PY6D1vg==", "dev": true, "requires": { "@electron/get": "^1.14.1", diff --git a/package.json b/package.json index 13f3d12..a5c4e22 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,11 @@ "devDependencies": { "@electron-forge/cli": "^6.0.0-beta.65", "@electron-forge/maker-deb": "^6.0.0-beta.65", - "electron": "^19.0.9", + "electron": "^19.0.10", "electron-rebuild": "^3.2.8" }, "dependencies": { - "@ocoge.club/pigpio": "file:local_modules/@ocoge.club/pigpio", + "@ocoge.club/pigpio": "file:local_modules/pigpio", "@tensorflow-models/blazeface": "^0.0.7", "@tensorflow-models/knn-classifier": "^1.2.4", "@tensorflow-models/mobilenet": "^2.1.0",