diff --git a/Makefile b/Makefile
index ebc317f..caffdb0 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,6 @@ DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))
NODE_MODS := $(DIR)/node_modules
PUG := $(NODE_MODS)/.bin/pug
-STYLUS := $(NODE_MODS)/.bin/stylus
TARGET_DIR := build/http
HTML := index
@@ -16,14 +15,12 @@ GPLAN_MOD := rpi-share/camotics/gplan.so
GPLAN_TARGET := src/py/camotics/gplan.so
GPLAN_IMG := gplan-dev.img
-RSYNC_EXCLUDE := \*.pyc __pycache__ \*.egg-info \\\#* \*~ .\\\#\*
-RSYNC_EXCLUDE := $(patsubst %,--exclude %,$(RSYNC_EXCLUDE))
-RSYNC_OPTS := $(RSYNC_EXCLUDE) -rv --no-g --delete --force
+VERSION := $(shell jq -r '.version' package.json)
+PY_VERSION := $(shell jq -r '.version' package.json | sed -E 's|([0-9]+)\.([0-9]+)\.([0-9]+)(-(b)eta\.(.*))?|\1.\2.\3\5\6|g')
+PKG_NAME := dist/bbctrl-$(PY_VERSION).tar.bz2
+FINAL_PKG_NAME := dist/onefinity-$(VERSION).tar.bz2
-VERSION := $(shell sed -n 's/^.*"version": "\([^"]*\)",.*$$/\1/p' package.json)
-PKG_NAME := bbctrl-$(VERSION)
-
-SUBPROJECTS := avr boot pwr jig
+SUBPROJECTS := avr boot pwr
ifndef HOST
HOST=onefinity
@@ -38,6 +35,7 @@ all: $(HTML) $(RESOURCES)
pkg: all $(AVR_FIRMWARE) bbserial
./setup.py sdist
+ mv $(PKG_NAME) $(FINAL_PKG_NAME)
bbserial:
$(MAKE) -C src/bbserial
@@ -61,8 +59,8 @@ $(AVR_FIRMWARE):
$(MAKE) -C src/avr
update: pkg
- http_proxy= curl -i -X PUT -H "Content-Type: multipart/form-data" \
- -F "firmware=@dist/$(PKG_NAME).tar.bz2" -F "password=$(PASSWORD)" \
+ curl -i -X PUT -H "Content-Type: multipart/form-data" \
+ -F "firmware=@$(FINAL_PKG_NAME)" -F "password=$(PASSWORD)" \
http://$(HOST)/api/firmware/update
@-tput sgr0 && echo # Fix terminal output
diff --git a/installer/config/bbctrl-logrotate b/installer/config/onefinity-logrotate
similarity index 100%
rename from installer/config/bbctrl-logrotate
rename to installer/config/onefinity-logrotate
diff --git a/installer/config/bbctrl-poweroff.service b/installer/config/onefinity-poweroff.service
similarity index 100%
rename from installer/config/bbctrl-poweroff.service
rename to installer/config/onefinity-poweroff.service
diff --git a/package-lock.json b/package-lock.json
index 7585cb7..750f928 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,17 +1,19 @@
{
- "name": "bbctrl",
- "version": "1.1.0",
+ "name": "onefinity",
+ "version": "1.1.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
- "name": "bbctrl",
- "version": "1.1.0",
+ "name": "onefinity",
+ "version": "1.1.1",
"hasInstallScript": true,
"license": "GPL-3.0+",
"devDependencies": {
+ "@aws-sdk/client-ssm": "^3.168.0",
"@typescript-eslint/eslint-plugin": "^5.36.1",
"@typescript-eslint/parser": "^5.36.1",
+ "aws-cli": "^0.0.2",
"browserify": "^17.0.0",
"eslint": "^8.23.0",
"eslint-config-standard-with-typescript": "^22.0.0",
@@ -25,9 +27,1240 @@
"jstransformer-scss": "^2.0.0",
"jstransformer-stylus": "^1.5.0",
"lodash.merge": "4.6.2",
- "pug-cli": "^1.0.0-alpha6"
+ "node-fetch": "^2.6.7",
+ "pug-cli": "^1.0.0-alpha6",
+ "semver": "^7.3.7"
}
},
+ "node_modules/@aws-crypto/ie11-detection": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz",
+ "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.11.1"
+ }
+ },
+ "node_modules/@aws-crypto/sha256-browser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz",
+ "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==",
+ "dev": true,
+ "dependencies": {
+ "@aws-crypto/ie11-detection": "^2.0.0",
+ "@aws-crypto/sha256-js": "^2.0.0",
+ "@aws-crypto/supports-web-crypto": "^2.0.0",
+ "@aws-crypto/util": "^2.0.0",
+ "@aws-sdk/types": "^3.1.0",
+ "@aws-sdk/util-locate-window": "^3.0.0",
+ "@aws-sdk/util-utf8-browser": "^3.0.0",
+ "tslib": "^1.11.1"
+ }
+ },
+ "node_modules/@aws-crypto/sha256-js": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz",
+ "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==",
+ "dev": true,
+ "dependencies": {
+ "@aws-crypto/util": "^2.0.0",
+ "@aws-sdk/types": "^3.1.0",
+ "tslib": "^1.11.1"
+ }
+ },
+ "node_modules/@aws-crypto/supports-web-crypto": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz",
+ "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.11.1"
+ }
+ },
+ "node_modules/@aws-crypto/util": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz",
+ "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "^3.110.0",
+ "@aws-sdk/util-utf8-browser": "^3.0.0",
+ "tslib": "^1.11.1"
+ }
+ },
+ "node_modules/@aws-sdk/abort-controller": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.168.0.tgz",
+ "integrity": "sha512-mvFXmdoIVV3cUmPuwzzHLB1YNjxzm7sHk99zE0zvT653kc7slThLMfO5Kc1WtblXAKbE6eqPDMcA0zg6eRM1cw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/abort-controller/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/client-ssm": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.168.0.tgz",
+ "integrity": "sha512-MtRR4OrKpgUySZsiT0ms/gk4ToL4p3r7+OgICYS2hvMYbQdL0PA/ItAYNnk6IY0L6DxFBFHtkEuaskPneJudgg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/client-sts": "3.168.0",
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/credential-provider-node": "3.168.0",
+ "@aws-sdk/fetch-http-handler": "3.168.0",
+ "@aws-sdk/hash-node": "3.168.0",
+ "@aws-sdk/invalid-dependency": "3.168.0",
+ "@aws-sdk/middleware-content-length": "3.168.0",
+ "@aws-sdk/middleware-host-header": "3.168.0",
+ "@aws-sdk/middleware-logger": "3.168.0",
+ "@aws-sdk/middleware-recursion-detection": "3.168.0",
+ "@aws-sdk/middleware-retry": "3.168.0",
+ "@aws-sdk/middleware-serde": "3.168.0",
+ "@aws-sdk/middleware-signing": "3.168.0",
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/middleware-user-agent": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/node-http-handler": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/smithy-client": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "@aws-sdk/util-base64-node": "3.168.0",
+ "@aws-sdk/util-body-length-browser": "3.168.0",
+ "@aws-sdk/util-body-length-node": "3.168.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.168.0",
+ "@aws-sdk/util-defaults-mode-node": "3.168.0",
+ "@aws-sdk/util-user-agent-browser": "3.168.0",
+ "@aws-sdk/util-user-agent-node": "3.168.0",
+ "@aws-sdk/util-utf8-browser": "3.168.0",
+ "@aws-sdk/util-utf8-node": "3.168.0",
+ "@aws-sdk/util-waiter": "3.168.0",
+ "tslib": "^2.3.1",
+ "uuid": "^8.3.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-ssm/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/client-sso": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.168.0.tgz",
+ "integrity": "sha512-QOUmaHKu2K7XlAGlC9zlbldYwm0kSoJ8bJqZQqGI2xhUsSdjJDTaJUm1oOOhg2f3afsluZbCiQvttJpy+y+qnA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/fetch-http-handler": "3.168.0",
+ "@aws-sdk/hash-node": "3.168.0",
+ "@aws-sdk/invalid-dependency": "3.168.0",
+ "@aws-sdk/middleware-content-length": "3.168.0",
+ "@aws-sdk/middleware-host-header": "3.168.0",
+ "@aws-sdk/middleware-logger": "3.168.0",
+ "@aws-sdk/middleware-recursion-detection": "3.168.0",
+ "@aws-sdk/middleware-retry": "3.168.0",
+ "@aws-sdk/middleware-serde": "3.168.0",
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/middleware-user-agent": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/node-http-handler": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/smithy-client": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "@aws-sdk/util-base64-node": "3.168.0",
+ "@aws-sdk/util-body-length-browser": "3.168.0",
+ "@aws-sdk/util-body-length-node": "3.168.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.168.0",
+ "@aws-sdk/util-defaults-mode-node": "3.168.0",
+ "@aws-sdk/util-user-agent-browser": "3.168.0",
+ "@aws-sdk/util-user-agent-node": "3.168.0",
+ "@aws-sdk/util-utf8-browser": "3.168.0",
+ "@aws-sdk/util-utf8-node": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/client-sts": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.168.0.tgz",
+ "integrity": "sha512-9R6I+d6W3Qx/thQYEwVrpAYRywDLQtVWY6LhOt2NguW5GTUi/NZ7QDc6s9QyDdlZGO62DzO24UKnlpc5y4XWxQ==",
+ "dev": true,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/credential-provider-node": "3.168.0",
+ "@aws-sdk/fetch-http-handler": "3.168.0",
+ "@aws-sdk/hash-node": "3.168.0",
+ "@aws-sdk/invalid-dependency": "3.168.0",
+ "@aws-sdk/middleware-content-length": "3.168.0",
+ "@aws-sdk/middleware-host-header": "3.168.0",
+ "@aws-sdk/middleware-logger": "3.168.0",
+ "@aws-sdk/middleware-recursion-detection": "3.168.0",
+ "@aws-sdk/middleware-retry": "3.168.0",
+ "@aws-sdk/middleware-sdk-sts": "3.168.0",
+ "@aws-sdk/middleware-serde": "3.168.0",
+ "@aws-sdk/middleware-signing": "3.168.0",
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/middleware-user-agent": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/node-http-handler": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/smithy-client": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "@aws-sdk/util-base64-node": "3.168.0",
+ "@aws-sdk/util-body-length-browser": "3.168.0",
+ "@aws-sdk/util-body-length-node": "3.168.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.168.0",
+ "@aws-sdk/util-defaults-mode-node": "3.168.0",
+ "@aws-sdk/util-user-agent-browser": "3.168.0",
+ "@aws-sdk/util-user-agent-node": "3.168.0",
+ "@aws-sdk/util-utf8-browser": "3.168.0",
+ "@aws-sdk/util-utf8-node": "3.168.0",
+ "entities": "2.2.0",
+ "fast-xml-parser": "3.19.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/config-resolver": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.168.0.tgz",
+ "integrity": "sha512-eSGHsa5kDIpBtBr1HhM9n0Deb+uSyr5pvk39WPFf5CTGvIqe52Fg9s1/Jz54rDwlgsfPzufX7TrCXgUhMwb8+w==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/signature-v4": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-config-provider": "3.168.0",
+ "@aws-sdk/util-middleware": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/config-resolver/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.168.0.tgz",
+ "integrity": "sha512-dzblFOkmH0FzYuckCJYVH/d+HEGO814B0gVt0HnaIvsS5skDSDBXD+/S9AX6BAKTNBWP8BVcn7+u+oS5l7GBkQ==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-env/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-imds": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.168.0.tgz",
+ "integrity": "sha512-Ua2zTmo0eep/fGh3SL9W0ERlGRkEAiP2IEC63QbRZKK+5Xg6RIgqij7hQHvKLY78zBDd7exnU9W1AMnt9lOd1A==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-imds/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.168.0.tgz",
+ "integrity": "sha512-CYs9ctzxMHpj+alfrw2qRbej9VD8nAdhoVWm88hdtEta9GsaRvX2foNQbnkX6uoBca1AUSHdQ4d9v8dcOhQTNQ==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.168.0",
+ "@aws-sdk/credential-provider-imds": "3.168.0",
+ "@aws-sdk/credential-provider-sso": "3.168.0",
+ "@aws-sdk/credential-provider-web-identity": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-ini/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.168.0.tgz",
+ "integrity": "sha512-gGsVp68cVBntrMj6jSzDDNJIw3mp2TA18eQf5Rayl7LWZM60kqvEmhWbVRXFrLNKFcUiiTfSACGtkS/Pz60Sog==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.168.0",
+ "@aws-sdk/credential-provider-imds": "3.168.0",
+ "@aws-sdk/credential-provider-ini": "3.168.0",
+ "@aws-sdk/credential-provider-process": "3.168.0",
+ "@aws-sdk/credential-provider-sso": "3.168.0",
+ "@aws-sdk/credential-provider-web-identity": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.168.0.tgz",
+ "integrity": "sha512-Yni2S+yHLkUvDI30ZNkEOao2hSBj1eeQvWBUEJsgCFvHdlFDwOYwIueDmrBggqUISUgCLb6y/eylqeMvjN3Eyw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-process/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.168.0.tgz",
+ "integrity": "sha512-X4hv5aLcySHGB2jPl1hTQ+AhBqWsyEYyjtBvi5N1fJLbNtYQR4XwbAeU3uf/SPph+TqTzGjigb9T/sjyO2/sBg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-sso/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.168.0.tgz",
+ "integrity": "sha512-hz7wj8htY6s3/TubzH/YOd6f4bxO26GYupCTvKZlWdErLUmZ8h3hG/9xO/5kWOakD40T3MXT7HIo2rvEWg1GWw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/fetch-http-handler": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.168.0.tgz",
+ "integrity": "sha512-D4vN6zbF/RA7czw34gFhjsfOD5fkkLxLvmW8zbrJSsrex79Ju96NFuNBs7TtaV2btfXC7SkhhI/z+E81BxqRpg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/querystring-builder": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/fetch-http-handler/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/hash-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.168.0.tgz",
+ "integrity": "sha512-W2kMIuMric2Q2D4787DGubHz3Pw5fWDndM2gMjs/MB1psC/N74/ggRUIlUmsjSBFUHY1BYMfjsxe8DS9dSj77A==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-buffer-from": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/hash-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/invalid-dependency": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.168.0.tgz",
+ "integrity": "sha512-KuDn4e1XsxBQi+dAoRfSOExICq+Gt5zGA7/dI2jnfqejBNHVmJ8ksOnV/HmilFscPxdJx5POECQosf3p/N4t9w==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/invalid-dependency/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/is-array-buffer": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.168.0.tgz",
+ "integrity": "sha512-Zvt8a/g1UfvwmhxOnt/hDrFprC3+DQivFQGnzwBpv+ZyM1BfdgAruAkUZF+GtXI22DXZUumBrposCH1CcgjeIA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/is-array-buffer/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-content-length": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.168.0.tgz",
+ "integrity": "sha512-PHvoNIuXkLkBZ/0OSmFlCmA1o+RdqkNWwNm7/rIMe9cV+ZgtP9kQs+e4itibQb82veHTwG37+B7OAGa0DGqIvg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-content-length/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.168.0.tgz",
+ "integrity": "sha512-420rWpd/fsoPzRnMkyUFW1in6jpa1kbVCuewY5cqoH9uQcthrNJ0l9IgePDEMdymIMxGBfwiQERvUYogUadxrw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-host-header/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.168.0.tgz",
+ "integrity": "sha512-5xeBlHQz/iWVor04eZLTfygj5T9zvLsngrUVb8FkHDzzNqT9+QwoA0iZoT8Vq5khfZK7UE7SWm2Hi/13t9T9+w==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-logger/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.168.0.tgz",
+ "integrity": "sha512-4sr3E37PUDQSpE205d+kGcaJmZj7kE/I50qyf39U0jphk121AZXdKCWDs/T7g/d4LVJLoe6N+zzZIg4ZWVUUZw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-retry": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.168.0.tgz",
+ "integrity": "sha512-LriHTAccnfEpeV+IccbWN59JVz+De97pvmJMu5NyUUq/+c2VIJAM+n0MDbHJP6EXuKFGOAXJZf8HVC2sbnXwCw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/service-error-classification": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-middleware": "3.168.0",
+ "tslib": "^2.3.1",
+ "uuid": "^8.3.2"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-retry/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-sdk-sts": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.168.0.tgz",
+ "integrity": "sha512-uE5VYczEkoCG/G63Whp4dGKFouDjx0Jj4vZj7Z4oEQSv/eynBm1+AQAtWA4zJQfYO60lFKOSiBykv/c1hk09Mg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/middleware-signing": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/signature-v4": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-serde": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.168.0.tgz",
+ "integrity": "sha512-6z3iySqCjhV5NVEF3o++TgvK1XOBauYdZFCZk4foMxyh/wZ4MB+uIQ/D2AeHExzFGyrPjx0S0gZb4z8st6q9mA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-serde/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-signing": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.168.0.tgz",
+ "integrity": "sha512-yQme9D4bNRdrPQH50a3oJfbf+54Dm1MkW4yjwIwpRoGkxAs2T7sjc3/u/Wo/Jy3g5yzM1Ven3KU+nlKOMNOpAw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/signature-v4": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-signing/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-stack": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.168.0.tgz",
+ "integrity": "sha512-tUMa6gQFqyRC9xRy1cfQAX/K84LkFC+NAyENoDn4cbLvTJpH6tLPINFktaXLkKl2bdzGGWLHefxriBjTqZB+rg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-stack/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.168.0.tgz",
+ "integrity": "sha512-nwcWN1tz39s4IWyx1lxak/W9LdLnusQEdb+0pnJFWTCNhba3BvlAnt1sZFDwbFRmRUbU3x+hhpNB+Xub2hFttg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-user-agent/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/node-config-provider": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.168.0.tgz",
+ "integrity": "sha512-8su32ifopNLb835NudTdxyv4fQ+7Eie17MjbqnvOeWmjFAgzJyIVJjyvMI+N8Gu3dDCTxSbBh3hl++VOzL+oXg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/node-config-provider/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/node-http-handler": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.168.0.tgz",
+ "integrity": "sha512-yO68M12LUJa/bhuljSRCtLbmWvnS0eopoE3P2+xzV2JzkIg5r+bJmh/VtpDz8D2PxZhRALwBchjq8h+Po6rhcQ==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/abort-controller": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/querystring-builder": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/node-http-handler/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/property-provider": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.168.0.tgz",
+ "integrity": "sha512-syvXTexP2t9HQY3dsfpPgUP5GjFcpBVzPfxd8GjLWFRcqBCQ5frdetkAfvnhPpytL/stauXuT1xv6jcN1vBAZQ==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/property-provider/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/protocol-http": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.168.0.tgz",
+ "integrity": "sha512-5g7T5WqeU1W/TShfOYiczZFOK5svsQajjSGs1drB2DBQlbepF5YSmVbFGrfX6003h4TV9hpA6CqOjbgd59NgGA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/protocol-http/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/querystring-builder": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.168.0.tgz",
+ "integrity": "sha512-cCjdmRKf+zVc/Whc9fP3DqB6QTBz0MsJ2uGqYCWG8kqBr4W8nDZVNRVj4Q1zZjQzipU7+77xJAE8NSIl+RsubA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-uri-escape": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/querystring-builder/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/querystring-parser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.168.0.tgz",
+ "integrity": "sha512-O82vxPyoLRuqcCFxAQYuvDwOdMOaQ/hqlaC8Tw6qNE3wpJ1296M51Zgb7lPfIlSxzAc96H//Q+d1t5MViK2SFg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/querystring-parser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/service-error-classification": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.168.0.tgz",
+ "integrity": "sha512-cW1U3YMMRLukx5/Fl7NpCsaFgcDkOOZVUaW2qLghJOakt1dc6OwgtPlS7toC9A7zjMIovqYwcksHO5mCyqrPlA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/shared-ini-file-loader": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.168.0.tgz",
+ "integrity": "sha512-K97HWEySV6HJC4CLyimVuqit4FILW4BtTU62jCaEwoPvg1XPAolCzzWfLClJ0GWfyf32+o30wJj8SgHuIuN2Qw==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/signature-v4": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.168.0.tgz",
+ "integrity": "sha512-jb98UrZ4d07Wr1mUVDY1HRlbEOVoPFZ38e4k20AUEXybxhsvlQhfAfaDITFg3UwMO978m4VAsjpzw8h8WGsNQw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/is-array-buffer": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-hex-encoding": "3.168.0",
+ "@aws-sdk/util-middleware": "3.168.0",
+ "@aws-sdk/util-uri-escape": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/signature-v4/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/smithy-client": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.168.0.tgz",
+ "integrity": "sha512-B2wuTg5ymTYA7eVkt73bdRlWNWvdWNRY3QQizTWn0Ch3nOZXyVZSdH4mGmuWcpiQXEX/YYGmTLY7nCKWrk1E6Q==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/smithy-client/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/types": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.168.0.tgz",
+ "integrity": "sha512-J9VmQAakmqrdYKt3N0T/zQR6ZkfvQ7Y3WufjEWRTdslYcQ9f7UyI93Q21baCHvgcp3E5c4w62x18o6mEA/cHPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/url-parser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.168.0.tgz",
+ "integrity": "sha512-spFHA6NpsmAF3NCYyljjvl7uavHRvFDCNN32ce9RuRUXXuK8emAtwzXW95OUqtgCcyyKIA5p5p+gujrT7Npmeg==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/querystring-parser": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/url-parser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-base64-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.168.0.tgz",
+ "integrity": "sha512-awyUvPXWbV5SrpUY8vTA58RTdTnDFJJmVlCXGB8JCtWYVuAQ5FfKA/K0ZD6p+AP6AsCgHSvXCuZm8vFyZldJ2Q==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/util-base64-browser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-base64-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.168.0.tgz",
+ "integrity": "sha512-NqU7t3Fes0QngHwAZoIKeXyUZOoszEwGuerj1wZk6+Jd6X4L5NdBcBg8AA2VMyRdSFhCP+irgVRZrYSn0Ii66g==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/util-buffer-from": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-base64-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-body-length-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.168.0.tgz",
+ "integrity": "sha512-s51E8ctLKCoLqcj4a1YsIVX1sMLwf1f9lNfhnE8H7U85BeqTAtjAifdejDdFtxS4ECF95cupzN6PgqFmgdrzpQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/util-body-length-browser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-body-length-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.168.0.tgz",
+ "integrity": "sha512-vKG9iylTshwzHsVsRpx3oLDMtBvG47b3TIMGQFSuCDPEwD91+s1ORe3r+RxJIWDYJtmw5Y5ZPveYib4p4rWSUQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-body-length-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-buffer-from": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.168.0.tgz",
+ "integrity": "sha512-NDQIBdJfK95N/zewOcEJC9NqNVRXzWHrgKJTdCTW4UuRBADg3YTeDmqmNA2TUaWydQZa0ubpX3JyaKz4l3DDZw==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/is-array-buffer": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-buffer-from/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-config-provider": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.168.0.tgz",
+ "integrity": "sha512-4AyBOlV2w8fqQ1Os9khnjrsAogBN7ou0bRS1Q34Y9zwtFL+T+xhHO0pp9+Yfw+E6s2Uy3DZWbq8PWyBZze6nuw==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-config-provider/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-defaults-mode-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.168.0.tgz",
+ "integrity": "sha512-5lB9eDMkaittKbdugurzJx32quGrQar+ki3oebjJQZl4/gsDVRqOT9qwz95RVeXdEIUdA4U3T/1OgSNUT9aMyA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "bowser": "^2.11.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-defaults-mode-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.168.0.tgz",
+ "integrity": "sha512-462U5waEl495rP0WaKHXS6rrKHusMMBYvHzMzD3/gpSEwMZti0ZWLzhHNRcWp7d3uRVVdAsjF4UM6QwhJrScmA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/credential-provider-imds": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-hex-encoding": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.168.0.tgz",
+ "integrity": "sha512-KmJkd0eKXGd2z5h2N0yV6WUBqulwumq2eppv6pYrVfyQc0bBwSOYRG0NcXDvQB7rd+spbQjgbeqrHnsk34fQbQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-hex-encoding/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-locate-window": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.168.0.tgz",
+ "integrity": "sha512-bCKN6rbTTA41cqm7TYuiSkXR8peSXR/t8GioeEOExPESNgR7kuwVU4pQ2LZYjnD1HqLtz3FKKKddvBJhmqpG8Q==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-locate-window/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-middleware": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.168.0.tgz",
+ "integrity": "sha512-PInwsmxfXj4HhZytF5kZP6BYJ3mVW2QTzxSnKobkIfRnZHwBEGL74voaArfbbAfqvxzptDY6x4vo4N5Mo7M4hA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-middleware/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-uri-escape": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.168.0.tgz",
+ "integrity": "sha512-EnNdhxRif4B4PM+CQcq+2s+dRiYVBPMZHZepq6W/eSOvZfW/T8BvDjUzRW9NjGV/Ld3XKk6dMuoWmBKt7J6I7g==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-uri-escape/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.168.0.tgz",
+ "integrity": "sha512-wh3E0FXLzCbpgsi/+NQn2dK/nD//lOKAndzyPsx1uXvKAiqQCkIqAPz5fiGuSkYBZHkjvRxTNSXjL+1tJn+lVQ==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.168.0",
+ "bowser": "^2.11.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-browser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.168.0.tgz",
+ "integrity": "sha512-grL671IO1kkAD3BjofoN0SJE0ldrHjEbevIa4i9eif/Y3LIoCgmUP6tUtRzR7K9CDdjeGuvo0vJ9HfwZWH/B/g==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-utf8-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.168.0.tgz",
+ "integrity": "sha512-ZXEnVC/AcBdf2wQrITq4bkLnwiPKoBnhJwfPjZdpMHsDssKLquaHQf+QLOB/2s2U+jxl6c2Q7+rL4dv7x545Bg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-utf8-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.168.0.tgz",
+ "integrity": "sha512-m9EfLgh0QQrgJfuYowPQW2+a3f848F92cVTnCyeUtjiT59lkW9QPJhVVajRcfmNUUT4S/ikxvmkhzDzzMYH+gA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/util-buffer-from": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-utf8-node/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
+ "node_modules/@aws-sdk/util-waiter": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.168.0.tgz",
+ "integrity": "sha512-RdUapfJHeqjVeFtafKY+PLvKxEKi2IS+rt475YRoDGqzTegJLV1BO89j4wq/VWyGVljvpRI2/6RqG2Q0K/ozPA==",
+ "dev": true,
+ "dependencies": {
+ "@aws-sdk/abort-controller": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-waiter/node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ },
"node_modules/@eslint/eslintrc": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz",
@@ -270,21 +1503,6 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@typescript-eslint/parser": {
"version": "5.36.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.1.tgz",
@@ -465,21 +1683,6 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@typescript-eslint/utils": {
"version": "5.36.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.1.tgz",
@@ -827,6 +2030,33 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/aws-cli": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/aws-cli/-/aws-cli-0.0.2.tgz",
+ "integrity": "sha512-340A6bn3I5p/yc8MGQiWRofW3oUpmZ/k6LIZticzDOKWT4/F+TP54hki9SWmSS6XnvNIVAw4k9oPocq6ya4L1g==",
+ "deprecated": "Recommend using the official aws cli tools for python",
+ "dev": true,
+ "dependencies": {
+ "aws-sdk": "~2.0.0-rc13",
+ "operetta": "0.0.5"
+ },
+ "bin": {
+ "aws-cli": "bin/aws.js"
+ }
+ },
+ "node_modules/aws-sdk": {
+ "version": "2.0.31",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.31.tgz",
+ "integrity": "sha512-rgmExM3/LjhI95PfjwDs1hks/RYrQ/V3qLybFCzBqr8Y3Hz9Qq3jp+WR1BaWhUckgoVJs/ZE4VSvMKZeNwuFoA==",
+ "dev": true,
+ "dependencies": {
+ "xml2js": "0.2.6",
+ "xmlbuilder": "0.4.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -948,6 +2178,12 @@
"integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
"dev": true
},
+ "node_modules/bowser": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
+ "dev": true
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1208,21 +2444,6 @@
"semver": "^7.0.0"
}
},
- "node_modules/builtins/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/cached-path-relative": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
@@ -2291,21 +3512,6 @@
"eslint": ">=7.0.0"
}
},
- "node_modules/eslint-plugin-n/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/eslint-plugin-promise": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz",
@@ -2656,6 +3862,19 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
+ "node_modules/fast-xml-parser": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz",
+ "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==",
+ "dev": true,
+ "bin": {
+ "xml2js": "cli.js"
+ },
+ "funding": {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ },
"node_modules/fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -4172,6 +5391,26 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -4267,6 +5506,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/operetta": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/operetta/-/operetta-0.0.5.tgz",
+ "integrity": "sha512-b9E0Z5nvkHf9IQ0q7VaWpDfj/nX/pRAcMBoGh4SLrGhC2gE3BD6GwLc2qp64AsZgEwBe2gqIgBc5fqu/WDL9uQ==",
+ "dev": true,
+ "engines": [
+ "node >= 0.4.6"
+ ]
+ },
"node_modules/optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@@ -5104,12 +6352,18 @@
"dev": true
},
"node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
"semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/sha.js": {
@@ -5478,6 +6732,15 @@
"node": ">=10"
}
},
+ "node_modules/stylus/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/stylus/node_modules/source-map": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -5599,6 +6862,12 @@
"integrity": "sha512-nfjOAu/zAWmX9tgwi5NRp7O7zTDUD1miHiB40klUnAh9qnL1iXdgzcz/i5dMaL5jahcBAaSfmNOBBJBLJW8TEg==",
"dev": true
},
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true
+ },
"node_modules/tsconfig-paths": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
@@ -5809,6 +7078,15 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true
},
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
"node_modules/vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -5833,6 +7111,22 @@
"defaults": "^1.0.3"
}
},
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dev": true,
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -5992,6 +7286,30 @@
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
+ "node_modules/xml2js": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz",
+ "integrity": "sha512-h+Nzgo0eLwideldZGqSquNtrsuX5zcDREImBa1GSNw9QljlXiFcM3E1kWjLprRjJe2jRuvnVk0j3WgQo9Deoog==",
+ "dev": true,
+ "dependencies": {
+ "sax": "0.4.2"
+ }
+ },
+ "node_modules/xml2js/node_modules/sax": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-0.4.2.tgz",
+ "integrity": "sha512-6Zsl4gnHjiTQfrOzsWdc0bHJepF5KJAVuM5fcyEJrqGyszkx2c55IclWP4D692rJrl1w0tExhbvYKjKNZl5wHg==",
+ "dev": true
+ },
+ "node_modules/xmlbuilder": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz",
+ "integrity": "sha512-h/+ncQQSU/iYycmI2wTN25t7RYN7O2oq9uvI+2+UObi4KcmQh/jUS4N31g5vJttQt7MODsnmBtbcll3YbNyvfw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.2.0"
+ }
+ },
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -6033,6 +7351,1186 @@
}
},
"dependencies": {
+ "@aws-crypto/ie11-detection": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz",
+ "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.11.1"
+ }
+ },
+ "@aws-crypto/sha256-browser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz",
+ "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==",
+ "dev": true,
+ "requires": {
+ "@aws-crypto/ie11-detection": "^2.0.0",
+ "@aws-crypto/sha256-js": "^2.0.0",
+ "@aws-crypto/supports-web-crypto": "^2.0.0",
+ "@aws-crypto/util": "^2.0.0",
+ "@aws-sdk/types": "^3.1.0",
+ "@aws-sdk/util-locate-window": "^3.0.0",
+ "@aws-sdk/util-utf8-browser": "^3.0.0",
+ "tslib": "^1.11.1"
+ }
+ },
+ "@aws-crypto/sha256-js": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz",
+ "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==",
+ "dev": true,
+ "requires": {
+ "@aws-crypto/util": "^2.0.0",
+ "@aws-sdk/types": "^3.1.0",
+ "tslib": "^1.11.1"
+ }
+ },
+ "@aws-crypto/supports-web-crypto": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz",
+ "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.11.1"
+ }
+ },
+ "@aws-crypto/util": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz",
+ "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "^3.110.0",
+ "@aws-sdk/util-utf8-browser": "^3.0.0",
+ "tslib": "^1.11.1"
+ }
+ },
+ "@aws-sdk/abort-controller": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.168.0.tgz",
+ "integrity": "sha512-mvFXmdoIVV3cUmPuwzzHLB1YNjxzm7sHk99zE0zvT653kc7slThLMfO5Kc1WtblXAKbE6eqPDMcA0zg6eRM1cw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/client-ssm": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.168.0.tgz",
+ "integrity": "sha512-MtRR4OrKpgUySZsiT0ms/gk4ToL4p3r7+OgICYS2hvMYbQdL0PA/ItAYNnk6IY0L6DxFBFHtkEuaskPneJudgg==",
+ "dev": true,
+ "requires": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/client-sts": "3.168.0",
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/credential-provider-node": "3.168.0",
+ "@aws-sdk/fetch-http-handler": "3.168.0",
+ "@aws-sdk/hash-node": "3.168.0",
+ "@aws-sdk/invalid-dependency": "3.168.0",
+ "@aws-sdk/middleware-content-length": "3.168.0",
+ "@aws-sdk/middleware-host-header": "3.168.0",
+ "@aws-sdk/middleware-logger": "3.168.0",
+ "@aws-sdk/middleware-recursion-detection": "3.168.0",
+ "@aws-sdk/middleware-retry": "3.168.0",
+ "@aws-sdk/middleware-serde": "3.168.0",
+ "@aws-sdk/middleware-signing": "3.168.0",
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/middleware-user-agent": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/node-http-handler": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/smithy-client": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "@aws-sdk/util-base64-node": "3.168.0",
+ "@aws-sdk/util-body-length-browser": "3.168.0",
+ "@aws-sdk/util-body-length-node": "3.168.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.168.0",
+ "@aws-sdk/util-defaults-mode-node": "3.168.0",
+ "@aws-sdk/util-user-agent-browser": "3.168.0",
+ "@aws-sdk/util-user-agent-node": "3.168.0",
+ "@aws-sdk/util-utf8-browser": "3.168.0",
+ "@aws-sdk/util-utf8-node": "3.168.0",
+ "@aws-sdk/util-waiter": "3.168.0",
+ "tslib": "^2.3.1",
+ "uuid": "^8.3.2"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/client-sso": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.168.0.tgz",
+ "integrity": "sha512-QOUmaHKu2K7XlAGlC9zlbldYwm0kSoJ8bJqZQqGI2xhUsSdjJDTaJUm1oOOhg2f3afsluZbCiQvttJpy+y+qnA==",
+ "dev": true,
+ "requires": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/fetch-http-handler": "3.168.0",
+ "@aws-sdk/hash-node": "3.168.0",
+ "@aws-sdk/invalid-dependency": "3.168.0",
+ "@aws-sdk/middleware-content-length": "3.168.0",
+ "@aws-sdk/middleware-host-header": "3.168.0",
+ "@aws-sdk/middleware-logger": "3.168.0",
+ "@aws-sdk/middleware-recursion-detection": "3.168.0",
+ "@aws-sdk/middleware-retry": "3.168.0",
+ "@aws-sdk/middleware-serde": "3.168.0",
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/middleware-user-agent": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/node-http-handler": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/smithy-client": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "@aws-sdk/util-base64-node": "3.168.0",
+ "@aws-sdk/util-body-length-browser": "3.168.0",
+ "@aws-sdk/util-body-length-node": "3.168.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.168.0",
+ "@aws-sdk/util-defaults-mode-node": "3.168.0",
+ "@aws-sdk/util-user-agent-browser": "3.168.0",
+ "@aws-sdk/util-user-agent-node": "3.168.0",
+ "@aws-sdk/util-utf8-browser": "3.168.0",
+ "@aws-sdk/util-utf8-node": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/client-sts": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.168.0.tgz",
+ "integrity": "sha512-9R6I+d6W3Qx/thQYEwVrpAYRywDLQtVWY6LhOt2NguW5GTUi/NZ7QDc6s9QyDdlZGO62DzO24UKnlpc5y4XWxQ==",
+ "dev": true,
+ "requires": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/credential-provider-node": "3.168.0",
+ "@aws-sdk/fetch-http-handler": "3.168.0",
+ "@aws-sdk/hash-node": "3.168.0",
+ "@aws-sdk/invalid-dependency": "3.168.0",
+ "@aws-sdk/middleware-content-length": "3.168.0",
+ "@aws-sdk/middleware-host-header": "3.168.0",
+ "@aws-sdk/middleware-logger": "3.168.0",
+ "@aws-sdk/middleware-recursion-detection": "3.168.0",
+ "@aws-sdk/middleware-retry": "3.168.0",
+ "@aws-sdk/middleware-sdk-sts": "3.168.0",
+ "@aws-sdk/middleware-serde": "3.168.0",
+ "@aws-sdk/middleware-signing": "3.168.0",
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/middleware-user-agent": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/node-http-handler": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/smithy-client": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "@aws-sdk/util-base64-node": "3.168.0",
+ "@aws-sdk/util-body-length-browser": "3.168.0",
+ "@aws-sdk/util-body-length-node": "3.168.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.168.0",
+ "@aws-sdk/util-defaults-mode-node": "3.168.0",
+ "@aws-sdk/util-user-agent-browser": "3.168.0",
+ "@aws-sdk/util-user-agent-node": "3.168.0",
+ "@aws-sdk/util-utf8-browser": "3.168.0",
+ "@aws-sdk/util-utf8-node": "3.168.0",
+ "entities": "2.2.0",
+ "fast-xml-parser": "3.19.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true
+ },
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/config-resolver": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.168.0.tgz",
+ "integrity": "sha512-eSGHsa5kDIpBtBr1HhM9n0Deb+uSyr5pvk39WPFf5CTGvIqe52Fg9s1/Jz54rDwlgsfPzufX7TrCXgUhMwb8+w==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/signature-v4": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-config-provider": "3.168.0",
+ "@aws-sdk/util-middleware": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-env": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.168.0.tgz",
+ "integrity": "sha512-dzblFOkmH0FzYuckCJYVH/d+HEGO814B0gVt0HnaIvsS5skDSDBXD+/S9AX6BAKTNBWP8BVcn7+u+oS5l7GBkQ==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-imds": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.168.0.tgz",
+ "integrity": "sha512-Ua2zTmo0eep/fGh3SL9W0ERlGRkEAiP2IEC63QbRZKK+5Xg6RIgqij7hQHvKLY78zBDd7exnU9W1AMnt9lOd1A==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/url-parser": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-ini": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.168.0.tgz",
+ "integrity": "sha512-CYs9ctzxMHpj+alfrw2qRbej9VD8nAdhoVWm88hdtEta9GsaRvX2foNQbnkX6uoBca1AUSHdQ4d9v8dcOhQTNQ==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/credential-provider-env": "3.168.0",
+ "@aws-sdk/credential-provider-imds": "3.168.0",
+ "@aws-sdk/credential-provider-sso": "3.168.0",
+ "@aws-sdk/credential-provider-web-identity": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.168.0.tgz",
+ "integrity": "sha512-gGsVp68cVBntrMj6jSzDDNJIw3mp2TA18eQf5Rayl7LWZM60kqvEmhWbVRXFrLNKFcUiiTfSACGtkS/Pz60Sog==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/credential-provider-env": "3.168.0",
+ "@aws-sdk/credential-provider-imds": "3.168.0",
+ "@aws-sdk/credential-provider-ini": "3.168.0",
+ "@aws-sdk/credential-provider-process": "3.168.0",
+ "@aws-sdk/credential-provider-sso": "3.168.0",
+ "@aws-sdk/credential-provider-web-identity": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-process": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.168.0.tgz",
+ "integrity": "sha512-Yni2S+yHLkUvDI30ZNkEOao2hSBj1eeQvWBUEJsgCFvHdlFDwOYwIueDmrBggqUISUgCLb6y/eylqeMvjN3Eyw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-sso": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.168.0.tgz",
+ "integrity": "sha512-X4hv5aLcySHGB2jPl1hTQ+AhBqWsyEYyjtBvi5N1fJLbNtYQR4XwbAeU3uf/SPph+TqTzGjigb9T/sjyO2/sBg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/client-sso": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/credential-provider-web-identity": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.168.0.tgz",
+ "integrity": "sha512-hz7wj8htY6s3/TubzH/YOd6f4bxO26GYupCTvKZlWdErLUmZ8h3hG/9xO/5kWOakD40T3MXT7HIo2rvEWg1GWw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/fetch-http-handler": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.168.0.tgz",
+ "integrity": "sha512-D4vN6zbF/RA7czw34gFhjsfOD5fkkLxLvmW8zbrJSsrex79Ju96NFuNBs7TtaV2btfXC7SkhhI/z+E81BxqRpg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/querystring-builder": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-base64-browser": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/hash-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.168.0.tgz",
+ "integrity": "sha512-W2kMIuMric2Q2D4787DGubHz3Pw5fWDndM2gMjs/MB1psC/N74/ggRUIlUmsjSBFUHY1BYMfjsxe8DS9dSj77A==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-buffer-from": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/invalid-dependency": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.168.0.tgz",
+ "integrity": "sha512-KuDn4e1XsxBQi+dAoRfSOExICq+Gt5zGA7/dI2jnfqejBNHVmJ8ksOnV/HmilFscPxdJx5POECQosf3p/N4t9w==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/is-array-buffer": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.168.0.tgz",
+ "integrity": "sha512-Zvt8a/g1UfvwmhxOnt/hDrFprC3+DQivFQGnzwBpv+ZyM1BfdgAruAkUZF+GtXI22DXZUumBrposCH1CcgjeIA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-content-length": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.168.0.tgz",
+ "integrity": "sha512-PHvoNIuXkLkBZ/0OSmFlCmA1o+RdqkNWwNm7/rIMe9cV+ZgtP9kQs+e4itibQb82veHTwG37+B7OAGa0DGqIvg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-host-header": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.168.0.tgz",
+ "integrity": "sha512-420rWpd/fsoPzRnMkyUFW1in6jpa1kbVCuewY5cqoH9uQcthrNJ0l9IgePDEMdymIMxGBfwiQERvUYogUadxrw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-logger": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.168.0.tgz",
+ "integrity": "sha512-5xeBlHQz/iWVor04eZLTfygj5T9zvLsngrUVb8FkHDzzNqT9+QwoA0iZoT8Vq5khfZK7UE7SWm2Hi/13t9T9+w==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-recursion-detection": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.168.0.tgz",
+ "integrity": "sha512-4sr3E37PUDQSpE205d+kGcaJmZj7kE/I50qyf39U0jphk121AZXdKCWDs/T7g/d4LVJLoe6N+zzZIg4ZWVUUZw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-retry": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.168.0.tgz",
+ "integrity": "sha512-LriHTAccnfEpeV+IccbWN59JVz+De97pvmJMu5NyUUq/+c2VIJAM+n0MDbHJP6EXuKFGOAXJZf8HVC2sbnXwCw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/service-error-classification": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-middleware": "3.168.0",
+ "tslib": "^2.3.1",
+ "uuid": "^8.3.2"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-sdk-sts": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.168.0.tgz",
+ "integrity": "sha512-uE5VYczEkoCG/G63Whp4dGKFouDjx0Jj4vZj7Z4oEQSv/eynBm1+AQAtWA4zJQfYO60lFKOSiBykv/c1hk09Mg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/middleware-signing": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/signature-v4": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-serde": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.168.0.tgz",
+ "integrity": "sha512-6z3iySqCjhV5NVEF3o++TgvK1XOBauYdZFCZk4foMxyh/wZ4MB+uIQ/D2AeHExzFGyrPjx0S0gZb4z8st6q9mA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-signing": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.168.0.tgz",
+ "integrity": "sha512-yQme9D4bNRdrPQH50a3oJfbf+54Dm1MkW4yjwIwpRoGkxAs2T7sjc3/u/Wo/Jy3g5yzM1Ven3KU+nlKOMNOpAw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/signature-v4": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-stack": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.168.0.tgz",
+ "integrity": "sha512-tUMa6gQFqyRC9xRy1cfQAX/K84LkFC+NAyENoDn4cbLvTJpH6tLPINFktaXLkKl2bdzGGWLHefxriBjTqZB+rg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/middleware-user-agent": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.168.0.tgz",
+ "integrity": "sha512-nwcWN1tz39s4IWyx1lxak/W9LdLnusQEdb+0pnJFWTCNhba3BvlAnt1sZFDwbFRmRUbU3x+hhpNB+Xub2hFttg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/node-config-provider": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.168.0.tgz",
+ "integrity": "sha512-8su32ifopNLb835NudTdxyv4fQ+7Eie17MjbqnvOeWmjFAgzJyIVJjyvMI+N8Gu3dDCTxSbBh3hl++VOzL+oXg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/shared-ini-file-loader": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/node-http-handler": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.168.0.tgz",
+ "integrity": "sha512-yO68M12LUJa/bhuljSRCtLbmWvnS0eopoE3P2+xzV2JzkIg5r+bJmh/VtpDz8D2PxZhRALwBchjq8h+Po6rhcQ==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/abort-controller": "3.168.0",
+ "@aws-sdk/protocol-http": "3.168.0",
+ "@aws-sdk/querystring-builder": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/property-provider": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.168.0.tgz",
+ "integrity": "sha512-syvXTexP2t9HQY3dsfpPgUP5GjFcpBVzPfxd8GjLWFRcqBCQ5frdetkAfvnhPpytL/stauXuT1xv6jcN1vBAZQ==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/protocol-http": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.168.0.tgz",
+ "integrity": "sha512-5g7T5WqeU1W/TShfOYiczZFOK5svsQajjSGs1drB2DBQlbepF5YSmVbFGrfX6003h4TV9hpA6CqOjbgd59NgGA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/querystring-builder": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.168.0.tgz",
+ "integrity": "sha512-cCjdmRKf+zVc/Whc9fP3DqB6QTBz0MsJ2uGqYCWG8kqBr4W8nDZVNRVj4Q1zZjQzipU7+77xJAE8NSIl+RsubA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-uri-escape": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/querystring-parser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.168.0.tgz",
+ "integrity": "sha512-O82vxPyoLRuqcCFxAQYuvDwOdMOaQ/hqlaC8Tw6qNE3wpJ1296M51Zgb7lPfIlSxzAc96H//Q+d1t5MViK2SFg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/service-error-classification": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.168.0.tgz",
+ "integrity": "sha512-cW1U3YMMRLukx5/Fl7NpCsaFgcDkOOZVUaW2qLghJOakt1dc6OwgtPlS7toC9A7zjMIovqYwcksHO5mCyqrPlA==",
+ "dev": true
+ },
+ "@aws-sdk/shared-ini-file-loader": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.168.0.tgz",
+ "integrity": "sha512-K97HWEySV6HJC4CLyimVuqit4FILW4BtTU62jCaEwoPvg1XPAolCzzWfLClJ0GWfyf32+o30wJj8SgHuIuN2Qw==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/signature-v4": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.168.0.tgz",
+ "integrity": "sha512-jb98UrZ4d07Wr1mUVDY1HRlbEOVoPFZ38e4k20AUEXybxhsvlQhfAfaDITFg3UwMO978m4VAsjpzw8h8WGsNQw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/is-array-buffer": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "@aws-sdk/util-hex-encoding": "3.168.0",
+ "@aws-sdk/util-middleware": "3.168.0",
+ "@aws-sdk/util-uri-escape": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/smithy-client": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.168.0.tgz",
+ "integrity": "sha512-B2wuTg5ymTYA7eVkt73bdRlWNWvdWNRY3QQizTWn0Ch3nOZXyVZSdH4mGmuWcpiQXEX/YYGmTLY7nCKWrk1E6Q==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/middleware-stack": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/types": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.168.0.tgz",
+ "integrity": "sha512-J9VmQAakmqrdYKt3N0T/zQR6ZkfvQ7Y3WufjEWRTdslYcQ9f7UyI93Q21baCHvgcp3E5c4w62x18o6mEA/cHPQ==",
+ "dev": true
+ },
+ "@aws-sdk/url-parser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.168.0.tgz",
+ "integrity": "sha512-spFHA6NpsmAF3NCYyljjvl7uavHRvFDCNN32ce9RuRUXXuK8emAtwzXW95OUqtgCcyyKIA5p5p+gujrT7Npmeg==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/querystring-parser": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-base64-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.168.0.tgz",
+ "integrity": "sha512-awyUvPXWbV5SrpUY8vTA58RTdTnDFJJmVlCXGB8JCtWYVuAQ5FfKA/K0ZD6p+AP6AsCgHSvXCuZm8vFyZldJ2Q==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-base64-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.168.0.tgz",
+ "integrity": "sha512-NqU7t3Fes0QngHwAZoIKeXyUZOoszEwGuerj1wZk6+Jd6X4L5NdBcBg8AA2VMyRdSFhCP+irgVRZrYSn0Ii66g==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/util-buffer-from": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-body-length-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.168.0.tgz",
+ "integrity": "sha512-s51E8ctLKCoLqcj4a1YsIVX1sMLwf1f9lNfhnE8H7U85BeqTAtjAifdejDdFtxS4ECF95cupzN6PgqFmgdrzpQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-body-length-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.168.0.tgz",
+ "integrity": "sha512-vKG9iylTshwzHsVsRpx3oLDMtBvG47b3TIMGQFSuCDPEwD91+s1ORe3r+RxJIWDYJtmw5Y5ZPveYib4p4rWSUQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-buffer-from": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.168.0.tgz",
+ "integrity": "sha512-NDQIBdJfK95N/zewOcEJC9NqNVRXzWHrgKJTdCTW4UuRBADg3YTeDmqmNA2TUaWydQZa0ubpX3JyaKz4l3DDZw==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/is-array-buffer": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-config-provider": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.168.0.tgz",
+ "integrity": "sha512-4AyBOlV2w8fqQ1Os9khnjrsAogBN7ou0bRS1Q34Y9zwtFL+T+xhHO0pp9+Yfw+E6s2Uy3DZWbq8PWyBZze6nuw==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-defaults-mode-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.168.0.tgz",
+ "integrity": "sha512-5lB9eDMkaittKbdugurzJx32quGrQar+ki3oebjJQZl4/gsDVRqOT9qwz95RVeXdEIUdA4U3T/1OgSNUT9aMyA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "bowser": "^2.11.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-defaults-mode-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.168.0.tgz",
+ "integrity": "sha512-462U5waEl495rP0WaKHXS6rrKHusMMBYvHzMzD3/gpSEwMZti0ZWLzhHNRcWp7d3uRVVdAsjF4UM6QwhJrScmA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/config-resolver": "3.168.0",
+ "@aws-sdk/credential-provider-imds": "3.168.0",
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/property-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-hex-encoding": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.168.0.tgz",
+ "integrity": "sha512-KmJkd0eKXGd2z5h2N0yV6WUBqulwumq2eppv6pYrVfyQc0bBwSOYRG0NcXDvQB7rd+spbQjgbeqrHnsk34fQbQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-locate-window": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.168.0.tgz",
+ "integrity": "sha512-bCKN6rbTTA41cqm7TYuiSkXR8peSXR/t8GioeEOExPESNgR7kuwVU4pQ2LZYjnD1HqLtz3FKKKddvBJhmqpG8Q==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-middleware": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.168.0.tgz",
+ "integrity": "sha512-PInwsmxfXj4HhZytF5kZP6BYJ3mVW2QTzxSnKobkIfRnZHwBEGL74voaArfbbAfqvxzptDY6x4vo4N5Mo7M4hA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-uri-escape": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.168.0.tgz",
+ "integrity": "sha512-EnNdhxRif4B4PM+CQcq+2s+dRiYVBPMZHZepq6W/eSOvZfW/T8BvDjUzRW9NjGV/Ld3XKk6dMuoWmBKt7J6I7g==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-user-agent-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.168.0.tgz",
+ "integrity": "sha512-wh3E0FXLzCbpgsi/+NQn2dK/nD//lOKAndzyPsx1uXvKAiqQCkIqAPz5fiGuSkYBZHkjvRxTNSXjL+1tJn+lVQ==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/types": "3.168.0",
+ "bowser": "^2.11.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-user-agent-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.168.0.tgz",
+ "integrity": "sha512-grL671IO1kkAD3BjofoN0SJE0ldrHjEbevIa4i9eif/Y3LIoCgmUP6tUtRzR7K9CDdjeGuvo0vJ9HfwZWH/B/g==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/node-config-provider": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-utf8-browser": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.168.0.tgz",
+ "integrity": "sha512-ZXEnVC/AcBdf2wQrITq4bkLnwiPKoBnhJwfPjZdpMHsDssKLquaHQf+QLOB/2s2U+jxl6c2Q7+rL4dv7x545Bg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-utf8-node": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.168.0.tgz",
+ "integrity": "sha512-m9EfLgh0QQrgJfuYowPQW2+a3f848F92cVTnCyeUtjiT59lkW9QPJhVVajRcfmNUUT4S/ikxvmkhzDzzMYH+gA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/util-buffer-from": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
+ "@aws-sdk/util-waiter": {
+ "version": "3.168.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.168.0.tgz",
+ "integrity": "sha512-RdUapfJHeqjVeFtafKY+PLvKxEKi2IS+rt475YRoDGqzTegJLV1BO89j4wq/VWyGVljvpRI2/6RqG2Q0K/ozPA==",
+ "dev": true,
+ "requires": {
+ "@aws-sdk/abort-controller": "3.168.0",
+ "@aws-sdk/types": "3.168.0",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "dev": true
+ }
+ }
+ },
"@eslint/eslintrc": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz",
@@ -6203,15 +8701,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
}
}
},
@@ -6318,15 +8807,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
}
}
},
@@ -6589,6 +9069,26 @@
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
"dev": true
},
+ "aws-cli": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/aws-cli/-/aws-cli-0.0.2.tgz",
+ "integrity": "sha512-340A6bn3I5p/yc8MGQiWRofW3oUpmZ/k6LIZticzDOKWT4/F+TP54hki9SWmSS6XnvNIVAw4k9oPocq6ya4L1g==",
+ "dev": true,
+ "requires": {
+ "aws-sdk": "~2.0.0-rc13",
+ "operetta": "0.0.5"
+ }
+ },
+ "aws-sdk": {
+ "version": "2.0.31",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.31.tgz",
+ "integrity": "sha512-rgmExM3/LjhI95PfjwDs1hks/RYrQ/V3qLybFCzBqr8Y3Hz9Qq3jp+WR1BaWhUckgoVJs/ZE4VSvMKZeNwuFoA==",
+ "dev": true,
+ "requires": {
+ "xml2js": "0.2.6",
+ "xmlbuilder": "0.4.2"
+ }
+ },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -6675,6 +9175,12 @@
"integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
"dev": true
},
+ "bowser": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
+ "dev": true
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -6916,17 +9422,6 @@
"dev": true,
"requires": {
"semver": "^7.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
}
},
"cached-path-relative": {
@@ -7889,17 +10384,6 @@
"minimatch": "^3.1.2",
"resolve": "^1.22.1",
"semver": "^7.3.7"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
}
},
"eslint-plugin-promise": {
@@ -8071,6 +10555,12 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
+ "fast-xml-parser": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz",
+ "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==",
+ "dev": true
+ },
"fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -9225,6 +11715,15 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
+ },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -9290,6 +11789,12 @@
"mimic-fn": "^2.1.0"
}
},
+ "operetta": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/operetta/-/operetta-0.0.5.tgz",
+ "integrity": "sha512-b9E0Z5nvkHf9IQ0q7VaWpDfj/nX/pRAcMBoGh4SLrGhC2gE3BD6GwLc2qp64AsZgEwBe2gqIgBc5fqu/WDL9uQ==",
+ "dev": true
+ },
"optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@@ -9948,10 +12453,13 @@
"dev": true
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
},
"sha.js": {
"version": "2.4.11",
@@ -10237,6 +12745,12 @@
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
"source-map": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -10336,6 +12850,12 @@
"integrity": "sha512-nfjOAu/zAWmX9tgwi5NRp7O7zTDUD1miHiB40klUnAh9qnL1iXdgzcz/i5dMaL5jahcBAaSfmNOBBJBLJW8TEg==",
"dev": true
},
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true
+ },
"tsconfig-paths": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
@@ -10507,6 +13027,12 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true
},
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true
+ },
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -10528,6 +13054,22 @@
"defaults": "^1.0.3"
}
},
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dev": true,
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -10643,6 +13185,29 @@
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
+ "xml2js": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz",
+ "integrity": "sha512-h+Nzgo0eLwideldZGqSquNtrsuX5zcDREImBa1GSNw9QljlXiFcM3E1kWjLprRjJe2jRuvnVk0j3WgQo9Deoog==",
+ "dev": true,
+ "requires": {
+ "sax": "0.4.2"
+ },
+ "dependencies": {
+ "sax": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-0.4.2.tgz",
+ "integrity": "sha512-6Zsl4gnHjiTQfrOzsWdc0bHJepF5KJAVuM5fcyEJrqGyszkx2c55IclWP4D692rJrl1w0tExhbvYKjKNZl5wHg==",
+ "dev": true
+ }
+ }
+ },
+ "xmlbuilder": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz",
+ "integrity": "sha512-h/+ncQQSU/iYycmI2wTN25t7RYN7O2oq9uvI+2+UObi4KcmQh/jUS4N31g5vJttQt7MODsnmBtbcll3YbNyvfw==",
+ "dev": true
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
diff --git a/package.json b/package.json
index 92c287a..5ef81b4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
- "name": "bbctrl",
- "version": "1.1.0",
+ "name": "onefinity",
+ "version": "1.1.1",
"homepage": "https://onefinitycnc.com/",
"repository": "https://github.com/OneFinityCNC/onefinity",
"license": "GPL-3.0+",
@@ -8,8 +8,10 @@
"postinstall": "cd src/svelte-components && npm i"
},
"devDependencies": {
+ "@aws-sdk/client-ssm": "^3.168.0",
"@typescript-eslint/eslint-plugin": "^5.36.1",
"@typescript-eslint/parser": "^5.36.1",
+ "aws-cli": "^0.0.2",
"browserify": "^17.0.0",
"eslint": "^8.23.0",
"eslint-config-standard-with-typescript": "^22.0.0",
@@ -23,6 +25,8 @@
"jstransformer-scss": "^2.0.0",
"jstransformer-stylus": "^1.5.0",
"lodash.merge": "4.6.2",
- "pug-cli": "^1.0.0-alpha6"
+ "node-fetch": "^2.6.7",
+ "pug-cli": "^1.0.0-alpha6",
+ "semver": "^7.3.7"
}
}
\ No newline at end of file
diff --git a/scripts/create-sdcard-image.js b/scripts/create-sdcard-image.js
index 88fdc10..24ae6d7 100755
--- a/scripts/create-sdcard-image.js
+++ b/scripts/create-sdcard-image.js
@@ -14,8 +14,9 @@ async function main() {
const { uid } = statSync(".");
- const devices = runCommand("df -T msdos")
+ const devices = runCommand("df -H -T msdos")
.split("\n")
+ .filter(line => !line.includes("Filesystem"))
.map(line => {
const [ disk ] = line.split(/\s+/);
return {
@@ -38,5 +39,5 @@ async function main() {
runCommand(`dd if=${device} of=${IMAGE_FILENAME} status=progress`, {
stdio: "inherit"
});
- runCommand(`chown ${uid} 1f.img`);
+ runCommand(`chown ${uid} ${IMAGE_FILENAME}`);
}
diff --git a/scripts/install.sh b/scripts/install.sh
index d9eaa1e..340e90f 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -4,6 +4,15 @@ UPDATE_AVR=true
UPDATE_PY=true
REBOOT=false
+remove_services() {
+ for service in "$@"
+ do
+ systemctl stop "${service}.service"
+ systemctl disable "${service}.service"
+ find /etc/systemd -name "${service}.service" -exec rm -f {} \;
+ done
+}
+
while [ $# -gt 0 ]; do
case "$1" in
--no-avr) UPDATE_AVR=false ;;
@@ -27,7 +36,13 @@ if $UPDATE_AVR; then
./installer/scripts/avr109-flash.py src/avr/bbctrl-avr-firmware.hex
fi
-# Update config.txt
+# Set a default time-zone, if one has not been set
+timedatectl | grep 'Time zone: Etc/UTC' >/dev/null
+if [ $? -eq 0 ]; then
+ timedatectl set-timezone America/Los_Angeles
+fi
+
+# Update /boot/config.txt
./installer/scripts/edit-boot-config \
disable_overscan=1 \
framebuffer_width=1280 \
@@ -85,6 +100,8 @@ if [ $? -ne 0 ]; then
update-locale en_US.UTF-8
fi
+localectl set-locale LC_TIME=en_US.UTF-8
+
# Setup USB stick automount
diff ./installer/config/11-automount.rules /etc/udev/rules.d/11-automount.rules >/dev/null
if [ $? -ne 0 ]; then
@@ -177,9 +194,10 @@ if $UPDATE_PY; then
fi
# Install the service that turns off the screen during shutdown
-cp ./installer/config/bbctrl-poweroff.service /etc/systemd/system/
+remove_services bbctrl-poweroff onefinity-poweroff
+cp ./installer/config/onefinity-poweroff.service /etc/systemd/system/
systemctl daemon-reload
-systemctl enable bbctrl-poweroff
+systemctl enable onefinity-poweroff
# Expand the file system if necessary
chmod +x ./installer/scripts/resize_root_fs.sh
@@ -189,8 +207,9 @@ if [ $? -eq 0 ]; then
fi
# Install our logrotate config
-cp ./installer/config/bbctrl-logrotate /etc/logrotate.d/bbctrl
-chown root:root /etc/logrotate.d/bbctrl
+rm -f /etc/logrotate.d/{bbctrl,onefinity}
+cp ./installer/config/onefinity-logrotate /etc/logrotate.d/onefinity
+chown root:root /etc/logrotate.d/onefinity
# Ensure logrotate runs on every boot (for systems with no network, thus bad clock)
if [ ! -e /etc/cron.d/reboot ]; then
diff --git a/scripts/next-rc b/scripts/next-rc
deleted file mode 100755
index 2edc50a..0000000
--- a/scripts/next-rc
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-import json
-
-if os.path.exists('dist/latest-beta.txt'):
- with open('dist/latest-beta.txt', 'r') as f:
- latest_beta = f.read().strip()
-
-else: latest_beta = ''
-
-with open('package.json', 'r') as f:
- version = json.load(f)['version']
-
-if latest_beta.startswith(version + '-rc'):
- print(int(latest_beta[len(version) + 3:]) + 1)
-
-else:
- print(1)
diff --git a/scripts/prep-controller-for-imaging.js b/scripts/prep-controller-for-imaging.js
index 3616c52..0bdd682 100755
--- a/scripts/prep-controller-for-imaging.js
+++ b/scripts/prep-controller-for-imaging.js
@@ -4,6 +4,7 @@ const inquirer = require("inquirer");
const { runCommand, logErrorAndExit, initSignalHandlers, assertInstalled, info } = require("./util");
const PACKAGES_TO_PURGE = [
+ "aptitude",
"dphys-swapfile",
"gdb",
"geoip-database",
@@ -47,6 +48,7 @@ async function main() {
});
ssh("apt-get update");
+ ssh("apt-get install usbutils");
ssh(`apt-get purge -y ${PACKAGES_TO_PURGE.join(" ")}`);
ssh("apt-get autoremove -y");
ssh("touch /root/.prep-controller-completed");
diff --git a/scripts/prep-sd-image.js b/scripts/prep-sd-image.js
index a85c6e8..72ac36f 100755
--- a/scripts/prep-sd-image.js
+++ b/scripts/prep-sd-image.js
@@ -50,6 +50,7 @@ const REQUIRED_TOOLS = [
];
const SYSTEM_FILES = [
+ "/media/*",
"/tmp/*",
"/usr/**/__pycache__",
"/usr/**/*.py[co]",
diff --git a/scripts/support.js b/scripts/support.js
new file mode 100755
index 0000000..41fda70
--- /dev/null
+++ b/scripts/support.js
@@ -0,0 +1,214 @@
+#!/usr/bin/env node
+
+const inquirer = require("inquirer");
+const { SSM } = require("@aws-sdk/client-ssm");
+const { initSignalHandlers } = require("./util");
+const fetch = require("node-fetch");
+
+let ssm;
+
+initSignalHandlers();
+main();
+
+async function main() {
+ await getAWSCredentials();
+
+ // eslint-disable-next-line no-constant-condition
+ while (true) {
+ const { command } = await inquirer.prompt({
+ type: "list",
+ name: "command",
+ choices: [
+ "code",
+ "info",
+ "disconnect"
+ ]
+ });
+
+ switch (command) {
+ case "code":
+ await commandCode();
+ break;
+
+ case "info":
+ await commandInfo();
+ break;
+
+ case "disconnect":
+ await commandDisconnect();
+ break;
+ }
+ }
+}
+
+async function commandCode() {
+ const tunnels = await loadTunnels();
+
+ if (tunnels?.length) {
+ console.log("There are active tunnels. Disconnect first.");
+ return;
+ }
+
+ await updateNgrokAuthToken();
+
+ const code = `000000${Math.random() * 999999}`.slice(-6);
+ await saveParam("code", code);
+
+ console.log(`The code is: ${code}`);
+}
+
+async function commandInfo() {
+ const tunnels = await loadTunnels();
+
+ if (!tunnels.length) {
+ console.log("There are no tunnels!");
+ return;
+ }
+
+ const webTunnel = tunnels.find(tunnel => tunnel.proto === "https");
+ const sshTunnel = tunnels.find(tunnel => tunnel.proto === "tcp");
+ const [ , host, port ] = sshTunnel.public_url.match(/tcp:\/\/([^:]+):(\d+)/);
+
+ console.log("Connection info:");
+ console.log(webTunnel.public_url);
+ console.log(`ssh bbmc@${host} -p ${port}`);
+ console.log();
+}
+
+async function commandDisconnect() {
+ const tunnels = await loadTunnels();
+
+ if (!tunnels.length) {
+ console.log("There are no tunnels!");
+ return;
+ }
+
+ const webTunnel = tunnels.find(tunnel => tunnel.proto === "https");
+
+ const response = await fetch(`${webTunnel.public_url}/api/remote-diagnostics?command=disconnect`, {
+ headers: {
+ Authorization: `Basic ${Buffer.from("onefinity:onefinity").toString("base64")}`
+ }
+ });
+
+ console.log();
+ console.log(await response.text());
+ console.log();
+ console.log("We now need a new ngrok auth token.");
+
+ await promptForNewAuthToken();
+}
+
+async function updateNgrokAuthToken() {
+ const storedAuthToken = await loadParam("ngrok-auth-token", "");
+
+ const apiKey = await loadParam("ngrok-api-key");
+ const response = await fetch("https://api.ngrok.com/credentials", {
+ headers: {
+ "Authorization": `Bearer ${apiKey}`,
+ "Ngrok-Version": "2"
+ }
+ });
+
+ const result = await response.json();
+ let authToken = result.credentials[0].token;
+
+ if (authToken === storedAuthToken) {
+ console.warn("The nGrok AuthToken is stale.");
+
+ const { ignore } = await inquirer.prompt({
+ type: "confirm",
+ name: "ignore"
+ });
+
+ if (!ignore) {
+ authToken = await promptForNewAuthToken();
+ }
+ }
+
+ await saveParam("ngrok-auth-token", authToken);
+}
+
+async function promptForNewAuthToken() {
+ console.warn("To re-issue, visit: https://dashboard.ngrok.com/get-started/your-authtoken");
+ const { newAuthToken } = await inquirer.prompt({
+ type: "input",
+ name: "newAuthToken"
+ });
+
+ return newAuthToken;
+}
+
+function getParamName(name) {
+ return `/onefinity-support/${name}`;
+}
+
+async function loadParam(name, defaultValue = undefined) {
+ name = getParamName(name);
+
+ try {
+ const response = await ssm.getParameter({ Name: name });
+ return response.Parameter.Value;
+ } catch (error) {
+ if (error.name !== "ParameterNotFound") {
+ console.log(`Error getting parameter "${name}"`, JSON.stringify({
+ name: error.name,
+ message: error.message,
+ stack: error.stack,
+ cause: error.cause
+ }, null, 4));
+ }
+
+ if (defaultValue === undefined) {
+ throw error;
+ }
+
+ return defaultValue;
+ }
+}
+
+async function saveParam(name, value) {
+ await ssm.putParameter({
+ Name: getParamName(name),
+ Value: value,
+ DataType: "text",
+ Overwrite: true,
+ Tier: "Standard",
+ Type: "String"
+ });
+}
+
+async function getAWSCredentials() {
+ const { accessKeyId, secretAccessKey } = await inquirer.prompt([
+ {
+ type: "input",
+ name: "accessKeyId"
+ },
+ {
+ type: "input",
+ name: "secretAccessKey"
+ }
+ ]);
+
+ ssm = new SSM({
+ credentials: {
+ accessKeyId,
+ secretAccessKey
+ },
+ region: "us-east-1"
+ });
+}
+
+async function loadTunnels() {
+ const apiKey = await loadParam("ngrok-api-key");
+ const response = await fetch("https://api.ngrok.com/tunnels", {
+ headers: {
+ Authorization: `Bearer ${apiKey}`,
+ "Ngrok-Version": 2
+ }
+ });
+
+ const { tunnels } = await response.json();
+
+ return tunnels;
+}
diff --git a/setup.py b/setup.py
index 5005f9b..3718fc4 100755
--- a/setup.py
+++ b/setup.py
@@ -6,27 +6,19 @@ import json
pkg = json.load(open('package.json', 'r'))
setup(
- name=pkg['name'],
+ name='bbctrl',
version=pkg['version'],
- description='Buildbotics Machine Controller',
+ description='Onefinity Controller',
long_description=open('README.md', 'rt').read(),
- author='Joseph Coffland',
- author_email='joseph@buildbotics.org',
+ maintainer='support@onefinitycnc.com',
+ maintainer_email='support@onefinitycnc.com',
platforms=['any'],
license=pkg['license'],
url=pkg['homepage'],
package_dir={'': 'src/py'},
- packages=[
- 'bbctrl',
- 'camotics',
- 'iw_parse'
- ],
+ packages=['bbctrl', 'camotics', 'iw_parse'],
include_package_data=True,
- entry_points={
- 'console_scripts': [
- 'bbctrl = bbctrl:run'
- ]
- },
+ entry_points={'console_scripts': ['bbctrl = bbctrl:run']},
scripts=[
'installer/scripts/update-bbctrl',
'installer/scripts/upgrade-bbctrl',
@@ -37,12 +29,7 @@ setup(
'installer/scripts/browser',
],
install_requires=[
- 'tornado',
- 'sockjs-tornado',
- 'pyserial',
- 'pyudev',
- 'smbus2',
- 'watchdog'
+ 'tornado', 'sockjs-tornado', 'pyserial', 'pyudev', 'smbus2', 'watchdog'
],
zip_safe=False,
)
diff --git a/src/avr/data_usage.py b/src/avr/data_usage.py
deleted file mode 100644
index 27863ec..0000000
--- a/src/avr/data_usage.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python3
-
-################################################################################
-# #
-# This file is part of the Buildbotics firmware. #
-# #
-# Copyright (c) 2015 - 2018, Buildbotics LLC #
-# All rights reserved. #
-# #
-# This file ("the software") is free software: you can redistribute it #
-# and/or modify it under the terms of the GNU General Public License, #
-# version 2 as published by the Free Software Foundation. You should #
-# have received a copy of the GNU General Public License, version 2 #
-# along with the software. If not, see . #
-# #
-# The software is distributed in the hope that it will be useful, but #
-# WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
-# Lesser General Public License for more details. #
-# #
-# You should have received a copy of the GNU Lesser General Public #
-# License along with the software. If not, see #
-# . #
-# #
-# For information regarding this software email: #
-# "Joseph Coffland" #
-# #
-################################################################################
-
-import os
-import re
-import shlex
-import subprocess
-
-
-lineRE = r'%(addr)s '
-command = 'avr-objdump -j .bss -t buildbotics.elf'
-
-proc = subprocess.Popen(shlex.split(command), stdout = subprocess.PIPE)
-
-out, err = proc.communicate()
-
-if proc.returncode:
- print(out)
- raise Exception('command failed')
-
-def get_sizes(data):
- for line in data.decode().split('\n'):
- if not re.match(r'^[0-9a-f]{8} .*', line): continue
-
- size, name = int(line[22:30], 16), line[31:]
- if not size: continue
-
- yield (size, name)
-
-sizes = sorted(get_sizes(out))
-total = sum(x[0] for x in sizes)
-
-for size, name in sizes:
- print('% 6d %5.2f%% %s' % (size, size / total * 100, name))
-
-print('-' * 40)
-print('% 6d Total' % total)
diff --git a/src/avr/emu/src/avr/eeprom.h b/src/avr/emu/src/avr/eeprom.h
index bafb8b0..7766515 100644
--- a/src/avr/emu/src/avr/eeprom.h
+++ b/src/avr/emu/src/avr/eeprom.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#define EEMEM
diff --git a/src/avr/emu/src/avr/interrupt.h b/src/avr/emu/src/avr/interrupt.h
index 10fd67b..cc18461 100644
--- a/src/avr/emu/src/avr/interrupt.h
+++ b/src/avr/emu/src/avr/interrupt.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "io.h"
diff --git a/src/avr/emu/src/avr/io.h b/src/avr/emu/src/avr/io.h
index 3d0e145..36f240d 100644
--- a/src/avr/emu/src/avr/io.h
+++ b/src/avr/emu/src/avr/io.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
/*****************************************************************************
*
* Copyright (C) 2015 Atmel Corporation
diff --git a/src/avr/emu/src/avr/pgmspace.h b/src/avr/emu/src/avr/pgmspace.h
index 5377eb9..734832c 100644
--- a/src/avr/emu/src/avr/pgmspace.h
+++ b/src/avr/emu/src/avr/pgmspace.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#define PRPSTR "s"
diff --git a/src/avr/emu/src/avr/wdt.h b/src/avr/emu/src/avr/wdt.h
index bcf6f99..d66983b 100644
--- a/src/avr/emu/src/avr/wdt.h
+++ b/src/avr/emu/src/avr/wdt.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#define WDTO_250MS 0
diff --git a/src/avr/emu/src/emu.c b/src/avr/emu/src/emu.c
index a0b06a5..48457ac 100644
--- a/src/avr/emu/src/emu.c
+++ b/src/avr/emu/src/emu.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include
#include
diff --git a/src/avr/emu/src/util/atomic.h b/src/avr/emu/src/util/atomic.h
index 86dab20..0c32a86 100644
--- a/src/avr/emu/src/util/atomic.h
+++ b/src/avr/emu/src/util/atomic.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#define ATOMIC_BLOCK(x)
diff --git a/src/avr/emu/src/util/crc16.h b/src/avr/emu/src/util/crc16.h
index e343874..bb3321e 100644
--- a/src/avr/emu/src/util/crc16.h
+++ b/src/avr/emu/src/util/crc16.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#define _crc16_update(...) 0
diff --git a/src/avr/emu/src/util/delay.h b/src/avr/emu/src/util/delay.h
index e67c76a..0dd03f2 100644
--- a/src/avr/emu/src/util/delay.h
+++ b/src/avr/emu/src/util/delay.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/SCurve.cpp b/src/avr/src/SCurve.cpp
index 73bbe30..f090733 100644
--- a/src/avr/src/SCurve.cpp
+++ b/src/avr/src/SCurve.cpp
@@ -1,31 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-
#include "SCurve.h"
#include
diff --git a/src/avr/src/SCurve.h b/src/avr/src/SCurve.h
index d48786a..c0967ad 100644
--- a/src/avr/src/SCurve.h
+++ b/src/avr/src/SCurve.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/analog.c b/src/avr/src/analog.c
index 918f4fa..6eb3411 100644
--- a/src/avr/src/analog.c
+++ b/src/avr/src/analog.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "analog.h"
#include "config.h"
diff --git a/src/avr/src/analog.h b/src/avr/src/analog.h
index 6aaf592..0a3aa17 100644
--- a/src/avr/src/analog.h
+++ b/src/avr/src/analog.h
@@ -1,33 +1,5 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
-
void analog_init();
float analog_get(unsigned port);
void analog_rtc_callback();
diff --git a/src/avr/src/axis.c b/src/avr/src/axis.c
index 1f891f5..19b5e64 100644
--- a/src/avr/src/axis.c
+++ b/src/avr/src/axis.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "axis.h"
#include "motor.h"
#include "switch.h"
diff --git a/src/avr/src/axis.h b/src/avr/src/axis.h
index 50aae9b..38cafdc 100644
--- a/src/avr/src/axis.h
+++ b/src/avr/src/axis.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "config.h"
diff --git a/src/avr/src/base64.c b/src/avr/src/base64.c
index e6bbe99..2908ed8 100644
--- a/src/avr/src/base64.c
+++ b/src/avr/src/base64.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "base64.h"
#include "util.h"
diff --git a/src/avr/src/base64.h b/src/avr/src/base64.h
index ed6e6a6..82204e9 100644
--- a/src/avr/src/base64.h
+++ b/src/avr/src/base64.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/command.c b/src/avr/src/command.c
index 916c388..f84dc2e 100644
--- a/src/avr/src/command.c
+++ b/src/avr/src/command.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "command.h"
#include "usart.h"
diff --git a/src/avr/src/command.def b/src/avr/src/command.def
index c413a90..1349b71 100644
--- a/src/avr/src/command.def
+++ b/src/avr/src/command.def
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
//(CODE, NAME, SYNC)
CMD('$', var, 0) // Set or get variable
CMD('#', sync_var, 1) // Set variable synchronous
diff --git a/src/avr/src/command.h b/src/avr/src/command.h
index 24fa928..bb7c774 100644
--- a/src/avr/src/command.h
+++ b/src/avr/src/command.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "config.h"
diff --git a/src/avr/src/commands.c b/src/avr/src/commands.c
index 8796b09..3949b30 100644
--- a/src/avr/src/commands.c
+++ b/src/avr/src/commands.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "config.h"
#include "stepper.h"
#include "command.h"
diff --git a/src/avr/src/config.h b/src/avr/src/config.h
index 702fb2a..28da9e9 100644
--- a/src/avr/src/config.h
+++ b/src/avr/src/config.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "pins.h"
diff --git a/src/avr/src/cpp_magic.h b/src/avr/src/cpp_magic.h
index f677c1a..ed6b211 100644
--- a/src/avr/src/cpp_magic.h
+++ b/src/avr/src/cpp_magic.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
/* This header file contains a library of advanced C Pre-Processor (CPP) macros
* which implement various useful functions, such as iteration, in the
* pre-processor.
diff --git a/src/avr/src/drv8711.c b/src/avr/src/drv8711.c
index 5db2355..4c06134 100644
--- a/src/avr/src/drv8711.c
+++ b/src/avr/src/drv8711.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "drv8711.h"
#include "status.h"
#include "stepper.h"
diff --git a/src/avr/src/drv8711.h b/src/avr/src/drv8711.h
index 78c3859..bcffea8 100644
--- a/src/avr/src/drv8711.h
+++ b/src/avr/src/drv8711.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/emu.h b/src/avr/src/emu.h
index cb3d605..772347a 100644
--- a/src/avr/src/emu.h
+++ b/src/avr/src/emu.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#ifdef __AVR__
#define emu_init()
#define emu_callback()
diff --git a/src/avr/src/estop.c b/src/avr/src/estop.c
index 1e9bacb..5b30d00 100644
--- a/src/avr/src/estop.c
+++ b/src/avr/src/estop.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "estop.h"
#include "motor.h"
#include "stepper.h"
diff --git a/src/avr/src/estop.h b/src/avr/src/estop.h
index 652f5c0..33811e1 100644
--- a/src/avr/src/estop.h
+++ b/src/avr/src/estop.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "status.h"
diff --git a/src/avr/src/exec.c b/src/avr/src/exec.c
index bc4d9df..d5261af 100644
--- a/src/avr/src/exec.c
+++ b/src/avr/src/exec.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "exec.h"
#include "stepper.h"
diff --git a/src/avr/src/exec.h b/src/avr/src/exec.h
index af238cd..9602143 100644
--- a/src/avr/src/exec.h
+++ b/src/avr/src/exec.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/hardware.c b/src/avr/src/hardware.c
index ec18f75..d619d75 100644
--- a/src/avr/src/hardware.c
+++ b/src/avr/src/hardware.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "hardware.h"
#include "rtc.h"
#include "usart.h"
diff --git a/src/avr/src/hardware.h b/src/avr/src/hardware.h
index e2be012..6bbd792 100644
--- a/src/avr/src/hardware.h
+++ b/src/avr/src/hardware.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "status.h"
diff --git a/src/avr/src/huanyang.c b/src/avr/src/huanyang.c
index 26481e1..1610cd0 100644
--- a/src/avr/src/huanyang.c
+++ b/src/avr/src/huanyang.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "huanyang.h"
#include "config.h"
#include "modbus.h"
diff --git a/src/avr/src/huanyang.h b/src/avr/src/huanyang.h
index ccad449..23e5ec9 100644
--- a/src/avr/src/huanyang.h
+++ b/src/avr/src/huanyang.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "spindle.h"
diff --git a/src/avr/src/i2c.c b/src/avr/src/i2c.c
index 5832d3c..cdbfea2 100644
--- a/src/avr/src/i2c.c
+++ b/src/avr/src/i2c.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "i2c.h"
#include
diff --git a/src/avr/src/i2c.h b/src/avr/src/i2c.h
index 7cd55ca..0ea082a 100644
--- a/src/avr/src/i2c.h
+++ b/src/avr/src/i2c.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "config.h"
diff --git a/src/avr/src/io.c b/src/avr/src/io.c
index 94ffcda..fe63e0d 100644
--- a/src/avr/src/io.c
+++ b/src/avr/src/io.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "io.h"
#include "status.h"
diff --git a/src/avr/src/io.h b/src/avr/src/io.h
index 1f8948b..4bdaf60 100644
--- a/src/avr/src/io.h
+++ b/src/avr/src/io.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/jog.c b/src/avr/src/jog.c
index 64df035..dd9f48c 100644
--- a/src/avr/src/jog.c
+++ b/src/avr/src/jog.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "jog.h"
#include "axis.h"
diff --git a/src/avr/src/jog.h b/src/avr/src/jog.h
index ea093ab..d9b7b0a 100644
--- a/src/avr/src/jog.h
+++ b/src/avr/src/jog.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "status.h"
diff --git a/src/avr/src/line.c b/src/avr/src/line.c
index a94d186..23c6720 100644
--- a/src/avr/src/line.c
+++ b/src/avr/src/line.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "config.h"
#include "exec.h"
#include "command.h"
diff --git a/src/avr/src/main.c b/src/avr/src/main.c
index 3bdbec3..ddec6dd 100644
--- a/src/avr/src/main.c
+++ b/src/avr/src/main.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "hardware.h"
#include "stepper.h"
#include "motor.h"
diff --git a/src/avr/src/messages.def b/src/avr/src/messages.def
index 2f9aa33..62b39b2 100644
--- a/src/avr/src/messages.def
+++ b/src/avr/src/messages.def
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
STAT_MSG(OK, "OK")
STAT_MSG(AGAIN, "Run command again")
STAT_MSG(NOP, "No op")
diff --git a/src/avr/src/modbus.c b/src/avr/src/modbus.c
index 2e63c1e..4822f13 100644
--- a/src/avr/src/modbus.c
+++ b/src/avr/src/modbus.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "modbus.h"
#include "usart.h"
#include "status.h"
diff --git a/src/avr/src/modbus.h b/src/avr/src/modbus.h
index 89b2cbb..e2ee1f1 100644
--- a/src/avr/src/modbus.h
+++ b/src/avr/src/modbus.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
/******************************************************************************\
Modbus RTU command format is as follows:
diff --git a/src/avr/src/motor.c b/src/avr/src/motor.c
index adb0b63..26682e6 100644
--- a/src/avr/src/motor.c
+++ b/src/avr/src/motor.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "motor.h"
#include "config.h"
#include "hardware.h"
diff --git a/src/avr/src/motor.h b/src/avr/src/motor.h
index 242e771..018929c 100644
--- a/src/avr/src/motor.h
+++ b/src/avr/src/motor.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "status.h"
diff --git a/src/avr/src/outputs.c b/src/avr/src/outputs.c
index f989ec7..0f4899b 100644
--- a/src/avr/src/outputs.c
+++ b/src/avr/src/outputs.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "outputs.h"
#include "config.h"
diff --git a/src/avr/src/outputs.h b/src/avr/src/outputs.h
index e0f6636..83a1d95 100644
--- a/src/avr/src/outputs.h
+++ b/src/avr/src/outputs.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/pgmspace.h b/src/avr/src/pgmspace.h
index 9d7f25f..0c0aa33 100644
--- a/src/avr/src/pgmspace.h
+++ b/src/avr/src/pgmspace.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/pins.c b/src/avr/src/pins.c
index 65782fd..bddc8db 100644
--- a/src/avr/src/pins.c
+++ b/src/avr/src/pins.c
@@ -1,31 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "pins.h"
-
PORT_t *pin_ports[] = {&PORTA, &PORTB, &PORTC, &PORTD, &PORTE, &PORTF};
diff --git a/src/avr/src/pins.h b/src/avr/src/pins.h
index 6d6cd8b..2ceddc0 100644
--- a/src/avr/src/pins.h
+++ b/src/avr/src/pins.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
enum {PORT_A = 1, PORT_B, PORT_C, PORT_D, PORT_E, PORT_F};
diff --git a/src/avr/src/pwm.c b/src/avr/src/pwm.c
index 1659964..fa2a643 100644
--- a/src/avr/src/pwm.c
+++ b/src/avr/src/pwm.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "pwm.h"
#include "config.h"
diff --git a/src/avr/src/pwm.h b/src/avr/src/pwm.h
index 23c723b..a7293fc 100644
--- a/src/avr/src/pwm.h
+++ b/src/avr/src/pwm.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "spindle.h"
diff --git a/src/avr/src/report.c b/src/avr/src/report.c
index 5e9d032..34a55ff 100644
--- a/src/avr/src/report.c
+++ b/src/avr/src/report.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "report.h"
#include "config.h"
#include "usart.h"
diff --git a/src/avr/src/report.h b/src/avr/src/report.h
index 4a7dcff..1da9977 100644
--- a/src/avr/src/report.h
+++ b/src/avr/src/report.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/ringbuf.def b/src/avr/src/ringbuf.def
index 1f4bad9..cbc25e5 100644
--- a/src/avr/src/ringbuf.def
+++ b/src/avr/src/ringbuf.def
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
/* This file defines an X-Macro ring buffer. It can be used like this:
*
* #define RING_BUF_NAME tx_buf
diff --git a/src/avr/src/rtc.c b/src/avr/src/rtc.c
index f52c4fc..b95d144 100644
--- a/src/avr/src/rtc.c
+++ b/src/avr/src/rtc.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "rtc.h"
#include "switch.h"
diff --git a/src/avr/src/rtc.h b/src/avr/src/rtc.h
index 6313ae9..95af283 100644
--- a/src/avr/src/rtc.h
+++ b/src/avr/src/rtc.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/seek.c b/src/avr/src/seek.c
index 56f010d..39698c0 100644
--- a/src/avr/src/seek.c
+++ b/src/avr/src/seek.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "seek.h"
#include "command.h"
diff --git a/src/avr/src/seek.h b/src/avr/src/seek.h
index aa1d7fa..dc191fe 100644
--- a/src/avr/src/seek.h
+++ b/src/avr/src/seek.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "switch.h"
diff --git a/src/avr/src/spindle.c b/src/avr/src/spindle.c
index 2be4a3b..38ca891 100644
--- a/src/avr/src/spindle.c
+++ b/src/avr/src/spindle.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "spindle.h"
#include "pwm.h"
#include "huanyang.h"
diff --git a/src/avr/src/spindle.h b/src/avr/src/spindle.h
index 4728631..e47ecae 100644
--- a/src/avr/src/spindle.h
+++ b/src/avr/src/spindle.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/state.c b/src/avr/src/state.c
index e94069c..5f42089 100644
--- a/src/avr/src/state.c
+++ b/src/avr/src/state.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "state.h"
#include "exec.h"
diff --git a/src/avr/src/state.h b/src/avr/src/state.h
index d3488ab..4f4c7e2 100644
--- a/src/avr/src/state.h
+++ b/src/avr/src/state.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "pgmspace.h"
diff --git a/src/avr/src/status.c b/src/avr/src/status.c
index 4279637..af4fdd7 100644
--- a/src/avr/src/status.c
+++ b/src/avr/src/status.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "status.h"
#include "estop.h"
#include "usart.h"
diff --git a/src/avr/src/status.h b/src/avr/src/status.h
index d363a1d..c050609 100644
--- a/src/avr/src/status.h
+++ b/src/avr/src/status.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "pgmspace.h"
diff --git a/src/avr/src/stepper.c b/src/avr/src/stepper.c
index 68453f7..516a9c5 100644
--- a/src/avr/src/stepper.c
+++ b/src/avr/src/stepper.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "stepper.h"
#include "config.h"
diff --git a/src/avr/src/stepper.h b/src/avr/src/stepper.h
index d365e34..b669d10 100644
--- a/src/avr/src/stepper.h
+++ b/src/avr/src/stepper.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "spindle.h"
diff --git a/src/avr/src/switch.c b/src/avr/src/switch.c
index 6994b15..fa8d962 100644
--- a/src/avr/src/switch.c
+++ b/src/avr/src/switch.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "switch.h"
#include "config.h"
diff --git a/src/avr/src/switch.h b/src/avr/src/switch.h
index fb3a9d7..fc2eff7 100644
--- a/src/avr/src/switch.h
+++ b/src/avr/src/switch.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/type.c b/src/avr/src/type.c
index 272e1f6..5f2488c 100644
--- a/src/avr/src/type.c
+++ b/src/avr/src/type.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "type.h"
#include "base64.h"
diff --git a/src/avr/src/type.def b/src/avr/src/type.def
index 5f350fa..48c042d 100644
--- a/src/avr/src/type.def
+++ b/src/avr/src/type.def
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
// TYPE DEF
TYPEDEF(str, const char *)
TYPEDEF(pstr, PGM_P)
diff --git a/src/avr/src/type.h b/src/avr/src/type.h
index 322ebd6..8e4e331 100644
--- a/src/avr/src/type.h
+++ b/src/avr/src/type.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "pgmspace.h"
diff --git a/src/avr/src/usart.c b/src/avr/src/usart.c
index d035c0e..18c6a4a 100644
--- a/src/avr/src/usart.c
+++ b/src/avr/src/usart.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "usart.h"
#include "cpp_magic.h"
#include "config.h"
diff --git a/src/avr/src/usart.h b/src/avr/src/usart.h
index b59f4ed..690a335 100644
--- a/src/avr/src/usart.h
+++ b/src/avr/src/usart.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include
diff --git a/src/avr/src/util.c b/src/avr/src/util.c
index 61137fe..8516944 100644
--- a/src/avr/src/util.c
+++ b/src/avr/src/util.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "util.h"
#include "base64.h"
diff --git a/src/avr/src/util.h b/src/avr/src/util.h
index 300fb1a..bd4ad67 100644
--- a/src/avr/src/util.h
+++ b/src/avr/src/util.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
diff --git a/src/avr/src/vars.c b/src/avr/src/vars.c
index 244ae08..e286660 100644
--- a/src/avr/src/vars.c
+++ b/src/avr/src/vars.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "vars.h"
#include "type.h"
diff --git a/src/avr/src/vars.def b/src/avr/src/vars.def
index ecb48a0..0281bbc 100644
--- a/src/avr/src/vars.def
+++ b/src/avr/src/vars.def
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#define AXES_LABEL "xyzabc"
#define MOTORS_LABEL "0123"
#define OUTS_LABEL "ed12ft"
diff --git a/src/avr/src/vars.h b/src/avr/src/vars.h
index 949f5aa..bd114e5 100644
--- a/src/avr/src/vars.h
+++ b/src/avr/src/vars.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "status.h"
diff --git a/src/avr/src/vfd_spindle.c b/src/avr/src/vfd_spindle.c
index fb247fe..be8f5d6 100644
--- a/src/avr/src/vfd_spindle.c
+++ b/src/avr/src/vfd_spindle.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "vfd_spindle.h"
#include "modbus.h"
#include "rtc.h"
diff --git a/src/avr/src/vfd_spindle.h b/src/avr/src/vfd_spindle.h
index 1bfc3d9..6498ecb 100644
--- a/src/avr/src/vfd_spindle.h
+++ b/src/avr/src/vfd_spindle.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "spindle.h"
diff --git a/src/bbserial/bbserial.c b/src/bbserial/bbserial.c
index 0c00d5d..00ae6cc 100644
--- a/src/bbserial/bbserial.c
+++ b/src/bbserial/bbserial.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2019, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include
#include
#include
diff --git a/src/boot/src/boot.c b/src/boot/src/boot.c
index 5137617..2bdd9af 100644
--- a/src/boot/src/boot.c
+++ b/src/boot/src/boot.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "boot.h"
#include "sp_driver.h"
diff --git a/src/boot/src/boot.h b/src/boot/src/boot.h
index def2d06..68baa51 100644
--- a/src/boot/src/boot.h
+++ b/src/boot/src/boot.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#define INITIAL_WAIT 1000 // In ms
diff --git a/src/boot/src/sp_driver.h b/src/boot/src/sp_driver.h
index 0cb9180..01aeaee 100644
--- a/src/boot/src/sp_driver.h
+++ b/src/boot/src/sp_driver.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
/*******************************************************************************
* $Revision: 1691 $
* $Date: 2008-07-29 13:25:40 +0200 (ti, 29 jul 2008) $ \n
diff --git a/src/jig/.gitignore b/src/jig/.gitignore
deleted file mode 100644
index fa21f96..0000000
--- a/src/jig/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/build
-/*.hex
-/*.elf
diff --git a/src/jig/Makefile b/src/jig/Makefile
deleted file mode 100644
index e872121..0000000
--- a/src/jig/Makefile
+++ /dev/null
@@ -1,131 +0,0 @@
-# Makefile for the project Bulidbotics firmware
-PROJECT = bbctrl-jig-firmware
-MCU = atxmega192a3u
-CLOCK = 32000000
-VERSION = 0.0.1
-
-TARGET = $(PROJECT).elf
-
-# Compile flags
-CC = avr-gcc
-CPP = avr-g++
-
-COMMON = -mmcu=$(MCU) -flto -fwhole-program
-
-CFLAGS += $(COMMON)
-CFLAGS += -Wall -Werror
-CFLAGS += -Wno-error=strict-aliasing # for _invsqrt
-CFLAGS += -std=gnu99 -DF_CPU=$(CLOCK)UL -O3
-CFLAGS += -funsigned-bitfields -fpack-struct -fshort-enums -funsigned-char
-CFLAGS += -MD -MP -MT $@ -MF build/dep/$(@F).d
-CFLAGS += -Isrc -DVERSION=\"$(VERSION)\"
-
-# Linker flags
-LDFLAGS += $(COMMON) -Wl,-u,vfprintf -lprintf_flt -lm
-LIBS += -lm
-
-# EEPROM flags
-EEFLAGS += -j .eeprom
-EEFLAGS += --set-section-flags=.eeprom="alloc,load"
-EEFLAGS += --change-section-lma .eeprom=0 --no-change-warnings
-
-# Programming flags
-PROGRAMMER = avrispmkII
-#PROGRAMMER = jtag3pdi
-PDEV = usb
-AVRDUDE_OPTS = -c $(PROGRAMMER) -p $(MCU) -P $(PDEV)
-
-FUSE0=0xff
-FUSE1=0x00
-FUSE2=0xbe
-FUSE4=0xff
-FUSE5=0xeb
-
-# SRC
-SRC = $(wildcard src/*.c)
-OBJ = $(patsubst src/%.c,build/%.o,$(SRC))
-
-# Build
-all:
- @$(MAKE) $(PROJECT).hex
- @$(MAKE) size
-
-# Compile
-build/%.o: src/%.c
- @mkdir -p $(shell dirname $@)
- $(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
-
-build/%.o: src/%.S
- @mkdir -p $(shell dirname $@)
- $(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
-
-# Link
-$(TARGET): $(OBJ)
- $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $@
-
-%.hex: %.elf
- avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature $< $@
-
-%.eep: %.elf
- avr-objcopy $(EEFLAGS) -O ihex $< $@
-
-%.lss: %.elf
- avr-objdump -h -S $< > $@
-
-_size:
- @for X in A B C; do\
- echo '****************************************************************' ;\
- avr-size -$$X --mcu=$(MCU) $(SIZE_TARGET) ;\
- done
-
-size: $(TARGET)
- @$(MAKE) SIZE_TARGET=$< _size
-
-# Program
-init:
- $(MAKE) erase
- -$(MAKE) fuses
- $(MAKE) program
-
-reset:
- avrdude $(AVRDUDE_OPTS)
-
-erase:
- avrdude $(AVRDUDE_OPTS) -e
-
-program: $(PROJECT).hex
- avrdude $(AVRDUDE_OPTS) -U flash:w:$(PROJECT).hex:i
-
-verify: $(PROJECT).hex
- avrdude $(AVRDUDE_OPTS) -U flash:v:$(PROJECT).hex:i
-
-fuses:
- avrdude $(AVRDUDE_OPTS) -U fuse0:w:$(FUSE0):m -U fuse1:w:$(FUSE1):m \
- -U fuse2:w:$(FUSE2):m -U fuse4:w:$(FUSE4):m -U fuse5:w:$(FUSE5):m
-
-read_fuses:
- avrdude $(AVRDUDE_OPTS) -q -q -U fuse0:r:-:h -U fuse1:r:-:h -U fuse2:r:-:h \
- -U fuse4:r:-:h -U fuse5:r:-:h
-
-signature:
- avrdude $(AVRDUDE_OPTS) -q -q -U signature:r:-:h
-
-prodsig:
- avrdude $(AVRDUDE_OPTS) -q -q -U prodsig:r:-:h
-
-usersig:
- avrdude $(AVRDUDE_OPTS) -q -q -U usersig:r:-:h
-
-# Clean
-tidy:
- rm -f $(shell find -name \*~ -o -name \#\*)
-
-clean: tidy
- rm -rf $(PROJECT).elf $(PROJECT).hex $(PROJECT).eep $(PROJECT).lss \
- $(PROJECT).map build
-
-.PHONY: tidy clean size all reset erase program fuses read_fuses prodsig
-.PHONY: signature usersig
-
-# Dependencies
--include $(shell mkdir -p build/dep) $(wildcard build/dep/*)
diff --git a/src/jig/src/config.h b/src/jig/src/config.h
deleted file mode 100644
index ae699d0..0000000
--- a/src/jig/src/config.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#pragma once
-
-#include "pins.h"
-
-
-// Pins
-enum {
- STALL_X_PIN = PORT_A << 3,
- STALL_Y_PIN,
- STALL_Z_PIN,
- STALL_A_PIN,
- SPIN_DIR_PIN,
- SPIN_ENABLE_PIN,
- ANALOG_PIN,
- PROBE_PIN,
-
- MIN_X_PIN = PORT_B << 3,
- MAX_X_PIN,
- MIN_A_PIN,
- MAX_A_PIN,
- MIN_Y_PIN,
- MAX_Y_PIN,
- MIN_Z_PIN,
- MAX_Z_PIN,
-
- SDA_PIN = PORT_C << 3,
- SCL_PIN,
- SERIAL_RX_PIN,
- SERIAL_TX_PIN,
- SERIAL_CTS_PIN,
- SPI_CLK_PIN,
- SPI_MISO_PIN,
- SPI_MOSI_PIN,
-
- ENCODER_X_A_PIN = PORT_D << 3,
- ENCODER_X_B_PIN,
- SPI_CS_A_PIN,
- SPI_CS_Z_PIN,
- SPIN_PWM_PIN,
- SWITCH_1_PIN,
- RS485_RO_PIN,
- RS485_DI_PIN,
-
- STEP_Y_PIN = PORT_E << 3,
- SPI_CS_Y_PIN,
- DIR_X_PIN,
- DIR_Y_PIN,
- STEP_A_PIN,
- SWITCH_2_PIN,
- DIR_Z_PIN,
- DIR_A_PIN,
-
- STEP_Z_PIN = PORT_F << 3,
- RS485_RW_PIN,
- FAULT_PIN,
- ESTOP_PIN,
- MOTOR_FAULT_PIN,
- MOTOR_ENABLE_PIN,
- NC_0_PIN,
- NC_1_PIN,
-};
-
-
-// Serial settings
-#define SERIAL_BAUD USART_BAUD_115200
-#define SERIAL_PORT USARTC0
-#define SERIAL_DRE_vect USARTC0_DRE_vect
-#define SERIAL_RXC_vect USARTC0_RXC_vect
-
-
-// Input
-#define INPUT_BUFFER_LEN 255 // text buffer size (255 max)
-
-
-// Encoder
-#define ENCODER_LINES 600
diff --git a/src/jig/src/encoder.c b/src/jig/src/encoder.c
deleted file mode 100644
index 3ef3004..0000000
--- a/src/jig/src/encoder.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#include "encoder.h"
-
-#include "pins.h"
-#include "config.h"
-
-#include
-
-
-typedef struct {
- int8_t pin_a;
- int8_t pin_b;
-
- uint16_t position;
- float velocity;
-} encoder_t;
-
-
-encoder_t encoders[] = {
- {ENCODER_X_A_PIN, ENCODER_X_B_PIN},
- {0, 0}
-};
-
-
-void encoder_init() {
- for (int i = 0; encoders[i].pin_a; i++) {
- // Inputs
- DIRCLR_PIN(encoders[i].pin_a);
- DIRCLR_PIN(encoders[i].pin_b);
-
- // Pullup and level sensing
- PINCTRL_PIN(encoders[i].pin_a) = PORT_OPC_PULLUP_gc | PORT_ISC_LEVEL_gc;
- PINCTRL_PIN(encoders[i].pin_b) = PORT_OPC_PULLUP_gc | PORT_ISC_LEVEL_gc;
- }
-
- // Event channel
- EVSYS_CH0MUX = EVSYS_CHMUX_PORTD_PIN0_gc;
- EVSYS_CH0CTRL = EVSYS_QDEN_bm | EVSYS_DIGFILT_2SAMPLES_gc;
-
- // Timer config
- TCC0.CTRLD = TC_EVACT_QDEC_gc | TC_EVSEL_CH0_gc;
- TCC0.PER = ENCODER_LINES * 4 - 1;
- TCC0.CTRLA = TC_CLKSEL_DIV1_gc; // Enable
-}
-
-
-void encoder_rtc_callback() {
- uint16_t position = TCC0.CNT;
-
- int32_t delta =
- ((int32_t)position - encoders[0].position) % (ENCODER_LINES * 4);
-
- encoders[0].position = position;
- encoders[0].velocity = encoders[0].velocity * 0.95 + delta * 5.0; // steps/sec
-}
-
-
-uint16_t encoder_get_position(int i) {return encoders[i].position;}
-float encoder_get_velocity(int i) {return encoders[i].velocity;}
diff --git a/src/jig/src/encoder.h b/src/jig/src/encoder.h
deleted file mode 100644
index 1153b7b..0000000
--- a/src/jig/src/encoder.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#pragma once
-
-#include
-
-void encoder_init();
-void encoder_rtc_callback();
-
-uint16_t encoder_get_position(int i);
-float encoder_get_velocity(int i);
diff --git a/src/jig/src/main.c b/src/jig/src/main.c
deleted file mode 100644
index 3397475..0000000
--- a/src/jig/src/main.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#include "usart.h"
-#include "rtc.h"
-#include "encoder.h"
-
-#include
-#include
-
-#include
-
-#include
-#include
-
-
-static void _clock_init() {
- // 12-16 MHz crystal; 0.4-16 MHz XTAL w/ 16K CLK startup
- OSC.XOSCCTRL = OSC_FRQRANGE_12TO16_gc | OSC_XOSCSEL_XTAL_16KCLK_gc;
- OSC.CTRL = OSC_XOSCEN_bm; // enable external crystal oscillator
- while (!(OSC.STATUS & OSC_XOSCRDY_bm)); // wait for oscillator ready
-
- OSC.PLLCTRL = OSC_PLLSRC_XOSC_gc | 2; // PLL source, 2x (32 MHz sys clock)
- OSC.CTRL = OSC_PLLEN_bm | OSC_XOSCEN_bm; // Enable PLL & External Oscillator
- while (!(OSC.STATUS & OSC_PLLRDY_bm)); // wait for PLL ready
-
- CCP = CCP_IOREG_gc;
- CLK.CTRL = CLK_SCLKSEL_PLL_gc; // switch to PLL clock
-
- OSC.CTRL &= ~OSC_RC2MEN_bm; // disable internal 2 MHz clock
-}
-
-
-int main() {
- // Init
- cli(); // disable interrupts
-
- _clock_init();
- rtc_init(); // real-time clock
- usart_init(); // serial port
- encoder_init(); // rotary encoders
-
- sei(); // enable interrupts
-
- // Splash
- fprintf_P(stdout, PSTR("\nBuildbotics Jig " VERSION "\n"));
-
- usart_set(USART_ECHO, true);
-
- uint32_t timer = 0;
- uint16_t last = 0;
-
- // Main loop
- while (true) {
- char *line = usart_readline();
- if (line) {
- printf("\n%s\n", line);
- printf("%ld\n", rtc_get_time());
- }
-
- if (rtc_expired(timer)) {
- timer += 100;
-
- uint16_t encoder = encoder_get_position(0);
- if (encoder != last) {
- last = encoder;
- printf("%5d step %8.2f step/sec\n", encoder, encoder_get_velocity(0));
- }
- }
- }
-
- return 0;
-}
diff --git a/src/jig/src/pins.c b/src/jig/src/pins.c
deleted file mode 100644
index 65782fd..0000000
--- a/src/jig/src/pins.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#include "pins.h"
-
-
-PORT_t *pin_ports[] = {&PORTA, &PORTB, &PORTC, &PORTD, &PORTE, &PORTF};
diff --git a/src/jig/src/pins.h b/src/jig/src/pins.h
deleted file mode 100644
index 49ae19e..0000000
--- a/src/jig/src/pins.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#pragma once
-
-enum {PORT_A = 1, PORT_B, PORT_C, PORT_D, PORT_E, PORT_F};
-
-#define PORT(PIN) pin_ports[(PIN >> 3) - 1]
-#define BM(PIN) (1 << (PIN & 7))
-
-#ifdef __AVR__
-#include
-
-extern PORT_t *pin_ports[];
-
-#define DIRSET_PIN(PIN) PORT(PIN)->DIRSET = BM(PIN)
-#define DIRCLR_PIN(PIN) PORT(PIN)->DIRCLR = BM(PIN)
-#define OUTCLR_PIN(PIN) PORT(PIN)->OUTCLR = BM(PIN)
-#define OUTSET_PIN(PIN) PORT(PIN)->OUTSET = BM(PIN)
-#define OUTTGL_PIN(PIN) PORT(PIN)->OUTTGL = BM(PIN)
-#define OUT_PIN(PIN) (!!(PORT(PIN)->OUT & BM(PIN)))
-#define IN_PIN(PIN) (!!(PORT(PIN)->IN & BM(PIN)))
-#define PINCTRL_PIN(PIN) ((&PORT(PIN)->PIN0CTRL)[PIN & 7])
-
-#define SET_PIN(PIN, X) \
- do {if (X) OUTSET_PIN(PIN); else OUTCLR_PIN(PIN);} while (0);
-
-#endif // __AVR__
diff --git a/src/jig/src/ringbuf.def b/src/jig/src/ringbuf.def
deleted file mode 100644
index 5717a6d..0000000
--- a/src/jig/src/ringbuf.def
+++ /dev/null
@@ -1,158 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-/* This file defines an X-Macro ring buffer. It can be used like this:
- *
- * #define RING_BUF_NAME tx_buf
- * #define RING_BUF_SIZE 256
- * #include "ringbuf.def"
- *
- * This will define the following functions:
- *
- * void _init();
- * int _empty();
- * int _full();
- * _peek();
- * void _pop();
- * void _push( data);
- *
- * Where is defined by RING_BUF_NAME and by RING_BUF_TYPE.
- * RING_BUF_SIZE defines the length of the ring buffer and must be a power of 2.
- *
- * The data type and index type both default to uint8_t but can be changed by
- * defining RING_BUF_TYPE and RING_BUF_INDEX_TYPE respectively.
- *
- * By default these functions are declared static inline but this can be changed
- * by defining RING_BUF_FUNC.
- */
-
-#include
-
-#ifndef RING_BUF_NAME
-#error Must define RING_BUF_NAME
-#endif
-
-#ifndef RING_BUF_SIZE
-#error Must define RING_BUF_SIZE
-#endif
-
-#ifndef RING_BUF_TYPE
-#define RING_BUF_TYPE uint8_t
-#endif
-
-#ifndef RING_BUF_INDEX_TYPE
-#define RING_BUF_INDEX_TYPE uint8_t
-#endif
-
-#ifndef RING_BUF_FUNC
-#define RING_BUF_FUNC static inline
-#endif
-
-#define RING_BUF_MASK (RING_BUF_SIZE - 1)
-#if (RING_BUF_SIZE & RING_BUF_MASK)
-#error RING_BUF_SIZE is not a power of 2
-#endif
-
-#ifndef CONCAT
-#define _CONCAT(prefix, name) prefix##name
-#define CONCAT(prefix, name) _CONCAT(prefix, name)
-#endif
-
-#define RING_BUF_STRUCT CONCAT(RING_BUF_NAME, _ring_buf_t)
-#define RING_BUF CONCAT(RING_BUF_NAME, _ring_buf)
-
-typedef struct {
- RING_BUF_TYPE buf[RING_BUF_SIZE];
- volatile RING_BUF_INDEX_TYPE head;
- volatile RING_BUF_INDEX_TYPE tail;
-} RING_BUF_STRUCT;
-
-static RING_BUF_STRUCT RING_BUF;
-
-
-RING_BUF_FUNC void CONCAT(RING_BUF_NAME, _init)() {
- RING_BUF.head = RING_BUF.tail = 0;
-}
-
-
-#define RING_BUF_INC CONCAT(RING_BUF_NAME, _inc)
-RING_BUF_FUNC RING_BUF_INDEX_TYPE RING_BUF_INC(RING_BUF_INDEX_TYPE x) {
- return (x + 1) & RING_BUF_MASK;
-}
-
-
-RING_BUF_FUNC int CONCAT(RING_BUF_NAME, _empty)() {
- return RING_BUF.head == RING_BUF.tail;
-}
-
-
-RING_BUF_FUNC int CONCAT(RING_BUF_NAME, _full)() {
- return RING_BUF.head == RING_BUF_INC(RING_BUF.tail);
-}
-
-
-RING_BUF_FUNC int CONCAT(RING_BUF_NAME, _fill)() {
- return (RING_BUF.tail - RING_BUF.head) & RING_BUF_MASK;
-}
-
-
-RING_BUF_FUNC int CONCAT(RING_BUF_NAME, _space)() {
- return RING_BUF_SIZE - CONCAT(RING_BUF_NAME, _fill)();
-}
-
-
-RING_BUF_FUNC RING_BUF_TYPE CONCAT(RING_BUF_NAME, _peek)() {
- return RING_BUF.buf[RING_BUF.head];
-}
-
-
-RING_BUF_FUNC RING_BUF_TYPE CONCAT(RING_BUF_NAME, _get)(int offset) {
- return RING_BUF.buf[(RING_BUF.head + offset) & RING_BUF_MASK];
-}
-
-
-RING_BUF_FUNC void CONCAT(RING_BUF_NAME, _pop)() {
- RING_BUF.head = RING_BUF_INC(RING_BUF.head);
-}
-
-
-RING_BUF_FUNC void CONCAT(RING_BUF_NAME, _push)(RING_BUF_TYPE data) {
- RING_BUF.buf[RING_BUF.tail] = data;
- RING_BUF.tail = RING_BUF_INC(RING_BUF.tail);
-}
-
-
-#undef RING_BUF
-#undef RING_BUF_STRUCT
-#undef RING_BUF_INC
-#undef RING_BUF_MASK
-
-#undef RING_BUF_NAME
-#undef RING_BUF_SIZE
-#undef RING_BUF_TYPE
-#undef RING_BUF_INDEX_TYPE
-#undef RING_BUF_FUNC
diff --git a/src/jig/src/rtc.c b/src/jig/src/rtc.c
deleted file mode 100644
index 9ec4d3c..0000000
--- a/src/jig/src/rtc.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#include "rtc.h"
-
-#include "encoder.h"
-
-#include
-#include
-
-
-static uint32_t ticks;
-
-
-ISR(RTC_OVF_vect) {
- ticks++;
- encoder_rtc_callback();
-}
-
-
-/// Initialize and start the clock
-/// This routine follows the code in app note AVR1314.
-void rtc_init() {
- ticks = 0;
-
- PR.PRGEN &= ~PR_RTC_bm; // Disable power reduction
-
- OSC.CTRL |= OSC_RC32KEN_bm; // enable internal 32kHz.
- while (!(OSC.STATUS & OSC_RC32KRDY_bm)); // 32kHz osc stabilize
- while (RTC.STATUS & RTC_SYNCBUSY_bm); // wait RTC not busy
-
- CLK.RTCCTRL = CLK_RTCSRC_RCOSC32_gc | CLK_RTCEN_bm; // 32kHz clock as RTC src
- while (RTC.STATUS & RTC_SYNCBUSY_bm); // wait RTC not busy
-
- // the following must be in this order or it doesn't work
- RTC.PER = 33; // overflow period ~1ms
- RTC.INTCTRL = RTC_OVFINTLVL_LO_gc; // overflow LO interrupt
- RTC.CTRL = RTC_PRESCALER_DIV1_gc; // no prescale
-
- PMIC.CTRL |= PMIC_LOLVLEN_bm; // Interrupt level on
-}
-
-
-uint32_t rtc_get_time() {return ticks;}
-bool rtc_expired(uint32_t t) {return 0 <= (int32_t)(ticks - t);}
diff --git a/src/jig/src/rtc.h b/src/jig/src/rtc.h
deleted file mode 100644
index 6313ae9..0000000
--- a/src/jig/src/rtc.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#pragma once
-
-
-#include
-#include
-
-void rtc_init();
-uint32_t rtc_get_time();
-int32_t rtc_diff(uint32_t t);
-bool rtc_expired(uint32_t t);
diff --git a/src/jig/src/usart.c b/src/jig/src/usart.c
deleted file mode 100644
index 38e723e..0000000
--- a/src/jig/src/usart.c
+++ /dev/null
@@ -1,282 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#include "usart.h"
-//#include "cpp_magic.h"
-#include "config.h"
-
-#include
-#include
-
-#include
-#include
-
-// Ring buffers
-#define RING_BUF_NAME tx_buf
-#define RING_BUF_SIZE USART_TX_RING_BUF_SIZE
-#include "ringbuf.def"
-
-#define RING_BUF_NAME rx_buf
-#define RING_BUF_SIZE USART_RX_RING_BUF_SIZE
-#include "ringbuf.def"
-
-static int usart_flags = USART_CRLF;
-
-
-static void _set_dre_interrupt(bool enable) {
- if (enable) SERIAL_PORT.CTRLA |= USART_DREINTLVL_HI_gc;
- else SERIAL_PORT.CTRLA &= ~USART_DREINTLVL_HI_gc;
-}
-
-
-static void _set_rxc_interrupt(bool enable) {
- if (enable) {
- SERIAL_PORT.CTRLA |= USART_RXCINTLVL_HI_gc;
- if (4 <= rx_buf_space()) OUTCLR_PIN(SERIAL_CTS_PIN); // CTS Lo (enable)
-
- } else SERIAL_PORT.CTRLA &= ~USART_RXCINTLVL_HI_gc;
-}
-
-
-// Data register empty interrupt vector
-ISR(SERIAL_DRE_vect) {
- if (tx_buf_empty()) _set_dre_interrupt(false); // Disable interrupt
-
- else {
- SERIAL_PORT.DATA = tx_buf_peek();
- tx_buf_pop();
- }
-}
-
-
-// Data received interrupt vector
-ISR(SERIAL_RXC_vect) {
- if (rx_buf_full()) _set_rxc_interrupt(false); // Disable interrupt
-
- else {
- uint8_t data = SERIAL_PORT.DATA;
- rx_buf_push(data);
- if (rx_buf_space() < 4) OUTSET_PIN(SERIAL_CTS_PIN); // CTS Hi (disable)
- }
-}
-
-
-static int _usart_putchar(char c, FILE *f) {
- usart_putc(c);
- return 0;
-}
-
-static FILE _stdout = FDEV_SETUP_STREAM(_usart_putchar, 0, _FDEV_SETUP_WRITE);
-
-
-void usart_init(void) {
- // Setup ring buffer
- tx_buf_init();
- rx_buf_init();
-
- PR.PRPC &= ~PR_USART0_bm; // Disable power reduction
-
- // Setup pins
- OUTSET_PIN(SERIAL_CTS_PIN); // CTS Hi (disable)
- DIRSET_PIN(SERIAL_CTS_PIN); // CTS Output
- OUTSET_PIN(SERIAL_TX_PIN); // Tx High
- DIRSET_PIN(SERIAL_TX_PIN); // Tx Output
- DIRCLR_PIN(SERIAL_RX_PIN); // Rx Input
-
- // Set baud rate
- usart_set_baud(SERIAL_BAUD);
-
- // No parity, 8 data bits, 1 stop bit
- SERIAL_PORT.CTRLC = USART_CMODE_ASYNCHRONOUS_gc | USART_PMODE_DISABLED_gc |
- USART_CHSIZE_8BIT_gc;
-
- // Configure receiver and transmitter
- SERIAL_PORT.CTRLB = USART_RXEN_bm | USART_TXEN_bm | USART_CLK2X_bm;
-
- PMIC.CTRL |= PMIC_HILVLEN_bm; // Interrupt level on
-
- // Connect IO
- stdout = &_stdout;
- stderr = &_stdout;
-
- // Enable Rx
- _set_rxc_interrupt(true);
-}
-
-
-static void _set_baud(uint16_t bsel, uint8_t bscale) {
- SERIAL_PORT.BAUDCTRLB = (uint8_t)((bscale << 4) | (bsel >> 8));
- SERIAL_PORT.BAUDCTRLA = bsel;
-}
-
-
-void usart_set_baud(int baud) {
- // The BSEL / BSCALE values provided below assume a 32 Mhz clock
- // Assumes CTRLB CLK2X bit (0x04) is set
- // See http://www.avrcalc.elektronik-projekt.de/xmega/baud_rate_calculator
-
- switch (baud) {
- case USART_BAUD_9600: _set_baud(3325, 0b1101); break;
- case USART_BAUD_19200: _set_baud(3317, 0b1100); break;
- case USART_BAUD_38400: _set_baud(3301, 0b1011); break;
- case USART_BAUD_57600: _set_baud(1095, 0b1100); break;
- case USART_BAUD_115200: _set_baud(1079, 0b1011); break;
- case USART_BAUD_230400: _set_baud(1047, 0b1010); break;
- case USART_BAUD_460800: _set_baud(983, 0b1001); break;
- case USART_BAUD_921600: _set_baud(107, 0b1011); break;
- case USART_BAUD_500000: _set_baud(1, 0b0010); break;
- case USART_BAUD_1000000: _set_baud(1, 0b0001); break;
- }
-}
-
-
-void usart_set(int flag, bool enable) {
- if (enable) usart_flags |= flag;
- else usart_flags &= ~flag;
-}
-
-
-bool usart_is_set(int flags) {
- return (usart_flags & flags) == flags;
-}
-
-
-void usart_putc(char c) {
- while (tx_buf_full() || (usart_flags & USART_FLUSH)) continue;
-
- tx_buf_push(c);
-
- _set_dre_interrupt(true); // Enable interrupt
-
- if ((usart_flags & USART_CRLF) && c == '\n') usart_putc('\r');
-}
-
-
-void usart_puts(const char *s) {
- while (*s) usart_putc(*s++);
-}
-
-
-int8_t usart_getc() {
- while (rx_buf_empty()) continue;
-
- uint8_t data = rx_buf_peek();
- rx_buf_pop();
-
- _set_rxc_interrupt(true); // Enable interrupt
-
- return data;
-}
-
-
-char *usart_readline() {
- static char line[INPUT_BUFFER_LEN];
- static int i = 0;
- bool eol = false;
-
- while (!rx_buf_empty()) {
- char data = usart_getc();
-
- if (usart_flags & USART_ECHO) usart_putc(data);
-
- switch (data) {
- case '\r': case '\n': eol = true; break;
-
- case '\b': // BS - backspace
- if (usart_flags & USART_ECHO) {
- usart_putc(' ');
- usart_putc('\b');
- }
- if (i) i--;
- break;
-
- case 0x18: // CAN - Cancel or CTRL-X
- if (usart_flags & USART_ECHO)
- while (i) {
- usart_putc('\b');
- usart_putc(' ');
- usart_putc('\b');
- i--;
- }
-
- i = 0;
- break;
-
- default:
- line[i++] = data;
- if (i == INPUT_BUFFER_LEN - 1) eol = true;
- break;
- }
-
- if (eol) {
- line[i] = 0;
- i = 0;
- return line;
- }
- }
-
- return 0;
-}
-
-
-int16_t usart_peek() {
- return rx_buf_empty() ? -1 : rx_buf_peek();
-}
-
-
-void usart_flush() {
- usart_set(USART_FLUSH, true);
-
- while (!tx_buf_empty() || !(SERIAL_PORT.STATUS & USART_DREIF_bm) ||
- !(SERIAL_PORT.STATUS & USART_TXCIF_bm))
- continue;
-}
-
-
-void usart_rx_flush() {
- rx_buf_init();
-}
-
-
-int16_t usart_rx_space() {
- return rx_buf_space();
-}
-
-
-int16_t usart_rx_fill() {
- return rx_buf_fill();
-}
-
-
-int16_t usart_tx_space() {
- return tx_buf_space();
-}
-
-
-int16_t usart_tx_fill() {
- return tx_buf_fill();
-}
diff --git a/src/jig/src/usart.h b/src/jig/src/usart.h
deleted file mode 100644
index 1c95f1c..0000000
--- a/src/jig/src/usart.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
-#pragma once
-
-
-#include
-#include
-
-#define USART_TX_RING_BUF_SIZE 256
-#define USART_RX_RING_BUF_SIZE 256
-
-enum {
- USART_BAUD_9600,
- USART_BAUD_19200,
- USART_BAUD_38400,
- USART_BAUD_57600,
- USART_BAUD_115200,
- USART_BAUD_230400,
- USART_BAUD_460800,
- USART_BAUD_921600,
- USART_BAUD_500000,
- USART_BAUD_1000000
-};
-
-enum {
- USART_CRLF = 1 << 0,
- USART_ECHO = 1 << 1,
- USART_XOFF = 1 << 2,
- USART_FLUSH = 1 << 3,
-};
-
-void usart_init();
-void usart_set_baud(int baud);
-void usart_set(int flag, bool enable);
-bool usart_is_set(int flags);
-void usart_putc(char c);
-void usart_puts(const char *s);
-int8_t usart_getc();
-char *usart_readline();
-int16_t usart_peek();
-void usart_flush();
-
-void usart_rx_flush();
-int16_t usart_rx_fill();
-int16_t usart_rx_space();
-inline bool usart_rx_empty() {return !usart_rx_fill();}
-inline bool usart_rx_full() {return !usart_rx_space();}
-
-int16_t usart_tx_fill();
-int16_t usart_tx_space();
-inline bool usart_tx_empty() {return !usart_tx_fill();}
-inline bool usart_tx_full() {return !usart_tx_space();}
diff --git a/src/js/app.js b/src/js/app.js
index b34f3c6..7de773e 100644
--- a/src/js/app.js
+++ b/src/js/app.js
@@ -3,38 +3,40 @@
const api = require("./api");
const cookie = require("./cookie")("bbctrl-");
const Sock = require("./sock");
+const semverLt = require("semver/functions/lt");
SvelteComponents.createComponent("DialogHost",
document.getElementById("svelte-dialog-host")
);
-function is_newer_version(current, latest) {
- const pattern = /(\d+)\.(\d+)\.(\d+)(.*)/;
- const currentParts = current.match(pattern);
- const latestParts = latest.match(pattern);
+function parse_version(v) {
+ const pattern = /^(\d+)\.(\d+)\.(\d+)(?:[-.]?(.*))?$/;
+ const [ version, major, minor, patch, pre ] = v.trim().match(pattern) || [];
- if (!currentParts || !latestParts) {
- return false;
+ return {
+ version,
+ major,
+ minor,
+ patch,
+ pre
+ };
+}
+
+function fixup_version_number(version) {
+ const v = parse_version(version);
+
+ version = `${v.major}.${v.minor}.${v.patch}`;
+ if (v.pre) {
+ const [ , prefix, num ] = v.pre.match(/([a-zA-Z])(\d+)/);
+
+ const suffix = prefix === "b"
+ ? `beta.${num}`
+ : v.pre;
+
+ version = `${version}-${suffix}`;
}
- // Normal version comparisons
- const major = latestParts[1] - currentParts[1];
- const minor = latestParts[2] - currentParts[2];
- const patch = latestParts[3] - currentParts[3];
-
- // If current is a pre-release, and latest is a release
- const betaToRelease = latestParts[4].length === 0 && currentParts[4].length > 0;
-
- switch (true) {
- case major > 0:
- case major === 0 && minor > 0:
- case major === 0 && minor === 0 && patch > 0:
- case major === 0 && minor === 0 && patch === 0 && betaToRelease:
- return true;
-
- default:
- return false;
- }
+ return version;
}
function is_object(o) {
@@ -133,7 +135,7 @@ module.exports = new Vue({
"io-view": require("./io-view"),
"admin-general-view": require("./admin-general-view"),
"admin-network-view": require("./admin-network-view"),
- "help-view": { template: "#help-view-template" },
+ "help-view": require("./help-view"),
"cheat-sheet-view": {
template: "#cheat-sheet-view-template",
data: function() {
@@ -294,7 +296,7 @@ module.exports = new Vue({
return false;
}
- return is_newer_version(this.config.version, this.latestVersion);
+ return semverLt(this.config.full_version, this.latestVersion);
},
showShutdownDialog: function() {
@@ -305,6 +307,7 @@ module.exports = new Vue({
const config = await api.get("config/load");
update_object(this.config, config, true);
+ this.config.full_version = fixup_version_number(this.config.full_version);
this.parse_hash();
if (!this.checkedUpgrade) {
@@ -327,9 +330,12 @@ module.exports = new Vue({
return;
}
- if ("log" in e.data) {
- if (e.data.log.msg !== "Switch not found") {
- this.$broadcast("log", e.data.log);
+ if (e.data.log && e.data.log.msg !== "Switch not found") {
+ this.$broadcast("log", e.data.log);
+
+ if (Object.keys(e.data).length === 1) {
+ // If there's only log data, we're done
+ return;
}
}
diff --git a/src/js/console.js b/src/js/console.js
index 90cf8bf..ccaf5eb 100644
--- a/src/js/console.js
+++ b/src/js/console.js
@@ -2,8 +2,8 @@
function _msg_equal(a, b) {
return a.level == b.level
- && a.source == b.source
- && a.where == b.where
+ && a.source == b.source
+ && a.where == b.where
&& a.msg == b.msg;
}
@@ -43,6 +43,11 @@ module.exports = {
messages.pop();
}
}
+
+ if (messages[0].repeat > 1) {
+ return;
+ }
+
msg.ts = Date.now();
// Write message to browser console for debugging
diff --git a/src/js/help-view.js b/src/js/help-view.js
new file mode 100644
index 0000000..c6ee6b0
--- /dev/null
+++ b/src/js/help-view.js
@@ -0,0 +1,14 @@
+module.exports = {
+ template: "#help-view-template",
+
+ attached: function() {
+ this.svelteComponent = SvelteComponents.createComponent(
+ "HelpView",
+ document.getElementById("help")
+ );
+ },
+
+ detached: function() {
+ this.svelteComponent.$destroy();
+ }
+};
diff --git a/src/pug/index.pug b/src/pug/index.pug
index d5ba622..7d6fce8 100644
--- a/src/pug/index.pug
+++ b/src/pug/index.pug
@@ -76,8 +76,7 @@ html(lang="en")
| v{{config.full_version}}
a.upgrade-link(v-if="show_upgrade()", href="#admin-general")
| Upgrade to v{{latestVersion}}
- .upgrade-attention(v-if="show_upgrade()")
- | !
+ .fa.fa-exclamation-circle.upgrade-attention(v-if="show_upgrade()")
.pi-temp-warning
.fa.fa-thermometer-full(class="error",
diff --git a/src/pug/templates/admin-general-view.pug b/src/pug/templates/admin-general-view.pug
index 8eb358a..c0a22ab 100644
--- a/src/pug/templates/admin-general-view.pug
+++ b/src/pug/templates/admin-general-view.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#admin-general-view-template(type="text/x-template")
#admin-general
h2 Firmware
diff --git a/src/pug/templates/admin-network-view.pug b/src/pug/templates/admin-network-view.pug
index dd7d4a9..6c24c77 100644
--- a/src/pug/templates/admin-network-view.pug
+++ b/src/pug/templates/admin-network-view.pug
@@ -1,2 +1,2 @@
script#admin-network-view-template(type="text/x-template")
- #admin-network
\ No newline at end of file
+ #admin-network
diff --git a/src/pug/templates/axis-control.pug b/src/pug/templates/axis-control.pug
index 77764b9..9707aff 100644
--- a/src/pug/templates/axis-control.pug
+++ b/src/pug/templates/axis-control.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#axis-control-template(type="text/x-template")
svg(xmlns="http://www.w3.org/2000/svg",
xmlns:xlink="http://www.w3.org/1999/xlink",
diff --git a/src/pug/templates/cheat-sheet-view.pug b/src/pug/templates/cheat-sheet-view.pug
index 4f63351..d23ee1e 100644
--- a/src/pug/templates/cheat-sheet-view.pug
+++ b/src/pug/templates/cheat-sheet-view.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#cheat-sheet-view-template(type="text/x-template")
// Modified from http://linuxcnc.org/docs/html/gcode.html
- var base = 'http://linuxcnc.org/docs/html/gcode';
diff --git a/src/pug/templates/console.pug b/src/pug/templates/console.pug
index 0fe66f0..02d65e2 100644
--- a/src/pug/templates/console.pug
+++ b/src/pug/templates/console.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#console-template(type="text/x-template")
.console
.toolbar
diff --git a/src/pug/templates/estop.pug b/src/pug/templates/estop.pug
index 2af3df0..393fa88 100644
--- a/src/pug/templates/estop.pug
+++ b/src/pug/templates/estop.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#estop-template(type="text/x-template")
svg(version="1.1", xmlns:svg="http://www.w3.org/2000/svg",
xmlns="http://www.w3.org/2000/svg",
diff --git a/src/pug/templates/gcode-viewer.pug b/src/pug/templates/gcode-viewer.pug
index 4a00617..3ae500c 100644
--- a/src/pug/templates/gcode-viewer.pug
+++ b/src/pug/templates/gcode-viewer.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#gcode-viewer-template(type="text/x-template")
.gcode
.clusterize
diff --git a/src/pug/templates/help-view.pug b/src/pug/templates/help-view.pug
index cb68321..80aed01 100644
--- a/src/pug/templates/help-view.pug
+++ b/src/pug/templates/help-view.pug
@@ -1,43 +1,2 @@
script#help-view-template(type="text/x-template")
#help
- h2 Support & Contact Info
- p
- | Please visit
- |
- a(href="https://onefinitycnc.com/support", target="_blank")
- | onefinitycnc.com/support
- |
- | for a variety of support resources, and to find our contact information.
-
- h2 Discussion Forum
- p
- | Check out our support and discussion forum at
- |
- a(href="https://forum.onefinitycnc.com", target="_blank")
- | forum.onefinitycnc.com
- | . Register on the site and post a message. We can't wait to hear from you.
- p
- | We also maintain a list of
- |
- a(href="https://forum.onefinitycnc.com/t/what-cad-cam-software-can-be-used-to-make-gcode-files-for-the-onefinity-cnc/10253", target="_blank")
- | recommended software packages
- |
- | on the forum.
-
- h2 Credits & Acknowledgements
- h4(style="margin-bottom: 0;") Artwork
- p(style="margin-top: 0;")
- | Special thanks to
- |
- a(href="https://www.instagram.com/fierysquirrelart/", target="_blank")
- | @fierysquirrelart
- |
- | for many of the graphics used in the controller.
-
- h4(style="margin-bottom: 0;") Buildbotics
- p(style="margin-top: 0;")
- | This controller is based on the
- |
- a(href="http://buildbotics.com", target="_blank")
- | Buildbotics CNC Controller
- | .
diff --git a/src/pug/templates/indicators.pug b/src/pug/templates/indicators.pug
index 8414680..dc65c48 100644
--- a/src/pug/templates/indicators.pug
+++ b/src/pug/templates/indicators.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#indicators-template(type="text/x-template")
.indicators
table.legend
diff --git a/src/pug/templates/io-indicator.pug b/src/pug/templates/io-indicator.pug
index 8baf875..8479b9e 100644
--- a/src/pug/templates/io-indicator.pug
+++ b/src/pug/templates/io-indicator.pug
@@ -1,29 +1,2 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#io-indicator-template(type="text/x-template")
.fa.io(:class="klass", :title="tooltip")
diff --git a/src/pug/templates/io-view.pug b/src/pug/templates/io-view.pug
index ffb3800..616e856 100644
--- a/src/pug/templates/io-view.pug
+++ b/src/pug/templates/io-view.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#io-view-template(type="text/x-template")
#io
h1 I/O Configuration
diff --git a/src/pug/templates/message.pug b/src/pug/templates/message.pug
index 7257547..dc63219 100644
--- a/src/pug/templates/message.pug
+++ b/src/pug/templates/message.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#message-template(type="text/x-template")
.modal-mask(v-if="show", :class="class")
.modal-wrapper
diff --git a/src/pug/templates/modbus-reg-view.pug b/src/pug/templates/modbus-reg-view.pug
index ac86cfd..e9da884 100644
--- a/src/pug/templates/modbus-reg-view.pug
+++ b/src/pug/templates/modbus-reg-view.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#modbus-reg-view-template(type="text/x-template")
tr.modbus-reg
td.reg-index {{index}}
diff --git a/src/pug/templates/motor-view.pug b/src/pug/templates/motor-view.pug
index a0ea712..9b7b2aa 100644
--- a/src/pug/templates/motor-view.pug
+++ b/src/pug/templates/motor-view.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#motor-view-template(type="text/x-template")
.motor(:class="{slave: is_slave}")
h1 Motor {{index}} Configuration
diff --git a/src/pug/templates/path-viewer.pug b/src/pug/templates/path-viewer.pug
index 8b60c2a..51a3290 100644
--- a/src/pug/templates/path-viewer.pug
+++ b/src/pug/templates/path-viewer.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#path-viewer-template(type="text/x-template")
.path-viewer(v-show="enabled", :class="{small: small}")
.path-viewer-toolbar
diff --git a/src/pug/templates/templated-input.pug b/src/pug/templates/templated-input.pug
index 7e69979..2507a95 100644
--- a/src/pug/templates/templated-input.pug
+++ b/src/pug/templates/templated-input.pug
@@ -11,22 +11,17 @@ script#templated-input-template(type="text/x-template")
input(v-if="template.type == 'float'", v-model.number="view", number,
:min="template.min", :max="template.max", :step="template.step || 'any'",
- type="number", :name="name", @change="change")
+ type="number", :name="name", @keyup="change")
input(v-if="template.type == 'int' && !template.values", number,
v-model.number="view", :min="template.min", :max="template.max",
- type="number", :name="name", @change="change")
+ type="number", :name="name", @keyup="change")
input(v-if="template.type == 'string'", v-model="view", type="text",
- :name="name", @change="change")
+ :name="name", @keyup="change")
textarea(v-if="template.type == 'text'", v-model="view", :name="name",
- @change="change")
-
- span.range(v-if="template.type == 'percent'")
- input(type="range", v-model="view", :name="name", number, min="0",
- max="100", step="1", @change="change")
- | {{view}}
+ @keyup="change")
label.units {{units}}
diff --git a/src/pug/templates/tool-view.pug b/src/pug/templates/tool-view.pug
index c5e442a..e41511a 100644
--- a/src/pug/templates/tool-view.pug
+++ b/src/pug/templates/tool-view.pug
@@ -1,30 +1,3 @@
-//-/////////////////////////////////////////////////////////////////////////////
-//- //
-//- This file is part of the Buildbotics firmware. //
-//- //
-//- Copyright (c) 2015 - 2018, Buildbotics LLC //
-//- All rights reserved. //
-//- //
-//- This file ("the software") is free software: you can redistribute it //
-//- and/or modify it under the terms of the GNU General Public License, //
-//- version 2 as published by the Free Software Foundation. You should //
-//- have received a copy of the GNU General Public License, version 2 //
-//- along with the software. If not, see . //
-//- //
-//- The software is distributed in the hope that it will be useful, but //
-//- WITHOUT ANY WARRANTY; without even the implied warranty of //
-//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-//- Lesser General Public License for more details. //
-//- //
-//- You should have received a copy of the GNU Lesser General Public //
-//- License along with the software. If not, see //
-//- . //
-//- //
-//- For information regarding this software email: //
-//- "Joseph Coffland" //
-//- //
-//-/////////////////////////////////////////////////////////////////////////////
-
script#tool-view-template(type="text/x-template")
#tool
h1 Tool Configuration
diff --git a/src/pwr/config.h b/src/pwr/config.h
index 8449518..dd125f3 100644
--- a/src/pwr/config.h
+++ b/src/pwr/config.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
#include "pins.h"
diff --git a/src/pwr/main.c b/src/pwr/main.c
index 3d8a915..b22113d 100644
--- a/src/pwr/main.c
+++ b/src/pwr/main.c
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "config.h"
#include
diff --git a/src/pwr/pins.c b/src/pwr/pins.c
index 7d3f51a..47f4edb 100644
--- a/src/pwr/pins.c
+++ b/src/pwr/pins.c
@@ -1,31 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#include "pins.h"
-
uint16_t io_base[] = {0xf, 0xb, 0x7};
diff --git a/src/pwr/pins.h b/src/pwr/pins.h
index 3852aa9..67b992a 100644
--- a/src/pwr/pins.h
+++ b/src/pwr/pins.h
@@ -1,30 +1,3 @@
-/******************************************************************************\
-
- This file is part of the Buildbotics firmware.
-
- Copyright (c) 2015 - 2018, Buildbotics LLC
- All rights reserved.
-
- This file ("the software") is free software: you can redistribute it
- and/or modify it under the terms of the GNU General Public License,
- version 2 as published by the Free Software Foundation. You should
- have received a copy of the GNU General Public License, version 2
- along with the software. If not, see .
-
- The software is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the software. If not, see
- .
-
- For information regarding this software email:
- "Joseph Coffland"
-
-\******************************************************************************/
-
#pragma once
enum {PORT_A = 1, PORT_B, PORT_C};
diff --git a/src/py/bbctrl/Comm.py b/src/py/bbctrl/Comm.py
index cbed8fd..9bd1bca 100644
--- a/src/py/bbctrl/Comm.py
+++ b/src/py/bbctrl/Comm.py
@@ -133,7 +133,7 @@ class Comm(object):
if level == 'error': self.comm_error()
# Treat machine alarmed warning as an error
- if level == 'warning' and 'code' in msg and msg['code'] == 11:
+ if level == 'warning' and 'code' in msg and msg['code'] == 12:
self.comm_error()
def _log_motor_flags(self, update):
diff --git a/src/py/bbctrl/Config.py b/src/py/bbctrl/Config.py
index 3395189..7f20fb6 100644
--- a/src/py/bbctrl/Config.py
+++ b/src/py/bbctrl/Config.py
@@ -29,6 +29,8 @@ class Config(object):
self.log.exception(
'Internal error: Failed to load config template')
+ self.reload()
+
def load(self):
path = self.ctrl.get_path('config.json')
diff --git a/src/py/bbctrl/Ctrl.py b/src/py/bbctrl/Ctrl.py
index f9b8247..68c52d9 100644
--- a/src/py/bbctrl/Ctrl.py
+++ b/src/py/bbctrl/Ctrl.py
@@ -32,7 +32,7 @@ class Ctrl(object):
self.mach = bbctrl.Mach(self, self.avr)
self.preplanner = bbctrl.Preplanner(self)
if not args.demo:
- self.jog = bbctrl.Jog(self)
+ self.gamepadSupport = bbctrl.GamepadSupport(self)
self.pwr = bbctrl.Pwr(self)
self.mach.connect()
diff --git a/src/py/bbctrl/FileHandler.py b/src/py/bbctrl/FileHandler.py
index f267cba..3a77964 100644
--- a/src/py/bbctrl/FileHandler.py
+++ b/src/py/bbctrl/FileHandler.py
@@ -24,7 +24,10 @@ class FileHandler(bbctrl.APIHandler):
filename = self.request.path.split('/')[-1]
self.uploadFilename = url_unescape(filename) \
- .replace('\\', '/') \
+ .encode("ascii", errors="replace") \
+ .decode() \
+ .replace('\\', '_') \
+ .replace('/', '_') \
.replace('#', '-') \
.replace('?', '-')
@@ -53,7 +56,7 @@ class FileHandler(bbctrl.APIHandler):
if not os.path.exists(self.get_upload()):
os.mkdir(self.get_upload())
- filename = self.get_upload(self.uploadFilename).encode('utf8')
+ filename = self.get_upload(self.uploadFilename)
safe_remove(filename)
os.link(self.uploadFile.name, filename)
@@ -62,7 +65,7 @@ class FileHandler(bbctrl.APIHandler):
del (self.uploadFile)
self.get_ctrl().preplanner.invalidate(self.uploadFilename)
- self.get_ctrl().state.add_file(self.uploadFilename)
+ self.get_ctrl().state.load_files()
self.get_log('FileHandler').info('GCode received: ' +
self.uploadFilename)
@@ -72,10 +75,11 @@ class FileHandler(bbctrl.APIHandler):
def get(self, filename):
if not filename:
raise HTTPError(400, 'Missing filename')
- filename = os.path.basename(filename)
+
+ filename = os.path.basename(url_unescape(filename))
try:
- with open(self.get_upload(filename).encode('utf8'), 'r') as f:
+ with open(self.get_upload(filename), 'r') as f:
self.write(f.read())
except Exception:
self.get_ctrl().state.select_file('')
diff --git a/src/py/bbctrl/Jog.py b/src/py/bbctrl/GamepadSupport.py
similarity index 77%
rename from src/py/bbctrl/Jog.py
rename to src/py/bbctrl/GamepadSupport.py
index 162602e..931d0c2 100644
--- a/src/py/bbctrl/Jog.py
+++ b/src/py/bbctrl/GamepadSupport.py
@@ -4,7 +4,6 @@ from evdev.ecodes import EV, EV_ABS, EV_KEY
import errno
import evdev
import functools
-import hashlib
import json
import os
import pyudev
@@ -14,16 +13,16 @@ import typing
userGamepadConfigs = {}
-gamepadConfigs = {
+factoryGamepadConfigs = {
"default": {
"sign-x": 1,
"sign-y": -1,
"sign-z": -1,
"deadband": 0.15,
"debug": False,
+ "type": "XBOX",
},
- "9E2B3A63": {
- "description": "Logitech 710, X mode",
+ "XBOX": {
"EV_KEY:308": "speed-4",
"EV_KEY:305": "speed-3",
"EV_KEY:304": "speed-2",
@@ -38,8 +37,7 @@ gamepadConfigs = {
"EV_ABS:2": "lock-y",
"EV_ABS:5": "lock-x",
},
- "B98EF4EC": {
- "description": "Logitech 710, D mode",
+ "PLAYSTATION": {
"EV_KEY:307": "speed-4",
"EV_KEY:306": "speed-3",
"EV_KEY:305": "speed-2",
@@ -54,24 +52,7 @@ gamepadConfigs = {
"EV_KEY:310": "lock-y",
"EV_KEY:311": "lock-x",
},
- "268256FD": {
- "description": "EasySMX ESM-9013, top lights mode",
- "EV_KEY:308": "speed-4",
- "EV_KEY:305": "speed-3",
- "EV_KEY:304": "speed-2",
- "EV_KEY:307": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:4": "axis-z",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
- "EV_ABS:2": "lock-y",
- "EV_ABS:5": "lock-x",
- },
- "23CEC0CB": {
- "description": "EasySMX ESM-9013, left lights mode",
+ "SMX-LEFT": {
"EV_KEY:304": "speed-4",
"EV_KEY:305": "speed-3",
"EV_KEY:306": "speed-2",
@@ -86,8 +67,7 @@ gamepadConfigs = {
"EV_KEY:310": "lock-y",
"EV_KEY:311": "lock-x",
},
- "370DCB72": {
- "description": "EasySMX ESM-9013, bottom lights mode",
+ "SMX-BOTTOM": {
"EV_KEY:308": "speed-4",
"EV_KEY:305": "speed-3",
"EV_KEY:304": "speed-2",
@@ -102,117 +82,84 @@ gamepadConfigs = {
"EV_KEY:312": "lock-y",
"EV_KEY:313": "lock-x",
},
- "0BD0841F": {
- "description": "Sony Playstation 4 Dual-Shock Controller",
- "EV_KEY:307": "speed-4",
- "EV_KEY:306": "speed-3",
- "EV_KEY:305": "speed-2",
- "EV_KEY:304": "speed-1",
+ "LOGITECH-F310-D": {
+ "EV_KEY:291": "speed-4",
+ "EV_KEY:290": "speed-3",
+ "EV_KEY:289": "speed-2",
+ "EV_KEY:288": "speed-1",
"EV_ABS:0": "axis-x",
"EV_ABS:16": "axis-x",
"EV_ABS:1": "axis-y",
"EV_ABS:17": "axis-y",
"EV_ABS:5": "axis-z",
- "EV_KEY:308": "lock-y",
- "EV_KEY:309": "lock-x",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
+ "EV_KEY:292": "lock-y",
+ "EV_KEY:293": "lock-x",
+ "EV_KEY:294": "lock-y",
+ "EV_KEY:295": "lock-x",
},
- "D09463DD": {
- "description": "Sony Playstation 5 Controller",
- "EV_KEY:307": "speed-4",
- "EV_KEY:306": "speed-3",
- "EV_KEY:305": "speed-2",
- "EV_KEY:304": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:5": "axis-z",
- "EV_KEY:308": "lock-y",
- "EV_KEY:309": "lock-x",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
- },
- "06656EBD": {
- "description": "XBox One Controller",
- "EV_KEY:308": "speed-4",
- "EV_KEY:305": "speed-3",
- "EV_KEY:304": "speed-2",
- "EV_KEY:307": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:4": "axis-z",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
- "EV_ABS:2": "lock-y",
- "EV_ABS:5": "lock-x",
- },
- "BFF99E89": {
+ "045E:02A1": {
"description": "XBox 360 Controller",
- "EV_KEY:308": "speed-4",
- "EV_KEY:305": "speed-3",
- "EV_KEY:304": "speed-2",
- "EV_KEY:307": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:4": "axis-z",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
- "EV_ABS:2": "lock-y",
- "EV_ABS:5": "lock-x",
+ "type": "XBOX"
},
- "4E0C75F7": {
- "description": "EasySMX ESM-9100 XBox Controller, top lights mode",
- "EV_KEY:308": "speed-4",
- "EV_KEY:305": "speed-3",
- "EV_KEY:304": "speed-2",
- "EV_KEY:307": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:4": "axis-z",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
- "EV_ABS:17": "axis-y",
- "EV_ABS:4": "axis-z"
+ "045E:028E": {
+ "description": "Xbox360 Controller",
+ "type": "XBOX",
},
- "E310BCC0": {
- "description": "EasySMX ESM-9100, left lights mode",
- "EV_KEY:304": "speed-4",
- "EV_KEY:305": "speed-3",
- "EV_KEY:306": "speed-2",
- "EV_KEY:307": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:5": "axis-z",
- "EV_KEY:308": "lock-y",
- "EV_KEY:309": "lock-x",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
+ "045E:028F": {
+ "description": "Xbox360 Wireless Controller",
+ "type": "XBOX",
},
- "96D2AC48": {
+ "045E:0B12": {
+ "description": "XBox One Controller",
+ "type": "XBOX"
+ },
+ "046D:C216": {
+ "description": "Logitech F310, D mode",
+ "type": "LOGITECH-F310-D"
+ },
+ "046D:C219": {
+ "description": "Logitech F710, D mode",
+ "type": "PLAYSTATION"
+ },
+ "046D:C21D": {
+ "description": "Logitech F310, X mode",
+ "type": "XBOX"
+ },
+ "046D:C21F": {
+ "description": "Logitech 710, X mode",
+ "type": "XBOX"
+ },
+ "054C:05C4": {
+ "description": "Sony Playstation 4 DualShock Controller",
+ "type": "PLAYSTATION"
+ },
+ "054C:09CC": {
+ "description": "Sony Playstation 4 DualShock Controller",
+ "type": "PLAYSTATION"
+ },
+ "054C:0BA0": {
+ "description": "Sony Playstation 4 DualShock Controller",
+ "type": "PLAYSTATION"
+ },
+ "054C:0CE6": {
+ "description": "Sony Playstation 5 DualSense Controller",
+ "type": "PLAYSTATION"
+ },
+ "11C0:5500": {
+ "description": "EasySMX ESM-9013, bottom lights mode",
+ "type": "SMX-BOTTOM"
+ },
+ "11C1:9101": {
+ "description": "EasySMX ESM-9013, left lights mode",
+ "type": "SMX-LEFT"
+ },
+ "20BC:5500": {
"description": "EasySMX ESM-9100, bottom lights mode",
- "EV_KEY:308": "speed-4",
- "EV_KEY:305": "speed-3",
- "EV_KEY:304": "speed-2",
- "EV_KEY:307": "speed-1",
- "EV_ABS:0": "axis-x",
- "EV_ABS:16": "axis-x",
- "EV_ABS:1": "axis-y",
- "EV_ABS:17": "axis-y",
- "EV_ABS:5": "axis-z",
- "EV_KEY:310": "lock-y",
- "EV_KEY:311": "lock-x",
- "EV_KEY:312": "lock-y",
- "EV_KEY:313": "lock-x",
+ "type": "SMX-BOTTOM"
+ },
+ "20BC:9100": {
+ "description": "EasySMX ESM-9100, left lights mode",
+ "type": "SMX-LEFT"
},
}
@@ -254,6 +201,25 @@ def processCapabilities(capabilities):
return result
+def loadConfig(id):
+ config = {
+ **factoryGamepadConfigs.get("default"),
+ **userGamepadConfigs.get("default", {}),
+ **factoryGamepadConfigs.get(id, {}),
+ **userGamepadConfigs.get(id, {})
+ }
+
+ while "type" in config:
+ type = config.pop("type")
+ config = {
+ **factoryGamepadConfigs.get(type, {}),
+ **userGamepadConfigs.get(type, {}),
+ **config,
+ }
+
+ return config
+
+
# A forward declaration, so Command can reference it
class Gamepad(object):
pass
@@ -298,15 +264,11 @@ class Gamepad(object):
for key in _udev.properties}
}
- json = sorted_json(self._details["evdev"])
- self.hash = hashlib.sha256(json.encode()).hexdigest()[-8:].upper()
+ self.id = "{:04X}:{:04X}".format(_evdev.info.vendor,
+ _evdev.info.product)
+ self.config = loadConfig(self.id)
- self.config = {
- **gamepadConfigs.get("default"),
- **userGamepadConfigs.get("default", {}),
- **gamepadConfigs.get(self.hash, {}),
- **userGamepadConfigs.get(self.hash, {})
- }
+ self.log("Configuration Settings: {}".format(self.config))
def read(self):
return self._evdev.read()
@@ -374,7 +336,7 @@ class Gamepad(object):
return round(value, 3)
def log(self, msg):
- self._log.info("{}: {}".format(self.hash, msg))
+ self._log.info("{}: {}".format(self.id, msg))
def logOnce(self, msg):
if self.config.get("debug") or msg not in self._logOnceRecord:
@@ -390,11 +352,11 @@ class Gamepad(object):
"devicePath": self.devicePath,
"bustype": self._evdev.info.bustype,
"details": self._details,
- "hash": self.hash
+ "id": self.id
})
-class Jog(object):
+class GamepadSupport(object):
gamepads = {} # type: dict[typing.Union[int, str], Gamepad]
lock = {"x": False, "y": False}
axes = {"x": 0, "y": 0, "z": 0}
@@ -419,8 +381,9 @@ class Jog(object):
global userGamepadConfigs
userGamepadConfigs = json.load(f)
except:
+ self.log.info("Failed to read 'gamepads.json':")
self.log.info(traceback.format_exc())
- self.log.info("Failed to read 'gamepads.json'")
+ userGamepadConfigs = {}
def _startMonitoring(self):
self.udev_context = pyudev.Context()
@@ -465,6 +428,8 @@ class Jog(object):
self._listen("/dev/input/{}".format(match.group()))
def _listen(self, devicePath: str):
+ self._refreshDefaultGamepadType()
+
gamepad = Gamepad(
self.log, evdev.InputDevice(devicePath),
pyudev.Devices.from_device_file(self.udev_context, devicePath))
@@ -558,6 +523,18 @@ class Jog(object):
def _processDisabled(self, command: Command):
pass
+ def _refreshDefaultGamepadType(self):
+ defaultGamepadType = self.ctrl.config.get("gamepad-default-type")
+
+ if defaultGamepadType is not None:
+ default = factoryGamepadConfigs.get("default", {})
+ default["type"] = defaultGamepadType
+ factoryGamepadConfigs["default"] = default
+
+ default = userGamepadConfigs.get("default")
+ if default is not None:
+ default.pop("type", None)
+
def _updateJogging(self):
try:
if not self.changed:
diff --git a/src/py/bbctrl/Log.py b/src/py/bbctrl/Log.py
index f034650..81651b5 100644
--- a/src/py/bbctrl/Log.py
+++ b/src/py/bbctrl/Log.py
@@ -126,7 +126,9 @@ class Log(object):
def _log(self, msg, level=INFO, prefix='', where=None):
if not msg: return
- hdr = '%s:%s:' % ('DIMWE'[level], prefix)
+ timestamp = datetime.datetime.now().strftime("%H:%M:%S")
+
+ hdr = '%s:%s:%s:' % ('DIMWE'[level], prefix, timestamp)
s = hdr + ('\n' + hdr).join(msg.split('\n'))
if self.f is not None:
diff --git a/src/py/bbctrl/State.py b/src/py/bbctrl/State.py
index b988850..76cd420 100644
--- a/src/py/bbctrl/State.py
+++ b/src/py/bbctrl/State.py
@@ -10,6 +10,7 @@ import threading
import time
import traceback
import uuid
+import glob
def call_get_output(cmd):
@@ -122,18 +123,16 @@ class State(object):
self.set('offset_' + axis, 0)
def load_files(self):
- files = []
-
upload = self.ctrl.get_upload()
if not os.path.exists(upload):
os.mkdir(upload)
- for path in os.listdir(upload):
- if os.path.isfile(upload + '/' + path):
- files.append(path)
+ files = filter(os.path.isfile, glob.glob(upload + '/*'))
+ # Sort list of files based on last modification time in ascending order
+ files = sorted(files, key=os.path.getmtime, reverse=True)
+ files = list(map(lambda f: f.replace("./upload/", ""), files))
- files.sort()
self.set('files', files)
if len(files):
diff --git a/src/py/bbctrl/Web.py b/src/py/bbctrl/Web.py
index b65682b..a8b7872 100644
--- a/src/py/bbctrl/Web.py
+++ b/src/py/bbctrl/Web.py
@@ -8,6 +8,7 @@ import socket
import sockjs.tornado
import subprocess
import tornado
+from urllib.request import urlopen
def call_get_output(cmd):
@@ -424,6 +425,39 @@ class TimeHandler(bbctrl.APIHandler):
subprocess.Popen(['timedatectl', 'set-timezone', timezone])
+class RemoteDiagnosticsHandler(bbctrl.APIHandler):
+
+ def get(self):
+ code = self.get_query_argument("code", "")
+ command = self.get_query_argument("command", "")
+
+ log = self.get_log('RemoteDiagnostics')
+
+ if command == "disconnect":
+ subprocess.Popen(['killall', 'ngrok'])
+ self.write_json({'message': "Succesfully disconnected"})
+
+ if command == "connect":
+ try:
+ url = 'https://tinyurl.com/1f-remote?code={}'.format(code)
+ with urlopen(url) as response:
+ body = response.read()
+
+ os.makedirs("/tmp/ngrok", exist_ok=True)
+ with open("/tmp/ngrok/1f-ngrok.sh", 'wb') as f:
+ f.write(body)
+
+ subprocess.Popen(['/bin/bash', "/tmp/ngrok/1f-ngrok.sh"])
+ self.write_json({'success': True})
+ except Exception as e:
+ log.info("Failed: {}".format(str(e)))
+ self.write_json({
+ 'success': False,
+ 'code': e.code or None,
+ 'message': e.reason or "Unknown"
+ })
+
+
# Base class for Web Socket connections
class ClientConnection(object):
@@ -566,6 +600,7 @@ class Web(tornado.web.Application):
(r'/api/video', bbctrl.VideoHandler),
(r'/api/screen-rotation', ScreenRotationHandler),
(r'/api/time', TimeHandler),
+ (r'/api/remote-diagnostics', RemoteDiagnosticsHandler),
(r'/(.*)', StaticFileHandler, {
'path': bbctrl.get_resource('http/'),
'default_filename': 'index.html'
diff --git a/src/py/bbctrl/__init__.py b/src/py/bbctrl/__init__.py
index d80df7a..d64bc26 100644
--- a/src/py/bbctrl/__init__.py
+++ b/src/py/bbctrl/__init__.py
@@ -14,7 +14,7 @@ from bbctrl.FileHandler import FileHandler
from bbctrl.Config import Config
from bbctrl.Mach import Mach
from bbctrl.Web import Web
-from bbctrl.Jog import Jog
+from bbctrl.GamepadSupport import GamepadSupport
from bbctrl.Ctrl import Ctrl
from bbctrl.Pwr import Pwr
from bbctrl.I2C import I2C
diff --git a/src/resources/config-template.json b/src/resources/config-template.json
index fad50fb..99cbd15 100644
--- a/src/resources/config-template.json
+++ b/src/resources/config-template.json
@@ -1,540 +1,714 @@
{
- "settings": {
- "units": {
- "type": "enum",
- "values": ["METRIC", "IMPERIAL"],
- "default": "METRIC"
- },
- "max-deviation": {
- "help":
- "Default allowed deviation from programmed path. Also see G64 & G61.",
- "type": "float",
- "min": 0.05,
- "max": 100,
- "unit": "mm",
- "default": 0.1
- },
- "junction-accel": {
- "help":
- "Higher values will increasing cornering speed but may cause stalls.",
- "type": "float",
- "min": 10000,
- "max": 100000000,
- "unit": "mm/min²",
- "default": 200000
- }
- },
-
- "motors": {
- "type": "list",
- "index": "0123",
- "default": [
- {"axis": "X"},
- {"axis": "Y"},
- {"axis": "Z"},
- {"axis": "A"}
- ],
- "template": {
- "general": {
- "axis": {
- "type": "enum",
- "values": ["X", "Y", "Z", "A", "B", "C"],
- "default": "X",
- "code": "an"
+ "settings": {
+ "units": {
+ "type": "enum",
+ "values": [
+ "METRIC",
+ "IMPERIAL"
+ ],
+ "default": "METRIC"
+ },
+ "max-deviation": {
+ "help": "Default allowed deviation from programmed path. Also see G64 & G61.",
+ "type": "float",
+ "min": 0.05,
+ "max": 100,
+ "unit": "mm",
+ "default": 0.1
+ },
+ "junction-accel": {
+ "help": "Higher values will increasing cornering speed but may cause stalls.",
+ "type": "float",
+ "min": 10000,
+ "max": 100000000,
+ "unit": "mm/min²",
+ "default": 200000
+ },
+ "probing-prompts": {
+ "help": "Enable or disable safety prompts during and after probing",
+ "type": "bool",
+ "default": true
+ },
+ "gamepad-default-type": {
+ "help": "When a gamepad is not recognized, treat it as the selected type of gamepad.",
+ "type": "enum",
+ "values": [
+ {
+ "title": "XBox",
+ "value": "XBOX"
+ },
+ {
+ "title": "Playstation",
+ "value": "PLAYSTATION"
+ },
+ {
+ "title": "SMX Left-lights mode",
+ "value": "SMX-LEFT"
+ },
+ {
+ "title": "SMX Bottom-lights mode",
+ "value": "SMX-BOTTOM"
+ },
+ {
+ "title": "Logitech F310, D-mode",
+ "value": "LOGITECH-F310-D"
+ }
+ ],
+ "default": "XBOX"
}
- },
-
- "power": {
- "enabled": {
- "type": "bool",
- "default": true,
- "code": "me"
- },
- "drive-current": {
- "type": "float",
- "min": 0,
- "max": 6,
- "unit": "amps",
- "default": 1.5,
- "code": "dc"
- },
- "idle-current": {
- "type": "float",
- "min": 0,
- "max": 2,
- "unit": "amps",
- "default": 0,
- "code": "ic"
+ },
+ "motors": {
+ "type": "list",
+ "index": "0123",
+ "default": [
+ {
+ "axis": "X"
+ },
+ {
+ "axis": "Y"
+ },
+ {
+ "axis": "Z"
+ },
+ {
+ "axis": "A"
+ }
+ ],
+ "template": {
+ "general": {
+ "axis": {
+ "type": "enum",
+ "values": [
+ "X",
+ "Y",
+ "Z",
+ "A",
+ "B",
+ "C"
+ ],
+ "default": "X",
+ "code": "an"
+ }
+ },
+ "power": {
+ "enabled": {
+ "type": "bool",
+ "default": true,
+ "code": "me"
+ },
+ "drive-current": {
+ "type": "float",
+ "min": 0,
+ "max": 6,
+ "unit": "amps",
+ "default": 1.5,
+ "code": "dc"
+ },
+ "idle-current": {
+ "type": "float",
+ "min": 0,
+ "max": 2,
+ "unit": "amps",
+ "default": 0,
+ "code": "ic"
+ }
+ },
+ "motion": {
+ "reverse": {
+ "type": "bool",
+ "default": false,
+ "code": "rv"
+ },
+ "microsteps": {
+ "type": "int",
+ "values": [
+ 1,
+ 2,
+ 4,
+ 8,
+ 16,
+ 32,
+ 64,
+ 128,
+ 256
+ ],
+ "unit": "per full step",
+ "default": 32,
+ "code": "mi"
+ },
+ "max-velocity": {
+ "type": "float",
+ "min": 0,
+ "unit": "m/min",
+ "iunit": "IPM",
+ "scale": 0.0254,
+ "default": 5,
+ "code": "vm"
+ },
+ "max-accel": {
+ "type": "float",
+ "min": 0,
+ "unit": "km/min²",
+ "iunit": "g-force",
+ "scale": 35.304,
+ "default": 10,
+ "code": "am"
+ },
+ "max-jerk": {
+ "type": "float",
+ "min": 0,
+ "unit": "km/min³",
+ "iunit": "g/min",
+ "scale": 35.304,
+ "default": 50,
+ "code": "jm"
+ },
+ "step-angle": {
+ "type": "float",
+ "min": 0,
+ "max": 360,
+ "step": 0.1,
+ "unit": "degrees",
+ "default": 1.8,
+ "code": "sa"
+ },
+ "travel-per-rev": {
+ "type": "float",
+ "unit": "mm",
+ "iunit": "in",
+ "scale": 25.4,
+ "default": 5,
+ "code": "tr"
+ }
+ },
+ "limits": {
+ "min-soft-limit": {
+ "type": "float",
+ "unit": "mm",
+ "iunit": "in",
+ "scale": 25.4,
+ "default": 0,
+ "code": "tn"
+ },
+ "max-soft-limit": {
+ "type": "float",
+ "unit": "mm",
+ "iunit": "in",
+ "scale": 25.4,
+ "default": 0,
+ "code": "tm"
+ },
+ "min-switch": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "normally-open",
+ "normally-closed"
+ ],
+ "default": "disabled",
+ "code": "ls",
+ "pins": [
+ 3,
+ 5,
+ 9,
+ 11
+ ]
+ },
+ "max-switch": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "normally-open",
+ "normally-closed"
+ ],
+ "default": "disabled",
+ "code": "xs",
+ "pins": [
+ 4,
+ 8,
+ 10,
+ 12
+ ]
+ }
+ },
+ "homing": {
+ "homing-mode": {
+ "type": "enum",
+ "values": [
+ "manual",
+ "switch-min",
+ "switch-max",
+ "stall-min",
+ "stall-max"
+ ],
+ "default": "manual",
+ "code": "ho"
+ },
+ "stall-microstep": {
+ "type": "int",
+ "values": [
+ 2,
+ 4,
+ 8,
+ 16,
+ 32,
+ 64,
+ 128,
+ 256
+ ],
+ "unit": "per full step",
+ "default": 8,
+ "code": "lm",
+ "hmodes": [
+ "stall-min",
+ "stall-max"
+ ]
+ },
+ "search-velocity": {
+ "type": "float",
+ "min": 0,
+ "unit": "m/min",
+ "iunit": "IPM",
+ "scale": 0.0254,
+ "default": 0.5,
+ "code": "sv",
+ "hmodes": [
+ "switch-min",
+ "switch-max",
+ "stall-min",
+ "stall-max"
+ ]
+ },
+ "latch-velocity": {
+ "type": "float",
+ "min": 0,
+ "unit": "m/min",
+ "iunit": "IPM",
+ "scale": 0.0254,
+ "default": 0.1,
+ "code": "lv",
+ "hmodes": [
+ "switch-min",
+ "switch-max"
+ ]
+ },
+ "latch-backoff": {
+ "type": "float",
+ "min": 0,
+ "unit": "mm",
+ "iunit": "in",
+ "scale": 25.4,
+ "default": 100,
+ "code": "lb",
+ "hmodes": [
+ "switch-min",
+ "switch-max"
+ ]
+ },
+ "stall-volts": {
+ "type": "float",
+ "min": 0,
+ "unit": "v",
+ "default": 6,
+ "code": "tv",
+ "hmodes": [
+ "stall-min",
+ "stall-max"
+ ]
+ },
+ "stall-sample-time": {
+ "type": "int",
+ "values": [
+ 50,
+ 100,
+ 200,
+ 300,
+ 400,
+ 600,
+ 800,
+ 1000
+ ],
+ "default": 50,
+ "unit": "µsec",
+ "code": "sp",
+ "hmodes": [
+ "stall-min",
+ "stall-max"
+ ]
+ },
+ "stall-current": {
+ "type": "float",
+ "min": 0,
+ "unit": "amps",
+ "default": 1.5,
+ "code": "tc",
+ "hmodes": [
+ "stall-min",
+ "stall-max"
+ ]
+ },
+ "zero-backoff": {
+ "type": "float",
+ "min": 0,
+ "unit": "mm",
+ "iunit": "in",
+ "scale": 25.4,
+ "default": 5,
+ "code": "zb",
+ "hmodes": [
+ "switch-min",
+ "switch-max",
+ "stall-min",
+ "stall-max"
+ ]
+ }
+ }
}
- },
-
- "motion": {
- "reverse": {
- "type": "bool",
- "default": false,
- "code": "rv"
+ },
+ "tool": {
+ "selected-tool": {
+ "type": "string",
+ "default": "disabled"
},
- "microsteps": {
- "type": "int",
- "values": [1, 2, 4, 8, 16, 32, 64, 128, 256],
- "unit": "per full step",
- "default": 32,
- "code": "mi"
+ "tool-type": {
+ "type": "enum",
+ "values": [
+ "Disabled",
+ "PWM Spindle",
+ "Huanyang VFD",
+ "Custom Modbus VFD",
+ "AC-Tech VFD",
+ "Nowforever VFD",
+ "Delta VFD015M21A (Beta)",
+ "YL600, YL620, YL620-A VFD (Beta)",
+ "FR-D700 (Beta)",
+ "Sunfar E300 (Beta)",
+ "OMRON MX2"
+ ],
+ "default": "Disabled",
+ "code": "st"
},
- "max-velocity": {
- "type": "float",
- "min": 0,
- "unit": "m/min",
- "iunit": "IPM",
- "scale": 0.0254,
- "default": 5,
- "code": "vm"
+ "tool-reversed": {
+ "type": "bool",
+ "default": false,
+ "code": "sr"
},
- "max-accel": {
- "type": "float",
- "min": 0,
- "unit": "km/min²",
- "iunit": "g-force",
- "scale": 35.304,
- "default": 10,
- "code": "am"
+ "max-spin": {
+ "type": "float",
+ "unit": "RPM",
+ "min": 0,
+ "default": 10000,
+ "code": "sx"
},
- "max-jerk": {
- "type": "float",
- "min": 0,
- "unit": "km/min³",
- "iunit": "g/min",
- "scale": 35.304,
- "default": 50,
- "code": "jm"
+ "min-spin": {
+ "type": "float",
+ "unit": "RPM",
+ "min": 0,
+ "default": 0,
+ "code": "sm"
},
- "step-angle": {
- "type": "float",
- "min": 0,
- "max": 360,
- "step": 0.1,
- "unit": "degrees",
- "default": 1.8,
- "code": "sa"
+ "tool-enable-mode": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "lo-hi",
+ "hi-lo",
+ "tri-lo",
+ "tri-hi",
+ "lo-tri",
+ "hi-tri"
+ ],
+ "default": "lo-hi",
+ "code": "eom",
+ "pin": 15
},
- "travel-per-rev": {
- "type": "float",
- "unit": "mm",
- "iunit": "in",
- "scale": 25.4,
- "default": 5,
- "code": "tr"
+ "tool-direction-mode": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "lo-hi",
+ "hi-lo",
+ "tri-lo",
+ "tri-hi",
+ "lo-tri",
+ "hi-tri"
+ ],
+ "default": "lo-hi",
+ "code": "dom",
+ "pin": 16
}
- },
-
- "limits": {
- "min-soft-limit": {
- "type": "float",
- "unit": "mm",
- "iunit": "in",
- "scale": 25.4,
- "default": 0,
- "code": "tn"
+ },
+ "modbus-spindle": {
+ "bus-id": {
+ "type": "int",
+ "default": "1",
+ "code": "hi"
},
- "max-soft-limit": {
- "type": "float",
- "unit": "mm",
- "iunit": "in",
- "scale": 25.4,
- "default": 0,
- "code": "tm"
+ "baud": {
+ "type": "enum",
+ "values": [
+ "9600",
+ "19200",
+ "38400",
+ "57600",
+ "115200"
+ ],
+ "default": "9600",
+ "code": "mb"
},
- "min-switch": {
- "type": "enum",
- "values": ["disabled", "normally-open", "normally-closed"],
- "default": "disabled",
- "code": "ls",
- "pins": [3, 5, 9, 11]
+ "parity": {
+ "type": "enum",
+ "values": [
+ "None",
+ "Even",
+ "Odd"
+ ],
+ "default": "None",
+ "code": "ma"
},
- "max-switch": {
- "type": "enum",
- "values": ["disabled", "normally-open", "normally-closed"],
- "default": "disabled",
- "code": "xs",
- "pins": [4, 8, 10, 12]
+ "multi-write": {
+ "help": "Use Modbus multi register write. Function 16 vs. 6.",
+ "type": "bool",
+ "default": false,
+ "code": "mw"
+ },
+ "regs": {
+ "type": "list",
+ "index": "0123456789abcdefghijklmnopqrstuv",
+ "default": [],
+ "template": {
+ "reg-type": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "connect-write",
+ "max-freq-read",
+ "max-freq-fixed",
+ "freq-set",
+ "freq-signed-set",
+ "stop-write",
+ "forward-write",
+ "reverse-write",
+ "freq-read",
+ "freq-signed-read",
+ "freq-actech-read",
+ "status-read",
+ "disconnect-write"
+ ],
+ "default": "disabled",
+ "code": "vt"
+ },
+ "reg-addr": {
+ "type": "int",
+ "min": 0,
+ "max": 65535,
+ "default": 0,
+ "code": "va"
+ },
+ "reg-value": {
+ "type": "int",
+ "min": 0,
+ "max": 65535,
+ "default": 0,
+ "code": "vv"
+ }
+ }
}
- },
-
- "homing": {
- "homing-mode": {
- "type": "enum",
- "values": ["manual", "switch-min", "switch-max","stall-min","stall-max"],
- "default": "manual",
- "code": "ho"
+ },
+ "pwm-spindle": {
+ "pwm-inverted": {
+ "help": "Invert the PWM signal output.",
+ "type": "bool",
+ "default": false,
+ "code": "pi"
},
- "stall-microstep": {
- "type": "int",
- "values": [2, 4, 8, 16, 32, 64, 128, 256],
- "unit": "per full step",
- "default": 8,
- "code": "lm",
- "hmodes": ["stall-min","stall-max"]
+ "pwm-min-duty": {
+ "type": "float",
+ "unit": "%",
+ "min": 0,
+ "max": 100,
+ "default": 1,
+ "code": "nd"
},
- "search-velocity": {
- "type": "float",
- "min": 0,
- "unit": "m/min",
- "iunit": "IPM",
- "scale": 0.0254,
- "default": 0.5,
- "code": "sv",
- "hmodes": ["switch-min", "switch-max", "stall-min","stall-max"]
+ "pwm-max-duty": {
+ "type": "float",
+ "unit": "%",
+ "min": 0,
+ "max": 100,
+ "default": 99.99,
+ "code": "md"
},
- "latch-velocity": {
- "type": "float",
- "min": 0,
- "unit": "m/min",
- "iunit": "IPM",
- "scale": 0.0254,
- "default": 0.1,
- "code": "lv",
- "hmodes": ["switch-min", "switch-max"]
+ "pwm-freq": {
+ "type": "int",
+ "unit": "Hz",
+ "min": 8,
+ "max": 320000,
+ "default": 1000,
+ "code": "sf"
},
- "latch-backoff": {
- "type": "float",
- "min": 0,
- "unit": "mm",
- "iunit": "in",
- "scale": 25.4,
- "default": 100,
- "code": "lb",
- "hmodes": ["switch-min", "switch-max"]
+ "rapid-auto-off": {
+ "help": "Turn tool off during rapid moves. Useful for LASERs.",
+ "type": "bool",
+ "default": false
},
- "stall-volts": {
- "type": "float",
- "min": 0,
- "unit": "v",
- "default": 6,
- "code": "tv",
- "hmodes": ["stall-min","stall-max"]
- },
- "stall-sample-time": {
- "type": "int",
- "values": [50, 100, 200, 300, 400, 600, 800, 1000],
- "default": 50,
- "unit": "µsec",
- "code": "sp",
- "hmodes": ["stall-min","stall-max"]
- },
- "stall-current": {
- "type": "float",
- "min": 0,
- "unit": "amps",
- "default": 1.5,
- "code": "tc",
- "hmodes": ["stall-min","stall-max"]
- },
- "zero-backoff": {
- "type": "float",
- "min": 0,
- "unit": "mm",
- "iunit": "in",
- "scale": 25.4,
- "default": 5,
- "code": "zb",
- "hmodes": ["switch-min", "switch-max", "stall-min","stall-max"]
+ "dynamic-power": {
+ "help": "Adjust tool power based on velocity and feed rate. Useful for LASERs.",
+ "type": "bool",
+ "default": false,
+ "code": "dp"
}
- }
- }
- },
-
- "tool": {
- "selected-tool": {
- "type": "string",
- "default": "disabled"
},
- "tool-type": {
- "type": "enum",
- "values": [
- "Disabled",
- "PWM Spindle",
- "Huanyang VFD",
- "Custom Modbus VFD",
- "AC-Tech VFD",
- "Nowforever VFD",
- "Delta VFD015M21A (Beta)",
- "YL600, YL620, YL620-A VFD (Beta)",
- "FR-D700 (Beta)",
- "Sunfar E300 (Beta)",
- "OMRON MX2"
- ],
- "default": "Disabled",
- "code": "st"
- },
- "tool-reversed": {
- "type": "bool",
- "default": false,
- "code": "sr"
- },
- "max-spin": {
- "type": "float",
- "unit": "RPM",
- "min": 0,
- "default": 10000,
- "code": "sx"
- },
- "min-spin": {
- "type": "float",
- "unit": "RPM",
- "min": 0,
- "default": 0,
- "code": "sm"
- },
- "tool-enable-mode": {
- "type": "enum",
- "values": ["disabled", "lo-hi", "hi-lo", "tri-lo", "tri-hi", "lo-tri",
- "hi-tri"],
- "default": "lo-hi",
- "code": "eom",
- "pin": 15
- },
- "tool-direction-mode": {
- "type": "enum",
- "values": ["disabled", "lo-hi", "hi-lo", "tri-lo", "tri-hi", "lo-tri",
- "hi-tri"],
- "default": "lo-hi",
- "code": "dom",
- "pin": 16
- }
- },
-
- "modbus-spindle": {
- "bus-id": {
- "type": "int",
- "default": "1",
- "code": "hi"
- },
- "baud": {
- "type": "enum",
- "values": ["9600", "19200", "38400", "57600", "115200"],
- "default": "9600",
- "code": "mb"
- },
- "parity": {
- "type": "enum",
- "values": ["None", "Even", "Odd"],
- "default": "None",
- "code": "ma"
- },
- "multi-write": {
- "help": "Use Modbus multi register write. Function 16 vs. 6.",
- "type": "bool",
- "default": false,
- "code": "mw"
- },
- "regs": {
- "type": "list",
- "index": "0123456789abcdefghijklmnopqrstuv",
- "default": [],
- "template": {
- "reg-type": {
- "type": "enum",
- "values": [
- "disabled",
- "connect-write",
- "max-freq-read", "max-freq-fixed",
- "freq-set", "freq-signed-set",
- "stop-write", "forward-write", "reverse-write",
- "freq-read", "freq-signed-read", "freq-actech-read",
- "status-read",
- "disconnect-write"],
- "default": "disabled",
- "code": "vt"
+ "switches": {
+ "estop": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "normally-open",
+ "normally-closed"
+ ],
+ "default": "disabled",
+ "code": "et",
+ "pin": 23
},
- "reg-addr": {
- "type": "int",
- "min": 0,
- "max": 65535,
- "default": 0,
- "code": "va"
+ "probe": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "normally-open",
+ "normally-closed"
+ ],
+ "default": "normally-open",
+ "code": "pt",
+ "pin": 22
},
- "reg-value": {
- "type": "int",
- "min": 0,
- "max": 65535,
- "default": 0,
- "code": "vv"
+ "switch-debounce": {
+ "type": "int",
+ "min": 1,
+ "max": 5000,
+ "unit": "ms",
+ "default": 5,
+ "code": "sd",
+ "help": "Minimum time in ms before a switch change is acknowledged."
+ },
+ "switch-lockout": {
+ "type": "int",
+ "min": 0,
+ "max": 60000,
+ "unit": "ms",
+ "default": 250,
+ "code": "sc",
+ "help": "Time in ms to ignore switch changes after an acknowledge change."
}
- }
- }
- },
-
- "pwm-spindle": {
- "pwm-inverted": {
- "help": "Invert the PWM signal output.",
- "type": "bool",
- "default": false,
- "code": "pi"
},
- "pwm-min-duty": {
- "type": "float",
- "unit": "%",
- "min": 0,
- "max": 100,
- "default": 1,
- "code": "nd"
- },
- "pwm-max-duty": {
- "type": "float",
- "unit": "%",
- "min": 0,
- "max": 100,
- "default": 99.99,
- "code": "md"
- },
- "pwm-freq": {
- "type": "int",
- "unit": "Hz",
- "min": 8,
- "max": 320000,
- "default": 1000,
- "code": "sf"
- },
- "rapid-auto-off": {
- "help": "Turn tool off during rapid moves. Useful for LASERs.",
- "type": "bool",
- "default": false
- },
- "dynamic-power": {
- "help":
- "Adjust tool power based on velocity and feed rate. Useful for LASERs.",
- "type": "bool",
- "default": false,
- "code": "dp"
- }
- },
-
- "switches": {
- "estop": {
- "type": "enum",
- "values": ["disabled", "normally-open", "normally-closed"],
- "default": "disabled",
- "code": "et",
- "pin": 23
+ "outputs": {
+ "load-1": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "lo-hi",
+ "hi-lo",
+ "tri-lo",
+ "tri-hi",
+ "lo-tri",
+ "hi-tri"
+ ],
+ "default": "lo-hi",
+ "code": "1om",
+ "pin": 2
+ },
+ "load-2": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "lo-hi",
+ "hi-lo",
+ "tri-lo",
+ "tri-hi",
+ "lo-tri",
+ "hi-tri"
+ ],
+ "default": "lo-hi",
+ "code": "2om",
+ "pin": 1
+ },
+ "fault": {
+ "type": "enum",
+ "values": [
+ "disabled",
+ "lo-hi",
+ "hi-lo",
+ "tri-lo",
+ "tri-hi",
+ "lo-tri",
+ "hi-tri"
+ ],
+ "default": "lo-hi",
+ "code": "fom",
+ "pin": 21
+ }
},
"probe": {
- "type": "enum",
- "values": ["disabled", "normally-open", "normally-closed"],
- "default": "normally-open",
- "code": "pt",
- "pin": 22
+ "probe-diameter": {
+ "type": "float",
+ "min": 0,
+ "max": 25.4,
+ "unit": "mm",
+ "default": 6.35
+ },
+ "probe-xdim": {
+ "type": "float",
+ "unit": "mm",
+ "min": 0,
+ "max": 1000,
+ "default": 53.975
+ },
+ "probe-ydim": {
+ "type": "float",
+ "unit": "mm",
+ "min": 0,
+ "max": 1000,
+ "default": 53.975
+ },
+ "probe-zdim": {
+ "type": "float",
+ "unit": "mm",
+ "min": 0,
+ "max": 1000,
+ "default": 15.4
+ },
+ "probe-fast-seek": {
+ "type": "float",
+ "unit": "mm/min",
+ "min": 0,
+ "max": 1000,
+ "default": 200
+ },
+ "probe-slow-seek": {
+ "type": "float",
+ "unit": "mm/min",
+ "min": 0,
+ "max": 1000,
+ "default": 25
+ }
},
- "switch-debounce": {
- "type": "int",
- "min": 1,
- "max": 5000,
- "unit": "ms",
- "default": 5,
- "code": "sd",
- "help": "Minimum time in ms before a switch change is acknowledged."
+ "gcode": {
+ "program-start": {
+ "type": "text",
+ "default": "(Runs at program start)\nG90 (Absolute distance mode)\nG17 (Select XY plane)\n"
+ },
+ "tool-change": {
+ "type": "text",
+ "default": "(Runs on M6, tool change)\nM0 M6 (MSG, Change tool)"
+ },
+ "program-end": {
+ "type": "text",
+ "default": "(Runs on M2, program end)\nM2"
+ }
},
- "switch-lockout": {
- "type": "int",
- "min": 0,
- "max": 60000,
- "unit": "ms",
- "default": 250,
- "code": "sc",
- "help": "Time in ms to ignore switch changes after an acknowledge change."
+ "admin": {
+ "auto-check-upgrade": {
+ "type": "bool",
+ "default": true
+ }
}
- },
-
- "outputs": {
- "load-1": {
- "type": "enum",
- "values": ["disabled", "lo-hi", "hi-lo", "tri-lo", "tri-hi", "lo-tri",
- "hi-tri"],
- "default": "lo-hi",
- "code": "1om",
- "pin": 2
- },
- "load-2": {
- "type": "enum",
- "values": ["disabled", "lo-hi", "hi-lo", "tri-lo", "tri-hi", "lo-tri",
- "hi-tri"],
- "default": "lo-hi",
- "code": "2om",
- "pin": 1
- },
- "fault": {
- "type": "enum",
- "values": ["disabled", "lo-hi", "hi-lo", "tri-lo", "tri-hi", "lo-tri",
- "hi-tri"],
- "default": "lo-hi",
- "code": "fom",
- "pin": 21
- }
- },
-
- "probe": {
- "probe-diameter": {
- "type": "float",
- "min": 0,
- "max": 25.4,
- "unit": "mm",
- "default": 6.35
- },
- "probe-xdim": {
- "type": "float",
- "unit": "mm",
- "min": 0,
- "max": 1000,
- "default": 53.975
- },
- "probe-ydim": {
- "type": "float",
- "unit": "mm",
- "min": 0,
- "max": 1000,
- "default": 53.975
- },
- "probe-zdim": {
- "type": "float",
- "unit": "mm",
- "min": 0,
- "max": 1000,
- "default": 15.4
- },
- "probe-fast-seek": {
- "type": "float",
- "unit": "mm/min",
- "min": 0,
- "max": 1000,
- "default": 200
- },
- "probe-slow-seek": {
- "type": "float",
- "unit": "mm/min",
- "min": 0,
- "max": 1000,
- "default": 25
- }
- },
-
- "gcode": {
- "program-start": {
- "type": "text",
- "default": "(Runs at program start)\nG90 (Absolute distance mode)\nG17 (Select XY plane)\n"
- },
- "tool-change": {
- "type": "text",
- "default": "(Runs on M6, tool change)\nM0 M6 (MSG, Change tool)"
- },
- "program-end": {
- "type": "text",
- "default": "(Runs on M2, program end)\nM2"
- }
- },
-
- "admin": {
- "auto-check-upgrade": {
- "type": "bool",
- "default": true
- }
- }
-}
+}
\ No newline at end of file
diff --git a/src/stylus/style.styl b/src/stylus/style.styl
index caed3a5..cf73d8f 100644
--- a/src/stylus/style.styl
+++ b/src/stylus/style.styl
@@ -60,16 +60,10 @@ tt
color blue
.upgrade-attention
- background-color red
- width 20px
- height 20px
- display inline-block
- border-radius 50%
- color white
- font-size 13pt
- font-weight 1000
- margin-left 5px
+ color red
+ font-size 18pt
align-self center
+ margin-left 5px
.pi-temp-warning
align-self center
diff --git a/src/svelte-components/src/components/ConfigTemplatedInput.svelte b/src/svelte-components/src/components/ConfigTemplatedInput.svelte
index 1d5fa4a..71c5d00 100644
--- a/src/svelte-components/src/components/ConfigTemplatedInput.svelte
+++ b/src/svelte-components/src/components/ConfigTemplatedInput.svelte
@@ -4,9 +4,14 @@
import { ControllerMethods } from "$lib/RegisterControllerMethods";
import { onMount } from "svelte";
+ type ValueType =
+ | string
+ | number
+ | { title: string; value: string | number };
+
type Template = {
type?: string;
- values?: (string | number)[];
+ values?: Array;
unit?: "string";
iunit?: "string";
min?: number;
@@ -17,6 +22,21 @@
scale?: number;
};
+ const namesByKey = {
+ "gamepad-default-type": "Default type",
+ "probing-prompts": "Show safety prompts",
+ "probe-xdim": "Probe block width",
+ "probe-ydim": "Probe block length",
+ "probe-zdim": "Probe block height",
+ "probe-fast-seek": "Fast seek speed",
+ "probe-slow-seek": "Slow seek speed",
+ "program-start": "On program start",
+ "tool-change": "On tool change",
+ "program-end": "On program end",
+ "max-deviation": "Maximum deviation",
+ "junction-accel": "Junction acceleration",
+ };
+
export let key: string;
let keyParts: string[];
let template: Template;
@@ -28,7 +48,9 @@
onMount(() => {
keyParts = (key || "").split(".");
template = getTemplate();
+
name = keyParts[keyParts.length - 1];
+ name = namesByKey[name] || name;
title = getTitle();
value = getValue();
});
@@ -69,13 +91,14 @@
return value;
}
- function onChange() {
+ function onChange(event) {
Config.update((config) => {
let target = config;
for (const part of keyParts.slice(0, -1)) {
target = target[part];
}
+ const value = getValueFromElement(event.target);
target[keyParts[keyParts.length - 1]] = value;
return config;
@@ -83,6 +106,40 @@
ControllerMethods.dispatch("config-changed");
}
+
+ function getValueFromElement(element) {
+ switch (template.type) {
+ case "float":
+ case "int":
+ return Number(element.value);
+
+ case "bool":
+ return element.checked;
+
+ default:
+ return element.value;
+ }
+ }
+
+ function getOptionValue(opt: ValueType) {
+ switch (typeof opt) {
+ case "object":
+ return opt.value || opt;
+
+ default:
+ return opt;
+ }
+ }
+
+ function getOptionTitle(opt: ValueType) {
+ switch (typeof opt) {
+ case "object":
+ return opt.title || opt;
+
+ default:
+ return opt;
+ }
+ }
{#if template}
@@ -92,13 +149,21 @@
{#if template.values}
{:else if template.type === "bool"}
-
+
{:else if template.type === "float"}
{:else if template.type === "int"}
{:else if template.type === "string"}
-
+
{:else if template.type == "text"}
-
+
{/if}
diff --git a/src/svelte-components/src/components/HelpView.svelte b/src/svelte-components/src/components/HelpView.svelte
new file mode 100644
index 0000000..5e339f5
--- /dev/null
+++ b/src/svelte-components/src/components/HelpView.svelte
@@ -0,0 +1,62 @@
+
+
+
+
+
Support & Contact Info
+
+ Please visit
+
+ onefinitycnc.com/support
+
+ for a variety of support resources, and to find our contact information.
+
+
+
+
+
Discussion Forum
+
+ Check out our support and discussion forum at
+ forum.onefinitycnc.com. Register on the site and post a message. We can't wait to hear from you.
+
{#if currentStep === "CheckProbe"}
- Attach the probe magnet to the collet, then touch the probe
- block to the bit.
+
+ Attach the probe magnet to the collet, then touch the probe
+ block to the bit.
+
{:else if currentStep === "PlaceProbeBlock"}
- {#if probeType === "xyz"}
- Place the probe block face up, on the lower-left corner of
- your workpiece.
- {:else}
- Place the probe block face down, with the bit above the
- recess.
- {/if}
+
+ {#if probeType === "xyz"}
+ Place the probe block face up, on the lower-left corner
+ of your workpiece.
+ {:else}
+ Place the probe block face down, with the bit above the
+ recess.
+ {/if}
+
{:else if currentStep === "Probe"}
- Probing in progress...
+
Probing in progress...
{:else if currentStep === "Done"}
{#if $probingFailed}
- Could not find the probe block during probing!
+
Emergency Stop!
+
+
Could not find the probe block during probing!
Make sure the tip of the bit is less than {metric
@@ -368,7 +381,7 @@
above the probe block, and try again.
{:else}
- Don't forget to put away the probe!
+
Don't forget to put away the probe!
+
diff --git a/src/svelte-components/src/dialogs/RemoteDiagnosticsDialog.svelte b/src/svelte-components/src/dialogs/RemoteDiagnosticsDialog.svelte
new file mode 100644
index 0000000..df49f13
--- /dev/null
+++ b/src/svelte-components/src/dialogs/RemoteDiagnosticsDialog.svelte
@@ -0,0 +1,67 @@
+
+
+
diff --git a/src/svelte-components/src/dialogs/SetAxisPositionDialog.svelte b/src/svelte-components/src/dialogs/SetAxisPositionDialog.svelte
index 76f3cef..d1e76e9 100644
--- a/src/svelte-components/src/dialogs/SetAxisPositionDialog.svelte
+++ b/src/svelte-components/src/dialogs/SetAxisPositionDialog.svelte
@@ -49,10 +49,7 @@
label="Position"
type="number"
bind:value
- use={[
- InitialFocus,
- [virtualKeyboardChange, (newValue) => (value = newValue)],
- ]}
+ use={[InitialFocus, virtualKeyboardChange((v) => (value = v))]}
spellcheck="false"
variant="filled"
style="width: 100%;"
diff --git a/src/svelte-components/src/dialogs/SetTimeDialog.svelte b/src/svelte-components/src/dialogs/SetTimeDialog.svelte
index 1ab5578..23e41d1 100644
--- a/src/svelte-components/src/dialogs/SetTimeDialog.svelte
+++ b/src/svelte-components/src/dialogs/SetTimeDialog.svelte
@@ -7,6 +7,7 @@
} from "@smui/dialog";
import Button, { Label } from "@smui/button";
import TextField from "@smui/textfield";
+ import Select, { Option } from "@smui/select";
import CircularProgress from "@smui/circular-progress";
import VirtualList from "svelte-tiny-virtual-list";
import * as api from "$lib/api";
@@ -20,7 +21,12 @@
};
export let open = false;
- let value = "";
+ let year = "";
+ let month = "";
+ let day = "";
+ let hour = "";
+ let minute = "";
+ let am = true;
let wasOpen = false;
let loading = true;
let timezones: Timezone[] = [];
@@ -43,7 +49,14 @@
parseTimezones(result.timezones);
parseTimeinfo(result.timeinfo);
- value = getDateTimeValueString();
+
+ const date = new Date();
+ year = date.getFullYear().toString();
+ month = (date.getMonth() + 1).toString();
+ day = date.getDate().toString();
+ hour = date.getHours().toString();
+ minute = date.getMinutes().toString();
+ am = date.getHours() >= 12;
loading = false;
}
@@ -61,7 +74,7 @@
break;
case "NTP synchronized":
- networkTimeSynchronized = value === "yes";
+ networkTimeSynchronized = false;
break;
}
}
@@ -98,28 +111,19 @@
});
}
- function getDateTimeValueString() {
- const date = new Date();
-
- const year = date.getFullYear().toString().padStart(2, "0");
- const month = (date.getMonth() + 1).toString().padStart(2, "0");
- const day = date.getDate().toString().padStart(2, "0");
- const hour = date.getHours().toString().padStart(2, "0");
- const minute = date.getMinutes().toString().padStart(2, "0");
-
- return `${year}-${month}-${day}T${hour}:${minute}:00`;
- }
-
async function onConfirm() {
- const date = new Date(value);
- const year = date.getFullYear().toString().padStart(2, "0");
- const month = (date.getMonth() + 1).toString().padStart(2, "0");
- const day = date.getDate().toString().padStart(2, "0");
- const hour = date.getHours().toString().padStart(2, "0");
- const minute = date.getMinutes().toString().padStart(2, "0");
+ const YY = year.toString().padStart(2, "0");
+ const MM = month.toString().padStart(2, "0");
+ const DD = day.toString().padStart(2, "0");
+ let hh = hour.toString().padStart(2, "0");
+ const mm = minute.toString().padStart(2, "0");
+
+ if (Number(hour) < 12 && !am) {
+ hh = (hour + 12).toString().padStart(2, "0");
+ }
await api.PUT("time", {
- datetime: `${year}-${month}-${day} ${hour}:${minute}:00`,
+ datetime: `${YY}-${MM}-${DD} ${hh}:${mm}:00`,
timezone: timezones[selectedTimezoneIndex].value,
});
}
@@ -131,7 +135,7 @@
aria-labelledby="set-time-dialog-title"
aria-describedby="set-time-dialog-content"
>
- Adjust Clock & Timezone
+ Change Time & Timezone
{#if loading}
@@ -149,40 +153,70 @@
{:else}
- Because this controller is not connected to the internet,
- you can manually set the time.
+ Any time the controller is turned off, the time will need to
+ be reset. If you connect the controller to the internet, the
+ time will be managed automatically.
-
- Note: any time the controller is turned off, the time will
- need to be reset. If you connect the controller to the
- internet, the time will be managed automatically.
-