Working through bugs in mitchell code
This commit is contained in:
parent
814187530c
commit
cd9aa91d52
|
|
@ -6,7 +6,7 @@
|
|||
"packages": {
|
||||
"": {
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.150",
|
||||
"version": "1.8.164",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
|
@ -81,7 +81,10 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"lib/capper": {},
|
||||
"lib/capper": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"lib/capture": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
|
|
@ -143,7 +146,10 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"lib/processing": {},
|
||||
"lib/processing": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"lib/proj": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
|
|
@ -400,6 +406,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.13.tgz",
|
||||
"integrity": "sha512-LTATglVUPGkPf15zX1wTMlZ0+AU7cGEGF6ekVF1crA8eHUWsGjrYTB+Ht4E3HTrCok8weQG+K01rJndCp/l4XA==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/core": "^0.16.13"
|
||||
|
|
@ -436,6 +443,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.13.tgz",
|
||||
"integrity": "sha512-8Z1k96ZFxlhK2bgrY1JNWNwvaBeI/bciLM0yDOni2+aZwfIIiC7Y6PeWHTAvjHNjphz+XCt01WQmOYWCn0ML6g==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -448,6 +456,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.13.tgz",
|
||||
"integrity": "sha512-PvLrfa8vkej3qinlebyhLpksJgCF5aiysDMSVhOZqwH5nQLLtDE9WYbnsofGw4r0VVpyw3H/ANCIzYTyCtP9Cg==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -472,6 +481,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.13.tgz",
|
||||
"integrity": "sha512-xW+9BtEvoIkkH/Wde9ql4nAFbYLkVINhpgAE7VcBUsuuB34WUbcBl/taOuUYQrPEFQJ4jfXiAJZ2H/rvKjCVnQ==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13",
|
||||
|
|
@ -515,6 +525,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.13.tgz",
|
||||
"integrity": "sha512-WEl2tPVYwzYL8OKme6Go2xqiWgKsgxlMwyHabdAU4tXaRwOCnOI7v4021gCcBb9zn/oWwguHuKHmK30Fw2Z/PA==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -638,6 +649,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.13.tgz",
|
||||
"integrity": "sha512-qoqtN8LDknm3fJm9nuPygJv30O3vGhSBD2TxrsCnhtOsxKAqVPJtFVdGd/qVuZ8nqQANQmTlfqTiK9mVWQ7MiQ==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -650,6 +662,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.13.tgz",
|
||||
"integrity": "sha512-Ev+Jjmj1nHYw897z9C3R9dYsPv7S2/nxdgfFb/h8hOwK0Ovd1k/+yYS46A0uj/JCKK0pQk8wOslYBkPwdnLorw==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -665,6 +678,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.13.tgz",
|
||||
"integrity": "sha512-05POQaEJVucjTiSGMoH68ZiELc7QqpIpuQlZ2JBbhCV+WCbPFUBcGSmE7w4Jd0E2GvCho/NoMODLwgcVGQA97A==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -3119,6 +3133,7 @@
|
|||
"resolved": "https://registry.npmjs.org/electron/-/electron-19.1.9.tgz",
|
||||
"integrity": "sha512-XT5LkTzIHB+ZtD3dTmNnKjVBWrDWReCKt9G1uAFLz6uJMEVcIUiYO+fph5pLXETiBw/QZBx8egduMEfIccLx+g==",
|
||||
"hasInstallScript": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@electron/get": "^1.14.1",
|
||||
"@types/node": "^16.11.26",
|
||||
|
|
@ -11605,6 +11620,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.13.tgz",
|
||||
"integrity": "sha512-LTATglVUPGkPf15zX1wTMlZ0+AU7cGEGF6ekVF1crA8eHUWsGjrYTB+Ht4E3HTrCok8weQG+K01rJndCp/l4XA==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/core": "^0.16.13"
|
||||
|
|
@ -11635,6 +11651,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.13.tgz",
|
||||
"integrity": "sha512-8Z1k96ZFxlhK2bgrY1JNWNwvaBeI/bciLM0yDOni2+aZwfIIiC7Y6PeWHTAvjHNjphz+XCt01WQmOYWCn0ML6g==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -11644,6 +11661,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.13.tgz",
|
||||
"integrity": "sha512-PvLrfa8vkej3qinlebyhLpksJgCF5aiysDMSVhOZqwH5nQLLtDE9WYbnsofGw4r0VVpyw3H/ANCIzYTyCtP9Cg==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -11662,6 +11680,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.13.tgz",
|
||||
"integrity": "sha512-xW+9BtEvoIkkH/Wde9ql4nAFbYLkVINhpgAE7VcBUsuuB34WUbcBl/taOuUYQrPEFQJ4jfXiAJZ2H/rvKjCVnQ==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13",
|
||||
|
|
@ -11690,6 +11709,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.13.tgz",
|
||||
"integrity": "sha512-WEl2tPVYwzYL8OKme6Go2xqiWgKsgxlMwyHabdAU4tXaRwOCnOI7v4021gCcBb9zn/oWwguHuKHmK30Fw2Z/PA==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -11781,6 +11801,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.13.tgz",
|
||||
"integrity": "sha512-qoqtN8LDknm3fJm9nuPygJv30O3vGhSBD2TxrsCnhtOsxKAqVPJtFVdGd/qVuZ8nqQANQmTlfqTiK9mVWQ7MiQ==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -11790,6 +11811,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.13.tgz",
|
||||
"integrity": "sha512-Ev+Jjmj1nHYw897z9C3R9dYsPv7S2/nxdgfFb/h8hOwK0Ovd1k/+yYS46A0uj/JCKK0pQk8wOslYBkPwdnLorw==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -11799,6 +11821,7 @@
|
|||
"version": "0.16.13",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.13.tgz",
|
||||
"integrity": "sha512-05POQaEJVucjTiSGMoH68ZiELc7QqpIpuQlZ2JBbhCV+WCbPFUBcGSmE7w4Jd0E2GvCho/NoMODLwgcVGQA97A==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.16.13"
|
||||
|
|
@ -13692,6 +13715,7 @@
|
|||
"version": "19.1.9",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-19.1.9.tgz",
|
||||
"integrity": "sha512-XT5LkTzIHB+ZtD3dTmNnKjVBWrDWReCKt9G1uAFLz6uJMEVcIUiYO+fph5pLXETiBw/QZBx8egduMEfIccLx+g==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@electron/get": "^1.14.1",
|
||||
"@types/node": "^16.11.26",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "EndstopCameraShield.h"
|
||||
#include "McopySerial.h"
|
||||
|
||||
const bool DEBUG = false;
|
||||
const bool DEBUG = true;
|
||||
|
||||
//const uint8_t enableButtonPin = 9; //enable feature
|
||||
const uint8_t directionSwitchPin = 10;
|
||||
|
|
@ -38,6 +38,8 @@ void setup () {
|
|||
mc.begin(mc.CAMERA_IDENTIFIER);
|
||||
mc.debug(DEBUG);
|
||||
cam.setup();
|
||||
|
||||
delay(5000);
|
||||
|
||||
if (cam.isOpened()) {
|
||||
mc.log("Camera is OPENED");
|
||||
|
|
@ -47,8 +49,10 @@ void setup () {
|
|||
mc.log("Camera is in UNKNOWN state");
|
||||
}
|
||||
|
||||
delay(5000);
|
||||
|
||||
if (cam.isOpened()) {
|
||||
cam.toClose();
|
||||
//cam.toClose();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -121,14 +125,19 @@ void camera () {
|
|||
half = exposureAvg / 2; //assume a 180 shutter
|
||||
pause = timedExposureTarget - half;
|
||||
if (pause < exposureAvg) {
|
||||
cam.frame();
|
||||
//cam.frame();
|
||||
cam.toOpen();
|
||||
delay(1);
|
||||
cam.toClose();
|
||||
} else {
|
||||
cam.toOpen();
|
||||
delay(pause);
|
||||
cam.toClose();
|
||||
}
|
||||
} else{
|
||||
cam.frame();
|
||||
cam.toOpen();
|
||||
delay(1);
|
||||
cam.toClose();
|
||||
}
|
||||
|
||||
ms = millis() - start;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,11 @@
|
|||
#include "McopySerial.h"
|
||||
|
||||
const bool DEBUG = false;
|
||||
|
||||
//const uint8_t enableButtonPin = 9; //enable feature
|
||||
//const uint8_t directionSwitchPin = 10;
|
||||
//const uint8_t cameraButtonPin = 11;
|
||||
//const uint8_t openCloseSwitchPin = 12;
|
||||
const uint8_t LEDPin = 13;
|
||||
|
||||
const uint32_t usPulse = 300;
|
||||
|
|
@ -9,9 +14,13 @@ const uint8_t microsteps = 2;
|
|||
volatile char cmdChar = 'z';
|
||||
volatile long now;
|
||||
|
||||
volatile long exposureAvg = 250; //pre-fill
|
||||
volatile long exposureAvg = 500;
|
||||
volatile String exposureString;
|
||||
volatile long exposureTarget = -1;
|
||||
|
||||
const long timedExposureCutoff = 500;
|
||||
volatile String timedExposureString;
|
||||
volatile long timedExposureTarget = -1;
|
||||
volatile long timedExposureAvg = -1;
|
||||
|
||||
volatile bool direction = true;
|
||||
|
||||
|
|
@ -19,21 +28,24 @@ EndstopCameraShield cam(usPulse, microsteps);
|
|||
McopySerial mc;
|
||||
|
||||
void setup () {
|
||||
//pinMode(directionSwitchPin, INPUT_PULLUP);
|
||||
//pinMode(openCloseSwitchPin, INPUT_PULLUP);
|
||||
//pinMode(cameraButtonPin, INPUT_PULLUP);
|
||||
|
||||
mc.begin(mc.CAMERA_IDENTIFIER);
|
||||
mc.debug(DEBUG);
|
||||
cam.setup();
|
||||
|
||||
if (cam.isOpened()) {
|
||||
mc.log("Camera is OPENED, closing...");
|
||||
cam.toClose();
|
||||
mc.log("Camera is CLOSED");
|
||||
mc.log("Camera is OPENED");
|
||||
} else if (cam.isClosed()) {
|
||||
mc.log("Camera is CLOSED");
|
||||
} else {
|
||||
mc.log("Camera is in UNKNOWN state, closing...");
|
||||
cam.toClose();
|
||||
mc.log("Camera is CLOSED");
|
||||
mc.log("Camera is in UNKNOWN state");
|
||||
}
|
||||
if (cam.isOpened()) {
|
||||
cam.toClose();
|
||||
}
|
||||
//cam.test();
|
||||
}
|
||||
|
||||
void loop () {
|
||||
|
|
@ -41,6 +53,7 @@ void loop () {
|
|||
cmdChar = mc.loop();
|
||||
cmd(cmdChar);
|
||||
cam.loop();
|
||||
//buttons();
|
||||
}
|
||||
|
||||
void cmd (char val) {
|
||||
|
|
@ -62,14 +75,19 @@ void cmd (char val) {
|
|||
}
|
||||
|
||||
void exposure () {
|
||||
exposureString = mc.getString();
|
||||
timedExposureString = mc.getString();
|
||||
parseExposureString();
|
||||
exposureAvg = exposureTarget;
|
||||
exposureAvg = timedExposureTarget;
|
||||
mc.confirm(mc.CAMERA_EXPOSURE);
|
||||
}
|
||||
|
||||
void parseExposureString () {
|
||||
exposureTarget = exposureString.toInt();
|
||||
timedExposureTarget = timedExposureString.toInt();
|
||||
timedExposureAvg = timedExposureTarget + 0;
|
||||
if (timedExposureTarget < timedExposureCutoff) {
|
||||
timedExposureTarget = -1;
|
||||
timedExposureAvg = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void camera_direction (boolean state) {
|
||||
|
|
@ -90,9 +108,14 @@ void camera () {
|
|||
long pause;
|
||||
long ms;
|
||||
|
||||
if (exposureTarget > -1) {
|
||||
if (cam.isOpened()) {
|
||||
cam.toClose();
|
||||
start = millis();
|
||||
}
|
||||
|
||||
if (timedExposureTarget > -1) {
|
||||
half = exposureAvg / 2; //assume a 180 shutter
|
||||
pause = exposureTarget - half;
|
||||
pause = timedExposureTarget - half;
|
||||
if (pause < exposureAvg) {
|
||||
cam.frame();
|
||||
} else {
|
||||
|
|
@ -103,10 +126,15 @@ void camera () {
|
|||
} else{
|
||||
cam.frame();
|
||||
}
|
||||
|
||||
ms = millis() - start;
|
||||
if (exposureTarget < 0) {
|
||||
|
||||
if (timedExposureTarget > -1) {
|
||||
updateTimedAvg(ms, half);
|
||||
} else {
|
||||
updateAvg(ms);
|
||||
}
|
||||
|
||||
mc.log("camera()");
|
||||
mc.log(String(ms) + "ms");
|
||||
mc.confirm(mc.CAMERA);
|
||||
|
|
@ -135,8 +163,8 @@ void camera_close () {
|
|||
void state () {
|
||||
String stateString = String(mc.STATE);
|
||||
stateString += String(mc.CAMERA_EXPOSURE);
|
||||
if (exposureTarget > -1) {
|
||||
stateString += String(exposureTarget);
|
||||
if (timedExposureTarget > -1) {
|
||||
stateString += String(timedExposureAvg);
|
||||
} else {
|
||||
stateString += String(exposureAvg);
|
||||
}
|
||||
|
|
@ -146,4 +174,75 @@ void state () {
|
|||
|
||||
void updateAvg (long value) {
|
||||
exposureAvg = round((exposureAvg + value) / 2);
|
||||
}
|
||||
}
|
||||
|
||||
void updateTimedAvg (long value, long half) {
|
||||
timedExposureAvg = round((timedExposureAvg + value - half) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Button/Switch logic
|
||||
**/
|
||||
/*
|
||||
void buttons () {
|
||||
int cameraButtonState = digitalRead(cameraButtonPin);
|
||||
int directionSwitchState = digitalRead(directionSwitchPin);
|
||||
int openCloseSwitchState = digitalRead(openCloseSwitchPin);
|
||||
|
||||
if (directionSwitchState == LOW && directionSwitch == false) {
|
||||
directionSwitch = true;
|
||||
} else if (directionSwitchState == HIGH && directionSwitch == true) {
|
||||
directionSwitch = false;
|
||||
}
|
||||
|
||||
if (openCloseSwitchState == LOW && openCloseSwitch == false) {
|
||||
openCloseSwitch = true;
|
||||
switch_open_close();
|
||||
} else if (openCloseSwitchState == HIGH && openCloseSwitch == true) {
|
||||
openCloseSwitch = false;
|
||||
switch_open_close();
|
||||
}
|
||||
|
||||
if (cameraButtonState == LOW) {
|
||||
button_camera();
|
||||
}
|
||||
}
|
||||
|
||||
void button_camera () {
|
||||
long start = millis();
|
||||
long ms;
|
||||
|
||||
if (direction != directionSwitch) {
|
||||
cam.setDirection(directionSwitch);
|
||||
}
|
||||
|
||||
if (cam.isOpened()) {
|
||||
cam.toClose();
|
||||
start = millis();
|
||||
}
|
||||
|
||||
cam.frame();
|
||||
ms = millis() - start;
|
||||
updateAvg(ms);
|
||||
|
||||
mc.log("button_camera()");
|
||||
|
||||
if (direction != directionSwitch) {
|
||||
cam.setDirection(direction);
|
||||
}
|
||||
}
|
||||
|
||||
void switch_open_close () {
|
||||
if (direction != directionSwitch) {
|
||||
cam.setDirection(directionSwitch);
|
||||
}
|
||||
if (openCloseSwitch && !cam.isClosed()) {
|
||||
cam.toClose();
|
||||
} else if (!openCloseSwitch && !cam.isOpened()) {
|
||||
cam.toOpen();
|
||||
}
|
||||
if (direction != directionSwitch) {
|
||||
cam.setDirection(direction);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
|
@ -58,7 +58,10 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"app/lib/capper": {},
|
||||
"app/lib/capper": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"app/lib/cfg": {},
|
||||
"app/lib/cmd": {
|
||||
"version": "1.0.0",
|
||||
|
|
@ -117,7 +120,10 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"app/lib/processing": {},
|
||||
"app/lib/processing": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"app/lib/proj": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
|
|
@ -204,6 +210,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.12.tgz",
|
||||
"integrity": "sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/core": "^0.22.12"
|
||||
}
|
||||
|
|
@ -240,6 +247,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.12.tgz",
|
||||
"integrity": "sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
},
|
||||
|
|
@ -252,6 +260,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.12.tgz",
|
||||
"integrity": "sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
},
|
||||
|
|
@ -276,6 +285,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.12.tgz",
|
||||
"integrity": "sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12",
|
||||
"tinycolor2": "^1.6.0"
|
||||
|
|
@ -319,6 +329,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.12.tgz",
|
||||
"integrity": "sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
},
|
||||
|
|
@ -442,6 +453,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.12.tgz",
|
||||
"integrity": "sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
},
|
||||
|
|
@ -454,6 +466,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.12.tgz",
|
||||
"integrity": "sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
},
|
||||
|
|
@ -469,6 +482,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.12.tgz",
|
||||
"integrity": "sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
},
|
||||
|
|
@ -680,6 +694,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz",
|
||||
"integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/linkify-it": "*",
|
||||
"@types/mdurl": "*"
|
||||
|
|
@ -1766,6 +1781,7 @@
|
|||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
|
||||
"integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1",
|
||||
"entities": "~2.1.0",
|
||||
|
|
@ -2774,6 +2790,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.12.tgz",
|
||||
"integrity": "sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/core": "^0.22.12"
|
||||
}
|
||||
|
|
@ -2804,6 +2821,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.12.tgz",
|
||||
"integrity": "sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
}
|
||||
|
|
@ -2813,6 +2831,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.12.tgz",
|
||||
"integrity": "sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
}
|
||||
|
|
@ -2831,6 +2850,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.12.tgz",
|
||||
"integrity": "sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12",
|
||||
"tinycolor2": "^1.6.0"
|
||||
|
|
@ -2859,6 +2879,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.12.tgz",
|
||||
"integrity": "sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
}
|
||||
|
|
@ -2950,6 +2971,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.12.tgz",
|
||||
"integrity": "sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
}
|
||||
|
|
@ -2959,6 +2981,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.12.tgz",
|
||||
"integrity": "sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
}
|
||||
|
|
@ -2968,6 +2991,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.12.tgz",
|
||||
"integrity": "sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@jimp/utils": "^0.22.12"
|
||||
}
|
||||
|
|
@ -3152,6 +3176,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz",
|
||||
"integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@types/linkify-it": "*",
|
||||
"@types/mdurl": "*"
|
||||
|
|
@ -4058,6 +4083,7 @@
|
|||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
|
||||
"integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"argparse": "^2.0.1",
|
||||
"entities": "~2.1.0",
|
||||
|
|
|
|||
Loading…
Reference in New Issue