diff --git a/.github/workflows/creator-kit-candidate.yml b/.github/workflows/creator-kit-candidate.yml index aefcd32..3a37666 100644 --- a/.github/workflows/creator-kit-candidate.yml +++ b/.github/workflows/creator-kit-candidate.yml @@ -34,6 +34,7 @@ jobs: set -euo pipefail node scripts/creator-kit/build-release-candidate.mjs --release-dir .creator-kit-tmp/first --source-commit "$GITHUB_SHA" node scripts/creator-kit/build-release-candidate.mjs --release-dir .creator-kit-tmp/second --source-commit "$GITHUB_SHA" - cmp .creator-kit-tmp/first/spectoda-creator-kit-0.1.0-rc.4.tar .creator-kit-tmp/second/spectoda-creator-kit-0.1.0-rc.4.tar + candidate_version="$(jq -r .version creator-kit/bundle.json)" + cmp ".creator-kit-tmp/first/spectoda-creator-kit-${candidate_version}.tar" ".creator-kit-tmp/second/spectoda-creator-kit-${candidate_version}.tar" cmp .creator-kit-tmp/first/provenance.json .creator-kit-tmp/second/provenance.json git diff --exit-code -- creator-kit diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index b9992cc..f072373 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -65,10 +65,10 @@ does not become an authoring backchannel for Documentation. The `0.1.0-rc.4` review candidate includes seven CC BY 4.0 documents, two hash-locked FW 0.12.11 config assets and the MIT sparse global Event Player. -The published rc.3 remains immutable until a protected rc.4 release is -explicitly approved. The candidate carries the exact -Documentation snapshot digest, Documentation/Firmware/Examples source commits, -license posture, compatibility contract, indexes and checksums. +It carries the exact Documentation snapshot digest, +Documentation/Firmware/Examples source commits, license posture, compatibility +contract, indexes and checksums. The published `0.1.0-rc.3` release remains +immutable; a new version always produces a new snapshot and release tag. `scripts/creator-kit/validate.mjs` checks public safety, links, hashes, provenance, size and the unpublished stable boundary. Public CI packages the already committed snapshot into a deterministic tar; only the protected diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ec71a3..10cc426 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,16 @@ Date-based versions use `YYYYMMDD`. ## 20260810 +### Added + +- Prepared the immutable Creator Kit `0.1.0-rc.4` candidate from the exact + Documentation snapshot with universal `-1` disconnected-pin semantics. + ### Changed +- Hardened Creator Kit publication validation across every bundled Markdown/ + MDX file and recursively decoded JSON content, including nested credential + keys and JSON-escaped private URLs. - Simplified the Event Player to one global mixed-ID stream. Tracks remain per-ID authoring lanes while sparse Cues contain only the Event values selected for that moment. @@ -23,6 +31,10 @@ Date-based versions use `YYYYMMDD`. - Prepared Creator Kit `0.1.0-rc.4` with the final `DEBUG_UNIVERSAL_0.12.11_20260810` compatibility pin. No release or stable channel promotion is implied by the candidate. +- Locked both the historical parser baseline and the merged firmware semantic + revision into the public Controller Config asset provenance. +- Kept `0.1.0-rc.3` immutable and the stable-channel descriptor unpublished; + this preparation does not publish a GitHub release. ## 20260809 diff --git a/README.md b/README.md index f53dd8b..ca8712b 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,8 @@ customer-specific data that is not meant to be public. ## Spectoda Creator Kit public prerelease -`creator-kit/` is the review candidate for the public English Spectoda Creator -Kit `0.1.0-rc.4` prerelease. It contains the complete selected +`creator-kit/` is the immutable review candidate for the public English +Spectoda Creator Kit `0.1.0-rc.4` prerelease. It contains the complete selected FW 0.12.11 Controller Config documentation and machine-readable config contract/schema under CC BY 4.0, plus one MIT-licensed Event Player example. Documentation remains the private authoring source of truth; this repository diff --git a/creator-kit-templates/README.md b/creator-kit-templates/README.md index 24434d4..96e7547 100644 --- a/creator-kit-templates/README.md +++ b/creator-kit-templates/README.md @@ -14,7 +14,7 @@ The bundle contains: Read `bundle.json`, `manifest.json`, `source-lock.json`, `licenses.json` and `checksums.sha256` before use. Documentation content is locked to -`Spectoda/documentation@6f6051686fe556a85318c7dd529ac061ab48c38d`; the +`Spectoda/documentation@08cb4e5f8155178c18a86edd4a515f7d6c8fb835`; the example is locked to `Spectoda/examples@{{EXAMPLES_COMMIT}}`. The firmware config assets identify their own exact `Spectoda/firmware` provenance. diff --git a/creator-kit-templates/RELEASE_NOTES.md b/creator-kit-templates/RELEASE_NOTES.md index b2c04c9..c628a5a 100644 --- a/creator-kit-templates/RELEASE_NOTES.md +++ b/creator-kit-templates/RELEASE_NOTES.md @@ -1,11 +1,15 @@ # Spectoda Creator Kit 0.1.0-rc.4 public prerelease This candidate updates the public Creator Kit with the final FW 0.12.11 sparse -global Event Player and its final WASM compatibility pin. +global Event Player, its final WASM compatibility pin and consistent `-1` +disconnected-pin semantics. It supersedes `0.1.0-rc.3`; the earlier archive +remains unchanged and available by its exact release tag. It includes the complete documented FW 0.12.11 Controller Config surface, machine-readable contract and JSON Schema, plus the MIT-licensed Event Player -example. Documentation and config data are licensed under CC BY 4.0. Spectoda +example. GPIO-valued fields now document and validate `-1` consistently as an +intentionally disconnected pin while preserving connected-pin capability +ranges. Documentation and config data are licensed under CC BY 4.0. Spectoda names, logos and trademarks are excluded from the license grant. The archive is deterministic and ships with a SHA-256 sidecar and provenance diff --git a/creator-kit/README.md b/creator-kit/README.md index e8ac6d1..2dbd655 100644 --- a/creator-kit/README.md +++ b/creator-kit/README.md @@ -14,9 +14,9 @@ The bundle contains: Read `bundle.json`, `manifest.json`, `source-lock.json`, `licenses.json` and `checksums.sha256` before use. Documentation content is locked to -`Spectoda/documentation@6f6051686fe556a85318c7dd529ac061ab48c38d`; the +`Spectoda/documentation@08cb4e5f8155178c18a86edd4a515f7d6c8fb835`; the example is locked to -`Spectoda/examples@e4be6dd07814c1dc8816ffc0e4ea518532e411ec`. The firmware +`Spectoda/examples@97fd90afbc9839830b3dc7f73df36f385f66564d`. The firmware config assets identify their own exact `Spectoda/firmware` provenance. ## Licensing diff --git a/creator-kit/RELEASE_NOTES.md b/creator-kit/RELEASE_NOTES.md index b2c04c9..c628a5a 100644 --- a/creator-kit/RELEASE_NOTES.md +++ b/creator-kit/RELEASE_NOTES.md @@ -1,11 +1,15 @@ # Spectoda Creator Kit 0.1.0-rc.4 public prerelease This candidate updates the public Creator Kit with the final FW 0.12.11 sparse -global Event Player and its final WASM compatibility pin. +global Event Player, its final WASM compatibility pin and consistent `-1` +disconnected-pin semantics. It supersedes `0.1.0-rc.3`; the earlier archive +remains unchanged and available by its exact release tag. It includes the complete documented FW 0.12.11 Controller Config surface, machine-readable contract and JSON Schema, plus the MIT-licensed Event Player -example. Documentation and config data are licensed under CC BY 4.0. Spectoda +example. GPIO-valued fields now document and validate `-1` consistently as an +intentionally disconnected pin while preserving connected-pin capability +ranges. Documentation and config data are licensed under CC BY 4.0. Spectoda names, logos and trademarks are excluded from the license grant. The archive is deterministic and ships with a SHA-256 sidecar and provenance diff --git a/creator-kit/assets/docs/controller-config/0.12.11/controller-config.contract.json b/creator-kit/assets/docs/controller-config/0.12.11/controller-config.contract.json index 6de0291..45ff448 100644 --- a/creator-kit/assets/docs/controller-config/0.12.11/controller-config.contract.json +++ b/creator-kit/assets/docs/controller-config/0.12.11/controller-config.contract.json @@ -6,6 +6,7 @@ "repository": "Spectoda/firmware", "baselineBranch": "0.12.11", "commit": "51a8d6337d968b47f563bf2decb8f7404d93c27a", + "revisionCommit": "f1c48452350413166dd19d28d5aaf9b9a89152d5", "parserRoots": [ "components/spectoda-library/src/controller.cpp", "components/spectoda-library/src/runtime.cpp", @@ -22,7 +23,8 @@ "osc": true, "espnowradio": false, "maxLabelLength": 5, - "gpioDecoratorsPositionIndependent": true + "gpioDecoratorsPositionIndependent": true, + "gpioNotConnectedValue": -1 }, "schema": { "$schema": "http://json-schema.org/draft-07/schema#", @@ -105,6 +107,7 @@ "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -141,11 +144,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -182,12 +186,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -224,12 +229,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -266,12 +272,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "led": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -302,11 +309,12 @@ 32, 33 ], - "description": "GPIO for led. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for led; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!led+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -337,7 +345,7 @@ 32, 33 ], - "description": "Decorated led example: inverted with internal pull-up.", + "description": "Decorated led example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -346,6 +354,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -386,6 +395,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -426,6 +436,7 @@ "^(?!!led\\+$)(?=.*[!+\\-])[!+\\-]*l[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -486,6 +497,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -516,11 +528,12 @@ 32, 33 ], - "description": "Output-capable RTC I2C data GPIO; required for external RTCs." + "description": "Output-capable RTC I2C data GPIO; required for external RTCs. -1 means not connected." }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -551,7 +564,7 @@ 32, 33 ], - "description": "Output-capable RTC I2C clock GPIO; required for external RTCs." + "description": "Output-capable RTC I2C clock GPIO; required for external RTCs. -1 means not connected." } }, "additionalProperties": false @@ -597,6 +610,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -633,11 +647,12 @@ 38, 39 ], - "description": "Legacy data GPIO." + "description": "Legacy data GPIO; -1 means not connected." }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -674,7 +689,7 @@ 38, 39 ], - "description": "Legacy transmit/data GPIO." + "description": "Legacy transmit/data GPIO; -1 means not connected." }, "txinverted": { "type": "boolean" @@ -682,6 +697,7 @@ "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -718,7 +734,7 @@ 38, 39 ], - "description": "Legacy receive GPIO." + "description": "Legacy receive GPIO; -1 means not connected." }, "rxinverted": { "type": "boolean" @@ -845,6 +861,7 @@ "items": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -878,7 +895,7 @@ }, "minItems": 1, "maxItems": 4, - "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four." + "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four; -1 means not connected." }, "t1": { "type": "integer", @@ -927,6 +944,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -957,11 +975,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -992,12 +1011,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1028,11 +1048,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1063,12 +1084,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1099,11 +1121,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1134,12 +1157,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1170,11 +1194,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1205,12 +1230,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1241,11 +1267,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1276,12 +1303,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1312,11 +1340,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1347,12 +1376,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1383,11 +1413,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1418,12 +1449,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1454,11 +1486,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1489,12 +1522,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1525,11 +1559,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1560,12 +1595,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1596,11 +1632,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1631,12 +1668,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1667,11 +1705,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1702,12 +1741,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1738,11 +1778,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1773,12 +1814,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1809,11 +1851,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1844,12 +1887,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1880,11 +1924,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1915,12 +1960,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1951,11 +1997,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1986,7 +2033,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -2010,6 +2057,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2044,6 +2092,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2078,6 +2127,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2112,6 +2162,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2146,6 +2197,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2180,6 +2232,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2214,6 +2267,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2248,6 +2302,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2282,6 +2337,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2316,6 +2372,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2350,6 +2407,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2384,6 +2442,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2418,6 +2477,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2452,6 +2512,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2486,6 +2547,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2549,6 +2611,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2579,11 +2642,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2614,12 +2678,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2650,11 +2715,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2685,12 +2751,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2721,11 +2788,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2756,12 +2824,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2798,11 +2867,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2839,12 +2909,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2881,11 +2952,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2922,12 +2994,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2964,11 +3037,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3005,12 +3079,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3041,11 +3116,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3076,12 +3152,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3112,11 +3189,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3147,12 +3225,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3183,11 +3262,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3218,12 +3298,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3254,11 +3335,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3289,12 +3371,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3325,11 +3408,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3360,12 +3444,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3396,11 +3481,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3431,12 +3517,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3473,11 +3560,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3514,12 +3602,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3556,11 +3645,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3597,12 +3687,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3639,11 +3730,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3680,7 +3772,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -3704,6 +3796,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3738,6 +3831,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3772,6 +3866,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3806,6 +3901,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3846,6 +3942,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3886,6 +3983,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3926,6 +4024,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3960,6 +4059,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3994,6 +4094,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4028,6 +4129,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4062,6 +4164,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4096,6 +4199,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4130,6 +4234,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4170,6 +4275,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4210,6 +4316,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4324,6 +4431,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4354,11 +4462,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4389,12 +4498,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4425,11 +4535,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4460,12 +4571,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4496,11 +4608,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4531,12 +4644,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4567,11 +4681,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4602,12 +4717,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4638,11 +4754,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4673,12 +4790,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4709,11 +4827,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4744,12 +4863,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4780,11 +4900,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4815,12 +4936,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4851,11 +4973,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4886,12 +5009,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4922,11 +5046,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4957,12 +5082,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4993,11 +5119,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5028,12 +5155,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5064,11 +5192,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5099,12 +5228,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5135,11 +5265,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5170,12 +5301,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5206,11 +5338,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5241,12 +5374,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5277,11 +5411,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5312,12 +5447,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5348,11 +5484,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5383,7 +5520,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -5407,6 +5544,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5441,6 +5579,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5475,6 +5614,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5509,6 +5649,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5543,6 +5684,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5577,6 +5719,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5611,6 +5754,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5645,6 +5789,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5679,6 +5824,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5713,6 +5859,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5747,6 +5894,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5781,6 +5929,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5815,6 +5964,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5849,6 +5999,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5883,6 +6034,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5947,6 +6099,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5977,11 +6130,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6012,12 +6166,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6048,11 +6203,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6083,12 +6239,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6119,11 +6276,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6154,12 +6312,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6190,11 +6349,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6225,12 +6385,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6267,11 +6428,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6308,12 +6470,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6350,11 +6513,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6391,12 +6555,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6433,11 +6598,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6474,12 +6640,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6516,11 +6683,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6557,12 +6725,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6599,11 +6768,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6640,12 +6810,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6682,11 +6853,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6723,12 +6895,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6765,11 +6938,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6806,12 +6980,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6848,11 +7023,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6889,12 +7065,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6931,11 +7108,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6972,12 +7150,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7014,11 +7193,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7055,12 +7235,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7097,11 +7278,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7138,7 +7320,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -7162,6 +7344,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7196,6 +7379,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7230,6 +7414,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7264,6 +7449,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7298,6 +7484,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7338,6 +7525,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7378,6 +7566,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7418,6 +7607,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7458,6 +7648,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7498,6 +7689,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7538,6 +7730,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7578,6 +7771,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7618,6 +7812,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7658,6 +7853,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7698,6 +7894,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7829,6 +8026,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7859,11 +8057,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7894,12 +8093,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7936,11 +8136,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7977,12 +8178,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8013,11 +8215,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8048,12 +8251,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8090,11 +8294,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8131,12 +8336,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8173,11 +8379,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8214,12 +8421,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8256,11 +8464,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8297,12 +8506,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8333,11 +8543,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8368,12 +8579,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8404,11 +8616,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8439,12 +8652,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8475,11 +8689,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8510,12 +8725,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8552,11 +8768,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8593,12 +8810,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8635,11 +8853,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8676,12 +8895,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8718,11 +8938,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8759,12 +8980,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8801,11 +9023,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8842,12 +9065,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8884,11 +9108,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8925,12 +9150,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8967,11 +9193,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9008,7 +9235,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -9032,6 +9259,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9066,6 +9294,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9106,6 +9335,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9140,6 +9370,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9180,6 +9411,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9220,6 +9452,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9260,6 +9493,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9294,6 +9528,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9328,6 +9563,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9362,6 +9598,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9402,6 +9639,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9442,6 +9680,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9482,6 +9721,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9522,6 +9762,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9562,6 +9803,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9635,24 +9877,37 @@ "pin": { "type": "integer", "enum": [ + -1, 25, 26 ], - "description": "Single DAC-capable GPIO (25 or 26) for W mode." + "description": "Single DAC-capable GPIO (25 or 26) for W mode; -1 means not connected." }, "pins": { "type": "array", "items": { "type": "integer", "enum": [ + -1, 25, 26 ] }, "minItems": 1, "maxItems": 2, - "uniqueItems": true, - "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB." + "not": { + "enum": [ + [ + 25, + 25 + ], + [ + 26, + 26 + ] + ] + }, + "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB; -1 means not connected and may repeat." }, "tag": { "type": "string", @@ -9670,7 +9925,7 @@ "type" ], "title": "DAC", - "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver.", + "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver.", "allOf": [ { "oneOf": [ @@ -9749,6 +10004,7 @@ "pin": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9758,11 +10014,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9772,12 +10029,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9787,11 +10045,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9801,12 +10060,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9816,11 +10076,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9830,12 +10091,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9866,11 +10128,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9901,7 +10164,7 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -9920,11 +10183,12 @@ "type" ], "title": "ADC", - "description": "ESP32 ADC1 analog input. The input pin must be GPIO 32..39.", + "description": "ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39.", "patternProperties": { "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9938,6 +10202,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9951,6 +10216,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9964,6 +10230,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10033,6 +10300,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10063,11 +10331,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10098,12 +10367,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10134,11 +10404,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10169,12 +10440,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10205,11 +10477,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10240,12 +10513,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10276,11 +10550,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10311,12 +10586,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10353,11 +10629,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10394,12 +10671,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10436,11 +10714,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10477,12 +10756,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10519,11 +10799,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10560,12 +10841,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10602,11 +10884,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10643,12 +10926,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10685,11 +10969,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10726,12 +11011,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10768,11 +11054,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10809,12 +11096,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10851,11 +11139,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10892,12 +11181,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10934,11 +11224,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10975,12 +11266,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11017,11 +11309,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11058,12 +11351,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11100,11 +11394,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11141,12 +11436,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11183,11 +11479,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11224,7 +11521,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -11248,6 +11545,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11282,6 +11580,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11316,6 +11615,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11350,6 +11650,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11384,6 +11685,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11424,6 +11726,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11464,6 +11767,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11504,6 +11808,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11544,6 +11849,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11584,6 +11890,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11624,6 +11931,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11664,6 +11972,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11704,6 +12013,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11744,6 +12054,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11784,6 +12095,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11878,6 +12190,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11908,11 +12221,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11943,12 +12257,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11979,11 +12294,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12014,12 +12330,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12050,11 +12367,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12085,12 +12403,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12121,11 +12440,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12156,12 +12476,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12198,11 +12519,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12239,12 +12561,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12281,11 +12604,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12322,12 +12646,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12364,11 +12689,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12405,12 +12731,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12447,11 +12774,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12488,12 +12816,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12530,11 +12859,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12571,12 +12901,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12613,11 +12944,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12654,12 +12986,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12696,11 +13029,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12737,12 +13071,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12779,11 +13114,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12820,12 +13156,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12862,11 +13199,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12903,12 +13241,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12945,11 +13284,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12986,12 +13326,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13028,11 +13369,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13069,7 +13411,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -13093,6 +13435,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13127,6 +13470,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13161,6 +13505,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13195,6 +13540,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13229,6 +13575,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13269,6 +13616,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13309,6 +13657,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13349,6 +13698,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13389,6 +13739,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13429,6 +13780,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13469,6 +13821,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13509,6 +13862,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13549,6 +13903,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13589,6 +13944,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13629,6 +13985,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13696,6 +14053,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13732,11 +14090,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13773,12 +14132,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13809,11 +14169,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13844,12 +14205,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13886,11 +14248,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13927,12 +14290,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13969,11 +14333,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14010,12 +14375,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14052,11 +14418,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14093,12 +14460,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14135,11 +14503,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14176,12 +14545,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14218,11 +14588,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14259,12 +14630,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14301,11 +14673,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14342,12 +14715,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14384,11 +14758,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14425,12 +14800,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14467,11 +14843,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14508,12 +14885,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14550,11 +14928,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14591,12 +14970,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14633,11 +15013,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14674,12 +15055,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14716,11 +15098,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14757,12 +15140,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14799,11 +15183,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14840,12 +15225,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14882,11 +15268,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14923,7 +15310,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -14947,6 +15334,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14987,6 +15375,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15021,6 +15410,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15061,6 +15451,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15101,6 +15492,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15141,6 +15533,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15181,6 +15574,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15221,6 +15615,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15261,6 +15656,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15301,6 +15697,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15341,6 +15738,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15381,6 +15779,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15421,6 +15820,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15461,6 +15861,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15501,6 +15902,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15606,6 +16008,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15636,11 +16039,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15671,12 +16075,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15707,11 +16112,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15742,12 +16148,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15778,11 +16185,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15813,12 +16221,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15849,11 +16258,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15884,12 +16294,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15926,11 +16337,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15967,12 +16379,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16009,11 +16422,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16050,12 +16464,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16092,11 +16507,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16133,12 +16549,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16175,11 +16592,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16216,12 +16634,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16258,11 +16677,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16299,12 +16719,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16341,11 +16762,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16382,12 +16804,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16424,11 +16847,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16465,12 +16889,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16507,11 +16932,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16548,12 +16974,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16590,11 +17017,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16631,12 +17059,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16673,11 +17102,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16714,12 +17144,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16756,11 +17187,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16797,7 +17229,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -16821,6 +17253,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16855,6 +17288,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16889,6 +17323,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16923,6 +17358,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16957,6 +17393,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16997,6 +17434,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17037,6 +17475,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17077,6 +17516,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17117,6 +17557,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17157,6 +17598,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17197,6 +17639,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17237,6 +17680,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17277,6 +17721,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17317,6 +17762,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17357,6 +17803,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17410,6 +17857,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17446,11 +17894,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17487,12 +17936,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17523,11 +17973,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17558,12 +18009,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17600,11 +18052,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17641,12 +18094,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17683,11 +18137,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17724,12 +18179,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17766,11 +18222,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17807,12 +18264,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17849,11 +18307,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17890,12 +18349,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17932,11 +18392,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17973,12 +18434,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18015,11 +18477,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18056,12 +18519,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18098,11 +18562,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18139,12 +18604,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18181,11 +18647,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18222,12 +18689,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18264,11 +18732,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18305,12 +18774,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18347,11 +18817,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18388,12 +18859,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18430,11 +18902,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18471,12 +18944,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18513,11 +18987,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18554,12 +19029,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18596,11 +19072,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18637,7 +19114,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -18661,6 +19138,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18701,6 +19179,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18735,6 +19214,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18775,6 +19255,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18815,6 +19296,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18855,6 +19337,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18895,6 +19378,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18935,6 +19419,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18975,6 +19460,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19015,6 +19501,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19055,6 +19542,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19095,6 +19583,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19135,6 +19624,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19175,6 +19665,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19215,6 +19706,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19268,6 +19760,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19298,11 +19791,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19333,12 +19827,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19369,11 +19864,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19404,12 +19900,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19440,11 +19937,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19475,12 +19973,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19511,11 +20010,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19546,12 +20046,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19588,11 +20089,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19629,12 +20131,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19671,11 +20174,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19712,12 +20216,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19754,11 +20259,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19795,12 +20301,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19837,11 +20344,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19878,12 +20386,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19920,11 +20429,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19961,12 +20471,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20003,11 +20514,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20044,12 +20556,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20086,11 +20599,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20127,12 +20641,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20169,11 +20684,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20210,12 +20726,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20252,11 +20769,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20293,12 +20811,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20335,11 +20854,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20376,12 +20896,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20418,11 +20939,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20459,7 +20981,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -20483,6 +21005,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20517,6 +21040,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20551,6 +21075,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20585,6 +21110,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20619,6 +21145,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20659,6 +21186,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20699,6 +21227,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20739,6 +21268,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20779,6 +21309,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20819,6 +21350,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20859,6 +21391,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20899,6 +21432,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20939,6 +21473,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20979,6 +21514,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21019,6 +21555,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21072,6 +21609,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21102,11 +21640,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21137,12 +21676,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21173,11 +21713,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21208,12 +21749,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21244,11 +21786,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21279,12 +21822,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21315,11 +21859,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21350,12 +21895,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21392,11 +21938,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21433,12 +21980,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21475,11 +22023,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21516,12 +22065,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21558,11 +22108,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21599,12 +22150,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21641,11 +22193,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21682,12 +22235,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21724,11 +22278,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21765,12 +22320,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21807,11 +22363,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21848,12 +22405,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21890,11 +22448,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21931,12 +22490,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21973,11 +22533,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22014,12 +22575,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22056,11 +22618,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22097,12 +22660,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22139,11 +22703,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22180,12 +22745,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22222,11 +22788,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22263,7 +22830,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -22287,6 +22854,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22321,6 +22889,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22355,6 +22924,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22389,6 +22959,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22423,6 +22994,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22463,6 +23035,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22503,6 +23076,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22543,6 +23117,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22583,6 +23158,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22623,6 +23199,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22663,6 +23240,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22703,6 +23281,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22743,6 +23322,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22783,6 +23363,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22823,6 +23404,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22897,6 +23479,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22933,11 +23516,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22974,12 +23558,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23010,11 +23595,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23045,12 +23631,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23087,11 +23674,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23128,12 +23716,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23170,11 +23759,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23211,12 +23801,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23253,11 +23844,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23294,12 +23886,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23336,11 +23929,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23377,12 +23971,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23419,11 +24014,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23460,12 +24056,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23502,11 +24099,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23543,12 +24141,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23585,11 +24184,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23626,12 +24226,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23668,11 +24269,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23709,12 +24311,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23751,11 +24354,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23792,12 +24396,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23834,11 +24439,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23875,12 +24481,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23917,11 +24524,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23958,12 +24566,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24000,11 +24609,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24041,12 +24651,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24083,11 +24694,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24124,7 +24736,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -24148,6 +24760,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24188,6 +24801,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24222,6 +24836,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24262,6 +24877,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24302,6 +24918,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24342,6 +24959,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24382,6 +25000,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24422,6 +25041,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24462,6 +25082,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24502,6 +25123,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24542,6 +25164,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24582,6 +25205,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24622,6 +25246,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24662,6 +25287,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24702,6 +25328,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24779,6 +25406,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24809,11 +25437,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24844,12 +25473,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24886,11 +25516,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24927,12 +25558,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24963,11 +25595,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24998,12 +25631,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25034,11 +25668,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25069,12 +25704,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25111,11 +25747,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25152,12 +25789,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25194,11 +25832,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25235,12 +25874,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25277,11 +25917,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25318,12 +25959,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25354,11 +25996,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25389,12 +26032,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25425,11 +26069,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25460,12 +26105,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25496,11 +26142,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25531,12 +26178,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25573,11 +26221,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25614,12 +26263,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25656,11 +26306,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25697,12 +26348,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25739,11 +26391,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25780,12 +26433,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25816,11 +26470,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25851,12 +26506,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25887,11 +26543,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25922,7 +26579,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -25946,6 +26603,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25980,6 +26638,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26020,6 +26679,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26054,6 +26714,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26088,6 +26749,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26128,6 +26790,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26168,6 +26831,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26208,6 +26872,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26242,6 +26907,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26276,6 +26942,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26310,6 +26977,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26350,6 +27018,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26390,6 +27059,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26430,6 +27100,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26464,6 +27135,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26516,6 +27188,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26546,11 +27219,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26581,12 +27255,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26617,11 +27292,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26652,12 +27328,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26688,11 +27365,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26723,12 +27401,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26765,11 +27444,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26806,12 +27486,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26848,11 +27529,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26889,12 +27571,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26931,11 +27614,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26972,12 +27656,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27008,11 +27693,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27043,12 +27729,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27079,11 +27766,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27114,12 +27802,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27150,11 +27839,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27185,12 +27875,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27221,11 +27912,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27256,12 +27948,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27292,11 +27985,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27327,12 +28021,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27363,11 +28058,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27398,12 +28094,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27440,11 +28137,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27481,12 +28179,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27523,11 +28222,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27564,12 +28264,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27606,11 +28307,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27647,7 +28349,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -27671,6 +28373,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27705,6 +28408,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27739,6 +28443,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27773,6 +28478,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27813,6 +28519,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27853,6 +28560,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27893,6 +28601,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27927,6 +28636,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27961,6 +28671,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27995,6 +28706,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28029,6 +28741,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28063,6 +28776,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28097,6 +28811,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28137,6 +28852,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28177,6 +28893,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28264,6 +28981,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28300,11 +29018,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28341,12 +29060,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28383,11 +29103,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28424,12 +29145,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28466,11 +29188,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28507,12 +29230,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28549,11 +29273,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28590,12 +29315,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28632,11 +29358,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28673,12 +29400,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28715,11 +29443,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28756,12 +29485,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28798,11 +29528,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28839,12 +29570,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28881,11 +29613,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28922,12 +29655,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28964,11 +29698,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29005,12 +29740,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29047,11 +29783,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29088,12 +29825,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29130,11 +29868,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29171,12 +29910,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29213,11 +29953,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29254,12 +29995,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29296,11 +30038,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29337,12 +30080,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29379,11 +30123,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29420,12 +30165,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29462,11 +30208,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29503,7 +30250,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -29527,6 +30274,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29567,6 +30315,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29607,6 +30356,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29647,6 +30397,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29687,6 +30438,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29727,6 +30479,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29767,6 +30520,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29807,6 +30561,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29847,6 +30602,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29887,6 +30643,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29927,6 +30684,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29967,6 +30725,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30007,6 +30766,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30047,6 +30807,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30087,6 +30848,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30174,6 +30936,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30210,11 +30973,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30251,12 +31015,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30293,11 +31058,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30334,12 +31100,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30376,11 +31143,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30417,12 +31185,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30459,11 +31228,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30500,12 +31270,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30542,11 +31313,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30583,12 +31355,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30625,11 +31398,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30666,12 +31440,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30708,11 +31483,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30749,12 +31525,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30791,11 +31568,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30832,12 +31610,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30874,11 +31653,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30915,12 +31695,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30957,11 +31738,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30998,12 +31780,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31040,11 +31823,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31081,12 +31865,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31123,11 +31908,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31164,12 +31950,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31206,11 +31993,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31247,12 +32035,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31289,11 +32078,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31330,12 +32120,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31372,11 +32163,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31413,7 +32205,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -31437,6 +32229,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31477,6 +32270,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31517,6 +32311,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31557,6 +32352,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31597,6 +32393,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31637,6 +32434,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31677,6 +32475,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31717,6 +32516,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31757,6 +32557,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31797,6 +32598,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31837,6 +32639,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31877,6 +32680,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31917,6 +32721,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31957,6 +32762,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31997,6 +32803,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32072,6 +32879,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32102,11 +32910,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32137,12 +32946,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32179,11 +32989,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32220,12 +33031,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32256,11 +33068,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32291,12 +33104,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32327,11 +33141,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32362,12 +33177,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32404,11 +33220,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32445,12 +33262,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32487,11 +33305,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32528,12 +33347,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32570,11 +33390,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32611,12 +33432,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32647,11 +33469,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32682,12 +33505,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32718,11 +33542,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32753,12 +33578,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32789,11 +33615,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32824,12 +33651,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32866,11 +33694,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32907,12 +33736,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32949,11 +33779,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32990,12 +33821,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33032,11 +33864,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33073,12 +33906,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33109,11 +33943,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33144,12 +33979,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33180,11 +34016,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33215,7 +34052,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -33239,6 +34076,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33273,6 +34111,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33313,6 +34152,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33347,6 +34187,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33381,6 +34222,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33421,6 +34263,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33461,6 +34304,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33501,6 +34345,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33535,6 +34380,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33569,6 +34415,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33603,6 +34450,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33643,6 +34491,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33683,6 +34532,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33723,6 +34573,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33757,6 +34608,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33831,6 +34683,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33867,11 +34720,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33908,12 +34762,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33950,11 +34805,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33991,12 +34847,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34033,11 +34890,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34074,12 +34932,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34116,11 +34975,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34157,12 +35017,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34199,11 +35060,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34240,12 +35102,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34282,11 +35145,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34323,12 +35187,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34365,11 +35230,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34406,12 +35272,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34448,11 +35315,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34489,12 +35357,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34531,11 +35400,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34572,12 +35442,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34614,11 +35485,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34655,12 +35527,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34697,11 +35570,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34738,12 +35612,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34780,11 +35655,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34821,12 +35697,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34863,11 +35740,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34904,12 +35782,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34946,11 +35825,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34987,12 +35867,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35029,11 +35910,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35070,7 +35952,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -35094,6 +35976,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35134,6 +36017,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35174,6 +36058,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35214,6 +36099,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35254,6 +36140,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35294,6 +36181,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35334,6 +36222,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35374,6 +36263,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35414,6 +36304,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35454,6 +36345,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35494,6 +36386,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35534,6 +36427,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35574,6 +36468,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35614,6 +36509,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35654,6 +36550,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35719,6 +36616,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35755,11 +36653,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35796,12 +36695,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35838,11 +36738,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35879,12 +36780,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35921,11 +36823,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35962,12 +36865,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36004,11 +36908,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36045,12 +36950,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36087,11 +36993,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36128,12 +37035,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36170,11 +37078,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36211,12 +37120,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36253,11 +37163,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36294,12 +37205,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36336,11 +37248,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36377,12 +37290,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36419,11 +37333,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36460,12 +37375,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36502,11 +37418,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36543,12 +37460,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36585,11 +37503,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36626,12 +37545,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36668,11 +37588,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36709,12 +37630,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36751,11 +37673,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36792,12 +37715,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36834,11 +37758,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36875,12 +37800,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36917,11 +37843,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36958,7 +37885,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -36982,6 +37909,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37022,6 +37950,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37062,6 +37991,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37102,6 +38032,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37142,6 +38073,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37182,6 +38114,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37222,6 +38155,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37262,6 +38196,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37302,6 +38237,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37342,6 +38278,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37382,6 +38319,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37422,6 +38360,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37462,6 +38401,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37502,6 +38442,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37542,6 +38483,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37607,6 +38549,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37643,11 +38586,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37684,12 +38628,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37726,11 +38671,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37767,12 +38713,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37809,11 +38756,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37850,12 +38798,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37892,11 +38841,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37933,12 +38883,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37975,11 +38926,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38016,12 +38968,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38058,11 +39011,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38099,12 +39053,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38141,11 +39096,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38182,12 +39138,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38224,11 +39181,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38265,12 +39223,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38307,11 +39266,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38348,12 +39308,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38390,11 +39351,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38431,12 +39393,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38473,11 +39436,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38514,12 +39478,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38556,11 +39521,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38597,12 +39563,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38639,11 +39606,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38680,12 +39648,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38722,11 +39691,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38763,12 +39733,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38805,11 +39776,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38846,7 +39818,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -38870,6 +39842,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38910,6 +39883,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38950,6 +39924,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38990,6 +39965,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39030,6 +40006,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39070,6 +40047,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39110,6 +40088,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39150,6 +40129,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39190,6 +40170,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39230,6 +40211,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39270,6 +40252,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39310,6 +40293,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39350,6 +40334,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39390,6 +40375,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39430,6 +40416,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39607,6 +40594,7 @@ "alive": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39637,12 +40625,13 @@ 32, 33 ], - "description": "Deprecated alive/output GPIO; use decorated en.", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "deprecated": true }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39673,11 +40662,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39708,12 +40698,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39750,11 +40741,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39791,12 +40783,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39833,12 +40826,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39875,12 +40869,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39917,12 +40912,13 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39959,7 +40955,7 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": true } }, @@ -39971,6 +40967,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40005,6 +41002,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40045,6 +41043,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40085,6 +41084,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40144,6 +41144,7 @@ "alive": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40174,12 +41175,13 @@ 32, 33 ], - "description": "Deprecated alive/output GPIO; use decorated en.", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "deprecated": true }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40210,11 +41212,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40245,12 +41248,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40287,11 +41291,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40328,12 +41333,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40370,12 +41376,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40412,12 +41419,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40454,12 +41462,13 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40496,7 +41505,7 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": true } }, @@ -40508,6 +41517,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40542,6 +41552,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40582,6 +41593,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40622,6 +41634,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40682,6 +41695,7 @@ "alive": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40712,12 +41726,13 @@ 32, 33 ], - "description": "Deprecated alive/output GPIO; use decorated en.", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "deprecated": true }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40748,11 +41763,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40783,12 +41799,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40825,11 +41842,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40866,12 +41884,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40908,12 +41927,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40950,12 +41970,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40992,12 +42013,13 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41034,7 +42056,7 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": true } }, @@ -41046,6 +42068,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41080,6 +42103,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41120,6 +42144,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41160,6 +42185,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41247,6 +42273,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41287,6 +42314,7 @@ "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41348,6 +42376,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41388,6 +42417,7 @@ "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41636,6 +42666,7 @@ "items": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41669,7 +42700,7 @@ }, "minItems": 1, "maxItems": 4, - "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four." + "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four; -1 means not connected." }, "t1": { "type": "integer", @@ -41718,6 +42749,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41748,11 +42780,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41783,12 +42816,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41819,11 +42853,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41854,12 +42889,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41890,11 +42926,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41925,12 +42962,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41961,11 +42999,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41996,12 +43035,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42032,11 +43072,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42067,12 +43108,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42103,11 +43145,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42138,12 +43181,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42174,11 +43218,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42209,12 +43254,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42245,11 +43291,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42280,12 +43327,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42316,11 +43364,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42351,12 +43400,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42387,11 +43437,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42422,12 +43473,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42458,11 +43510,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42493,12 +43546,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42529,11 +43583,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42564,12 +43619,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42600,11 +43656,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42635,12 +43692,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42671,11 +43729,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42706,12 +43765,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42742,11 +43802,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42777,7 +43838,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -42791,6 +43852,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42825,6 +43887,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42859,6 +43922,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42893,6 +43957,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42927,6 +43992,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42961,6 +44027,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42995,6 +44062,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43029,6 +44097,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43063,6 +44132,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43097,6 +44167,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43131,6 +44202,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43165,6 +44237,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43199,6 +44272,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43233,6 +44307,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43267,6 +44342,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43330,6 +44406,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43360,11 +44437,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43395,12 +44473,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43431,11 +44510,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43466,12 +44546,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43502,11 +44583,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43537,12 +44619,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43579,11 +44662,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43620,12 +44704,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43662,11 +44747,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43703,12 +44789,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43745,11 +44832,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43786,12 +44874,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43822,11 +44911,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43857,12 +44947,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43893,11 +44984,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43928,12 +45020,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43964,11 +45057,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43999,12 +45093,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44035,11 +45130,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44070,12 +45166,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44106,11 +45203,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44141,12 +45239,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44177,11 +45276,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44212,12 +45312,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44254,11 +45355,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44295,12 +45397,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44337,11 +45440,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44378,12 +45482,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44420,11 +45525,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44461,7 +45567,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -44475,6 +45581,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44509,6 +45616,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44543,6 +45651,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44577,6 +45686,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44617,6 +45727,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44657,6 +45768,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44697,6 +45809,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44731,6 +45844,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44765,6 +45879,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44799,6 +45914,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44833,6 +45949,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44867,6 +45984,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44901,6 +46019,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44941,6 +46060,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44981,6 +46101,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45095,6 +46216,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45125,11 +46247,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45160,12 +46283,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45196,11 +46320,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45231,12 +46356,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45267,11 +46393,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45302,12 +46429,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45338,11 +46466,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45373,12 +46502,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45409,11 +46539,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45444,12 +46575,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45480,11 +46612,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45515,12 +46648,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45551,11 +46685,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45586,12 +46721,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45622,11 +46758,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45657,12 +46794,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45693,11 +46831,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45728,12 +46867,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45764,11 +46904,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45799,12 +46940,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45835,11 +46977,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45870,12 +47013,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45906,11 +47050,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45941,12 +47086,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45977,11 +47123,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46012,12 +47159,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46048,11 +47196,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46083,12 +47232,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46119,11 +47269,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46154,7 +47305,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -46168,6 +47319,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46202,6 +47354,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46236,6 +47389,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46270,6 +47424,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46304,6 +47459,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46338,6 +47494,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46372,6 +47529,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46406,6 +47564,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46440,6 +47599,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46474,6 +47634,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46508,6 +47669,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46542,6 +47704,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46576,6 +47739,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46610,6 +47774,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46644,6 +47809,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46708,6 +47874,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46738,11 +47905,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46773,12 +47941,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46809,11 +47978,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46844,12 +48014,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46880,11 +48051,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46915,12 +48087,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46951,11 +48124,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46986,12 +48160,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47028,11 +48203,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47069,12 +48245,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47111,11 +48288,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47152,12 +48330,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47194,11 +48373,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47235,12 +48415,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47277,11 +48458,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47318,12 +48500,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47360,11 +48543,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47401,12 +48585,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47443,11 +48628,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47484,12 +48670,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47526,11 +48713,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47567,12 +48755,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47609,11 +48798,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47650,12 +48840,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47692,11 +48883,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47733,12 +48925,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47775,11 +48968,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47816,12 +49010,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47858,11 +49053,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47899,7 +49095,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -47913,6 +49109,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47947,6 +49144,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47981,6 +49179,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48015,6 +49214,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48049,6 +49249,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48089,6 +49290,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48129,6 +49331,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48169,6 +49372,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48209,6 +49413,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48249,6 +49454,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48289,6 +49495,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48329,6 +49536,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48369,6 +49577,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48409,6 +49618,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48449,6 +49659,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48580,6 +49791,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48610,11 +49822,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48645,12 +49858,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48687,11 +49901,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48728,12 +49943,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48764,11 +49980,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48799,12 +50016,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48841,11 +50059,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48882,12 +50101,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48924,11 +50144,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48965,12 +50186,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49007,11 +50229,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49048,12 +50271,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49084,11 +50308,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49119,12 +50344,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49155,11 +50381,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49190,12 +50417,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49226,11 +50454,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49261,12 +50490,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49303,11 +50533,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49344,12 +50575,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49386,11 +50618,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49427,12 +50660,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49469,11 +50703,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49510,12 +50745,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49552,11 +50788,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49593,12 +50830,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49635,11 +50873,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49676,12 +50915,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49718,11 +50958,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49759,7 +51000,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -49773,6 +51014,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49807,6 +51049,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49847,6 +51090,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49881,6 +51125,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49921,6 +51166,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49961,6 +51207,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50001,6 +51248,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50035,6 +51283,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50069,6 +51318,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50103,6 +51353,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50143,6 +51394,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50183,6 +51435,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50223,6 +51476,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50263,6 +51517,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50303,6 +51558,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50376,24 +51632,37 @@ "pin": { "type": "integer", "enum": [ + -1, 25, 26 ], - "description": "Single DAC-capable GPIO (25 or 26) for W mode." + "description": "Single DAC-capable GPIO (25 or 26) for W mode; -1 means not connected." }, "pins": { "type": "array", "items": { "type": "integer", "enum": [ + -1, 25, 26 ] }, "minItems": 1, "maxItems": 2, - "uniqueItems": true, - "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB." + "not": { + "enum": [ + [ + 25, + 25 + ], + [ + 26, + 26 + ] + ] + }, + "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB; -1 means not connected and may repeat." } }, "additionalProperties": false, @@ -50401,7 +51670,7 @@ "type" ], "title": "DAC", - "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver.", + "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver.", "allOf": [ { "oneOf": [ @@ -50480,6 +51749,7 @@ "pin": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50489,11 +51759,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50503,12 +51774,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50518,11 +51790,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50532,12 +51805,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50547,11 +51821,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50561,12 +51836,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50597,11 +51873,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50632,7 +51909,7 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -50641,11 +51918,12 @@ "type" ], "title": "ADC", - "description": "ESP32 ADC1 analog input. The input pin must be GPIO 32..39.", + "description": "ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39.", "patternProperties": { "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50659,6 +51937,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50672,6 +51951,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50685,6 +51965,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50754,6 +52035,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50784,11 +52066,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50819,12 +52102,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50855,11 +52139,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50890,12 +52175,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50926,11 +52212,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50961,12 +52248,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50997,11 +52285,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51032,12 +52321,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51074,11 +52364,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51115,12 +52406,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51157,11 +52449,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51198,12 +52491,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51240,11 +52534,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51281,12 +52576,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51323,11 +52619,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51364,12 +52661,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51406,11 +52704,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51447,12 +52746,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51489,11 +52789,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51530,12 +52831,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51572,11 +52874,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51613,12 +52916,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51655,11 +52959,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51696,12 +53001,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51738,11 +53044,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51779,12 +53086,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51821,11 +53129,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51862,12 +53171,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51904,11 +53214,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51945,7 +53256,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -51959,6 +53270,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51993,6 +53305,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52027,6 +53340,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52061,6 +53375,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52095,6 +53410,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52135,6 +53451,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52175,6 +53492,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52215,6 +53533,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52255,6 +53574,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52295,6 +53615,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52335,6 +53656,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52375,6 +53697,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52415,6 +53738,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52455,6 +53779,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52495,6 +53820,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52589,6 +53915,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52619,11 +53946,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52654,12 +53982,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52690,11 +54019,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52725,12 +54055,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52761,11 +54092,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52796,12 +54128,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52832,11 +54165,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52867,12 +54201,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52909,11 +54244,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52950,12 +54286,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52992,11 +54329,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53033,12 +54371,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53075,11 +54414,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53116,12 +54456,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53158,11 +54499,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53199,12 +54541,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53241,11 +54584,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53282,12 +54626,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53324,11 +54669,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53365,12 +54711,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53407,11 +54754,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53448,12 +54796,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53490,11 +54839,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53531,12 +54881,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53573,11 +54924,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53614,12 +54966,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53656,11 +55009,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53697,12 +55051,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53739,11 +55094,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53780,7 +55136,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -53794,6 +55150,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53828,6 +55185,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53862,6 +55220,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53896,6 +55255,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53930,6 +55290,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53970,6 +55331,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54010,6 +55372,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54050,6 +55413,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54090,6 +55454,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54130,6 +55495,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54170,6 +55536,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54210,6 +55577,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54250,6 +55618,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54290,6 +55659,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54330,6 +55700,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54397,6 +55768,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54433,11 +55805,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54474,12 +55847,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54510,11 +55884,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54545,12 +55920,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54587,11 +55963,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54628,12 +56005,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54670,11 +56048,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54711,12 +56090,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54753,11 +56133,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54794,12 +56175,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54836,11 +56218,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54877,12 +56260,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54919,11 +56303,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54960,12 +56345,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55002,11 +56388,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55043,12 +56430,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55085,11 +56473,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55126,12 +56515,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55168,11 +56558,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55209,12 +56600,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55251,11 +56643,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55292,12 +56685,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55334,11 +56728,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55375,12 +56770,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55417,11 +56813,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55458,12 +56855,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55500,11 +56898,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55541,12 +56940,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55583,11 +56983,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55624,7 +57025,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -55638,6 +57039,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55678,6 +57080,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55712,6 +57115,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55752,6 +57156,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55792,6 +57197,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55832,6 +57238,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55872,6 +57279,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55912,6 +57320,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55952,6 +57361,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55992,6 +57402,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56032,6 +57443,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56072,6 +57484,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56112,6 +57525,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56152,6 +57566,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56192,6 +57607,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56297,6 +57713,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56327,11 +57744,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56362,12 +57780,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56398,11 +57817,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56433,12 +57853,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56469,11 +57890,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56504,12 +57926,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56540,11 +57963,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56575,12 +57999,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56617,11 +58042,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56658,12 +58084,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56700,11 +58127,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56741,12 +58169,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56783,11 +58212,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56824,12 +58254,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56866,11 +58297,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56907,12 +58339,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56949,11 +58382,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56990,12 +58424,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57032,11 +58467,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57073,12 +58509,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57115,11 +58552,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57156,12 +58594,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57198,11 +58637,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57239,12 +58679,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57281,11 +58722,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57322,12 +58764,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57364,11 +58807,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57405,12 +58849,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57447,11 +58892,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57488,7 +58934,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -57502,6 +58948,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57536,6 +58983,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57570,6 +59018,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57604,6 +59053,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57638,6 +59088,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57678,6 +59129,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57718,6 +59170,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57758,6 +59211,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57798,6 +59252,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57838,6 +59293,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57878,6 +59334,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57918,6 +59375,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57958,6 +59416,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57998,6 +59457,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58038,6 +59498,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58091,6 +59552,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58127,11 +59589,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58168,12 +59631,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58204,11 +59668,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58239,12 +59704,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58281,11 +59747,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58322,12 +59789,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58364,11 +59832,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58405,12 +59874,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58447,11 +59917,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58488,12 +59959,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58530,11 +60002,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58571,12 +60044,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58613,11 +60087,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58654,12 +60129,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58696,11 +60172,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58737,12 +60214,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58779,11 +60257,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58820,12 +60299,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58862,11 +60342,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58903,12 +60384,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58945,11 +60427,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58986,12 +60469,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59028,11 +60512,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59069,12 +60554,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59111,11 +60597,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59152,12 +60639,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59194,11 +60682,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59235,12 +60724,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59277,11 +60767,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59318,7 +60809,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -59332,6 +60823,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59372,6 +60864,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59406,6 +60899,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59446,6 +60940,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59486,6 +60981,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59526,6 +61022,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59566,6 +61063,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59606,6 +61104,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59646,6 +61145,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59686,6 +61186,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59726,6 +61227,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59766,6 +61268,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59806,6 +61309,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59846,6 +61350,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59886,6 +61391,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59939,6 +61445,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59969,11 +61476,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60004,12 +61512,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60040,11 +61549,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60075,12 +61585,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60111,11 +61622,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60146,12 +61658,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60182,11 +61695,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60217,12 +61731,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60259,11 +61774,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60300,12 +61816,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60342,11 +61859,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60383,12 +61901,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60425,11 +61944,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60466,12 +61986,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60508,11 +62029,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60549,12 +62071,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60591,11 +62114,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60632,12 +62156,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60674,11 +62199,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60715,12 +62241,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60757,11 +62284,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60798,12 +62326,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60840,11 +62369,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60881,12 +62411,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60923,11 +62454,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60964,12 +62496,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61006,11 +62539,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61047,12 +62581,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61089,11 +62624,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61130,7 +62666,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -61144,6 +62680,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61178,6 +62715,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61212,6 +62750,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61246,6 +62785,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61280,6 +62820,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61320,6 +62861,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61360,6 +62902,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61400,6 +62943,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61440,6 +62984,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61480,6 +63025,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61520,6 +63066,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61560,6 +63107,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61600,6 +63148,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61640,6 +63189,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61680,6 +63230,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61733,6 +63284,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61763,11 +63315,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61798,12 +63351,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61834,11 +63388,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61869,12 +63424,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61905,11 +63461,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61940,12 +63497,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61976,11 +63534,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62011,12 +63570,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62053,11 +63613,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62094,12 +63655,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62136,11 +63698,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62177,12 +63740,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62219,11 +63783,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62260,12 +63825,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62302,11 +63868,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62343,12 +63910,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62385,11 +63953,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62426,12 +63995,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62468,11 +64038,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62509,12 +64080,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62551,11 +64123,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62592,12 +64165,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62634,11 +64208,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62675,12 +64250,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62717,11 +64293,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62758,12 +64335,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62800,11 +64378,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62841,12 +64420,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62883,11 +64463,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62924,7 +64505,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -62938,6 +64519,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62972,6 +64554,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63006,6 +64589,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63040,6 +64624,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63074,6 +64659,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63114,6 +64700,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63154,6 +64741,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63194,6 +64782,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63234,6 +64823,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63274,6 +64864,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63314,6 +64905,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63354,6 +64946,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63394,6 +64987,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63434,6 +65028,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63474,6 +65069,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63548,6 +65144,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63584,11 +65181,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63625,12 +65223,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63661,11 +65260,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63696,12 +65296,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63738,11 +65339,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63779,12 +65381,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63821,11 +65424,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63862,12 +65466,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63904,11 +65509,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63945,12 +65551,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63987,11 +65594,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64028,12 +65636,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64070,11 +65679,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64111,12 +65721,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64153,11 +65764,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64194,12 +65806,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64236,11 +65849,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64277,12 +65891,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64319,11 +65934,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64360,12 +65976,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64402,11 +66019,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64443,12 +66061,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64485,11 +66104,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64526,12 +66146,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64568,11 +66189,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64609,12 +66231,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64651,11 +66274,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64692,12 +66316,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64734,11 +66359,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64775,7 +66401,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -64789,6 +66415,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64829,6 +66456,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64863,6 +66491,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64903,6 +66532,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64943,6 +66573,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64983,6 +66614,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65023,6 +66655,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65063,6 +66696,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65103,6 +66737,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65143,6 +66778,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65183,6 +66819,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65223,6 +66860,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65263,6 +66901,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65303,6 +66942,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65343,6 +66983,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65420,6 +67061,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65450,11 +67092,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65485,12 +67128,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65527,11 +67171,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65568,12 +67213,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65604,11 +67250,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65639,12 +67286,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65675,11 +67323,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65710,12 +67359,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65752,11 +67402,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65793,12 +67444,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65835,11 +67487,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65876,12 +67529,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65918,11 +67572,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65959,12 +67614,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65995,11 +67651,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66030,12 +67687,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66066,11 +67724,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66101,12 +67760,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66137,11 +67797,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66172,12 +67833,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66214,11 +67876,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66255,12 +67918,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66297,11 +67961,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66338,12 +68003,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66380,11 +68046,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66421,12 +68088,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66457,11 +68125,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66492,12 +68161,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66528,11 +68198,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66563,7 +68234,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -66577,6 +68248,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66611,6 +68283,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66651,6 +68324,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66685,6 +68359,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66719,6 +68394,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66759,6 +68435,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66799,6 +68476,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66839,6 +68517,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66873,6 +68552,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66907,6 +68587,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66941,6 +68622,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66981,6 +68663,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67021,6 +68704,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67061,6 +68745,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67095,6 +68780,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67147,6 +68833,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67177,11 +68864,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67212,12 +68900,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67248,11 +68937,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67283,12 +68973,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67319,11 +69010,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67354,12 +69046,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67396,11 +69089,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67437,12 +69131,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67479,11 +69174,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67520,12 +69216,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67562,11 +69259,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67603,12 +69301,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67639,11 +69338,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67674,12 +69374,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67710,11 +69411,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67745,12 +69447,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67781,11 +69484,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67816,12 +69520,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67852,11 +69557,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67887,12 +69593,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67923,11 +69630,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67958,12 +69666,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67994,11 +69703,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68029,12 +69739,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68071,11 +69782,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68112,12 +69824,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68154,11 +69867,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68195,12 +69909,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68237,11 +69952,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68278,7 +69994,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -68292,6 +70008,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68326,6 +70043,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68360,6 +70078,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68394,6 +70113,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68434,6 +70154,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68474,6 +70195,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68514,6 +70236,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68548,6 +70271,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68582,6 +70306,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68616,6 +70341,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68650,6 +70376,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68684,6 +70411,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68718,6 +70446,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68758,6 +70487,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68798,6 +70528,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68885,6 +70616,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68921,11 +70653,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68962,12 +70695,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69004,11 +70738,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69045,12 +70780,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69087,11 +70823,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69128,12 +70865,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69170,11 +70908,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69211,12 +70950,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69253,11 +70993,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69294,12 +71035,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69336,11 +71078,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69377,12 +71120,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69419,11 +71163,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69460,12 +71205,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69502,11 +71248,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69543,12 +71290,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69585,11 +71333,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69626,12 +71375,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69668,11 +71418,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69709,12 +71460,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69751,11 +71503,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69792,12 +71545,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69834,11 +71588,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69875,12 +71630,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69917,11 +71673,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69958,12 +71715,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70000,11 +71758,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70041,12 +71800,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70083,11 +71843,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70124,7 +71885,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -70138,6 +71899,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70178,6 +71940,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70218,6 +71981,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70258,6 +72022,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70298,6 +72063,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70338,6 +72104,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70378,6 +72145,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70418,6 +72186,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70458,6 +72227,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70498,6 +72268,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70538,6 +72309,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70578,6 +72350,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70618,6 +72391,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70658,6 +72432,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70698,6 +72473,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70785,6 +72561,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70821,11 +72598,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70862,12 +72640,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70904,11 +72683,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70945,12 +72725,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70987,11 +72768,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71028,12 +72810,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71070,11 +72853,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71111,12 +72895,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71153,11 +72938,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71194,12 +72980,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71236,11 +73023,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71277,12 +73065,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71319,11 +73108,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71360,12 +73150,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71402,11 +73193,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71443,12 +73235,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71485,11 +73278,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71526,12 +73320,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71568,11 +73363,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71609,12 +73405,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71651,11 +73448,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71692,12 +73490,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71734,11 +73533,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71775,12 +73575,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71817,11 +73618,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71858,12 +73660,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71900,11 +73703,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71941,12 +73745,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71983,11 +73788,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72024,7 +73830,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -72038,6 +73844,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72078,6 +73885,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72118,6 +73926,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72158,6 +73967,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72198,6 +74008,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72238,6 +74049,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72278,6 +74090,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72318,6 +74131,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72358,6 +74172,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72398,6 +74213,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72438,6 +74254,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72478,6 +74295,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72518,6 +74336,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72558,6 +74377,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72598,6 +74418,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72673,6 +74494,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72703,11 +74525,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72738,12 +74561,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72780,11 +74604,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72821,12 +74646,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72857,11 +74683,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72892,12 +74719,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72928,11 +74756,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72963,12 +74792,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73005,11 +74835,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73046,12 +74877,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73088,11 +74920,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73129,12 +74962,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73171,11 +75005,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73212,12 +75047,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73248,11 +75084,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73283,12 +75120,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73319,11 +75157,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73354,12 +75193,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73390,11 +75230,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73425,12 +75266,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73467,11 +75309,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73508,12 +75351,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73550,11 +75394,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73591,12 +75436,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73633,11 +75479,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73674,12 +75521,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73710,11 +75558,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73745,12 +75594,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73781,11 +75631,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73816,7 +75667,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -73830,6 +75681,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73864,6 +75716,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73904,6 +75757,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73938,6 +75792,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73972,6 +75827,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74012,6 +75868,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74052,6 +75909,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74092,6 +75950,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74126,6 +75985,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74160,6 +76020,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74194,6 +76055,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74234,6 +76096,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74274,6 +76137,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74314,6 +76178,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74348,6 +76213,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74422,6 +76288,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74458,11 +76325,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74499,12 +76367,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74541,11 +76410,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74582,12 +76452,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74624,11 +76495,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74665,12 +76537,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74707,11 +76580,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74748,12 +76622,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74790,11 +76665,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74831,12 +76707,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74873,11 +76750,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74914,12 +76792,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74956,11 +76835,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74997,12 +76877,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75039,11 +76920,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75080,12 +76962,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75122,11 +77005,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75163,12 +77047,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75205,11 +77090,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75246,12 +77132,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75288,11 +77175,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75329,12 +77217,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75371,11 +77260,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75412,12 +77302,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75454,11 +77345,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75495,12 +77387,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75537,11 +77430,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75578,12 +77472,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75620,11 +77515,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75661,7 +77557,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -75675,6 +77571,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75715,6 +77612,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75755,6 +77653,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75795,6 +77694,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75835,6 +77735,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75875,6 +77776,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75915,6 +77817,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75955,6 +77858,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75995,6 +77899,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76035,6 +77940,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76075,6 +77981,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76115,6 +78022,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76155,6 +78063,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76195,6 +78104,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76235,6 +78145,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76300,6 +78211,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76336,11 +78248,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76377,12 +78290,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76419,11 +78333,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76460,12 +78375,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76502,11 +78418,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76543,12 +78460,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76585,11 +78503,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76626,12 +78545,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76668,11 +78588,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76709,12 +78630,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76751,11 +78673,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76792,12 +78715,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76834,11 +78758,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76875,12 +78800,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76917,11 +78843,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76958,12 +78885,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77000,11 +78928,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77041,12 +78970,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77083,11 +79013,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77124,12 +79055,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77166,11 +79098,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77207,12 +79140,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77249,11 +79183,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77290,12 +79225,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77332,11 +79268,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77373,12 +79310,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77415,11 +79353,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77456,12 +79395,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77498,11 +79438,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77539,7 +79480,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -77553,6 +79494,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77593,6 +79535,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77633,6 +79576,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77673,6 +79617,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77713,6 +79658,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77753,6 +79699,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77793,6 +79740,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77833,6 +79781,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77873,6 +79822,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77913,6 +79863,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77953,6 +79904,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77993,6 +79945,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78033,6 +79986,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78073,6 +80027,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78113,6 +80068,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78178,6 +80134,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78214,11 +80171,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78255,12 +80213,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78297,11 +80256,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78338,12 +80298,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78380,11 +80341,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78421,12 +80383,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78463,11 +80426,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78504,12 +80468,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78546,11 +80511,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78587,12 +80553,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78629,11 +80596,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78670,12 +80638,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78712,11 +80681,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78753,12 +80723,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78795,11 +80766,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78836,12 +80808,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78878,11 +80851,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78919,12 +80893,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78961,11 +80936,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79002,12 +80978,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79044,11 +81021,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79085,12 +81063,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79127,11 +81106,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79168,12 +81148,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79210,11 +81191,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79251,12 +81233,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79293,11 +81276,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79334,12 +81318,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79376,11 +81361,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79417,7 +81403,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -79431,6 +81417,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79471,6 +81458,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79511,6 +81499,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79551,6 +81540,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79591,6 +81581,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79631,6 +81622,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79671,6 +81663,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79711,6 +81704,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79751,6 +81745,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79791,6 +81786,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79831,6 +81827,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79871,6 +81868,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79911,6 +81909,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79951,6 +81950,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79991,6 +81991,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -80140,9 +82141,10 @@ { "keyword": "btn", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -80183,9 +82185,10 @@ { "keyword": "!btn+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated btn example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80226,9 +82229,10 @@ { "keyword": "button", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -80270,9 +82274,10 @@ { "keyword": "!button+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated button example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80314,9 +82319,10 @@ { "keyword": "led", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for led. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for led; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -80351,9 +82357,10 @@ { "keyword": "!led+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated led example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated led example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80417,9 +82424,10 @@ { "keyword": "sda", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Output-capable RTC I2C data GPIO; required for external RTCs.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Output-capable RTC I2C data GPIO; required for external RTCs. -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80454,9 +82462,10 @@ { "keyword": "scl", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Output-capable RTC I2C clock GPIO; required for external RTCs.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Output-capable RTC I2C clock GPIO; required for external RTCs. -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80535,9 +82544,10 @@ { "keyword": "pin", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Legacy data GPIO.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Legacy data GPIO; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80578,9 +82588,10 @@ { "keyword": "tx", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Legacy transmit/data GPIO.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Legacy transmit/data GPIO; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80627,9 +82638,10 @@ { "keyword": "rx", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Legacy receive GPIO.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Legacy receive GPIO; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80830,9 +82842,10 @@ { "keyword": "alive", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Deprecated alive/output GPIO; use decorated en.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80868,9 +82881,10 @@ { "keyword": "en", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -80905,9 +82919,10 @@ { "keyword": "!en+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -80942,9 +82957,10 @@ { "keyword": "btn", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -80985,9 +83001,10 @@ { "keyword": "!btn+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated btn example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81028,9 +83045,10 @@ { "keyword": "button", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -81072,9 +83090,10 @@ { "keyword": "!button+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated button example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81116,9 +83135,10 @@ { "keyword": "pin", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -81160,9 +83180,10 @@ { "keyword": "!pin+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81223,9 +83244,10 @@ { "keyword": "alive", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Deprecated alive/output GPIO; use decorated en.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81261,9 +83283,10 @@ { "keyword": "en", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -81298,9 +83321,10 @@ { "keyword": "!en+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81335,9 +83359,10 @@ { "keyword": "btn", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -81378,9 +83403,10 @@ { "keyword": "!btn+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated btn example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81421,9 +83447,10 @@ { "keyword": "button", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -81465,9 +83492,10 @@ { "keyword": "!button+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated button example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81509,9 +83537,10 @@ { "keyword": "pin", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "enum": [ + -1, 0, 1, 2, @@ -81553,9 +83582,10 @@ { "keyword": "!pin+", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up.", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "enum": [ + -1, 0, 1, 2, @@ -81645,9 +83675,10 @@ { "keyword": "tx", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", "description": "", "enum": [ + -1, 0, 1, 2, @@ -81688,9 +83719,10 @@ { "keyword": "rx", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", "description": "", "enum": [ + -1, 0, 1, 2, @@ -81755,9 +83787,10 @@ { "keyword": "tx", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", "description": "", "enum": [ + -1, 0, 1, 2, @@ -81798,9 +83831,10 @@ { "keyword": "rx", "type": "integer", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", "description": "", "enum": [ + -1, 0, 1, 2, @@ -82136,8 +84170,8 @@ }, { "keyword": "pins", - "constraints": "array<0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33>", - "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four." + "constraints": "array<-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33>", + "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four; -1 means not connected." }, { "keyword": "t1", @@ -82181,153 +84215,153 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { @@ -82346,6 +84380,7 @@ "TM1814" ], "pin": [ + -1, 0, 1, 2, @@ -82377,6 +84412,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -82408,6 +84444,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -82439,6 +84476,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -82470,6 +84508,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -82501,6 +84540,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -82532,6 +84572,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -82563,6 +84604,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -82594,6 +84636,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -82625,6 +84668,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -82656,6 +84700,7 @@ 33 ], "sda": [ + -1, 0, 1, 2, @@ -82687,6 +84732,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -82718,6 +84764,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -82749,6 +84796,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -82780,6 +84828,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -82811,6 +84860,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -82842,6 +84892,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -82873,6 +84924,7 @@ 33 ], "!rx+": [ + -1, 0, 1, 2, @@ -82904,6 +84956,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -82935,6 +84988,7 @@ 33 ], "!scl+": [ + -1, 0, 1, 2, @@ -82966,6 +85020,7 @@ 33 ], "g": [ + -1, 0, 1, 2, @@ -82997,6 +85052,7 @@ 33 ], "!g+": [ + -1, 0, 1, 2, @@ -83028,6 +85084,7 @@ 33 ], "green": [ + -1, 0, 1, 2, @@ -83059,6 +85116,7 @@ 33 ], "!green+": [ + -1, 0, 1, 2, @@ -83090,6 +85148,7 @@ 33 ], "b": [ + -1, 0, 1, 2, @@ -83121,6 +85180,7 @@ 33 ], "!b+": [ + -1, 0, 1, 2, @@ -83152,6 +85212,7 @@ 33 ], "blue": [ + -1, 0, 1, 2, @@ -83183,6 +85244,7 @@ 33 ], "!blue+": [ + -1, 0, 1, 2, @@ -83214,6 +85276,7 @@ 33 ], "rts": [ + -1, 0, 1, 2, @@ -83245,6 +85308,7 @@ 33 ], "!rts+": [ + -1, 0, 1, 2, @@ -83357,153 +85421,153 @@ }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { @@ -83511,6 +85575,7 @@ "RGB" ], "sda": [ + -1, 0, 1, 2, @@ -83542,6 +85607,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -83573,6 +85639,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -83604,6 +85671,7 @@ 33 ], "!scl+": [ + -1, 0, 1, 2, @@ -83635,6 +85703,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -83666,6 +85735,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -83697,6 +85767,7 @@ 33 ], "pin": [ + -1, 0, 1, 2, @@ -83734,6 +85805,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -83771,6 +85843,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -83808,6 +85881,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -83845,6 +85919,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -83882,6 +85957,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -83919,6 +85995,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -83950,6 +86027,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -83981,6 +86059,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -84012,6 +86091,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -84043,6 +86123,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -84074,6 +86155,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -84105,6 +86187,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -84136,6 +86219,7 @@ 33 ], "!rx+": [ + -1, 0, 1, 2, @@ -84167,6 +86251,7 @@ 33 ], "g": [ + -1, 0, 1, 2, @@ -84198,6 +86283,7 @@ 33 ], "!g+": [ + -1, 0, 1, 2, @@ -84229,6 +86315,7 @@ 33 ], "green": [ + -1, 0, 1, 2, @@ -84260,6 +86347,7 @@ 33 ], "!green+": [ + -1, 0, 1, 2, @@ -84291,6 +86379,7 @@ 33 ], "b": [ + -1, 0, 1, 2, @@ -84328,6 +86417,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -84365,6 +86455,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -84402,6 +86493,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -84439,6 +86531,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -84476,6 +86569,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -84636,157 +86730,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -84818,6 +86913,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -84849,6 +86945,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -84880,6 +86977,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -84911,6 +87009,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -84942,6 +87041,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -84973,6 +87073,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -85004,6 +87105,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -85035,6 +87137,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -85066,6 +87169,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -85097,6 +87201,7 @@ 33 ], "sda": [ + -1, 0, 1, 2, @@ -85128,6 +87233,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -85159,6 +87265,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -85190,6 +87297,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -85221,6 +87329,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -85252,6 +87361,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -85283,6 +87393,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -85314,6 +87425,7 @@ 33 ], "!rx+": [ + -1, 0, 1, 2, @@ -85345,6 +87457,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -85376,6 +87489,7 @@ 33 ], "!scl+": [ + -1, 0, 1, 2, @@ -85407,6 +87521,7 @@ 33 ], "g": [ + -1, 0, 1, 2, @@ -85438,6 +87553,7 @@ 33 ], "!g+": [ + -1, 0, 1, 2, @@ -85469,6 +87585,7 @@ 33 ], "green": [ + -1, 0, 1, 2, @@ -85500,6 +87617,7 @@ 33 ], "!green+": [ + -1, 0, 1, 2, @@ -85531,6 +87649,7 @@ 33 ], "b": [ + -1, 0, 1, 2, @@ -85562,6 +87681,7 @@ 33 ], "!b+": [ + -1, 0, 1, 2, @@ -85593,6 +87713,7 @@ 33 ], "blue": [ + -1, 0, 1, 2, @@ -85624,6 +87745,7 @@ 33 ], "!blue+": [ + -1, 0, 1, 2, @@ -85655,6 +87777,7 @@ 33 ], "rts": [ + -1, 0, 1, 2, @@ -85686,6 +87809,7 @@ 33 ], "!rts+": [ + -1, 0, 1, 2, @@ -85798,157 +87922,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -85980,6 +88105,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -86011,6 +88137,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -86042,6 +88169,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -86073,6 +88201,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -86104,6 +88233,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -86135,6 +88265,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -86166,6 +88297,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -86197,6 +88329,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -86234,6 +88367,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -86271,6 +88405,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -86308,6 +88443,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -86345,6 +88481,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -86382,6 +88519,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -86419,6 +88557,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -86456,6 +88595,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -86493,6 +88633,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -86530,6 +88671,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -86567,6 +88709,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -86604,6 +88747,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -86641,6 +88785,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -86678,6 +88823,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -86715,6 +88861,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -86752,6 +88899,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -86789,6 +88937,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -86826,6 +88975,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -86863,6 +89013,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -86900,6 +89051,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -86937,6 +89089,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -86974,6 +89127,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -87146,153 +89300,153 @@ }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { @@ -87306,6 +89460,7 @@ "DECOMMISSION" ], "tx": [ + -1, 0, 1, 2, @@ -87337,6 +89492,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -87368,6 +89524,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -87405,6 +89562,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -87442,6 +89600,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -87473,6 +89632,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -87504,6 +89664,7 @@ 33 ], "pin": [ + -1, 0, 1, 2, @@ -87541,6 +89702,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -87578,6 +89740,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -87615,6 +89778,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -87652,6 +89816,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -87689,6 +89854,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -87726,6 +89892,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -87757,6 +89924,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -87788,6 +89956,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -87819,6 +89988,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -87850,6 +90020,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -87881,6 +90052,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -87912,6 +90084,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -87949,6 +90122,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -87986,6 +90160,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -88023,6 +90198,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -88060,6 +90236,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -88097,6 +90274,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -88134,6 +90312,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -88171,6 +90350,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -88208,6 +90388,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -88245,6 +90426,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -88282,6 +90464,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -88319,6 +90502,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -88377,7 +90561,7 @@ { "type": "DAC", "status": "supported", - "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver.", + "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver.", "keywords": [ "name", "brightness", @@ -88409,13 +90593,13 @@ }, { "keyword": "pin", - "constraints": "25 | 26", - "description": "Single DAC-capable GPIO (25 or 26) for W mode." + "constraints": "-1 | 25 | 26", + "description": "Single DAC-capable GPIO (25 or 26) for W mode; -1 means not connected." }, { "keyword": "pins", - "constraints": "array<25 | 26>", - "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB." + "constraints": "array<-1 | 25 | 26>", + "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB; -1 means not connected and may repeat." } ], "enums": { @@ -88424,6 +90608,7 @@ "RB" ], "pin": [ + -1, 25, 26 ] @@ -88433,7 +90618,7 @@ { "type": "ADC", "status": "supported", - "description": "ESP32 ADC1 analog input. The input pin must be GPIO 32..39.", + "description": "ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39.", "keywords": [ "name", "pin", @@ -88453,47 +90638,48 @@ }, { "keyword": "pin", - "constraints": "32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 32, 33, 34, @@ -88504,6 +90690,7 @@ 39 ], "!pin+": [ + -1, 32, 33, 34, @@ -88514,6 +90701,7 @@ 39 ], "w": [ + -1, 32, 33, 34, @@ -88524,6 +90712,7 @@ 39 ], "!w+": [ + -1, 32, 33, 34, @@ -88534,6 +90723,7 @@ 39 ], "white": [ + -1, 32, 33, 34, @@ -88544,6 +90734,7 @@ 39 ], "!white+": [ + -1, 32, 33, 34, @@ -88554,6 +90745,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -88585,6 +90777,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -88692,157 +90885,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -88874,6 +91068,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -88905,6 +91100,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -88936,6 +91132,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -88967,6 +91164,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -88998,6 +91196,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -89029,6 +91228,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -89060,6 +91260,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -89091,6 +91292,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -89128,6 +91330,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -89165,6 +91368,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -89202,6 +91406,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -89239,6 +91444,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -89276,6 +91482,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -89313,6 +91520,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -89350,6 +91558,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -89387,6 +91596,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -89424,6 +91634,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -89461,6 +91672,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -89498,6 +91710,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -89535,6 +91748,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -89572,6 +91786,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -89609,6 +91824,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -89646,6 +91862,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -89683,6 +91900,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -89720,6 +91938,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -89757,6 +91976,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -89794,6 +92014,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -89831,6 +92052,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -89868,6 +92090,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -90004,153 +92227,153 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { @@ -90164,6 +92387,7 @@ "SWITCH" ], "pin": [ + -1, 0, 1, 2, @@ -90195,6 +92419,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -90226,6 +92451,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -90257,6 +92483,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -90288,6 +92515,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -90319,6 +92547,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -90350,6 +92579,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -90381,6 +92611,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -90412,6 +92643,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -90449,6 +92681,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -90486,6 +92719,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -90523,6 +92757,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -90560,6 +92795,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -90597,6 +92833,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -90634,6 +92871,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -90671,6 +92909,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -90708,6 +92947,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -90745,6 +92985,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -90782,6 +93023,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -90819,6 +93061,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -90856,6 +93099,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -90893,6 +93137,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -90930,6 +93175,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -90967,6 +93213,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -91004,6 +93251,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -91041,6 +93289,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -91078,6 +93327,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -91115,6 +93365,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -91152,6 +93403,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -91189,6 +93441,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -91301,153 +93554,153 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { @@ -91457,6 +93710,7 @@ "SWITCH" ], "pin": [ + -1, 0, 1, 2, @@ -91494,6 +93748,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -91531,6 +93786,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -91562,6 +93818,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -91593,6 +93850,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -91630,6 +93888,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -91667,6 +93926,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -91704,6 +93964,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -91741,6 +94002,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -91778,6 +94040,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -91815,6 +94078,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -91852,6 +94116,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -91889,6 +94154,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -91926,6 +94192,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -91963,6 +94230,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -92000,6 +94268,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -92037,6 +94306,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -92074,6 +94344,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -92111,6 +94382,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -92148,6 +94420,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -92185,6 +94458,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -92222,6 +94496,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -92259,6 +94534,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -92296,6 +94572,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -92333,6 +94610,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -92370,6 +94648,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -92407,6 +94686,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -92444,6 +94724,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -92481,6 +94762,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -92518,6 +94800,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -92666,153 +94949,153 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { @@ -92823,6 +95106,7 @@ "PWM" ], "pin": [ + -1, 0, 1, 2, @@ -92854,6 +95138,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -92885,6 +95170,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -92916,6 +95202,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -92947,6 +95234,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -92978,6 +95266,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -93009,6 +95298,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -93040,6 +95330,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -93071,6 +95362,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -93108,6 +95400,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -93145,6 +95438,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -93182,6 +95476,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -93219,6 +95514,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -93256,6 +95552,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -93293,6 +95590,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -93330,6 +95628,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -93367,6 +95666,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -93404,6 +95704,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -93441,6 +95742,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -93478,6 +95780,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -93515,6 +95818,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -93552,6 +95856,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -93589,6 +95894,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -93626,6 +95932,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -93663,6 +95970,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -93700,6 +96008,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -93737,6 +96046,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -93774,6 +96084,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -93811,6 +96122,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -93848,6 +96160,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -93948,157 +96261,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -94136,6 +96450,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -94173,6 +96488,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -94204,6 +96520,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -94235,6 +96552,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -94272,6 +96590,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -94309,6 +96628,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -94346,6 +96666,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -94383,6 +96704,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -94420,6 +96742,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -94457,6 +96780,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -94494,6 +96818,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -94531,6 +96856,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -94568,6 +96894,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -94605,6 +96932,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -94642,6 +96970,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -94679,6 +97008,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -94716,6 +97046,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -94753,6 +97084,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -94790,6 +97122,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -94827,6 +97160,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -94864,6 +97198,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -94901,6 +97236,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -94938,6 +97274,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -94975,6 +97312,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -95012,6 +97350,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -95049,6 +97388,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -95086,6 +97426,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -95123,6 +97464,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -95160,6 +97502,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -95260,157 +97603,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -95442,6 +97786,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -95473,6 +97818,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -95504,6 +97850,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -95535,6 +97882,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -95566,6 +97914,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -95597,6 +97946,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -95628,6 +97978,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -95659,6 +98010,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -95696,6 +98048,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -95733,6 +98086,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -95770,6 +98124,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -95807,6 +98162,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -95844,6 +98200,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -95881,6 +98238,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -95918,6 +98276,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -95955,6 +98314,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -95992,6 +98352,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -96029,6 +98390,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -96066,6 +98428,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -96103,6 +98466,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -96140,6 +98504,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -96177,6 +98542,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -96214,6 +98580,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -96251,6 +98618,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -96288,6 +98656,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -96325,6 +98694,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -96362,6 +98732,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -96399,6 +98770,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -96436,6 +98808,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -96536,157 +98909,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -96718,6 +99092,7 @@ 33 ], "!pin+": [ + -1, 0, 1, 2, @@ -96749,6 +99124,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -96780,6 +99156,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -96811,6 +99188,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -96842,6 +99220,7 @@ 33 ], "!w+": [ + -1, 0, 1, 2, @@ -96873,6 +99252,7 @@ 33 ], "white": [ + -1, 0, 1, 2, @@ -96904,6 +99284,7 @@ 33 ], "!white+": [ + -1, 0, 1, 2, @@ -96935,6 +99316,7 @@ 33 ], "tx": [ + -1, 0, 1, 2, @@ -96972,6 +99354,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -97009,6 +99392,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -97046,6 +99430,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -97083,6 +99468,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -97120,6 +99506,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -97157,6 +99544,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -97194,6 +99582,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -97231,6 +99620,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -97268,6 +99658,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -97305,6 +99696,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -97342,6 +99734,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -97379,6 +99772,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -97416,6 +99810,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -97453,6 +99848,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -97490,6 +99886,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -97527,6 +99924,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -97564,6 +99962,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -97601,6 +100000,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -97638,6 +100038,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -97675,6 +100076,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -97712,6 +100114,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -97836,157 +100239,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -98024,6 +100428,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -98061,6 +100466,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -98092,6 +100498,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -98123,6 +100530,7 @@ 33 ], "w": [ + -1, 0, 1, 2, @@ -98160,6 +100568,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -98197,6 +100606,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -98234,6 +100644,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -98271,6 +100682,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -98308,6 +100720,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -98345,6 +100758,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -98382,6 +100796,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -98419,6 +100834,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -98456,6 +100872,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -98493,6 +100910,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -98530,6 +100948,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -98567,6 +100986,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -98604,6 +101024,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -98641,6 +101062,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -98678,6 +101100,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -98715,6 +101138,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -98752,6 +101176,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -98789,6 +101214,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -98826,6 +101252,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -98863,6 +101290,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -98900,6 +101328,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -98937,6 +101366,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -98974,6 +101404,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -99011,6 +101442,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -99048,6 +101480,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -99172,157 +101605,158 @@ }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "tx": [ + -1, 0, 1, 2, @@ -99354,6 +101788,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -99385,6 +101820,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -99422,6 +101858,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -99459,6 +101896,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -99490,6 +101928,7 @@ 33 ], "!rts+": [ + -1, 0, 1, 2, @@ -99521,6 +101960,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -99552,6 +101992,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -99583,6 +102024,7 @@ 33 ], "pin": [ + -1, 0, 1, 2, @@ -99620,6 +102062,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -99657,6 +102100,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -99694,6 +102138,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -99731,6 +102176,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -99768,6 +102214,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -99805,6 +102252,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -99836,6 +102284,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -99867,6 +102316,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -99898,6 +102348,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -99929,6 +102380,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -99960,6 +102412,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -99991,6 +102444,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -100028,6 +102482,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -100065,6 +102520,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -100102,6 +102558,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -100139,6 +102596,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -100176,6 +102634,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -100213,6 +102672,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -100244,6 +102704,7 @@ 33 ], "!b+": [ + -1, 0, 1, 2, @@ -100275,6 +102736,7 @@ 33 ], "blue": [ + -1, 0, 1, 2, @@ -100306,6 +102768,7 @@ 33 ], "!blue+": [ + -1, 0, 1, 2, @@ -100406,157 +102869,158 @@ }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "sda": [ + -1, 0, 1, 2, @@ -100588,6 +103052,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -100619,6 +103084,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -100650,6 +103116,7 @@ 33 ], "!scl+": [ + -1, 0, 1, 2, @@ -100681,6 +103148,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -100712,6 +103180,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -100743,6 +103212,7 @@ 33 ], "pin": [ + -1, 0, 1, 2, @@ -100780,6 +103250,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -100817,6 +103288,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -100854,6 +103326,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -100891,6 +103364,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -100928,6 +103402,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -100965,6 +103440,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -100996,6 +103472,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -101027,6 +103504,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -101058,6 +103536,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -101089,6 +103568,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -101120,6 +103600,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -101151,6 +103632,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -101182,6 +103664,7 @@ 33 ], "!rx+": [ + -1, 0, 1, 2, @@ -101213,6 +103696,7 @@ 33 ], "g": [ + -1, 0, 1, 2, @@ -101244,6 +103728,7 @@ 33 ], "!g+": [ + -1, 0, 1, 2, @@ -101275,6 +103760,7 @@ 33 ], "green": [ + -1, 0, 1, 2, @@ -101306,6 +103792,7 @@ 33 ], "!green+": [ + -1, 0, 1, 2, @@ -101337,6 +103824,7 @@ 33 ], "b": [ + -1, 0, 1, 2, @@ -101374,6 +103862,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -101411,6 +103900,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -101448,6 +103938,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -101485,6 +103976,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -101522,6 +104014,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -101652,157 +104145,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -101840,6 +104334,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -101877,6 +104372,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -101914,6 +104410,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -101951,6 +104448,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -101988,6 +104486,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -102025,6 +104524,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -102062,6 +104562,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -102099,6 +104600,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -102136,6 +104638,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -102173,6 +104676,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -102210,6 +104714,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -102247,6 +104752,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -102284,6 +104790,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -102321,6 +104828,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -102358,6 +104866,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -102395,6 +104904,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -102432,6 +104942,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -102469,6 +104980,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -102506,6 +105018,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -102543,6 +105056,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -102580,6 +105094,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -102617,6 +105132,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -102654,6 +105170,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -102691,6 +105208,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -102728,6 +105246,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -102765,6 +105284,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -102802,6 +105322,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -102839,6 +105360,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -102876,6 +105398,7 @@ 39 ], "!en+": [ + -1, 0, 1, 2, @@ -103006,157 +105529,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -103194,6 +105718,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -103231,6 +105756,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -103268,6 +105794,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -103305,6 +105832,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -103342,6 +105870,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -103379,6 +105908,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -103416,6 +105946,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -103453,6 +105984,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -103490,6 +106022,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -103527,6 +106060,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -103564,6 +106098,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -103601,6 +106136,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -103638,6 +106174,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -103675,6 +106212,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -103712,6 +106250,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -103749,6 +106288,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -103786,6 +106326,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -103823,6 +106364,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -103860,6 +106402,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -103897,6 +106440,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -103934,6 +106478,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -103971,6 +106516,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -104008,6 +106554,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -104045,6 +106592,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -104082,6 +106630,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -104119,6 +106668,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -104156,6 +106706,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -104193,6 +106744,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -104230,6 +106782,7 @@ 39 ], "!en+": [ + -1, 0, 1, 2, @@ -104348,157 +106901,158 @@ }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "tx": [ + -1, 0, 1, 2, @@ -104530,6 +107084,7 @@ 33 ], "!tx+": [ + -1, 0, 1, 2, @@ -104561,6 +107116,7 @@ 33 ], "rx": [ + -1, 0, 1, 2, @@ -104598,6 +107154,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -104635,6 +107192,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -104666,6 +107224,7 @@ 33 ], "!rts+": [ + -1, 0, 1, 2, @@ -104697,6 +107256,7 @@ 33 ], "en": [ + -1, 0, 1, 2, @@ -104728,6 +107288,7 @@ 33 ], "!en+": [ + -1, 0, 1, 2, @@ -104759,6 +107320,7 @@ 33 ], "pin": [ + -1, 0, 1, 2, @@ -104796,6 +107358,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -104833,6 +107396,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -104870,6 +107434,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -104907,6 +107472,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -104944,6 +107510,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -104981,6 +107548,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -105012,6 +107580,7 @@ 33 ], "!sda+": [ + -1, 0, 1, 2, @@ -105043,6 +107612,7 @@ 33 ], "r": [ + -1, 0, 1, 2, @@ -105074,6 +107644,7 @@ 33 ], "!r+": [ + -1, 0, 1, 2, @@ -105105,6 +107676,7 @@ 33 ], "red": [ + -1, 0, 1, 2, @@ -105136,6 +107708,7 @@ 33 ], "!red+": [ + -1, 0, 1, 2, @@ -105167,6 +107740,7 @@ 33 ], "scl": [ + -1, 0, 1, 2, @@ -105204,6 +107778,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -105241,6 +107816,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -105278,6 +107854,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -105315,6 +107892,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -105352,6 +107930,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -105389,6 +107968,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -105420,6 +108000,7 @@ 33 ], "!b+": [ + -1, 0, 1, 2, @@ -105451,6 +108032,7 @@ 33 ], "blue": [ + -1, 0, 1, 2, @@ -105482,6 +108064,7 @@ 33 ], "!blue+": [ + -1, 0, 1, 2, @@ -105606,157 +108189,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -105794,6 +108378,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -105831,6 +108416,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -105868,6 +108454,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -105905,6 +108492,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -105942,6 +108530,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -105979,6 +108568,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -106016,6 +108606,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -106053,6 +108644,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -106090,6 +108682,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -106127,6 +108720,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -106164,6 +108758,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -106201,6 +108796,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -106238,6 +108834,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -106275,6 +108872,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -106312,6 +108910,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -106349,6 +108948,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -106386,6 +108986,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -106423,6 +109024,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -106460,6 +109062,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -106497,6 +109100,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -106534,6 +109138,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -106571,6 +109176,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -106608,6 +109214,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -106645,6 +109252,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -106682,6 +109290,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -106719,6 +109328,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -106756,6 +109366,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -106793,6 +109404,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -106830,6 +109442,7 @@ 39 ], "!en+": [ + -1, 0, 1, 2, @@ -106942,157 +109555,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -107130,6 +109744,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -107167,6 +109782,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -107204,6 +109820,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -107241,6 +109858,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -107278,6 +109896,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -107315,6 +109934,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -107352,6 +109972,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -107389,6 +110010,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -107426,6 +110048,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -107463,6 +110086,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -107500,6 +110124,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -107537,6 +110162,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -107574,6 +110200,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -107611,6 +110238,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -107648,6 +110276,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -107685,6 +110314,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -107722,6 +110352,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -107759,6 +110390,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -107796,6 +110428,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -107833,6 +110466,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -107870,6 +110504,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -107907,6 +110542,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -107944,6 +110580,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -107981,6 +110618,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -108018,6 +110656,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -108055,6 +110694,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -108092,6 +110732,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -108129,6 +110770,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -108166,6 +110808,7 @@ 39 ], "!en+": [ + -1, 0, 1, 2, @@ -108278,157 +110921,158 @@ }, { "keyword": "pin", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!pin+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated pin example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "w", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!w+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated w example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "white", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!white+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated white example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "tx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!tx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated tx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "sda", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!sda+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated sda example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "r", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!r+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated r example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "red", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!red+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated red example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rx", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rx+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rx example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "scl", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!scl+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated scl example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "g", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!g+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated g example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "green", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!green+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated green example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "b", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!b+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated b example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "blue", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!blue+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated blue example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "rts", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!rts+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated rts example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected." }, { "keyword": "en", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, { "keyword": "!en+", - "constraints": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", - "description": "Decorated en example: inverted with internal pull-up." + "constraints": "-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected." } ], "enums": { "pin": [ + -1, 0, 1, 2, @@ -108466,6 +111110,7 @@ 39 ], "!pin+": [ + -1, 0, 1, 2, @@ -108503,6 +111148,7 @@ 39 ], "w": [ + -1, 0, 1, 2, @@ -108540,6 +111186,7 @@ 39 ], "!w+": [ + -1, 0, 1, 2, @@ -108577,6 +111224,7 @@ 39 ], "white": [ + -1, 0, 1, 2, @@ -108614,6 +111262,7 @@ 39 ], "!white+": [ + -1, 0, 1, 2, @@ -108651,6 +111300,7 @@ 39 ], "tx": [ + -1, 0, 1, 2, @@ -108688,6 +111338,7 @@ 39 ], "!tx+": [ + -1, 0, 1, 2, @@ -108725,6 +111376,7 @@ 39 ], "sda": [ + -1, 0, 1, 2, @@ -108762,6 +111414,7 @@ 39 ], "!sda+": [ + -1, 0, 1, 2, @@ -108799,6 +111452,7 @@ 39 ], "r": [ + -1, 0, 1, 2, @@ -108836,6 +111490,7 @@ 39 ], "!r+": [ + -1, 0, 1, 2, @@ -108873,6 +111528,7 @@ 39 ], "red": [ + -1, 0, 1, 2, @@ -108910,6 +111566,7 @@ 39 ], "!red+": [ + -1, 0, 1, 2, @@ -108947,6 +111604,7 @@ 39 ], "rx": [ + -1, 0, 1, 2, @@ -108984,6 +111642,7 @@ 39 ], "!rx+": [ + -1, 0, 1, 2, @@ -109021,6 +111680,7 @@ 39 ], "scl": [ + -1, 0, 1, 2, @@ -109058,6 +111718,7 @@ 39 ], "!scl+": [ + -1, 0, 1, 2, @@ -109095,6 +111756,7 @@ 39 ], "g": [ + -1, 0, 1, 2, @@ -109132,6 +111794,7 @@ 39 ], "!g+": [ + -1, 0, 1, 2, @@ -109169,6 +111832,7 @@ 39 ], "green": [ + -1, 0, 1, 2, @@ -109206,6 +111870,7 @@ 39 ], "!green+": [ + -1, 0, 1, 2, @@ -109243,6 +111908,7 @@ 39 ], "b": [ + -1, 0, 1, 2, @@ -109280,6 +111946,7 @@ 39 ], "!b+": [ + -1, 0, 1, 2, @@ -109317,6 +111984,7 @@ 39 ], "blue": [ + -1, 0, 1, 2, @@ -109354,6 +112022,7 @@ 39 ], "!blue+": [ + -1, 0, 1, 2, @@ -109391,6 +112060,7 @@ 39 ], "rts": [ + -1, 0, 1, 2, @@ -109428,6 +112098,7 @@ 39 ], "!rts+": [ + -1, 0, 1, 2, @@ -109465,6 +112136,7 @@ 39 ], "en": [ + -1, 0, 1, 2, @@ -109502,6 +112174,7 @@ 39 ], "!en+": [ + -1, 0, 1, 2, @@ -109608,6 +112281,7 @@ "-": "internal pull-down" }, "positionIndependent": true, + "notConnectedValue": -1, "examples": [ "pin", "!pin+", @@ -109643,8 +112317,9 @@ "DALI maxcolortemp must be greater than or equal to mincolortemp.", "A segment section must refer to an existing I/O label.", "Segment size is shorthand for from=1,to=size.", - "DAC order W requires exactly one GPIO 25/26; RB or an omitted order requires both unique DAC GPIOs 25 and 26.", - "ADC inputs are limited to ADC1 GPIOs 32..39; RTC I2C pins must be output-capable.", + "Pin value -1 means not connected for every GPIO pin schema.", + "DAC order W requires exactly one GPIO 25/26 or -1; RB or an omitted order requires two values from -1, 25 and 26, and connected GPIOs must be unique.", + "ADC inputs are limited to ADC1 GPIOs 32..39 or -1; RTC I2C pins must be output-capable or -1.", "controller.btn wins over deprecated controller.button when both are present.", "plugins PowerManage btn wins over deprecated button and pin aliases." ] diff --git a/creator-kit/assets/docs/controller-config/0.12.11/controller-config.schema.json b/creator-kit/assets/docs/controller-config/0.12.11/controller-config.schema.json index 82b5b50..be4b864 100644 --- a/creator-kit/assets/docs/controller-config/0.12.11/controller-config.schema.json +++ b/creator-kit/assets/docs/controller-config/0.12.11/controller-config.schema.json @@ -79,6 +79,7 @@ "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -115,11 +116,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -156,12 +158,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -198,12 +201,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -240,12 +244,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "led": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -276,11 +281,12 @@ 32, 33 ], - "description": "GPIO for led. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for led; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!led+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -311,7 +317,7 @@ 32, 33 ], - "description": "Decorated led example: inverted with internal pull-up.", + "description": "Decorated led example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -320,6 +326,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -360,6 +367,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -400,6 +408,7 @@ "^(?!!led\\+$)(?=.*[!+\\-])[!+\\-]*l[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -460,6 +469,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -490,11 +500,12 @@ 32, 33 ], - "description": "Output-capable RTC I2C data GPIO; required for external RTCs." + "description": "Output-capable RTC I2C data GPIO; required for external RTCs. -1 means not connected." }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -525,7 +536,7 @@ 32, 33 ], - "description": "Output-capable RTC I2C clock GPIO; required for external RTCs." + "description": "Output-capable RTC I2C clock GPIO; required for external RTCs. -1 means not connected." } }, "additionalProperties": false @@ -571,6 +582,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -607,11 +619,12 @@ 38, 39 ], - "description": "Legacy data GPIO." + "description": "Legacy data GPIO; -1 means not connected." }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -648,7 +661,7 @@ 38, 39 ], - "description": "Legacy transmit/data GPIO." + "description": "Legacy transmit/data GPIO; -1 means not connected." }, "txinverted": { "type": "boolean" @@ -656,6 +669,7 @@ "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -692,7 +706,7 @@ 38, 39 ], - "description": "Legacy receive GPIO." + "description": "Legacy receive GPIO; -1 means not connected." }, "rxinverted": { "type": "boolean" @@ -819,6 +833,7 @@ "items": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -852,7 +867,7 @@ }, "minItems": 1, "maxItems": 4, - "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four." + "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four; -1 means not connected." }, "t1": { "type": "integer", @@ -901,6 +916,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -931,11 +947,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -966,12 +983,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1002,11 +1020,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1037,12 +1056,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1073,11 +1093,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1108,12 +1129,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1144,11 +1166,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1179,12 +1202,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1215,11 +1239,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1250,12 +1275,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1286,11 +1312,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1321,12 +1348,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1357,11 +1385,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1392,12 +1421,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1428,11 +1458,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1463,12 +1494,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1499,11 +1531,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1534,12 +1567,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1570,11 +1604,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1605,12 +1640,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1641,11 +1677,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1676,12 +1713,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1712,11 +1750,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1747,12 +1786,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1783,11 +1823,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1818,12 +1859,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1854,11 +1896,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1889,12 +1932,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1925,11 +1969,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -1960,7 +2005,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -1984,6 +2029,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2018,6 +2064,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2052,6 +2099,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2086,6 +2134,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2120,6 +2169,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2154,6 +2204,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2188,6 +2239,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2222,6 +2274,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2256,6 +2309,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2290,6 +2344,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2324,6 +2379,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2358,6 +2414,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2392,6 +2449,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2426,6 +2484,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2460,6 +2519,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2523,6 +2583,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2553,11 +2614,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2588,12 +2650,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2624,11 +2687,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2659,12 +2723,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2695,11 +2760,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2730,12 +2796,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2772,11 +2839,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2813,12 +2881,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2855,11 +2924,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2896,12 +2966,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2938,11 +3009,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -2979,12 +3051,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3015,11 +3088,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3050,12 +3124,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3086,11 +3161,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3121,12 +3197,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3157,11 +3234,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3192,12 +3270,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3228,11 +3307,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3263,12 +3343,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3299,11 +3380,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3334,12 +3416,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3370,11 +3453,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3405,12 +3489,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3447,11 +3532,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3488,12 +3574,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3530,11 +3617,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3571,12 +3659,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3613,11 +3702,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3654,7 +3744,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -3678,6 +3768,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3712,6 +3803,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3746,6 +3838,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3780,6 +3873,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3820,6 +3914,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3860,6 +3955,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3900,6 +3996,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3934,6 +4031,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -3968,6 +4066,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4002,6 +4101,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4036,6 +4136,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4070,6 +4171,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4104,6 +4206,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4144,6 +4247,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4184,6 +4288,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4298,6 +4403,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4328,11 +4434,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4363,12 +4470,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4399,11 +4507,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4434,12 +4543,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4470,11 +4580,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4505,12 +4616,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4541,11 +4653,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4576,12 +4689,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4612,11 +4726,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4647,12 +4762,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4683,11 +4799,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4718,12 +4835,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4754,11 +4872,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4789,12 +4908,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4825,11 +4945,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4860,12 +4981,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4896,11 +5018,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4931,12 +5054,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -4967,11 +5091,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5002,12 +5127,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5038,11 +5164,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5073,12 +5200,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5109,11 +5237,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5144,12 +5273,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5180,11 +5310,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5215,12 +5346,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5251,11 +5383,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5286,12 +5419,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5322,11 +5456,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5357,7 +5492,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -5381,6 +5516,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5415,6 +5551,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5449,6 +5586,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5483,6 +5621,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5517,6 +5656,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5551,6 +5691,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5585,6 +5726,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5619,6 +5761,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5653,6 +5796,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5687,6 +5831,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5721,6 +5866,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5755,6 +5901,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5789,6 +5936,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5823,6 +5971,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5857,6 +6006,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5921,6 +6071,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5951,11 +6102,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -5986,12 +6138,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6022,11 +6175,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6057,12 +6211,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6093,11 +6248,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6128,12 +6284,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6164,11 +6321,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6199,12 +6357,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6241,11 +6400,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6282,12 +6442,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6324,11 +6485,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6365,12 +6527,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6407,11 +6570,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6448,12 +6612,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6490,11 +6655,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6531,12 +6697,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6573,11 +6740,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6614,12 +6782,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6656,11 +6825,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6697,12 +6867,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6739,11 +6910,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6780,12 +6952,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6822,11 +6995,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6863,12 +7037,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6905,11 +7080,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6946,12 +7122,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -6988,11 +7165,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7029,12 +7207,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7071,11 +7250,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7112,7 +7292,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -7136,6 +7316,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7170,6 +7351,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7204,6 +7386,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7238,6 +7421,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7272,6 +7456,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7312,6 +7497,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7352,6 +7538,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7392,6 +7579,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7432,6 +7620,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7472,6 +7661,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7512,6 +7702,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7552,6 +7743,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7592,6 +7784,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7632,6 +7825,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7672,6 +7866,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7803,6 +7998,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7833,11 +8029,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7868,12 +8065,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7910,11 +8108,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7951,12 +8150,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -7987,11 +8187,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8022,12 +8223,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8064,11 +8266,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8105,12 +8308,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8147,11 +8351,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8188,12 +8393,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8230,11 +8436,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8271,12 +8478,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8307,11 +8515,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8342,12 +8551,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8378,11 +8588,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8413,12 +8624,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8449,11 +8661,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8484,12 +8697,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8526,11 +8740,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8567,12 +8782,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8609,11 +8825,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8650,12 +8867,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8692,11 +8910,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8733,12 +8952,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8775,11 +8995,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8816,12 +9037,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8858,11 +9080,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8899,12 +9122,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8941,11 +9165,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -8982,7 +9207,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -9006,6 +9231,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9040,6 +9266,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9080,6 +9307,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9114,6 +9342,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9154,6 +9383,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9194,6 +9424,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9234,6 +9465,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9268,6 +9500,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9302,6 +9535,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9336,6 +9570,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9376,6 +9611,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9416,6 +9652,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9456,6 +9693,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9496,6 +9734,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9536,6 +9775,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9609,24 +9849,37 @@ "pin": { "type": "integer", "enum": [ + -1, 25, 26 ], - "description": "Single DAC-capable GPIO (25 or 26) for W mode." + "description": "Single DAC-capable GPIO (25 or 26) for W mode; -1 means not connected." }, "pins": { "type": "array", "items": { "type": "integer", "enum": [ + -1, 25, 26 ] }, "minItems": 1, "maxItems": 2, - "uniqueItems": true, - "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB." + "not": { + "enum": [ + [ + 25, + 25 + ], + [ + 26, + 26 + ] + ] + }, + "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB; -1 means not connected and may repeat." }, "tag": { "type": "string", @@ -9644,7 +9897,7 @@ "type" ], "title": "DAC", - "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver.", + "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver.", "allOf": [ { "oneOf": [ @@ -9723,6 +9976,7 @@ "pin": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9732,11 +9986,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9746,12 +10001,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9761,11 +10017,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9775,12 +10032,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9790,11 +10048,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9804,12 +10063,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9840,11 +10100,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -9875,7 +10136,7 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -9894,11 +10155,12 @@ "type" ], "title": "ADC", - "description": "ESP32 ADC1 analog input. The input pin must be GPIO 32..39.", + "description": "ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39.", "patternProperties": { "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9912,6 +10174,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9925,6 +10188,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -9938,6 +10202,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10007,6 +10272,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10037,11 +10303,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10072,12 +10339,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10108,11 +10376,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10143,12 +10412,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10179,11 +10449,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10214,12 +10485,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10250,11 +10522,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10285,12 +10558,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10327,11 +10601,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10368,12 +10643,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10410,11 +10686,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10451,12 +10728,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10493,11 +10771,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10534,12 +10813,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10576,11 +10856,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10617,12 +10898,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10659,11 +10941,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10700,12 +10983,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10742,11 +11026,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10783,12 +11068,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10825,11 +11111,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10866,12 +11153,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10908,11 +11196,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10949,12 +11238,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -10991,11 +11281,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11032,12 +11323,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11074,11 +11366,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11115,12 +11408,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11157,11 +11451,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11198,7 +11493,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -11222,6 +11517,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11256,6 +11552,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11290,6 +11587,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11324,6 +11622,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11358,6 +11657,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11398,6 +11698,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11438,6 +11739,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11478,6 +11780,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11518,6 +11821,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11558,6 +11862,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11598,6 +11903,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11638,6 +11944,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11678,6 +11985,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11718,6 +12026,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11758,6 +12067,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11852,6 +12162,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11882,11 +12193,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11917,12 +12229,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11953,11 +12266,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -11988,12 +12302,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12024,11 +12339,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12059,12 +12375,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12095,11 +12412,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12130,12 +12448,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12172,11 +12491,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12213,12 +12533,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12255,11 +12576,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12296,12 +12618,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12338,11 +12661,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12379,12 +12703,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12421,11 +12746,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12462,12 +12788,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12504,11 +12831,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12545,12 +12873,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12587,11 +12916,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12628,12 +12958,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12670,11 +13001,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12711,12 +13043,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12753,11 +13086,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12794,12 +13128,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12836,11 +13171,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12877,12 +13213,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12919,11 +13256,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -12960,12 +13298,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13002,11 +13341,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13043,7 +13383,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -13067,6 +13407,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13101,6 +13442,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13135,6 +13477,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13169,6 +13512,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13203,6 +13547,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13243,6 +13588,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13283,6 +13629,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13323,6 +13670,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13363,6 +13711,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13403,6 +13752,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13443,6 +13793,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13483,6 +13834,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13523,6 +13875,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13563,6 +13916,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13603,6 +13957,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13670,6 +14025,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13706,11 +14062,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13747,12 +14104,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13783,11 +14141,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13818,12 +14177,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13860,11 +14220,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13901,12 +14262,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13943,11 +14305,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -13984,12 +14347,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14026,11 +14390,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14067,12 +14432,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14109,11 +14475,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14150,12 +14517,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14192,11 +14560,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14233,12 +14602,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14275,11 +14645,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14316,12 +14687,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14358,11 +14730,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14399,12 +14772,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14441,11 +14815,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14482,12 +14857,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14524,11 +14900,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14565,12 +14942,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14607,11 +14985,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14648,12 +15027,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14690,11 +15070,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14731,12 +15112,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14773,11 +15155,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14814,12 +15197,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14856,11 +15240,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14897,7 +15282,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -14921,6 +15306,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14961,6 +15347,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -14995,6 +15382,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15035,6 +15423,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15075,6 +15464,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15115,6 +15505,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15155,6 +15546,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15195,6 +15587,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15235,6 +15628,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15275,6 +15669,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15315,6 +15710,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15355,6 +15751,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15395,6 +15792,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15435,6 +15833,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15475,6 +15874,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15580,6 +15980,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15610,11 +16011,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15645,12 +16047,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15681,11 +16084,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15716,12 +16120,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15752,11 +16157,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15787,12 +16193,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15823,11 +16230,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15858,12 +16266,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15900,11 +16309,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15941,12 +16351,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -15983,11 +16394,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16024,12 +16436,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16066,11 +16479,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16107,12 +16521,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16149,11 +16564,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16190,12 +16606,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16232,11 +16649,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16273,12 +16691,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16315,11 +16734,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16356,12 +16776,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16398,11 +16819,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16439,12 +16861,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16481,11 +16904,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16522,12 +16946,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16564,11 +16989,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16605,12 +17031,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16647,11 +17074,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16688,12 +17116,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16730,11 +17159,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16771,7 +17201,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -16795,6 +17225,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16829,6 +17260,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16863,6 +17295,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16897,6 +17330,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16931,6 +17365,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -16971,6 +17406,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17011,6 +17447,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17051,6 +17488,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17091,6 +17529,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17131,6 +17570,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17171,6 +17611,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17211,6 +17652,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17251,6 +17693,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17291,6 +17734,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17331,6 +17775,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17384,6 +17829,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17420,11 +17866,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17461,12 +17908,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17497,11 +17945,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17532,12 +17981,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17574,11 +18024,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17615,12 +18066,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17657,11 +18109,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17698,12 +18151,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17740,11 +18194,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17781,12 +18236,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17823,11 +18279,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17864,12 +18321,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17906,11 +18364,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17947,12 +18406,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -17989,11 +18449,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18030,12 +18491,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18072,11 +18534,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18113,12 +18576,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18155,11 +18619,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18196,12 +18661,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18238,11 +18704,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18279,12 +18746,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18321,11 +18789,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18362,12 +18831,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18404,11 +18874,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18445,12 +18916,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18487,11 +18959,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18528,12 +19001,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18570,11 +19044,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18611,7 +19086,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -18635,6 +19110,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18675,6 +19151,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18709,6 +19186,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18749,6 +19227,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18789,6 +19268,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18829,6 +19309,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18869,6 +19350,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18909,6 +19391,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18949,6 +19432,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -18989,6 +19473,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19029,6 +19514,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19069,6 +19555,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19109,6 +19596,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19149,6 +19637,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19189,6 +19678,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19242,6 +19732,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19272,11 +19763,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19307,12 +19799,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19343,11 +19836,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19378,12 +19872,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19414,11 +19909,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19449,12 +19945,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19485,11 +19982,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19520,12 +20018,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19562,11 +20061,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19603,12 +20103,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19645,11 +20146,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19686,12 +20188,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19728,11 +20231,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19769,12 +20273,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19811,11 +20316,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19852,12 +20358,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19894,11 +20401,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19935,12 +20443,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -19977,11 +20486,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20018,12 +20528,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20060,11 +20571,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20101,12 +20613,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20143,11 +20656,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20184,12 +20698,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20226,11 +20741,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20267,12 +20783,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20309,11 +20826,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20350,12 +20868,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20392,11 +20911,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20433,7 +20953,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -20457,6 +20977,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20491,6 +21012,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20525,6 +21047,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20559,6 +21082,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20593,6 +21117,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20633,6 +21158,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20673,6 +21199,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20713,6 +21240,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20753,6 +21281,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20793,6 +21322,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20833,6 +21363,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20873,6 +21404,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20913,6 +21445,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20953,6 +21486,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -20993,6 +21527,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21046,6 +21581,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21076,11 +21612,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21111,12 +21648,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21147,11 +21685,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21182,12 +21721,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21218,11 +21758,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21253,12 +21794,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21289,11 +21831,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21324,12 +21867,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21366,11 +21910,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21407,12 +21952,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21449,11 +21995,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21490,12 +22037,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21532,11 +22080,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21573,12 +22122,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21615,11 +22165,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21656,12 +22207,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21698,11 +22250,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21739,12 +22292,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21781,11 +22335,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21822,12 +22377,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21864,11 +22420,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21905,12 +22462,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21947,11 +22505,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -21988,12 +22547,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22030,11 +22590,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22071,12 +22632,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22113,11 +22675,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22154,12 +22717,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22196,11 +22760,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22237,7 +22802,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -22261,6 +22826,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22295,6 +22861,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22329,6 +22896,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22363,6 +22931,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22397,6 +22966,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22437,6 +23007,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22477,6 +23048,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22517,6 +23089,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22557,6 +23130,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22597,6 +23171,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22637,6 +23212,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22677,6 +23253,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22717,6 +23294,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22757,6 +23335,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22797,6 +23376,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22871,6 +23451,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22907,11 +23488,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22948,12 +23530,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -22984,11 +23567,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23019,12 +23603,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23061,11 +23646,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23102,12 +23688,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23144,11 +23731,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23185,12 +23773,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23227,11 +23816,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23268,12 +23858,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23310,11 +23901,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23351,12 +23943,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23393,11 +23986,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23434,12 +24028,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23476,11 +24071,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23517,12 +24113,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23559,11 +24156,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23600,12 +24198,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23642,11 +24241,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23683,12 +24283,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23725,11 +24326,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23766,12 +24368,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23808,11 +24411,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23849,12 +24453,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23891,11 +24496,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23932,12 +24538,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -23974,11 +24581,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24015,12 +24623,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24057,11 +24666,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24098,7 +24708,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -24122,6 +24732,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24162,6 +24773,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24196,6 +24808,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24236,6 +24849,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24276,6 +24890,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24316,6 +24931,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24356,6 +24972,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24396,6 +25013,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24436,6 +25054,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24476,6 +25095,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24516,6 +25136,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24556,6 +25177,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24596,6 +25218,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24636,6 +25259,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24676,6 +25300,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24753,6 +25378,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24783,11 +25409,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24818,12 +25445,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24860,11 +25488,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24901,12 +25530,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24937,11 +25567,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -24972,12 +25603,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25008,11 +25640,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25043,12 +25676,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25085,11 +25719,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25126,12 +25761,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25168,11 +25804,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25209,12 +25846,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25251,11 +25889,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25292,12 +25931,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25328,11 +25968,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25363,12 +26004,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25399,11 +26041,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25434,12 +26077,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25470,11 +26114,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25505,12 +26150,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25547,11 +26193,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25588,12 +26235,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25630,11 +26278,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25671,12 +26320,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25713,11 +26363,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25754,12 +26405,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25790,11 +26442,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25825,12 +26478,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25861,11 +26515,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25896,7 +26551,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -25920,6 +26575,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25954,6 +26610,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -25994,6 +26651,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26028,6 +26686,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26062,6 +26721,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26102,6 +26762,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26142,6 +26803,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26182,6 +26844,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26216,6 +26879,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26250,6 +26914,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26284,6 +26949,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26324,6 +26990,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26364,6 +27031,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26404,6 +27072,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26438,6 +27107,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26490,6 +27160,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26520,11 +27191,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26555,12 +27227,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26591,11 +27264,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26626,12 +27300,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26662,11 +27337,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26697,12 +27373,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26739,11 +27416,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26780,12 +27458,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26822,11 +27501,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26863,12 +27543,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26905,11 +27586,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26946,12 +27628,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -26982,11 +27665,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27017,12 +27701,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27053,11 +27738,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27088,12 +27774,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27124,11 +27811,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27159,12 +27847,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27195,11 +27884,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27230,12 +27920,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27266,11 +27957,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27301,12 +27993,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27337,11 +28030,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27372,12 +28066,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27414,11 +28109,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27455,12 +28151,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27497,11 +28194,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27538,12 +28236,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27580,11 +28279,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27621,7 +28321,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -27645,6 +28345,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27679,6 +28380,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27713,6 +28415,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27747,6 +28450,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27787,6 +28491,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27827,6 +28532,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27867,6 +28573,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27901,6 +28608,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27935,6 +28643,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -27969,6 +28678,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28003,6 +28713,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28037,6 +28748,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28071,6 +28783,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28111,6 +28824,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28151,6 +28865,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28238,6 +28953,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28274,11 +28990,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28315,12 +29032,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28357,11 +29075,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28398,12 +29117,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28440,11 +29160,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28481,12 +29202,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28523,11 +29245,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28564,12 +29287,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28606,11 +29330,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28647,12 +29372,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28689,11 +29415,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28730,12 +29457,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28772,11 +29500,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28813,12 +29542,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28855,11 +29585,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28896,12 +29627,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28938,11 +29670,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -28979,12 +29712,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29021,11 +29755,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29062,12 +29797,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29104,11 +29840,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29145,12 +29882,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29187,11 +29925,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29228,12 +29967,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29270,11 +30010,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29311,12 +30052,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29353,11 +30095,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29394,12 +30137,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29436,11 +30180,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29477,7 +30222,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -29501,6 +30246,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29541,6 +30287,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29581,6 +30328,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29621,6 +30369,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29661,6 +30410,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29701,6 +30451,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29741,6 +30492,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29781,6 +30533,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29821,6 +30574,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29861,6 +30615,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29901,6 +30656,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29941,6 +30697,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -29981,6 +30738,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30021,6 +30779,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30061,6 +30820,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30148,6 +30908,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30184,11 +30945,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30225,12 +30987,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30267,11 +31030,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30308,12 +31072,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30350,11 +31115,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30391,12 +31157,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30433,11 +31200,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30474,12 +31242,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30516,11 +31285,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30557,12 +31327,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30599,11 +31370,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30640,12 +31412,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30682,11 +31455,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30723,12 +31497,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30765,11 +31540,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30806,12 +31582,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30848,11 +31625,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30889,12 +31667,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30931,11 +31710,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -30972,12 +31752,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31014,11 +31795,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31055,12 +31837,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31097,11 +31880,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31138,12 +31922,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31180,11 +31965,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31221,12 +32007,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31263,11 +32050,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31304,12 +32092,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31346,11 +32135,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31387,7 +32177,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -31411,6 +32201,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31451,6 +32242,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31491,6 +32283,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31531,6 +32324,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31571,6 +32365,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31611,6 +32406,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31651,6 +32447,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31691,6 +32488,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31731,6 +32529,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31771,6 +32570,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31811,6 +32611,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31851,6 +32652,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31891,6 +32693,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31931,6 +32734,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -31971,6 +32775,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32046,6 +32851,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32076,11 +32882,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32111,12 +32918,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32153,11 +32961,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32194,12 +33003,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32230,11 +33040,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32265,12 +33076,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32301,11 +33113,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32336,12 +33149,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32378,11 +33192,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32419,12 +33234,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32461,11 +33277,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32502,12 +33319,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32544,11 +33362,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32585,12 +33404,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32621,11 +33441,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32656,12 +33477,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32692,11 +33514,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32727,12 +33550,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32763,11 +33587,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32798,12 +33623,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32840,11 +33666,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32881,12 +33708,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32923,11 +33751,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -32964,12 +33793,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33006,11 +33836,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33047,12 +33878,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33083,11 +33915,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33118,12 +33951,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33154,11 +33988,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33189,7 +34024,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -33213,6 +34048,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33247,6 +34083,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33287,6 +34124,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33321,6 +34159,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33355,6 +34194,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33395,6 +34235,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33435,6 +34276,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33475,6 +34317,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33509,6 +34352,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33543,6 +34387,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33577,6 +34422,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33617,6 +34463,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33657,6 +34504,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33697,6 +34545,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33731,6 +34580,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33805,6 +34655,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33841,11 +34692,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33882,12 +34734,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33924,11 +34777,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -33965,12 +34819,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34007,11 +34862,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34048,12 +34904,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34090,11 +34947,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34131,12 +34989,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34173,11 +35032,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34214,12 +35074,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34256,11 +35117,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34297,12 +35159,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34339,11 +35202,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34380,12 +35244,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34422,11 +35287,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34463,12 +35329,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34505,11 +35372,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34546,12 +35414,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34588,11 +35457,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34629,12 +35499,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34671,11 +35542,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34712,12 +35584,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34754,11 +35627,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34795,12 +35669,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34837,11 +35712,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34878,12 +35754,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34920,11 +35797,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -34961,12 +35839,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35003,11 +35882,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35044,7 +35924,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -35068,6 +35948,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35108,6 +35989,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35148,6 +36030,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35188,6 +36071,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35228,6 +36112,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35268,6 +36153,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35308,6 +36194,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35348,6 +36235,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35388,6 +36276,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35428,6 +36317,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35468,6 +36358,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35508,6 +36399,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35548,6 +36440,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35588,6 +36481,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35628,6 +36522,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35693,6 +36588,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35729,11 +36625,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35770,12 +36667,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35812,11 +36710,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35853,12 +36752,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35895,11 +36795,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35936,12 +36837,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -35978,11 +36880,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36019,12 +36922,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36061,11 +36965,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36102,12 +37007,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36144,11 +37050,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36185,12 +37092,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36227,11 +37135,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36268,12 +37177,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36310,11 +37220,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36351,12 +37262,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36393,11 +37305,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36434,12 +37347,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36476,11 +37390,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36517,12 +37432,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36559,11 +37475,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36600,12 +37517,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36642,11 +37560,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36683,12 +37602,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36725,11 +37645,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36766,12 +37687,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36808,11 +37730,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36849,12 +37772,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36891,11 +37815,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36932,7 +37857,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -36956,6 +37881,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -36996,6 +37922,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37036,6 +37963,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37076,6 +38004,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37116,6 +38045,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37156,6 +38086,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37196,6 +38127,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37236,6 +38168,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37276,6 +38209,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37316,6 +38250,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37356,6 +38291,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37396,6 +38332,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37436,6 +38373,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37476,6 +38414,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37516,6 +38455,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37581,6 +38521,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37617,11 +38558,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37658,12 +38600,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37700,11 +38643,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37741,12 +38685,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37783,11 +38728,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37824,12 +38770,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37866,11 +38813,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37907,12 +38855,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37949,11 +38898,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -37990,12 +38940,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38032,11 +38983,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38073,12 +39025,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38115,11 +39068,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38156,12 +39110,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38198,11 +39153,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38239,12 +39195,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38281,11 +39238,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38322,12 +39280,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38364,11 +39323,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38405,12 +39365,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38447,11 +39408,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38488,12 +39450,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38530,11 +39493,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38571,12 +39535,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38613,11 +39578,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38654,12 +39620,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38696,11 +39663,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38737,12 +39705,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38779,11 +39748,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38820,7 +39790,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tag": { @@ -38844,6 +39814,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38884,6 +39855,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38924,6 +39896,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -38964,6 +39937,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39004,6 +39978,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39044,6 +40019,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39084,6 +40060,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39124,6 +40101,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39164,6 +40142,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39204,6 +40183,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39244,6 +40224,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39284,6 +40265,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39324,6 +40306,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39364,6 +40347,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39404,6 +40388,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39581,6 +40566,7 @@ "alive": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39611,12 +40597,13 @@ 32, 33 ], - "description": "Deprecated alive/output GPIO; use decorated en.", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "deprecated": true }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39647,11 +40634,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39682,12 +40670,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39724,11 +40713,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39765,12 +40755,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39807,12 +40798,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39849,12 +40841,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39891,12 +40884,13 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39933,7 +40927,7 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": true } }, @@ -39945,6 +40939,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -39979,6 +40974,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40019,6 +41015,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40059,6 +41056,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40118,6 +41116,7 @@ "alive": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40148,12 +41147,13 @@ 32, 33 ], - "description": "Deprecated alive/output GPIO; use decorated en.", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "deprecated": true }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40184,11 +41184,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40219,12 +41220,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40261,11 +41263,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40302,12 +41305,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40344,12 +41348,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40386,12 +41391,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40428,12 +41434,13 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40470,7 +41477,7 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": true } }, @@ -40482,6 +41489,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40516,6 +41524,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40556,6 +41565,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40596,6 +41606,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40656,6 +41667,7 @@ "alive": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40686,12 +41698,13 @@ 32, 33 ], - "description": "Deprecated alive/output GPIO; use decorated en.", + "description": "Deprecated alive/output GPIO; use decorated en. -1 means not connected.", "deprecated": true }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40722,11 +41735,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40757,12 +41771,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "btn": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40799,11 +41814,12 @@ 38, 39 ], - "description": "GPIO for btn. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for btn; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!btn+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40840,12 +41856,13 @@ 38, 39 ], - "description": "Decorated btn example: inverted with internal pull-up.", + "description": "Decorated btn example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "button": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40882,12 +41899,13 @@ 38, 39 ], - "description": "GPIO for button. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for button; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!button+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40924,12 +41942,13 @@ 38, 39 ], - "description": "Decorated button example: inverted with internal pull-up.", + "description": "Decorated button example: inverted with internal pull-up; -1 means not connected.", "deprecated": true }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -40966,12 +41985,13 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down.", "deprecated": true }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41008,7 +42028,7 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": true } }, @@ -41020,6 +42040,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41054,6 +42075,7 @@ "^(?!!btn\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*t[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41094,6 +42116,7 @@ "^(?!!button\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*u[!+\\-]*t[!+\\-]*t[!+\\-]*o[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41134,6 +42157,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41221,6 +42245,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41261,6 +42286,7 @@ "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41322,6 +42348,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41362,6 +42389,7 @@ "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41610,6 +42638,7 @@ "items": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41643,7 +42672,7 @@ }, "minItems": 1, "maxItems": 4, - "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four." + "description": "Output-capable GPIOs mapped from the rightmost order channel, maximum four; -1 means not connected." }, "t1": { "type": "integer", @@ -41692,6 +42721,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41722,11 +42752,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41757,12 +42788,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41793,11 +42825,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41828,12 +42861,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41864,11 +42898,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41899,12 +42934,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41935,11 +42971,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -41970,12 +43007,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42006,11 +43044,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42041,12 +43080,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42077,11 +43117,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42112,12 +43153,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42148,11 +43190,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42183,12 +43226,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42219,11 +43263,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42254,12 +43299,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42290,11 +43336,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42325,12 +43372,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42361,11 +43409,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42396,12 +43445,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42432,11 +43482,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42467,12 +43518,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42503,11 +43555,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42538,12 +43591,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42574,11 +43628,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42609,12 +43664,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42645,11 +43701,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42680,12 +43737,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42716,11 +43774,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42751,7 +43810,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -42765,6 +43824,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42799,6 +43859,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42833,6 +43894,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42867,6 +43929,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42901,6 +43964,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42935,6 +43999,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -42969,6 +44034,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43003,6 +44069,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43037,6 +44104,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43071,6 +44139,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43105,6 +44174,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43139,6 +44209,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43173,6 +44244,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43207,6 +44279,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43241,6 +44314,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43304,6 +44378,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43334,11 +44409,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43369,12 +44445,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43405,11 +44482,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43440,12 +44518,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43476,11 +44555,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43511,12 +44591,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43553,11 +44634,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43594,12 +44676,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43636,11 +44719,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43677,12 +44761,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43719,11 +44804,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43760,12 +44846,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43796,11 +44883,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43831,12 +44919,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43867,11 +44956,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43902,12 +44992,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43938,11 +45029,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -43973,12 +45065,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44009,11 +45102,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44044,12 +45138,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44080,11 +45175,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44115,12 +45211,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44151,11 +45248,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44186,12 +45284,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44228,11 +45327,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44269,12 +45369,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44311,11 +45412,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44352,12 +45454,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44394,11 +45497,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44435,7 +45539,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -44449,6 +45553,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44483,6 +45588,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44517,6 +45623,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44551,6 +45658,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44591,6 +45699,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44631,6 +45740,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44671,6 +45781,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44705,6 +45816,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44739,6 +45851,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44773,6 +45886,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44807,6 +45921,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44841,6 +45956,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44875,6 +45991,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44915,6 +46032,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -44955,6 +46073,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45069,6 +46188,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45099,11 +46219,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45134,12 +46255,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45170,11 +46292,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45205,12 +46328,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45241,11 +46365,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45276,12 +46401,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45312,11 +46438,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45347,12 +46474,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45383,11 +46511,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45418,12 +46547,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45454,11 +46584,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45489,12 +46620,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45525,11 +46657,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45560,12 +46693,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45596,11 +46730,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45631,12 +46766,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45667,11 +46803,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45702,12 +46839,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45738,11 +46876,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45773,12 +46912,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45809,11 +46949,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45844,12 +46985,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45880,11 +47022,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45915,12 +47058,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45951,11 +47095,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -45986,12 +47131,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46022,11 +47168,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46057,12 +47204,13 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46093,11 +47241,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46128,7 +47277,7 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -46142,6 +47291,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46176,6 +47326,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46210,6 +47361,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46244,6 +47396,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46278,6 +47431,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46312,6 +47466,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46346,6 +47501,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46380,6 +47536,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46414,6 +47571,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46448,6 +47606,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46482,6 +47641,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46516,6 +47676,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46550,6 +47711,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46584,6 +47746,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46618,6 +47781,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46682,6 +47846,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46712,11 +47877,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46747,12 +47913,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46783,11 +47950,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46818,12 +47986,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46854,11 +48023,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46889,12 +48059,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46925,11 +48096,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -46960,12 +48132,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47002,11 +48175,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47043,12 +48217,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47085,11 +48260,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47126,12 +48302,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47168,11 +48345,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47209,12 +48387,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47251,11 +48430,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47292,12 +48472,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47334,11 +48515,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47375,12 +48557,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47417,11 +48600,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47458,12 +48642,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47500,11 +48685,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47541,12 +48727,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47583,11 +48770,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47624,12 +48812,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47666,11 +48855,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47707,12 +48897,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47749,11 +48940,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47790,12 +48982,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47832,11 +49025,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47873,7 +49067,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -47887,6 +49081,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47921,6 +49116,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47955,6 +49151,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -47989,6 +49186,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48023,6 +49221,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48063,6 +49262,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48103,6 +49303,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48143,6 +49344,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48183,6 +49385,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48223,6 +49426,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48263,6 +49467,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48303,6 +49508,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48343,6 +49549,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48383,6 +49590,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48423,6 +49631,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48554,6 +49763,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48584,11 +49794,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48619,12 +49830,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48661,11 +49873,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48702,12 +49915,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48738,11 +49952,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48773,12 +49988,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48815,11 +50031,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48856,12 +50073,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48898,11 +50116,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48939,12 +50158,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -48981,11 +50201,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49022,12 +50243,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49058,11 +50280,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49093,12 +50316,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49129,11 +50353,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49164,12 +50389,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49200,11 +50426,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49235,12 +50462,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49277,11 +50505,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49318,12 +50547,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49360,11 +50590,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49401,12 +50632,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49443,11 +50675,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49484,12 +50717,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49526,11 +50760,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49567,12 +50802,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49609,11 +50845,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49650,12 +50887,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49692,11 +50930,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49733,7 +50972,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -49747,6 +50986,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49781,6 +51021,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49821,6 +51062,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49855,6 +51097,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49895,6 +51138,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49935,6 +51179,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -49975,6 +51220,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50009,6 +51255,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50043,6 +51290,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50077,6 +51325,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50117,6 +51366,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50157,6 +51407,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50197,6 +51448,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50237,6 +51489,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50277,6 +51530,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50350,24 +51604,37 @@ "pin": { "type": "integer", "enum": [ + -1, 25, 26 ], - "description": "Single DAC-capable GPIO (25 or 26) for W mode." + "description": "Single DAC-capable GPIO (25 or 26) for W mode; -1 means not connected." }, "pins": { "type": "array", "items": { "type": "integer", "enum": [ + -1, 25, 26 ] }, "minItems": 1, "maxItems": 2, - "uniqueItems": true, - "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB." + "not": { + "enum": [ + [ + 25, + 25 + ], + [ + 26, + 26 + ] + ] + }, + "description": "DAC-capable GPIOs (25/26): exactly one for W or exactly two for RB; -1 means not connected and may repeat." } }, "additionalProperties": false, @@ -50375,7 +51642,7 @@ "type" ], "title": "DAC", - "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver.", + "description": "ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver.", "allOf": [ { "oneOf": [ @@ -50454,6 +51721,7 @@ "pin": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50463,11 +51731,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50477,12 +51746,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50492,11 +51762,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50506,12 +51777,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50521,11 +51793,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50535,12 +51808,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50571,11 +51845,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50606,7 +51881,7 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -50615,11 +51890,12 @@ "type" ], "title": "ADC", - "description": "ESP32 ADC1 analog input. The input pin must be GPIO 32..39.", + "description": "ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39.", "patternProperties": { "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50633,6 +51909,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50646,6 +51923,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 32, 33, 34, @@ -50659,6 +51937,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50728,6 +52007,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50758,11 +52038,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50793,12 +52074,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50829,11 +52111,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50864,12 +52147,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50900,11 +52184,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50935,12 +52220,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -50971,11 +52257,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51006,12 +52293,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51048,11 +52336,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51089,12 +52378,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51131,11 +52421,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51172,12 +52463,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51214,11 +52506,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51255,12 +52548,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51297,11 +52591,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51338,12 +52633,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51380,11 +52676,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51421,12 +52718,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51463,11 +52761,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51504,12 +52803,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51546,11 +52846,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51587,12 +52888,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51629,11 +52931,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51670,12 +52973,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51712,11 +53016,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51753,12 +53058,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51795,11 +53101,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51836,12 +53143,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51878,11 +53186,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51919,7 +53228,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -51933,6 +53242,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -51967,6 +53277,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52001,6 +53312,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52035,6 +53347,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52069,6 +53382,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52109,6 +53423,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52149,6 +53464,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52189,6 +53505,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52229,6 +53546,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52269,6 +53587,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52309,6 +53628,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52349,6 +53669,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52389,6 +53710,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52429,6 +53751,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52469,6 +53792,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52563,6 +53887,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52593,11 +53918,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52628,12 +53954,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52664,11 +53991,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52699,12 +54027,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52735,11 +54064,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52770,12 +54100,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52806,11 +54137,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52841,12 +54173,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52883,11 +54216,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52924,12 +54258,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -52966,11 +54301,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53007,12 +54343,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53049,11 +54386,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53090,12 +54428,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53132,11 +54471,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53173,12 +54513,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53215,11 +54556,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53256,12 +54598,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53298,11 +54641,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53339,12 +54683,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53381,11 +54726,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53422,12 +54768,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53464,11 +54811,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53505,12 +54853,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53547,11 +54896,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53588,12 +54938,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53630,11 +54981,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53671,12 +55023,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53713,11 +55066,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53754,7 +55108,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -53768,6 +55122,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53802,6 +55157,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53836,6 +55192,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53870,6 +55227,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53904,6 +55262,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53944,6 +55303,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -53984,6 +55344,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54024,6 +55385,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54064,6 +55426,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54104,6 +55467,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54144,6 +55508,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54184,6 +55549,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54224,6 +55590,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54264,6 +55631,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54304,6 +55672,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54371,6 +55740,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54407,11 +55777,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54448,12 +55819,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54484,11 +55856,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54519,12 +55892,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54561,11 +55935,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54602,12 +55977,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54644,11 +56020,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54685,12 +56062,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54727,11 +56105,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54768,12 +56147,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54810,11 +56190,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54851,12 +56232,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54893,11 +56275,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54934,12 +56317,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -54976,11 +56360,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55017,12 +56402,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55059,11 +56445,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55100,12 +56487,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55142,11 +56530,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55183,12 +56572,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55225,11 +56615,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55266,12 +56657,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55308,11 +56700,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55349,12 +56742,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55391,11 +56785,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55432,12 +56827,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55474,11 +56870,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55515,12 +56912,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55557,11 +56955,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55598,7 +56997,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -55612,6 +57011,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55652,6 +57052,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55686,6 +57087,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55726,6 +57128,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55766,6 +57169,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55806,6 +57210,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55846,6 +57251,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55886,6 +57292,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55926,6 +57333,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -55966,6 +57374,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56006,6 +57415,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56046,6 +57456,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56086,6 +57497,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56126,6 +57538,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56166,6 +57579,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56271,6 +57685,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56301,11 +57716,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56336,12 +57752,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56372,11 +57789,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56407,12 +57825,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56443,11 +57862,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56478,12 +57898,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56514,11 +57935,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56549,12 +57971,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56591,11 +58014,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56632,12 +58056,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56674,11 +58099,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56715,12 +58141,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56757,11 +58184,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56798,12 +58226,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56840,11 +58269,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56881,12 +58311,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56923,11 +58354,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -56964,12 +58396,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57006,11 +58439,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57047,12 +58481,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57089,11 +58524,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57130,12 +58566,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57172,11 +58609,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57213,12 +58651,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57255,11 +58694,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57296,12 +58736,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57338,11 +58779,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57379,12 +58821,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57421,11 +58864,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57462,7 +58906,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -57476,6 +58920,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57510,6 +58955,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57544,6 +58990,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57578,6 +59025,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57612,6 +59060,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57652,6 +59101,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57692,6 +59142,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57732,6 +59183,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57772,6 +59224,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57812,6 +59265,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57852,6 +59306,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57892,6 +59347,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57932,6 +59388,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -57972,6 +59429,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58012,6 +59470,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58065,6 +59524,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58101,11 +59561,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58142,12 +59603,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58178,11 +59640,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58213,12 +59676,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58255,11 +59719,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58296,12 +59761,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58338,11 +59804,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58379,12 +59846,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58421,11 +59889,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58462,12 +59931,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58504,11 +59974,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58545,12 +60016,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58587,11 +60059,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58628,12 +60101,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58670,11 +60144,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58711,12 +60186,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58753,11 +60229,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58794,12 +60271,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58836,11 +60314,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58877,12 +60356,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58919,11 +60399,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -58960,12 +60441,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59002,11 +60484,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59043,12 +60526,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59085,11 +60569,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59126,12 +60611,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59168,11 +60654,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59209,12 +60696,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59251,11 +60739,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59292,7 +60781,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -59306,6 +60795,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59346,6 +60836,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59380,6 +60871,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59420,6 +60912,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59460,6 +60953,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59500,6 +60994,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59540,6 +61035,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59580,6 +61076,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59620,6 +61117,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59660,6 +61158,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59700,6 +61199,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59740,6 +61240,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59780,6 +61281,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59820,6 +61322,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59860,6 +61363,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59913,6 +61417,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59943,11 +61448,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -59978,12 +61484,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60014,11 +61521,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60049,12 +61557,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60085,11 +61594,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60120,12 +61630,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60156,11 +61667,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60191,12 +61703,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60233,11 +61746,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60274,12 +61788,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60316,11 +61831,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60357,12 +61873,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60399,11 +61916,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60440,12 +61958,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60482,11 +62001,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60523,12 +62043,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60565,11 +62086,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60606,12 +62128,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60648,11 +62171,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60689,12 +62213,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60731,11 +62256,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60772,12 +62298,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60814,11 +62341,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60855,12 +62383,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60897,11 +62426,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60938,12 +62468,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -60980,11 +62511,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61021,12 +62553,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61063,11 +62596,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61104,7 +62638,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -61118,6 +62652,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61152,6 +62687,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61186,6 +62722,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61220,6 +62757,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61254,6 +62792,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61294,6 +62833,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61334,6 +62874,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61374,6 +62915,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61414,6 +62956,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61454,6 +62997,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61494,6 +63038,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61534,6 +63079,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61574,6 +63120,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61614,6 +63161,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61654,6 +63202,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61707,6 +63256,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61737,11 +63287,12 @@ 32, 33 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61772,12 +63323,13 @@ 32, 33 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61808,11 +63360,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61843,12 +63396,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61879,11 +63433,12 @@ 32, 33 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61914,12 +63469,13 @@ 32, 33 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61950,11 +63506,12 @@ 32, 33 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -61985,12 +63542,13 @@ 32, 33 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62027,11 +63585,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62068,12 +63627,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62110,11 +63670,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62151,12 +63712,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62193,11 +63755,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62234,12 +63797,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62276,11 +63840,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62317,12 +63882,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62359,11 +63925,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62400,12 +63967,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62442,11 +64010,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62483,12 +64052,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62525,11 +64095,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62566,12 +64137,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62608,11 +64180,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62649,12 +64222,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62691,11 +64265,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62732,12 +64307,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62774,11 +64350,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62815,12 +64392,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62857,11 +64435,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62898,7 +64477,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -62912,6 +64491,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62946,6 +64526,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -62980,6 +64561,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63014,6 +64596,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63048,6 +64631,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63088,6 +64672,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63128,6 +64713,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63168,6 +64754,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63208,6 +64795,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63248,6 +64836,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63288,6 +64877,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63328,6 +64918,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63368,6 +64959,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63408,6 +65000,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63448,6 +65041,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63522,6 +65116,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63558,11 +65153,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63599,12 +65195,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63635,11 +65232,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63670,12 +65268,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63712,11 +65311,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63753,12 +65353,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63795,11 +65396,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63836,12 +65438,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63878,11 +65481,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63919,12 +65523,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -63961,11 +65566,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64002,12 +65608,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64044,11 +65651,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64085,12 +65693,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64127,11 +65736,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64168,12 +65778,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64210,11 +65821,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64251,12 +65863,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64293,11 +65906,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64334,12 +65948,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64376,11 +65991,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64417,12 +66033,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64459,11 +66076,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64500,12 +66118,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64542,11 +66161,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64583,12 +66203,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64625,11 +66246,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64666,12 +66288,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64708,11 +66331,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64749,7 +66373,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -64763,6 +66387,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64803,6 +66428,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64837,6 +66463,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64877,6 +66504,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64917,6 +66545,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64957,6 +66586,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -64997,6 +66627,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65037,6 +66668,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65077,6 +66709,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65117,6 +66750,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65157,6 +66791,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65197,6 +66832,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65237,6 +66873,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65277,6 +66914,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65317,6 +66955,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65394,6 +67033,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65424,11 +67064,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65459,12 +67100,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65501,11 +67143,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65542,12 +67185,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65578,11 +67222,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65613,12 +67258,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65649,11 +67295,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65684,12 +67331,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65726,11 +67374,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65767,12 +67416,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65809,11 +67459,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65850,12 +67501,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65892,11 +67544,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65933,12 +67586,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -65969,11 +67623,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66004,12 +67659,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66040,11 +67696,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66075,12 +67732,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66111,11 +67769,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66146,12 +67805,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66188,11 +67848,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66229,12 +67890,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66271,11 +67933,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66312,12 +67975,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66354,11 +68018,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66395,12 +68060,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66431,11 +68097,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66466,12 +68133,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66502,11 +68170,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66537,7 +68206,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -66551,6 +68220,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66585,6 +68255,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66625,6 +68296,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66659,6 +68331,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66693,6 +68366,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66733,6 +68407,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66773,6 +68448,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66813,6 +68489,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66847,6 +68524,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66881,6 +68559,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66915,6 +68594,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66955,6 +68635,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -66995,6 +68676,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67035,6 +68717,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67069,6 +68752,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67121,6 +68805,7 @@ "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67151,11 +68836,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67186,12 +68872,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67222,11 +68909,12 @@ 32, 33 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67257,12 +68945,13 @@ 32, 33 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67293,11 +68982,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67328,12 +69018,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67370,11 +69061,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67411,12 +69103,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67453,11 +69146,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67494,12 +69188,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67536,11 +69231,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67577,12 +69273,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67613,11 +69310,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67648,12 +69346,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67684,11 +69383,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67719,12 +69419,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67755,11 +69456,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67790,12 +69492,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67826,11 +69529,12 @@ 32, 33 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67861,12 +69565,13 @@ 32, 33 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67897,11 +69602,12 @@ 32, 33 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67932,12 +69638,13 @@ 32, 33 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -67968,11 +69675,12 @@ 32, 33 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68003,12 +69711,13 @@ 32, 33 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68045,11 +69754,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68086,12 +69796,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68128,11 +69839,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68169,12 +69881,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68211,11 +69924,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68252,7 +69966,7 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -68266,6 +69980,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68300,6 +70015,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68334,6 +70050,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68368,6 +70085,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68408,6 +70126,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68448,6 +70167,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68488,6 +70208,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68522,6 +70243,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68556,6 +70278,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68590,6 +70313,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68624,6 +70348,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68658,6 +70383,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68692,6 +70418,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68732,6 +70459,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68772,6 +70500,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68859,6 +70588,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68895,11 +70625,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68936,12 +70667,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -68978,11 +70710,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69019,12 +70752,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69061,11 +70795,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69102,12 +70837,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69144,11 +70880,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69185,12 +70922,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69227,11 +70965,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69268,12 +71007,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69310,11 +71050,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69351,12 +71092,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69393,11 +71135,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69434,12 +71177,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69476,11 +71220,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69517,12 +71262,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69559,11 +71305,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69600,12 +71347,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69642,11 +71390,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69683,12 +71432,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69725,11 +71475,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69766,12 +71517,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69808,11 +71560,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69849,12 +71602,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69891,11 +71645,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69932,12 +71687,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -69974,11 +71730,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70015,12 +71772,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70057,11 +71815,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70098,7 +71857,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -70112,6 +71871,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70152,6 +71912,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70192,6 +71953,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70232,6 +71994,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70272,6 +72035,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70312,6 +72076,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70352,6 +72117,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70392,6 +72158,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70432,6 +72199,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70472,6 +72240,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70512,6 +72281,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70552,6 +72322,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70592,6 +72363,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70632,6 +72404,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70672,6 +72445,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70759,6 +72533,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70795,11 +72570,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70836,12 +72612,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70878,11 +72655,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70919,12 +72697,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -70961,11 +72740,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71002,12 +72782,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71044,11 +72825,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71085,12 +72867,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71127,11 +72910,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71168,12 +72952,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71210,11 +72995,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71251,12 +73037,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71293,11 +73080,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71334,12 +73122,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71376,11 +73165,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71417,12 +73207,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71459,11 +73250,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71500,12 +73292,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71542,11 +73335,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71583,12 +73377,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71625,11 +73420,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71666,12 +73462,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71708,11 +73505,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71749,12 +73547,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71791,11 +73590,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71832,12 +73632,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71874,11 +73675,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71915,12 +73717,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71957,11 +73760,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -71998,7 +73802,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -72012,6 +73816,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72052,6 +73857,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72092,6 +73898,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72132,6 +73939,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72172,6 +73980,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72212,6 +74021,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72252,6 +74062,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72292,6 +74103,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72332,6 +74144,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72372,6 +74185,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72412,6 +74226,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72452,6 +74267,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72492,6 +74308,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72532,6 +74349,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72572,6 +74390,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72647,6 +74466,7 @@ "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72677,11 +74497,12 @@ 32, 33 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72712,12 +74533,13 @@ 32, 33 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72754,11 +74576,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72795,12 +74618,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72831,11 +74655,12 @@ 32, 33 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72866,12 +74691,13 @@ 32, 33 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72902,11 +74728,12 @@ 32, 33 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72937,12 +74764,13 @@ 32, 33 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -72979,11 +74807,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73020,12 +74849,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73062,11 +74892,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73103,12 +74934,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73145,11 +74977,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73186,12 +75019,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73222,11 +75056,12 @@ 32, 33 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73257,12 +75092,13 @@ 32, 33 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73293,11 +75129,12 @@ 32, 33 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73328,12 +75165,13 @@ 32, 33 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73364,11 +75202,12 @@ 32, 33 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73399,12 +75238,13 @@ 32, 33 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73441,11 +75281,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73482,12 +75323,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73524,11 +75366,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73565,12 +75408,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73607,11 +75451,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73648,12 +75493,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73684,11 +75530,12 @@ 32, 33 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73719,12 +75566,13 @@ 32, 33 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73755,11 +75603,12 @@ 32, 33 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73790,7 +75639,7 @@ 32, 33 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -73804,6 +75653,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73838,6 +75688,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73878,6 +75729,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73912,6 +75764,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73946,6 +75799,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -73986,6 +75840,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74026,6 +75881,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74066,6 +75922,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74100,6 +75957,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74134,6 +75992,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74168,6 +76027,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74208,6 +76068,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74248,6 +76109,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74288,6 +76150,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74322,6 +76185,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74396,6 +76260,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74432,11 +76297,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74473,12 +76339,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74515,11 +76382,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74556,12 +76424,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74598,11 +76467,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74639,12 +76509,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74681,11 +76552,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74722,12 +76594,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74764,11 +76637,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74805,12 +76679,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74847,11 +76722,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74888,12 +76764,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74930,11 +76807,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -74971,12 +76849,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75013,11 +76892,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75054,12 +76934,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75096,11 +76977,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75137,12 +77019,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75179,11 +77062,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75220,12 +77104,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75262,11 +77147,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75303,12 +77189,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75345,11 +77232,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75386,12 +77274,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75428,11 +77317,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75469,12 +77359,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75511,11 +77402,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75552,12 +77444,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75594,11 +77487,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75635,7 +77529,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -75649,6 +77543,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75689,6 +77584,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75729,6 +77625,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75769,6 +77666,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75809,6 +77707,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75849,6 +77748,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75889,6 +77789,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75929,6 +77830,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -75969,6 +77871,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76009,6 +77912,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76049,6 +77953,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76089,6 +77994,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76129,6 +78035,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76169,6 +78076,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76209,6 +78117,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76274,6 +78183,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76310,11 +78220,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76351,12 +78262,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76393,11 +78305,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76434,12 +78347,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76476,11 +78390,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76517,12 +78432,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76559,11 +78475,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76600,12 +78517,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76642,11 +78560,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76683,12 +78602,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76725,11 +78645,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76766,12 +78687,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76808,11 +78730,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76849,12 +78772,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76891,11 +78815,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76932,12 +78857,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -76974,11 +78900,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77015,12 +78942,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77057,11 +78985,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77098,12 +79027,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77140,11 +79070,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77181,12 +79112,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77223,11 +79155,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77264,12 +79197,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77306,11 +79240,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77347,12 +79282,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77389,11 +79325,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77430,12 +79367,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77472,11 +79410,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77513,7 +79452,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -77527,6 +79466,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77567,6 +79507,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77607,6 +79548,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77647,6 +79589,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77687,6 +79630,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77727,6 +79671,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77767,6 +79712,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77807,6 +79753,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77847,6 +79794,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77887,6 +79835,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77927,6 +79876,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -77967,6 +79917,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78007,6 +79958,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78047,6 +79999,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78087,6 +80040,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78152,6 +80106,7 @@ "pin": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78188,11 +80143,12 @@ 38, 39 ], - "description": "GPIO for pin. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for pin; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!pin+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78229,12 +80185,13 @@ 38, 39 ], - "description": "Decorated pin example: inverted with internal pull-up.", + "description": "Decorated pin example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "w": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78271,11 +80228,12 @@ 38, 39 ], - "description": "GPIO for w. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for w; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!w+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78312,12 +80270,13 @@ 38, 39 ], - "description": "Decorated w example: inverted with internal pull-up.", + "description": "Decorated w example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "white": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78354,11 +80313,12 @@ 38, 39 ], - "description": "GPIO for white. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for white; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!white+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78395,12 +80355,13 @@ 38, 39 ], - "description": "Decorated white example: inverted with internal pull-up.", + "description": "Decorated white example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "tx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78437,11 +80398,12 @@ 38, 39 ], - "description": "GPIO for tx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for tx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!tx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78478,12 +80440,13 @@ 38, 39 ], - "description": "Decorated tx example: inverted with internal pull-up.", + "description": "Decorated tx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "sda": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78520,11 +80483,12 @@ 38, 39 ], - "description": "GPIO for sda. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for sda; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!sda+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78561,12 +80525,13 @@ 38, 39 ], - "description": "Decorated sda example: inverted with internal pull-up.", + "description": "Decorated sda example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "r": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78603,11 +80568,12 @@ 38, 39 ], - "description": "GPIO for r. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for r; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!r+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78644,12 +80610,13 @@ 38, 39 ], - "description": "Decorated r example: inverted with internal pull-up.", + "description": "Decorated r example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "red": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78686,11 +80653,12 @@ 38, 39 ], - "description": "GPIO for red. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for red; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!red+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78727,12 +80695,13 @@ 38, 39 ], - "description": "Decorated red example: inverted with internal pull-up.", + "description": "Decorated red example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rx": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78769,11 +80738,12 @@ 38, 39 ], - "description": "GPIO for rx. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rx; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rx+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78810,12 +80780,13 @@ 38, 39 ], - "description": "Decorated rx example: inverted with internal pull-up.", + "description": "Decorated rx example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "scl": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78852,11 +80823,12 @@ 38, 39 ], - "description": "GPIO for scl. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for scl; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!scl+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78893,12 +80865,13 @@ 38, 39 ], - "description": "Decorated scl example: inverted with internal pull-up.", + "description": "Decorated scl example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "g": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78935,11 +80908,12 @@ 38, 39 ], - "description": "GPIO for g. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for g; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!g+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -78976,12 +80950,13 @@ 38, 39 ], - "description": "Decorated g example: inverted with internal pull-up.", + "description": "Decorated g example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "green": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79018,11 +80993,12 @@ 38, 39 ], - "description": "GPIO for green. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for green; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!green+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79059,12 +81035,13 @@ 38, 39 ], - "description": "Decorated green example: inverted with internal pull-up.", + "description": "Decorated green example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "b": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79101,11 +81078,12 @@ 38, 39 ], - "description": "GPIO for b. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for b; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!b+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79142,12 +81120,13 @@ 38, 39 ], - "description": "Decorated b example: inverted with internal pull-up.", + "description": "Decorated b example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "blue": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79184,11 +81163,12 @@ 38, 39 ], - "description": "GPIO for blue. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for blue; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!blue+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79225,12 +81205,13 @@ 38, 39 ], - "description": "Decorated blue example: inverted with internal pull-up.", + "description": "Decorated blue example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "rts": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79267,11 +81248,12 @@ 38, 39 ], - "description": "GPIO for rts. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for rts; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!rts+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79308,12 +81290,13 @@ 38, 39 ], - "description": "Decorated rts example: inverted with internal pull-up.", + "description": "Decorated rts example: inverted with internal pull-up; -1 means not connected.", "deprecated": false }, "en": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79350,11 +81333,12 @@ 38, 39 ], - "description": "GPIO for en. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." + "description": "GPIO for en; -1 means not connected. Decorators may occur anywhere: ! invert, + pull-up, - pull-down." }, "!en+": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79391,7 +81375,7 @@ 38, 39 ], - "description": "Decorated en example: inverted with internal pull-up.", + "description": "Decorated en example: inverted with internal pull-up; -1 means not connected.", "deprecated": false } }, @@ -79405,6 +81389,7 @@ "^(?!!pin\\+$)(?=.*[!+\\-])[!+\\-]*p[!+\\-]*i[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79445,6 +81430,7 @@ "^(?!!w\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79485,6 +81471,7 @@ "^(?!!white\\+$)(?=.*[!+\\-])[!+\\-]*w[!+\\-]*h[!+\\-]*i[!+\\-]*t[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79525,6 +81512,7 @@ "^(?!!tx\\+$)(?=.*[!+\\-])[!+\\-]*t[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79565,6 +81553,7 @@ "^(?!!sda\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*d[!+\\-]*a[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79605,6 +81594,7 @@ "^(?!!r\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79645,6 +81635,7 @@ "^(?!!red\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*e[!+\\-]*d[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79685,6 +81676,7 @@ "^(?!!rx\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*x[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79725,6 +81717,7 @@ "^(?!!scl\\+$)(?=.*[!+\\-])[!+\\-]*s[!+\\-]*c[!+\\-]*l[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79765,6 +81758,7 @@ "^(?!!g\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79805,6 +81799,7 @@ "^(?!!green\\+$)(?=.*[!+\\-])[!+\\-]*g[!+\\-]*r[!+\\-]*e[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79845,6 +81840,7 @@ "^(?!!b\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79885,6 +81881,7 @@ "^(?!!blue\\+$)(?=.*[!+\\-])[!+\\-]*b[!+\\-]*l[!+\\-]*u[!+\\-]*e[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79925,6 +81922,7 @@ "^(?!!rts\\+$)(?=.*[!+\\-])[!+\\-]*r[!+\\-]*t[!+\\-]*s[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, @@ -79965,6 +81963,7 @@ "^(?!!en\\+$)(?=.*[!+\\-])[!+\\-]*e[!+\\-]*n[!+\\-]*$": { "type": "integer", "enum": [ + -1, 0, 1, 2, diff --git a/creator-kit/checksums.sha256 b/creator-kit/checksums.sha256 index a54356a..9274593 100644 --- a/creator-kit/checksums.sha256 +++ b/creator-kit/checksums.sha256 @@ -1,36 +1,36 @@ 0545b1ad0f346229618fe5222d15f6652096d590b4c301b1fbea7b80f833bd2f schemas/creator-kit-term-index.v1.schema.json 097131ae899e8d8227b7a89411b6ac28ba95e0332be84f4828ad729d50c0c4ea LICENSES/MIT.txt 106abd031b6705585394908b114d2920d5343994e8e66d499eb72c5b9afcdaa6 schemas/creator-kit-selection.v1.schema.json -1455dc5a74614c6f5feef5572f38f894b5cc69e6a77ef47de495cde8063d7430 indexes/documents.json -2c2ffb32334ff0cd45d5fc711fce6318f0ea6ee9a681b035691c914d2987fa4c RELEASE_NOTES.md +165c12fbb5e84f50ec6a6375bdc914e496edcf9a99e22f36fddc618fde1dfba2 selection.json 2d144a4e77d7fc6f4e6253fcd22cb9a6ec89bf3d7c9485269d0de42ce8ef3024 examples/player-show-global-sparse-cues/player.be +2ea0b04ae9e1f227625fec365fa4b65634e5119cec5ae0b8aea774a31bb2a99d indexes/terms.json 2f3e88fee1e1ae55fad6642e4041574aad5565c028509e2e0a4731d8bbaa2335 schemas/creator-kit-stable-channel.v1.schema.json +3006cd6917a01761a60b8b26e04367b9a36e1dd39b1889c7c57a4bd3aadf0f9a documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md 3297ca221e2057b9e3d94d46eea55ec6971ff8587246b21a33373b43fe4650e9 examples/player-show-global-sparse-cues/example.yaml 3431864275b863fb9aaa89fb17617e4a489676df999abb3f9379949de21ffb31 AGENTS.md 35fa413fe0f59efc4a0f5689986d981bd0f739048d8183dd88dda7f3336a4803 examples/player-show-global-sparse-cues/README.md 3655bdaac1de00eed7d21b28a00a452aa7163abfe620c477ff021dfdd738d48c documents/en/pro-vyrobce-a-tvurce/controller-config/index.md 41f576a534c5277269c3c969eb30d6f3e9b8f8112f04eb2ea28c0875a3a0aeb2 stable-channel.json -45fab551c3e40f895602d7210f078a890e45bd27e952a6eb7cc92bdeaf187eb6 indexes/terms.json -51c3fe50f72c6cb1b4155ef69bc3999a7aec8d783696ece89a2f56a1bd76fb3b manifest.json +68db7b4b7356cc9b5d1b958973e31904f79c08c9a366895b79555ec9113a5f97 source-lock.json 69a88ae4b09d1a54c30e58e1850c1d353a26ef4bbc03f54e6482353d3c6f6db3 licenses.json 6fb146ca9d11d6b34b483514a0524f1287fe3038c73592c006e380e06fa1f533 schemas/creator-kit-licenses.v1.schema.json -73fc82fd4476abb8026dccccb39bd4766ec3a4f26849c0a3458ce4b4db231d22 schemas/creator-kit-manifest.v1.schema.json -760cbcde5038f98bae60aea96f6f36f2b4b01aae04c33571b26cfbe2fcd1b38f assets/docs/controller-config/0.12.11/controller-config.contract.json +6fcbe93185213e761b73aa8c8db6234b312558f5e3504136fc8981150cd229c2 indexes/documents.json +780a43eea5a64b8d5ba72637ed7260a8fb07b89fae4ad34ed54f57bd772ec8df documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md 7b97193f4ce1f58c46e2e1eb6e5d9eb929747e2326844c8e19b9a8d5c79390b3 documents/en/pro-vyrobce-a-tvurce/controller-config/wasm-schema.md 7c4531571bd515b29242e2026bcfb93c0a2452e5ba27c74dea490d2ba22f779d schemas/creator-kit-compatibility.v1.schema.json +7fc563f9a324898ed777f8a54759d953d6fccde47206b8008b4727012fb7d406 schemas/creator-kit-source-lock.v1.schema.json +8bd0702d439b573fea4c89d4af3c2a2109e09586dd0e738eefd4c693c8e04780 documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md 8ec2c51cb8999c5ec46cfb90a7d19f400cc0f199523f60fba3184cdaf753ae71 LICENSES/CC-BY-4.0.md -9f14dd2893688637f440a16432f947609d68267549288f6c96be354ce4c7a7fd documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md 9f9e115705c24bece3a9af6f1ae9473cb67a45284a4f2e79dae45c995401e324 compatibility.json -9fe16ebb56415591d0804f4b7ec8d38cc05412160a31bee16c41713a2f1a2448 source-lock.json -acc885a529f405ac2047fadbb0de9b431f5ab841677f3b47f83db5c354d4ba0e documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md -c392c1c2289eeaad6b0f3e0c77ea821ea455ee9c688b893adb8204e4523c61a0 documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md -d3c02cb1a56016712615c98502e34fb8ab7895f383f2a9e65a8160057de334d4 schemas/creator-kit-policy.v1.schema.json +a2f6fc92495902723a89f89d223e5bf61e4c5ad704b3909aee0cee9d342c6f0b assets/docs/controller-config/0.12.11/controller-config.contract.json +a8a6e4578ddfdc6a0cf66fa2dff0e384bdffe4b224f62c76ec725ef7820a52cd schemas/creator-kit-policy.v1.schema.json +be1d8dad5262ecfa22f8b4415b4bffce6a897a0cc315d5975811f66cd521594b assets/docs/controller-config/0.12.11/controller-config.schema.json +c96624e66816be99647459f9cd1ddb555d0dfdffa0f2fafc335b37bb1a343b7f README.md d6441fd0b663b8f77cf9c6acee73dd4d475cbcb1abf1f56118f67ff5294b1e1b documents/en/pro-vyrobce-a-tvurce/controller-config/ethernet.md -d9ee689ad41bb0b845070d77dfe6eb061976f9e077c293a730e5f520ea8f037c assets/docs/controller-config/0.12.11/controller-config.schema.json -dac54ab88acfab5fd13c6b5b5d01a68bf0880e590f653bd856a00e1aa8c3ce3d schemas/creator-kit-source-lock.v1.schema.json -e123ba30631843ec145156298739758b259b4214f78e6dff11a02c97aa876795 selection.json e29e767380b857be6295bef82fc4878f005a025b3ec9d537de427e1b06c98ec3 documents/en/pro-vyrobce-a-tvurce/controller-config/io-type-dali.md e2b4a6840f3145bcc23611cd64f7adc8082186411ff9b8d1cb0146ed28b9d177 schemas/creator-kit-bundle.v1.schema.json +e2cf8806ece259b9f28365a13750e2a8aa8ab48e6ef1dcbaf5c78bef1c5e9012 manifest.json e3b49e1798f3892b6b92035efd46c85328f89e072beee43da57b501850c0165a schemas/creator-kit-document-index.v1.schema.json ed1d40be162badd9e0f546b35612c315e06732ae783e8277156e2584bc10c808 bundle.json -fa9c7b83930fa3a2ed2963d32c7956ab4afdf6e648f9422e32767bd46dae6498 README.md +f3eef471d9604f2e8f057222f89abe39a1be2533299a18b05b0a028fc453c974 schemas/creator-kit-manifest.v1.schema.json +fb2b481e93fc4d841f39915d1f17a8898609dbd4bc67aba535457ec7c714d838 RELEASE_NOTES.md diff --git a/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md b/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md index e51b1f9..ba76497 100644 --- a/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md +++ b/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md @@ -7,8 +7,8 @@ Every `io` entry needs a `type`. Its object key is a 1–5 character label using | `TM1814` | Direct TM1814 pixel driver. | | `PWM` | PWM output port. | | `DALI` | DALI port or operational monitor/commissioning mode. An omitted variant creates the normal DALIPort; DT6_ONOFF is recognized in source but not implemented and is rejected. | -| `DAC` | ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver. | -| `ADC` | ESP32 ADC1 analog input. The input pin must be GPIO 32..39. | +| `DAC` | ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver. | +| `ADC` | ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39. | | `RELAY` | Relay output port. | | `GPIO` | General-purpose bidirectional GPIO. | | `GPI` | General-purpose input. | @@ -37,7 +37,7 @@ Addressable one-wire pixels. TM1814 is also accepted as a variant. | `power` | `integer [0..255]` | | `variant` | `"WS2805" \| "WS2811" \| "WS2812" \| "WS2812B" \| "WS2812D" \| "WS2813" \| "WS2814" \| "WS2815" \| "SK6812" \| "GS8208" \| "APA106" \| "TM1814"` | | `order` | `string (one or two 1–4 character RGBW orders separated by a vertical bar)` | -| `pins` | `array<0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33>` | +| `pins` | `array<-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33>` | | `t1` | `integer [0..∞]` | | `t2` | `integer [0..∞]` | | `t3` | `integer [0..∞]` | @@ -46,36 +46,36 @@ Addressable one-wire pixels. TM1814 is also accepted as a variant. | `c2` | `integer [0..63]` | | `c3` | `integer [0..63]` | | `c4` | `integer [0..63]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -89,36 +89,36 @@ APA102/Dotstar pixels; sda is data and scl is clock. | `brightness` | `integer [0..255]` | | `power` | `integer [0..255]` | | `order` | `"RGB"` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -139,36 +139,36 @@ Direct TM1814 pixel driver. | `c2` | `integer [0..63]` | | `c3` | `integer [0..63]` | | `c4` | `integer [0..63]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -182,36 +182,36 @@ PWM output port. | `brightness` | `integer [0..255]` | | `power` | `integer [0..255]` | | `fadetime` | `integer [0..∞]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -234,42 +234,42 @@ DALI port or operational monitor/commissioning mode. An omitted variant creates | `maxlevel` | `integer [0..254]` | | `faderate` | `integer [0..∞]` | | `fadetime` | `integer [0..∞]` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. ## `DAC` -ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; RB (also the default order) requires two unique DAC pins. Decorated/shared GPIO aliases do not configure the DAC driver. +ESP32 DAC output; only W and RB orders are implemented. W requires one pin value; RB (also the default order) requires two values. Each value may be -1 for not connected; connected GPIO 25/26 values must be unique. Decorated/shared GPIO aliases do not configure the DAC driver. | Keyword | Type / allowed values | | --- | --- | @@ -277,24 +277,24 @@ ESP32 DAC output; only W and RB orders are implemented. W requires one DAC pin; | `brightness` | `integer [0..255]` | | `power` | `integer [0..255]` | | `order` | `"W" \| "RB"` | -| `pin` | `25 \| 26` | -| `pins` | `array<25 \| 26>` | +| `pin` | `-1 \| 25 \| 26` | +| `pins` | `array<-1 \| 25 \| 26>` | ## `ADC` -ESP32 ADC1 analog input. The input pin must be GPIO 32..39. +ESP32 ADC1 analog input. The input pin may be -1 for not connected or GPIO 32..39. | Keyword | Type / allowed values | | --- | --- | | `name` | `string` | -| `pin` | `32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -309,36 +309,36 @@ Relay output port. | `power` | `integer [0..255]` | | `debounce` | `integer [0..∞]` | | `startup` | `integer [0..∞]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -355,36 +355,36 @@ General-purpose bidirectional GPIO. | `debounce` | `integer [0..∞]` | | `opendrain` | `boolean` | | `default` | `boolean or number` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -397,36 +397,36 @@ General-purpose input. | `name` | `string` | | `variant` | `"INPUT" \| "BUTTON" \| "SWITCH"` | | `debounce` | `integer [0..∞]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -445,36 +445,36 @@ General-purpose output. Prefer PWM or RELAY types over their legacy GPO variants | `default` | `boolean or number` | | `fadetime` | `integer [0..∞]` | | `startup` | `integer [0..∞]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -485,36 +485,36 @@ AC detector input. | Keyword | Type / allowed values | | --- | --- | | `name` | `string` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -525,36 +525,36 @@ Constant-high digital source. | Keyword | Type / allowed values | | --- | --- | | `name` | `string` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -565,36 +565,36 @@ Constant-low digital source. | Keyword | Type / allowed values | | --- | --- | | `name` | `string` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -609,36 +609,36 @@ ESP32 capacitive-touch input; compiled in for 0.12.11. | `press` | `integer [0..∞]` | | `knock` | `integer [0..∞]` | | `sensitivity` | `integer [1..4]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -653,36 +653,36 @@ Berry-visible UART. | `txbuffer` | `integer [1..65535]` | | `rxbuffer` | `integer [1..65535]` | | `rxthreshold` | `integer [1..65535]` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -694,36 +694,36 @@ Berry-visible I2C bus. Only one I2C entry is supported. | --- | --- | | `name` | `string` | | `frequency` | `integer [1..∞]` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -739,36 +739,36 @@ Streaming ACN input/output. | `port` | `integer [1..65535]` | | `universe` | `integer [1..64000]` | | `channel` | `integer [1..512]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -784,36 +784,36 @@ Art-Net input/output. | `port` | `integer [1..65535]` | | `universe` | `integer [0..64000]` | | `channel` | `integer [1..512]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -827,36 +827,36 @@ DMX512 interface; compiled in for 0.12.11. | `order` | `string (one or two 1–4 character RGBW orders separated by a vertical bar)` | | `count` | `integer [1..170]` | | `channel` | `integer [1..512]` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -872,36 +872,36 @@ Open Sound Control interface; compiled in for 0.12.11. | `port` | `integer [1..65535]` | | `rxbuffer` | `integer [1..65535]` | | `txbuffer` | `integer [1..65535]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -914,36 +914,36 @@ Virtual port compatibility name. | `name` | `string` | | `brightness` | `integer [0..255]` | | `power` | `integer [0..255]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. @@ -956,36 +956,36 @@ Virtual in-memory port. | `name` | `string` | | `brightness` | `integer [0..255]` | | `power` | `integer [0..255]` | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `w` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!w+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `white` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!white+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!tx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!sda+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `r` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!r+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `red` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!red+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rx+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!scl+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `g` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!g+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `green` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!green+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `b` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!b+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `blue` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!blue+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `rts` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!rts+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `w` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!w+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `white` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!white+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!tx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!sda+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `r` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!r+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `red` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!red+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rx+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!scl+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `g` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!g+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `green` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!green+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `b` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!b+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `blue` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!blue+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `rts` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!rts+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | GPIO bases accept position-independent `!`, `+`, `-` decorators. diff --git a/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md b/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md index c48516f..8c2a810 100644 --- a/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md +++ b/creator-kit/documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md @@ -18,12 +18,12 @@ These tables are generated from the parser contract. Studio uses `additionalProp | `debug` | `boolean or integer [0..5]` | supported | | `wifi` | `boolean` | supported | | `websocket` | `boolean` | supported | -| `btn` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `!btn+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `button` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `!button+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `led` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | -| `!led+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `btn` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `!btn+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `button` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `!button+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `led` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `!led+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | ## `wifi` @@ -36,8 +36,8 @@ These tables are generated from the parser contract. Studio uses `additionalProp | Keyword | Type / allowed values | Status | | --- | --- | --- | | `type` | `"SYSTEM" \| "DS1307" \| "PCF8563"` | supported | -| `sda` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | -| `scl` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `sda` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `scl` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | ## `pwm` @@ -55,10 +55,10 @@ This top-level section is retained for backward compatibility only. It is schedu | --- | --- | --- | | `tag` | `string /^[A-Za-z0-9_]?$/` | supported | | `type` | `"WS2805" \| "WS2811" \| "WS2812" \| "WS2812B" \| "WS2812D" \| "WS2813" \| "WS2814" \| "WS2815" \| "SK6812" \| "GS8208" \| "APA106"` | supported | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | | `txinverted` | `boolean` | supported | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | | `rxinverted` | `boolean` | supported | | `mapping` | `array` | supported | | `order` | `string (one or two 1–4 character RGBW orders separated by a vertical bar)` | supported | @@ -104,15 +104,15 @@ This section is a scalar value or collection; see the JSON Schema for its exact | --- | --- | --- | | `type` | `"PowerManage"` | supported | | `holdtime` | `integer [1..65535]` | supported | -| `alive` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | deprecated | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | -| `btn` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `!btn+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `button` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `!button+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `alive` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | deprecated | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `btn` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `!btn+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `button` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `!button+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | ## `sensors` @@ -124,15 +124,15 @@ This top-level section is retained for backward compatibility only. It is schedu | --- | --- | --- | | `type` | `"PowerManage"` | supported | | `holdtime` | `integer [1..65535]` | supported | -| `alive` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | deprecated | -| `en` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | -| `!en+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | -| `btn` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `!btn+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `button` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `!button+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `pin` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | -| `!pin+` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `alive` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | deprecated | +| `en` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `!en+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33` | supported | +| `btn` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `!btn+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `button` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `!button+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `pin` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | +| `!pin+` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | deprecated | ## `ble` @@ -149,8 +149,8 @@ This top-level section is retained for backward compatibility only. It is schedu | Keyword | Type / allowed values | Status | | --- | --- | --- | | `debug` | `boolean or integer [0..5]` | supported | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | | `baudrate` | `integer [1..5000000]` | supported | ## `serial` @@ -159,8 +159,8 @@ This top-level section is retained for backward compatibility only. It is schedu | --- | --- | --- | | `baudrate` | `integer [1..5000000]` | supported | | `debug` | `boolean` | supported | -| `tx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | -| `rx` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `tx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | +| `rx` | `-1 \| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10 \| 11 \| 12 \| 13 \| 14 \| 15 \| 16 \| 17 \| 18 \| 19 \| 20 \| 21 \| 22 \| 23 \| 25 \| 26 \| 27 \| 32 \| 33 \| 34 \| 35 \| 36 \| 37 \| 38 \| 39` | supported | | `enable` | `boolean` | supported | ## `espnow` @@ -208,8 +208,9 @@ This top-level section is retained for backward compatibility only. It is schedu - DALI maxcolortemp must be greater than or equal to mincolortemp. - A segment section must refer to an existing I/O label. - Segment size is shorthand for from=1,to=size. -- DAC order W requires exactly one GPIO 25/26; RB or an omitted order requires both unique DAC GPIOs 25 and 26. -- ADC inputs are limited to ADC1 GPIOs 32..39; RTC I2C pins must be output-capable. +- Pin value -1 means not connected for every GPIO pin schema. +- DAC order W requires exactly one GPIO 25/26 or -1; RB or an omitted order requires two values from -1, 25 and 26, and connected GPIOs must be unique. +- ADC inputs are limited to ADC1 GPIOs 32..39 or -1; RTC I2C pins must be output-capable or -1. - controller.btn wins over deprecated controller.button when both are present. - plugins PowerManage btn wins over deprecated button and pin aliases. diff --git a/creator-kit/documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md b/creator-kit/documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md index 2a64938..23369f3 100644 --- a/creator-kit/documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md +++ b/creator-kit/documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md @@ -4,11 +4,12 @@ be used by a person together with Codex or Claude. ## Release status -The first public artifact is `creator-kit-v0.1.0-rc.3`, published as a GitHub -prerelease from the public `Spectoda/examples` repository. It contains the -complete firmware 0.12.11 Controller Config reference and machine-readable -contract plus one MIT-licensed Event Player example. It is not installed into a -partner Organization automatically. +Public artifacts use exact `creator-kit-v` GitHub prerelease tags in +the public `Spectoda/examples` repository. The initial public artifact was +`creator-kit-v0.1.0-rc.3`; later candidates must use a new immutable version +instead of replacing it. Read `bundle.json` and `source-lock.json` to identify +the exact installed version, source revisions and hashes. A prerelease is not +installed into a partner Organization automatically. The supported v1 transport is a GitHub Release plus its read-only `stable-channel.json` descriptor. Every installation must name an exact bundle diff --git a/creator-kit/indexes/documents.json b/creator-kit/indexes/documents.json index 3acbcc2..7b0357c 100644 --- a/creator-kit/indexes/documents.json +++ b/creator-kit/indexes/documents.json @@ -13,14 +13,14 @@ "path": "documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md", "title": "FW 0.12.11 – I/O types", "summary": "All 23 available I/O types, their keywords, variants and compile-time limitations.", - "sha256": "c392c1c2289eeaad6b0f3e0c77ea821ea455ee9c688b893adb8204e4523c61a0" + "sha256": "8bd0702d439b573fea4c89d4af3c2a2109e09586dd0e738eefd4c693c8e04780" }, { "id": "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", "path": "documents/en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md", "title": "FW 0.12.11 – complete keywords", "summary": "Every top-level section and nested keyword processed by Controller config in firmware 0.12.11.", - "sha256": "acc885a529f405ac2047fadbb0de9b431f5ab841677f3b47f83db5c354d4ba0e" + "sha256": "3006cd6917a01761a60b8b26e04367b9a36e1dd39b1889c7c57a4bd3aadf0f9a" }, { "id": "en__pro-vyrobce-a-tvurce__controller-config__index__md", @@ -48,7 +48,7 @@ "path": "documents/en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md", "title": "Spectoda Creator Kit", "summary": "The Spectoda Creator Kit is an exact-version, reviewable knowledge bundle for makers and their coding agents.", - "sha256": "9f14dd2893688637f440a16432f947609d68267549288f6c96be354ce4c7a7fd" + "sha256": "780a43eea5a64b8d5ba72637ed7260a8fb07b89fae4ad34ed54f57bd772ec8df" } ] } diff --git a/creator-kit/indexes/terms.json b/creator-kit/indexes/terms.json index cf7ccf5..ea2bd80 100644 --- a/creator-kit/indexes/terms.json +++ b/creator-kit/indexes/terms.json @@ -387,6 +387,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "artifacts", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "artnet", "documentIds": [ @@ -728,6 +734,12 @@ "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md" ] }, + { + "term": "candidates", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "cannot", "documentIds": [ @@ -959,8 +971,7 @@ "documentIds": [ "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md", - "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" ] }, { @@ -1017,6 +1028,13 @@ "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md" ] }, + { + "term": "connected", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-io-types__md", + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md" + ] + }, { "term": "connection", "documentIds": [ @@ -1175,6 +1193,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "creator-kit-v", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "creator-kit-v0", "documentIds": [ @@ -1598,6 +1622,7 @@ { "term": "each", "documentIds": [ + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-io-types__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md" ] }, @@ -1726,8 +1751,7 @@ { "term": "event", "documentIds": [ - "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md" ] }, { @@ -1740,6 +1764,7 @@ "term": "every", "documentIds": [ "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-io-types__md", + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md", "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] @@ -1762,8 +1787,7 @@ "documentIds": [ "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md", - "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md" ] }, { @@ -2035,8 +2059,7 @@ "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md", "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md", - "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" ] }, { @@ -2224,6 +2247,12 @@ "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" ] }, + { + "term": "hashes", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "helps", "documentIds": [ @@ -2296,6 +2325,18 @@ "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" ] }, + { + "term": "identify", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, + { + "term": "immutable", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "implementation", "documentIds": [ @@ -2371,6 +2412,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "initial", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "initialization", "documentIds": [ @@ -2429,6 +2476,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "instead", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "integer", "documentIds": [ @@ -2641,6 +2694,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "later", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "layout", "documentIds": [ @@ -2816,8 +2875,7 @@ { "term": "machine-readable", "documentIds": [ - "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" ] }, { @@ -2955,6 +3013,7 @@ "term": "may", "documentIds": [ "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md", + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-io-types__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md" ] }, @@ -2985,6 +3044,7 @@ { "term": "means", "documentIds": [ + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md" ] }, @@ -3030,12 +3090,6 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, - { - "term": "mit-licensed", - "documentIds": [ - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" - ] - }, { "term": "mode", "documentIds": [ @@ -3319,8 +3373,7 @@ "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-io-types__md", "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", "en__pro-vyrobce-a-tvurce__controller-config__index__md", - "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md" ] }, { @@ -3642,12 +3695,6 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, - { - "term": "player", - "documentIds": [ - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" - ] - }, { "term": "plugins", "documentIds": [ @@ -3897,6 +3944,12 @@ "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" ] }, + { + "term": "read", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "read-only", "documentIds": [ @@ -3986,8 +4039,7 @@ { "term": "reference", "documentIds": [ - "en__pro-vyrobce-a-tvurce__controller-config__index__md", - "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + "en__pro-vyrobce-a-tvurce__controller-config__index__md" ] }, { @@ -4090,6 +4142,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "replacing", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "repository", "documentIds": [ @@ -4185,6 +4243,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "revisions", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "rgb", "documentIds": [ @@ -4641,6 +4705,12 @@ "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" ] }, + { + "term": "source-lock", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "specific", "documentIds": [ @@ -4898,6 +4968,12 @@ "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md" ] }, + { + "term": "tags", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "tap", "documentIds": [ @@ -5346,6 +5422,7 @@ "term": "value", "documentIds": [ "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md", + "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-io-types__md", "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", "en__pro-vyrobce-a-tvurce__controller-config__io-type-dali__md", "en__pro-vyrobce-a-tvurce__controller-config__wasm-schema__md" @@ -5455,6 +5532,12 @@ "en__pro-vyrobce-a-tvurce__controller-config__ethernet__md" ] }, + { + "term": "was", + "documentIds": [ + "en__pro-vyrobce-a-tvurce__spectoda-creator-kit__md" + ] + }, { "term": "wasm", "documentIds": [ diff --git a/creator-kit/manifest.json b/creator-kit/manifest.json index 20e6c1d..6939f7f 100644 --- a/creator-kit/manifest.json +++ b/creator-kit/manifest.json @@ -6,7 +6,7 @@ "contentScope": "licensed-documentation-with-public-examples", "source": { "repository": "Spectoda/documentation", - "commit": "6f6051686fe556a85318c7dd529ac061ab48c38d" + "commit": "08cb4e5f8155178c18a86edd4a515f7d6c8fb835" }, "documents": [ { @@ -35,7 +35,7 @@ "title": "FW 0.12.11 – I/O types", "summary": "All 23 available I/O types, their keywords, variants and compile-time limitations.", "format": "md", - "sha256": "c392c1c2289eeaad6b0f3e0c77ea821ea455ee9c688b893adb8204e4523c61a0", + "sha256": "8bd0702d439b573fea4c89d4af3c2a2109e09586dd0e738eefd4c693c8e04780", "agentExport": { "include": true, "audience": "partner-maker", @@ -45,7 +45,7 @@ "legalTraceabilityStatus": null, "legalTraceability": null }, - "sourceSha256": "5caf1cd413f1fc0f6809f593f29ffb0ecd14839f60e26cadf113480e03f1f826" + "sourceSha256": "0c3fcbb0a1047e5e2931a801c9e9d0f07c8b81a8fd6fcb30df19fc9ed8b44e9a" }, { "id": "en__pro-vyrobce-a-tvurce__controller-config__fw-01211-keywords__md", @@ -54,7 +54,7 @@ "title": "FW 0.12.11 – complete keywords", "summary": "Every top-level section and nested keyword processed by Controller config in firmware 0.12.11.", "format": "md", - "sha256": "acc885a529f405ac2047fadbb0de9b431f5ab841677f3b47f83db5c354d4ba0e", + "sha256": "3006cd6917a01761a60b8b26e04367b9a36e1dd39b1889c7c57a4bd3aadf0f9a", "agentExport": { "include": true, "audience": "partner-maker", @@ -64,7 +64,7 @@ "legalTraceabilityStatus": null, "legalTraceability": null }, - "sourceSha256": "23be2a096a1aedbb233cddb0700e21a1fcfe3d6746124c705fd05abb30cfb47f" + "sourceSha256": "20171c17728142cfb9b754c06f7b279e54cd717124e22db83c2335759833904e" }, { "id": "en__pro-vyrobce-a-tvurce__controller-config__index__md", @@ -130,7 +130,7 @@ "title": "Spectoda Creator Kit", "summary": "The Spectoda Creator Kit is an exact-version, reviewable knowledge bundle for makers and their coding agents.", "format": "md", - "sha256": "9f14dd2893688637f440a16432f947609d68267549288f6c96be354ce4c7a7fd", + "sha256": "780a43eea5a64b8d5ba72637ed7260a8fb07b89fae4ad34ed54f57bd772ec8df", "agentExport": { "include": true, "audience": "partner-maker", @@ -140,7 +140,7 @@ "legalTraceabilityStatus": null, "legalTraceability": null }, - "sourceSha256": "834752ec0bc4fc8f739c00cbbd56f82a790ea8ecabacf890d5358841f78e7809" + "sourceSha256": "acedc127c99c862153cd4ba4edccf867cf919bef6d270a3c8055bb775573467c" } ], "assets": [ @@ -149,15 +149,16 @@ "path": "assets/docs/controller-config/0.12.11/controller-config.contract.json", "sourcePath": "app/v1/public/assets/docs/controller-config/0.12.11/controller-config.contract.json", "mediaType": "application/json", - "sha256": "760cbcde5038f98bae60aea96f6f36f2b4b01aae04c33571b26cfbe2fcd1b38f", - "sourceSha256": "760cbcde5038f98bae60aea96f6f36f2b4b01aae04c33571b26cfbe2fcd1b38f", + "sha256": "a2f6fc92495902723a89f89d223e5bf61e4c5ad704b3909aee0cee9d342c6f0b", + "sourceSha256": "a2f6fc92495902723a89f89d223e5bf61e4c5ad704b3909aee0cee9d342c6f0b", "license": "CC-BY-4.0", "sourceLock": "dev-6455-cc-by-4.0-fw-0.12.11", "publicDerivative": true, "firmwareVersion": "0.12.11", "upstreamSource": { "repository": "Spectoda/firmware", - "commit": "51a8d6337d968b47f563bf2decb8f7404d93c27a" + "commit": "51a8d6337d968b47f563bf2decb8f7404d93c27a", + "revisionCommit": "f1c48452350413166dd19d28d5aaf9b9a89152d5" } }, { @@ -165,15 +166,16 @@ "path": "assets/docs/controller-config/0.12.11/controller-config.schema.json", "sourcePath": "app/v1/public/assets/docs/controller-config/0.12.11/controller-config.schema.json", "mediaType": "application/schema+json", - "sha256": "d9ee689ad41bb0b845070d77dfe6eb061976f9e077c293a730e5f520ea8f037c", - "sourceSha256": "d9ee689ad41bb0b845070d77dfe6eb061976f9e077c293a730e5f520ea8f037c", + "sha256": "be1d8dad5262ecfa22f8b4415b4bffce6a897a0cc315d5975811f66cd521594b", + "sourceSha256": "be1d8dad5262ecfa22f8b4415b4bffce6a897a0cc315d5975811f66cd521594b", "license": "CC-BY-4.0", "sourceLock": "dev-6455-cc-by-4.0-fw-0.12.11", "publicDerivative": true, "firmwareVersion": "0.12.11", "upstreamSource": { "repository": "Spectoda/firmware", - "commit": "51a8d6337d968b47f563bf2decb8f7404d93c27a" + "commit": "51a8d6337d968b47f563bf2decb8f7404d93c27a", + "revisionCommit": "f1c48452350413166dd19d28d5aaf9b9a89152d5" } } ], @@ -192,7 +194,7 @@ }, "source": { "repository": "Spectoda/examples", - "commit": "e4be6dd07814c1dc8816ffc0e4ea518532e411ec" + "commit": "97fd90afbc9839830b3dc7f73df36f385f66564d" }, "files": [ { diff --git a/creator-kit/schemas/creator-kit-manifest.v1.schema.json b/creator-kit/schemas/creator-kit-manifest.v1.schema.json index a7be8bb..7a8746d 100644 --- a/creator-kit/schemas/creator-kit-manifest.v1.schema.json +++ b/creator-kit/schemas/creator-kit-manifest.v1.schema.json @@ -265,7 +265,8 @@ "type": "object", "required": [ "repository", - "commit" + "commit", + "revisionCommit" ], "properties": { "repository": { @@ -274,6 +275,10 @@ "commit": { "type": "string", "pattern": "^[a-f0-9]{40}$" + }, + "revisionCommit": { + "type": "string", + "pattern": "^[a-f0-9]{40}$" } }, "additionalProperties": false diff --git a/creator-kit/schemas/creator-kit-policy.v1.schema.json b/creator-kit/schemas/creator-kit-policy.v1.schema.json index e3c623e..4420c9c 100644 --- a/creator-kit/schemas/creator-kit-policy.v1.schema.json +++ b/creator-kit/schemas/creator-kit-policy.v1.schema.json @@ -12,6 +12,7 @@ "allowedAudiences", "allowedLicenses", "allowedSourceLocks", + "allowedDocumentPaths", "authorizedRealVersions", "allowedAssets", "maxBundleBytes", @@ -41,6 +42,15 @@ "minItems": 1, "uniqueItems": true }, + "allowedDocumentPaths": { + "type": "array", + "items": { + "type": "string", + "pattern": "^en/(?!.*\\.\\.(?:/|$)).+\\.mdx?$" + }, + "minItems": 1, + "uniqueItems": true + }, "authorizedRealVersions": { "type": "array", "items": { @@ -65,7 +75,8 @@ "sourceSha256", "firmwareVersion", "upstreamRepository", - "upstreamCommit" + "upstreamCommit", + "upstreamRevisionCommit" ], "properties": { "role": { "enum": ["controller-config-contract", "controller-config-schema"] }, @@ -78,7 +89,8 @@ "sourceSha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "firmwareVersion": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" }, "upstreamRepository": { "const": "Spectoda/firmware" }, - "upstreamCommit": { "type": "string", "pattern": "^[a-f0-9]{40}$" } + "upstreamCommit": { "type": "string", "pattern": "^[a-f0-9]{40}$" }, + "upstreamRevisionCommit": { "type": "string", "pattern": "^[a-f0-9]{40}$" } }, "additionalProperties": false }, diff --git a/creator-kit/schemas/creator-kit-source-lock.v1.schema.json b/creator-kit/schemas/creator-kit-source-lock.v1.schema.json index 3669897..f7911e4 100644 --- a/creator-kit/schemas/creator-kit-source-lock.v1.schema.json +++ b/creator-kit/schemas/creator-kit-source-lock.v1.schema.json @@ -148,7 +148,8 @@ "publicDerivative", "firmwareVersion", "upstreamRepository", - "upstreamCommit" + "upstreamCommit", + "upstreamRevisionCommit" ], "properties": { "role": { @@ -194,6 +195,10 @@ "upstreamCommit": { "type": "string", "pattern": "^[a-f0-9]{40}$" + }, + "upstreamRevisionCommit": { + "type": "string", + "pattern": "^[a-f0-9]{40}$" } }, "additionalProperties": false diff --git a/creator-kit/selection.json b/creator-kit/selection.json index 91acae0..4ea06a9 100644 --- a/creator-kit/selection.json +++ b/creator-kit/selection.json @@ -62,7 +62,7 @@ "selectionSourcePath": "data/v2/examples/player-show-global-sparse-cues/creator-kit.json", "source": { "repository": "Spectoda/examples", - "commit": "e4be6dd07814c1dc8816ffc0e4ea518532e411ec" + "commit": "97fd90afbc9839830b3dc7f73df36f385f66564d" }, "files": [ "data/v2/examples/player-show-global-sparse-cues/README.md", diff --git a/creator-kit/source-lock.json b/creator-kit/source-lock.json index 1f53aee..cab0227 100644 --- a/creator-kit/source-lock.json +++ b/creator-kit/source-lock.json @@ -1,8 +1,8 @@ { "schemaVersion": "creator-kit-source-lock.v1", - "exporterVersion": "creator-kit-exporter/1.3.0", + "exporterVersion": "creator-kit-exporter/1.4.0", "repository": "Spectoda/documentation", - "commit": "6f6051686fe556a85318c7dd529ac061ab48c38d", + "commit": "08cb4e5f8155178c18a86edd4a515f7d6c8fb835", "files": [ { "sourcePath": "en/pro-vyrobce-a-tvurce/controller-config/ethernet.md", @@ -15,8 +15,8 @@ }, { "sourcePath": "en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md", - "sourceSha256": "5caf1cd413f1fc0f6809f593f29ffb0ecd14839f60e26cadf113480e03f1f826", - "normalizedSha256": "c392c1c2289eeaad6b0f3e0c77ea821ea455ee9c688b893adb8204e4523c61a0", + "sourceSha256": "0c3fcbb0a1047e5e2931a801c9e9d0f07c8b81a8fd6fcb30df19fc9ed8b44e9a", + "normalizedSha256": "8bd0702d439b573fea4c89d4af3c2a2109e09586dd0e738eefd4c693c8e04780", "license": "CC-BY-4.0", "publicDerivative": true, "legalTraceabilityStatus": null, @@ -24,8 +24,8 @@ }, { "sourcePath": "en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md", - "sourceSha256": "23be2a096a1aedbb233cddb0700e21a1fcfe3d6746124c705fd05abb30cfb47f", - "normalizedSha256": "acc885a529f405ac2047fadbb0de9b431f5ab841677f3b47f83db5c354d4ba0e", + "sourceSha256": "20171c17728142cfb9b754c06f7b279e54cd717124e22db83c2335759833904e", + "normalizedSha256": "3006cd6917a01761a60b8b26e04367b9a36e1dd39b1889c7c57a4bd3aadf0f9a", "license": "CC-BY-4.0", "publicDerivative": true, "legalTraceabilityStatus": null, @@ -60,8 +60,8 @@ }, { "sourcePath": "en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md", - "sourceSha256": "834752ec0bc4fc8f739c00cbbd56f82a790ea8ecabacf890d5358841f78e7809", - "normalizedSha256": "9f14dd2893688637f440a16432f947609d68267549288f6c96be354ce4c7a7fd", + "sourceSha256": "acedc127c99c862153cd4ba4edccf867cf919bef6d270a3c8055bb775573467c", + "normalizedSha256": "780a43eea5a64b8d5ba72637ed7260a8fb07b89fae4ad34ed54f57bd772ec8df", "license": "CC-BY-4.0", "publicDerivative": true, "legalTraceabilityStatus": null, @@ -73,34 +73,36 @@ "role": "controller-config-contract", "sourcePath": "app/v1/public/assets/docs/controller-config/0.12.11/controller-config.contract.json", "bundlePath": "assets/docs/controller-config/0.12.11/controller-config.contract.json", - "sourceSha256": "760cbcde5038f98bae60aea96f6f36f2b4b01aae04c33571b26cfbe2fcd1b38f", - "bundleSha256": "760cbcde5038f98bae60aea96f6f36f2b4b01aae04c33571b26cfbe2fcd1b38f", + "sourceSha256": "a2f6fc92495902723a89f89d223e5bf61e4c5ad704b3909aee0cee9d342c6f0b", + "bundleSha256": "a2f6fc92495902723a89f89d223e5bf61e4c5ad704b3909aee0cee9d342c6f0b", "license": "CC-BY-4.0", "sourceLock": "dev-6455-cc-by-4.0-fw-0.12.11", "publicDerivative": true, "firmwareVersion": "0.12.11", "upstreamRepository": "Spectoda/firmware", - "upstreamCommit": "51a8d6337d968b47f563bf2decb8f7404d93c27a" + "upstreamCommit": "51a8d6337d968b47f563bf2decb8f7404d93c27a", + "upstreamRevisionCommit": "f1c48452350413166dd19d28d5aaf9b9a89152d5" }, { "role": "controller-config-schema", "sourcePath": "app/v1/public/assets/docs/controller-config/0.12.11/controller-config.schema.json", "bundlePath": "assets/docs/controller-config/0.12.11/controller-config.schema.json", - "sourceSha256": "d9ee689ad41bb0b845070d77dfe6eb061976f9e077c293a730e5f520ea8f037c", - "bundleSha256": "d9ee689ad41bb0b845070d77dfe6eb061976f9e077c293a730e5f520ea8f037c", + "sourceSha256": "be1d8dad5262ecfa22f8b4415b4bffce6a897a0cc315d5975811f66cd521594b", + "bundleSha256": "be1d8dad5262ecfa22f8b4415b4bffce6a897a0cc315d5975811f66cd521594b", "license": "CC-BY-4.0", "sourceLock": "dev-6455-cc-by-4.0-fw-0.12.11", "publicDerivative": true, "firmwareVersion": "0.12.11", "upstreamRepository": "Spectoda/firmware", - "upstreamCommit": "51a8d6337d968b47f563bf2decb8f7404d93c27a" + "upstreamCommit": "51a8d6337d968b47f563bf2decb8f7404d93c27a", + "upstreamRevisionCommit": "f1c48452350413166dd19d28d5aaf9b9a89152d5" } ], "documentationBundle": { "repository": "Spectoda/documentation", - "commit": "6f6051686fe556a85318c7dd529ac061ab48c38d", - "exporterVersion": "creator-kit-exporter/1.3.0", - "checksumDigest": "d4e2958303e3fd34dcb5e5c50a8a5c6a0266068ec2f15d88406a2a33bcb1f054" + "commit": "08cb4e5f8155178c18a86edd4a515f7d6c8fb835", + "exporterVersion": "creator-kit-exporter/1.4.0", + "checksumDigest": "155ce7c6a14581672e4a83f981a4e08e78e98c31b26c2f9c7f6bdfc2a331ed31" }, "examples": [ { @@ -112,7 +114,7 @@ "license": "MIT", "source": { "repository": "Spectoda/examples", - "commit": "e4be6dd07814c1dc8816ffc0e4ea518532e411ec" + "commit": "97fd90afbc9839830b3dc7f73df36f385f66564d" } }, { @@ -124,7 +126,7 @@ "license": "MIT", "source": { "repository": "Spectoda/examples", - "commit": "e4be6dd07814c1dc8816ffc0e4ea518532e411ec" + "commit": "97fd90afbc9839830b3dc7f73df36f385f66564d" } }, { @@ -136,7 +138,7 @@ "license": "MIT", "source": { "repository": "Spectoda/examples", - "commit": "e4be6dd07814c1dc8816ffc0e4ea518532e411ec" + "commit": "97fd90afbc9839830b3dc7f73df36f385f66564d" } }, { @@ -148,7 +150,7 @@ "license": "MIT", "source": { "repository": "Spectoda/examples", - "commit": "e4be6dd07814c1dc8816ffc0e4ea518532e411ec" + "commit": "97fd90afbc9839830b3dc7f73df36f385f66564d" } } ] diff --git a/scripts/creator-kit/build.mjs b/scripts/creator-kit/build.mjs index 3dc4300..4d6c803 100644 --- a/scripts/creator-kit/build.mjs +++ b/scripts/creator-kit/build.mjs @@ -4,7 +4,7 @@ import path from "node:path"; export const BUNDLE_NAME = "Spectoda Creator Kit"; export const BUNDLE_VERSION = "0.1.0-rc.4"; -export const EXPORTER_VERSION = "examples-creator-kit-packager/1.1.0"; +export const EXPORTER_VERSION = "examples-creator-kit-packager/1.2.0"; export const sha256 = (value) => createHash("sha256").update(value).digest("hex"); export const relativePosix = (root, absolute) => path.relative(root, absolute).split(path.sep).join("/"); diff --git a/scripts/creator-kit/creator-kit.test.mjs b/scripts/creator-kit/creator-kit.test.mjs index 3a5da73..40b9a54 100644 --- a/scripts/creator-kit/creator-kit.test.mjs +++ b/scripts/creator-kit/creator-kit.test.mjs @@ -54,7 +54,7 @@ test("double-builds a deterministic prerelease archive without mutating the snap assert.equal(first.provenance.bundleDigest, second.provenance.bundleDigest); assert.equal(first.provenance.releaseType, "prerelease"); assert.equal(first.provenance.stableChannelState, "unpublished"); - assert.equal(first.provenance.documentationSource.commit, "6f6051686fe556a85318c7dd529ac061ab48c38d"); + assert.equal(first.provenance.documentationSource.commit, "08cb4e5f8155178c18a86edd4a515f7d6c8fb835"); assert.deepEqual(await readFile(first.archive.archivePath), await readFile(second.archive.archivePath)); } finally { await rm(root, { recursive: true, force: true }); @@ -74,6 +74,26 @@ test("fails closed when the committed snapshot is tampered", async () => { } }); +test("rejects a rehashed but unauthorized firmware semantic revision", async () => { + const root = await mkdtemp(path.join(tmpdir(), "creator-kit-revision-")); + try { + const bundle = path.join(root, "bundle"); + await cp(BUNDLE_ROOT, bundle, { recursive: true }); + const manifestPath = path.join(bundle, "manifest.json"); + const manifest = JSON.parse(await readFile(manifestPath, "utf8")); + for (const asset of manifest.assets) asset.upstreamSource.revisionCommit = "0".repeat(40); + await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf8"); + const sourceLockPath = path.join(bundle, "source-lock.json"); + const sourceLock = JSON.parse(await readFile(sourceLockPath, "utf8")); + for (const asset of sourceLock.assets) asset.upstreamRevisionCommit = "0".repeat(40); + await writeFile(sourceLockPath, `${JSON.stringify(sourceLock, null, 2)}\n`, "utf8"); + await writeFile(path.join(bundle, "checksums.sha256"), await createChecksums(bundle), "utf8"); + await assert.rejects(validateBundle(bundle), /firmware provenance/u); + } finally { + await rm(root, { recursive: true, force: true }); + } +}); + test("rejects credential assignments and bare non-public URLs after valid rehashing", async () => { const root = await mkdtemp(path.join(tmpdir(), "creator-kit-public-safety-")); try { @@ -85,7 +105,7 @@ test("rejects credential assignments and bare non-public URLs after valid rehash const linkBundle = path.join(root, "link"); await cp(BUNDLE_ROOT, linkBundle, { recursive: true }); await replaceDocumentAndRehash(linkBundle, "# Unsafe\n\nVisit https://service.internal/private for details.\n"); - await assert.rejects(validateBundle(linkBundle), /non-public HTTPS link/u); + await assert.rejects(validateBundle(linkBundle), /private or unsupported URL/u); const metadataBundle = path.join(root, "metadata"); await cp(BUNDLE_ROOT, metadataBundle, { recursive: true }); @@ -94,7 +114,7 @@ test("rejects credential assignments and bare non-public URLs after valid rehash manifest.documents[0].title = "token: abcdefghijklmnopqrstuvwxyz"; await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf8"); await writeFile(path.join(metadataBundle, "checksums.sha256"), await createChecksums(metadataBundle), "utf8"); - await assert.rejects(validateBundle(metadataBundle), /metadata failed public-safety validation/u); + await assert.rejects(validateBundle(metadataBundle), /public-safety validation/u); const executableBundle = path.join(root, "executable"); await cp(BUNDLE_ROOT, executableBundle, { recursive: true }); @@ -128,6 +148,169 @@ test("rejects credential assignments and bare non-public URLs after valid rehash } }); +test("rejects executable public Markdown and decoded JSON safety bypasses after rehashing", async () => { + const root = await mkdtemp(path.join(tmpdir(), "creator-kit-decoded-safety-")); + try { + const readmeBundle = path.join(root, "root-readme-executable"); + await cp(BUNDLE_ROOT, readmeBundle, { recursive: true }); + await writeFile(path.join(readmeBundle, "README.md"), "# Unsafe\n\n\n", "utf8"); + await writeFile(path.join(readmeBundle, "checksums.sha256"), await createChecksums(readmeBundle), "utf8"); + await assert.rejects(validateBundle(readmeBundle), /executable Markdown\/MDX content/u); + + const inlineLinkBundle = path.join(root, "root-readme-inline-executable-link"); + await cp(BUNDLE_ROOT, inlineLinkBundle, { recursive: true }); + await writeFile(path.join(inlineLinkBundle, "README.md"), "# Unsafe\n\n[Run](javascript:alert(1))\n", "utf8"); + await writeFile(path.join(inlineLinkBundle, "checksums.sha256"), await createChecksums(inlineLinkBundle), "utf8"); + await assert.rejects(validateBundle(inlineLinkBundle), /unsupported external link/u); + + const referenceLinkBundle = path.join(root, "root-readme-reference-executable-link"); + await cp(BUNDLE_ROOT, referenceLinkBundle, { recursive: true }); + await writeFile( + path.join(referenceLinkBundle, "README.md"), + "# Unsafe\n\n[Run][payload]\n\n[payload]: javascript:alert(1)\n", + "utf8", + ); + await writeFile(path.join(referenceLinkBundle, "checksums.sha256"), await createChecksums(referenceLinkBundle), "utf8"); + await assert.rejects(validateBundle(referenceLinkBundle), /unsupported external link/u); + + const encodedInlineLinkBundle = path.join(root, "root-readme-encoded-inline-executable-link"); + await cp(BUNDLE_ROOT, encodedInlineLinkBundle, { recursive: true }); + await writeFile(path.join(encodedInlineLinkBundle, "README.md"), "# Unsafe\n\n[Run](javascript:alert(1))\n", "utf8"); + await writeFile(path.join(encodedInlineLinkBundle, "checksums.sha256"), await createChecksums(encodedInlineLinkBundle), "utf8"); + await assert.rejects(validateBundle(encodedInlineLinkBundle), /unsupported external link/u); + + const encodedReferenceLinkBundle = path.join(root, "root-readme-encoded-reference-executable-link"); + await cp(BUNDLE_ROOT, encodedReferenceLinkBundle, { recursive: true }); + await writeFile( + path.join(encodedReferenceLinkBundle, "README.md"), + "# Unsafe\n\n[Run][payload]\n\n[payload]: javascript:alert(1)\n", + "utf8", + ); + await writeFile(path.join(encodedReferenceLinkBundle, "checksums.sha256"), await createChecksums(encodedReferenceLinkBundle), "utf8"); + await assert.rejects(validateBundle(encodedReferenceLinkBundle), /unsupported external link/u); + + const encodedHtmlLinkBundle = path.join(root, "root-readme-encoded-html-executable-link"); + await cp(BUNDLE_ROOT, encodedHtmlLinkBundle, { recursive: true }); + await writeFile( + path.join(encodedHtmlLinkBundle, "README.md"), + "# Unsafe\n\nRun\n", + "utf8", + ); + await writeFile(path.join(encodedHtmlLinkBundle, "checksums.sha256"), await createChecksums(encodedHtmlLinkBundle), "utf8"); + await assert.rejects(validateBundle(encodedHtmlLinkBundle), /unsupported external link/u); + + const encodedWhitespaceLinkBundle = path.join(root, "root-readme-encoded-whitespace-executable-link"); + await cp(BUNDLE_ROOT, encodedWhitespaceLinkBundle, { recursive: true }); + await writeFile( + path.join(encodedWhitespaceLinkBundle, "README.md"), + "# Unsafe\n\n[Run]( javascript:alert(1))\n", + "utf8", + ); + await writeFile(path.join(encodedWhitespaceLinkBundle, "checksums.sha256"), await createChecksums(encodedWhitespaceLinkBundle), "utf8"); + await assert.rejects(validateBundle(encodedWhitespaceLinkBundle), /ASCII whitespace or a control character/u); + + const encodedPrivateHostBundle = path.join(root, "root-readme-encoded-private-host"); + await cp(BUNDLE_ROOT, encodedPrivateHostBundle, { recursive: true }); + await writeFile( + path.join(encodedPrivateHostBundle, "README.md"), + "# Unsafe\n\nPrivate\n", + "utf8", + ); + await writeFile(path.join(encodedPrivateHostBundle, "checksums.sha256"), await createChecksums(encodedPrivateHostBundle), "utf8"); + await assert.rejects(validateBundle(encodedPrivateHostBundle), /non-public HTTPS link/u); + + const encodedHttpBundle = path.join(root, "root-readme-encoded-http-link"); + await cp(BUNDLE_ROOT, encodedHttpBundle, { recursive: true }); + await writeFile(path.join(encodedHttpBundle, "README.md"), "# Unsafe\n\n[Public](http://example.com)\n", "utf8"); + await writeFile(path.join(encodedHttpBundle, "checksums.sha256"), await createChecksums(encodedHttpBundle), "utf8"); + await assert.rejects(validateBundle(encodedHttpBundle), /non-public HTTPS link/u); + + const unknownEntityBundle = path.join(root, "root-readme-unknown-link-entity"); + await cp(BUNDLE_ROOT, unknownEntityBundle, { recursive: true }); + await writeFile( + path.join(unknownEntityBundle, "README.md"), + "# Unsafe\n\n[Private](https://service.internal/private)\n", + "utf8", + ); + await writeFile(path.join(unknownEntityBundle, "checksums.sha256"), await createChecksums(unknownEntityBundle), "utf8"); + await assert.rejects(validateBundle(unknownEntityBundle), /unsupported named character reference/u); + + const protocolRelativeBundle = path.join(root, "root-readme-protocol-relative-link"); + await cp(BUNDLE_ROOT, protocolRelativeBundle, { recursive: true }); + await writeFile(path.join(protocolRelativeBundle, "README.md"), "# Unsafe\n\n[Private](//service.internal/private)\n", "utf8"); + await writeFile(path.join(protocolRelativeBundle, "checksums.sha256"), await createChecksums(protocolRelativeBundle), "utf8"); + await assert.rejects(validateBundle(protocolRelativeBundle), /unsupported protocol-relative link/u); + + const exampleReadmeBundle = path.join(root, "example-readme-executable"); + await cp(BUNDLE_ROOT, exampleReadmeBundle, { recursive: true }); + await writeFile( + path.join(exampleReadmeBundle, `examples/player-show-global-sparse-cues/README.md`), + "# Unsafe\n\n\n", + "utf8", + ); + await writeFile(path.join(exampleReadmeBundle, "checksums.sha256"), await createChecksums(exampleReadmeBundle), "utf8"); + await assert.rejects(validateBundle(exampleReadmeBundle), /executable Markdown\/MDX content/u); + + const escapedUrlBundle = path.join(root, "escaped-private-url"); + await cp(BUNDLE_ROOT, escapedUrlBundle, { recursive: true }); + const urlSchemaPath = path.join(escapedUrlBundle, "schemas/creator-kit-policy.v1.schema.json"); + const urlSchema = JSON.parse(await readFile(urlSchemaPath, "utf8")); + urlSchema.$id = "https://127.0.0.1/private-policy"; + await writeFile(urlSchemaPath, `${JSON.stringify(urlSchema, null, 2).replaceAll("/", "\\/")}\n`, "utf8"); + await writeFile(path.join(escapedUrlBundle, "checksums.sha256"), await createChecksums(escapedUrlBundle), "utf8"); + await assert.rejects(validateBundle(escapedUrlBundle), /private or unsupported URL after JSON decoding/u); + + const escapedCredentialBundle = path.join(root, "escaped-credential"); + await cp(BUNDLE_ROOT, escapedCredentialBundle, { recursive: true }); + const credentialSchemaPath = path.join(escapedCredentialBundle, "schemas/creator-kit-policy.v1.schema.json"); + const credentialSchema = JSON.parse(await readFile(credentialSchemaPath, "utf8")); + credentialSchema.$comment = "token: abcdefghijklmnopqrstuvwxyz"; + const encodedCredentialSchema = JSON.stringify(credentialSchema, null, 2).replace("token:", "\\u0074oken:"); + await writeFile(credentialSchemaPath, `${encodedCredentialSchema}\n`, "utf8"); + await writeFile(path.join(escapedCredentialBundle, "checksums.sha256"), await createChecksums(escapedCredentialBundle), "utf8"); + await assert.rejects(validateBundle(escapedCredentialBundle), /public-safety validation after JSON decoding/u); + + const credentialArrayBundle = path.join(root, "credential-array"); + await cp(BUNDLE_ROOT, credentialArrayBundle, { recursive: true }); + const credentialArraySchemaPath = path.join(credentialArrayBundle, "schemas/creator-kit-policy.v1.schema.json"); + const credentialArraySchema = JSON.parse(await readFile(credentialArraySchemaPath, "utf8")); + credentialArraySchema.token = ["abcdefghijklmnopqrstuvwxyz"]; + await writeFile(credentialArraySchemaPath, `${JSON.stringify(credentialArraySchema, null, 2)}\n`, "utf8"); + await writeFile(path.join(credentialArrayBundle, "checksums.sha256"), await createChecksums(credentialArrayBundle), "utf8"); + await assert.rejects(validateBundle(credentialArrayBundle), /public-safety validation after JSON decoding/u); + + const nestedCredentialBundle = path.join(root, "nested-credential"); + await cp(BUNDLE_ROOT, nestedCredentialBundle, { recursive: true }); + const nestedCredentialSchemaPath = path.join(nestedCredentialBundle, "schemas/creator-kit-policy.v1.schema.json"); + const nestedCredentialSchema = JSON.parse(await readFile(nestedCredentialSchemaPath, "utf8")); + nestedCredentialSchema.token = { examples: ["abcdefghijklmnopqrstuvwxyz"] }; + await writeFile(nestedCredentialSchemaPath, `${JSON.stringify(nestedCredentialSchema, null, 2)}\n`, "utf8"); + await writeFile(path.join(nestedCredentialBundle, "checksums.sha256"), await createChecksums(nestedCredentialBundle), "utf8"); + await assert.rejects(validateBundle(nestedCredentialBundle), /public-safety validation after JSON decoding/u); + + const protocolRelativeJsonBundle = path.join(root, "protocol-relative-json-url"); + await cp(BUNDLE_ROOT, protocolRelativeJsonBundle, { recursive: true }); + const protocolRelativeSchemaPath = path.join(protocolRelativeJsonBundle, "schemas/creator-kit-policy.v1.schema.json"); + const protocolRelativeSchema = JSON.parse(await readFile(protocolRelativeSchemaPath, "utf8")); + protocolRelativeSchema.$comment = "//service.internal/private"; + await writeFile(protocolRelativeSchemaPath, `${JSON.stringify(protocolRelativeSchema, null, 2).replaceAll("/", "\\/")}\n`, "utf8"); + await writeFile(path.join(protocolRelativeJsonBundle, "checksums.sha256"), await createChecksums(protocolRelativeJsonBundle), "utf8"); + await assert.rejects(validateBundle(protocolRelativeJsonBundle), /unsupported URL after JSON decoding/u); + + const executableJsonBundle = path.join(root, "executable-json-url"); + await cp(BUNDLE_ROOT, executableJsonBundle, { recursive: true }); + const executableSchemaPath = path.join(executableJsonBundle, "schemas/creator-kit-policy.v1.schema.json"); + const executableSchema = JSON.parse(await readFile(executableSchemaPath, "utf8")); + executableSchema.$comment = "javascript:alert(1)"; + const encodedExecutableSchema = JSON.stringify(executableSchema, null, 2).replace("javascript:", "java\\u0073cript:"); + await writeFile(executableSchemaPath, `${encodedExecutableSchema}\n`, "utf8"); + await writeFile(path.join(executableJsonBundle, "checksums.sha256"), await createChecksums(executableJsonBundle), "utf8"); + await assert.rejects(validateBundle(executableJsonBundle), /unsupported URL after JSON decoding/u); + } finally { + await rm(root, { recursive: true, force: true }); + } +}); + test("documentation import requires an explicit private snapshot input", async () => { await assert.rejects(importDocumentationSnapshot(), /documentation-bundle is required/u); }); diff --git a/scripts/creator-kit/import-documentation-snapshot.mjs b/scripts/creator-kit/import-documentation-snapshot.mjs index 518f51d..eca4d8f 100644 --- a/scripts/creator-kit/import-documentation-snapshot.mjs +++ b/scripts/creator-kit/import-documentation-snapshot.mjs @@ -12,11 +12,11 @@ const TEMPLATE_ROOT = path.join(ROOT, "creator-kit-templates"); const EXAMPLE_ID = "player-show-global-sparse-cues"; const EXAMPLE_ROOT = path.join(ROOT, `data/v2/examples/${EXAMPLE_ID}`); const EXAMPLE_DESTINATION = `examples/${EXAMPLE_ID}`; -const DOCUMENTATION_BUNDLE_VERSION = "0.1.0-rc.3"; -const DOCUMENTATION_COMMIT = "6f6051686fe556a85318c7dd529ac061ab48c38d"; -const DOCUMENTATION_CHECKSUM_DIGEST = "d4e2958303e3fd34dcb5e5c50a8a5c6a0266068ec2f15d88406a2a33bcb1f054"; -const EXAMPLES_COMMIT = "e4be6dd07814c1dc8816ffc0e4ea518532e411ec"; +const DOCUMENTATION_COMMIT = "08cb4e5f8155178c18a86edd4a515f7d6c8fb835"; +const DOCUMENTATION_CHECKSUM_DIGEST = "155ce7c6a14581672e4a83f981a4e08e78e98c31b26c2f9c7f6bdfc2a331ed31"; +const EXAMPLES_COMMIT = "97fd90afbc9839830b3dc7f73df36f385f66564d"; const FIRMWARE_COMMIT = "51a8d6337d968b47f563bf2decb8f7404d93c27a"; +const FIRMWARE_REVISION_COMMIT = "f1c48452350413166dd19d28d5aaf9b9a89152d5"; const EXAMPLE_FILES = ["README.md", "example.yaml", "player.be"]; const json = (value) => `${JSON.stringify(value, null, 2)}\n`; @@ -193,7 +193,7 @@ export async function importDocumentationSnapshot({ documentationBundle, outputD const licenses = await readJson(path.join(input, "licenses.json")); const stable = await readJson(path.join(input, "stable-channel.json")); if ( - bundle.version !== DOCUMENTATION_BUNDLE_VERSION || + bundle.version !== BUNDLE_VERSION || bundle.contentScope !== "licensed-documentation" || sourceLock.repository !== "Spectoda/documentation" || sourceLock.commit !== DOCUMENTATION_COMMIT || @@ -205,9 +205,20 @@ export async function importDocumentationSnapshot({ documentationBundle, outputD licenses.entries?.join("\n") !== "CC-BY-4.0" || stable.state !== "unpublished" ) { - throw new Error("Documentation bundle does not match the authorized rc.3 publication contract"); + throw new Error("Documentation bundle does not match the authorized rc.4 candidate contract"); } - if (!manifest.assets.every((asset) => asset.upstreamSource?.repository === "Spectoda/firmware" && asset.upstreamSource.commit === FIRMWARE_COMMIT)) { + if ( + !manifest.assets.every((asset) => + asset.upstreamSource?.repository === "Spectoda/firmware" && + asset.upstreamSource.commit === FIRMWARE_COMMIT && + asset.upstreamSource.revisionCommit === FIRMWARE_REVISION_COMMIT + ) || + !sourceLock.assets?.every((asset) => + asset.upstreamRepository === "Spectoda/firmware" && + asset.upstreamCommit === FIRMWARE_COMMIT && + asset.upstreamRevisionCommit === FIRMWARE_REVISION_COMMIT + ) + ) { throw new Error("Controller Config assets do not match the authorized firmware provenance"); } diff --git a/scripts/creator-kit/validate.mjs b/scripts/creator-kit/validate.mjs index f587bec..62efaab 100644 --- a/scripts/creator-kit/validate.mjs +++ b/scripts/creator-kit/validate.mjs @@ -9,10 +9,11 @@ import { BUNDLE_VERSION, bundleFiles, relativePosix, sha256, verifyChecksums } f const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../.."); const DEFAULT_BUNDLE = path.join(ROOT, "creator-kit"); const EXAMPLE_ID = "player-show-global-sparse-cues"; -const DOCUMENTATION_COMMIT = "6f6051686fe556a85318c7dd529ac061ab48c38d"; -const DOCUMENTATION_CHECKSUM_DIGEST = "d4e2958303e3fd34dcb5e5c50a8a5c6a0266068ec2f15d88406a2a33bcb1f054"; -const EXAMPLES_COMMIT = "e4be6dd07814c1dc8816ffc0e4ea518532e411ec"; +const DOCUMENTATION_COMMIT = "08cb4e5f8155178c18a86edd4a515f7d6c8fb835"; +const DOCUMENTATION_CHECKSUM_DIGEST = "155ce7c6a14581672e4a83f981a4e08e78e98c31b26c2f9c7f6bdfc2a331ed31"; +const EXAMPLES_COMMIT = "97fd90afbc9839830b3dc7f73df36f385f66564d"; const FIRMWARE_COMMIT = "51a8d6337d968b47f563bf2decb8f7404d93c27a"; +const FIRMWARE_REVISION_COMMIT = "f1c48452350413166dd19d28d5aaf9b9a89152d5"; const EXPECTED_DOCUMENTS = [ "en/pro-vyrobce-a-tvurce/controller-config/ethernet.md", "en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md", @@ -24,23 +25,23 @@ const EXPECTED_DOCUMENTS = [ ]; const EXPECTED_DOCUMENT_HASHES = new Map([ ["en/pro-vyrobce-a-tvurce/controller-config/ethernet.md", { normalized: "d6441fd0b663b8f77cf9c6acee73dd4d475cbcb1abf1f56118f67ff5294b1e1b", source: "1ada69f668140b497925ca13f7000f94800a967b896d6bcf17e69033a2bb4152" }], - ["en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md", { normalized: "c392c1c2289eeaad6b0f3e0c77ea821ea455ee9c688b893adb8204e4523c61a0", source: "5caf1cd413f1fc0f6809f593f29ffb0ecd14839f60e26cadf113480e03f1f826" }], - ["en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md", { normalized: "acc885a529f405ac2047fadbb0de9b431f5ab841677f3b47f83db5c354d4ba0e", source: "23be2a096a1aedbb233cddb0700e21a1fcfe3d6746124c705fd05abb30cfb47f" }], + ["en/pro-vyrobce-a-tvurce/controller-config/fw-01211-io-types.md", { normalized: "8bd0702d439b573fea4c89d4af3c2a2109e09586dd0e738eefd4c693c8e04780", source: "0c3fcbb0a1047e5e2931a801c9e9d0f07c8b81a8fd6fcb30df19fc9ed8b44e9a" }], + ["en/pro-vyrobce-a-tvurce/controller-config/fw-01211-keywords.md", { normalized: "3006cd6917a01761a60b8b26e04367b9a36e1dd39b1889c7c57a4bd3aadf0f9a", source: "20171c17728142cfb9b754c06f7b279e54cd717124e22db83c2335759833904e" }], ["en/pro-vyrobce-a-tvurce/controller-config/index.md", { normalized: "3655bdaac1de00eed7d21b28a00a452aa7163abfe620c477ff021dfdd738d48c", source: "1e51564d970ed526a1c01dfa2e9445d46090cf13e99e8ae409ca47d7efcc01d4" }], ["en/pro-vyrobce-a-tvurce/controller-config/io-type-dali.md", { normalized: "e29e767380b857be6295bef82fc4878f005a025b3ec9d537de427e1b06c98ec3", source: "fe41a923e09eb0b5a7466b6a8b2226d3bdcad1357286ffc6188491905e2eddec" }], ["en/pro-vyrobce-a-tvurce/controller-config/wasm-schema.md", { normalized: "7b97193f4ce1f58c46e2e1eb6e5d9eb929747e2326844c8e19b9a8d5c79390b3", source: "de03ed774fa7ac3f0c820593f10f489435f2293a10fbc02b092cfe825f997668" }], - ["en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md", { normalized: "9f14dd2893688637f440a16432f947609d68267549288f6c96be354ce4c7a7fd", source: "834752ec0bc4fc8f739c00cbbd56f82a790ea8ecabacf890d5358841f78e7809" }], + ["en/pro-vyrobce-a-tvurce/spectoda-creator-kit.md", { normalized: "780a43eea5a64b8d5ba72637ed7260a8fb07b89fae4ad34ed54f57bd772ec8df", source: "acedc127c99c862153cd4ba4edccf867cf919bef6d270a3c8055bb775573467c" }], ]); const EXPECTED_ASSETS = [ { role: "controller-config-contract", path: "assets/docs/controller-config/0.12.11/controller-config.contract.json", - sha256: "760cbcde5038f98bae60aea96f6f36f2b4b01aae04c33571b26cfbe2fcd1b38f", + sha256: "a2f6fc92495902723a89f89d223e5bf61e4c5ad704b3909aee0cee9d342c6f0b", }, { role: "controller-config-schema", path: "assets/docs/controller-config/0.12.11/controller-config.schema.json", - sha256: "d9ee689ad41bb0b845070d77dfe6eb061976f9e077c293a730e5f520ea8f037c", + sha256: "be1d8dad5262ecfa22f8b4415b4bffce6a897a0cc315d5975811f66cd521594b", }, ]; const EXPECTED_EXAMPLE_FILES = [ @@ -157,6 +158,53 @@ function executableContentFinding(content, sourcePath) { return null; } +function* decodedJsonSafetyContent(value, propertyNames = []) { + if (typeof value === "string") { + yield value; + for (const propertyName of propertyNames) yield `${propertyName}: ${value}`; + return; + } + if (Array.isArray(value)) { + for (const entry of value) yield* decodedJsonSafetyContent(entry, propertyNames); + return; + } + if (value && typeof value === "object") { + for (const [key, entry] of Object.entries(value)) { + yield key; + yield* decodedJsonSafetyContent(entry, [...propertyNames, key]); + } + } +} + +function decodedJsonUrlFinding(content) { + const normalized = content.replace(/^[\u0000-\u0020\u007f]+/gu, ""); + if (normalized.startsWith("//")) return "protocol_relative_url"; + if (/^(?:javascript|vbscript|data):/iu.test(normalized)) return "executable_url_scheme"; + return null; +} + +function validatePublicBundleFile(relative, content) { + check(!publicSafetyFinding(content), `${relative} failed whole-bundle public-safety validation`); + check(!privateUrlFinding(content), `${relative} contains a private or unsupported URL`); + if (/\.(?:md|mdx)$/iu.test(relative)) { + check(!executableContentFinding(content, relative), `${relative} contains executable Markdown/MDX content`); + for (const rawHref of findLinks(content)) validatePublicLinkTarget(relative, rawHref); + } + if (relative.endsWith(".json")) { + let value; + try { + value = JSON.parse(content); + } catch { + throw new Error(`${relative} contains invalid JSON`); + } + for (const decoded of decodedJsonSafetyContent(value)) { + check(!publicSafetyFinding(decoded), `${relative} failed whole-bundle public-safety validation after JSON decoding`); + check(!privateUrlFinding(decoded), `${relative} contains a private or unsupported URL after JSON decoding`); + check(!decodedJsonUrlFinding(decoded), `${relative} contains an unsupported URL after JSON decoding`); + } + } +} + function findLinks(content) { content = outsideCodeContent(content); const links = []; @@ -175,6 +223,71 @@ function findLinks(content) { return links; } +const LINK_CHARACTER_REFERENCES = new Map([ + ["amp", "&"], + ["AMP", "&"], + ["apos", "'"], + ["colon", ":"], + ["gt", ">"], + ["GT", ">"], + ["lt", "<"], + ["LT", "<"], + ["NewLine", "\n"], + ["quot", "\""], + ["QUOT", "\""], + ["Tab", "\t"], +]); + +function decodeLinkCharacterReferences(value, sourcePath) { + return value.replace(/&(?:#(?:x([0-9a-f]+)|([0-9]+));?|([A-Za-z][A-Za-z0-9]+);)/giu, (reference, hexadecimal, decimal, named) => { + if (named) { + check(LINK_CHARACTER_REFERENCES.has(named), `${sourcePath} contains an unsupported named character reference ${reference} in a link`); + return LINK_CHARACTER_REFERENCES.get(named); + } + const codePoint = Number.parseInt(hexadecimal ?? decimal, hexadecimal ? 16 : 10); + if (!Number.isInteger(codePoint) || codePoint === 0 || codePoint > 0x10ffff || (codePoint >= 0xd800 && codePoint <= 0xdfff)) { + return "\uFFFD"; + } + return String.fromCodePoint(codePoint); + }); +} + +function validatePublicLinkTarget(sourcePath, rawHref) { + const decodedHref = decodeLinkCharacterReferences(rawHref, sourcePath); + const href = decodedHref.replace(/[\u0000-\u0020\u007f]/gu, ""); + check(href === decodedHref, `${sourcePath} contains ASCII whitespace or a control character in a link`); + check(!href.startsWith("//"), `${sourcePath} contains an unsupported protocol-relative link ${href}`); + if (/^https?:\/\//iu.test(href)) { + let url; + try { + url = new URL(href); + } catch { + throw new Error(`${sourcePath} contains an invalid external link ${href}`); + } + const hostname = url.hostname.toLowerCase().replace(/^\[|\]$/gu, "").replace(/\.$/u, ""); + check( + url.protocol === "https:" && + url.username === "" && + url.password === "" && + isIP(hostname) === 0 && + !["localhost", "127.0.0.1", "0.0.0.0"].includes(hostname) && + !hostname.endsWith(".localhost") && + !hostname.endsWith(".invalid") && + !hostname.endsWith(".local") && + !hostname.endsWith(".internal") && + !hostname.endsWith(".lan") && + !hostname.endsWith(".home.arpa"), + `${sourcePath} contains a non-public HTTPS link ${href}`, + ); + return href; + } + check( + !/^[a-z][a-z0-9+.-]*:/iu.test(href), + `${sourcePath} contains an unsupported external link ${href}`, + ); + return href; +} + function sourceCandidates(target) { const pageTarget = target.replace(/\/+$/u, ""); return [pageTarget, path.posix.join(pageTarget, "index.md"), path.posix.join(pageTarget, "index.mdx"), `${pageTarget}.md`, `${pageTarget}.mdx`]; @@ -183,28 +296,9 @@ function sourceCandidates(target) { async function assertDocumentLinks(root, document, selectedDocumentPaths, selectedAssetPaths) { const body = await readFile(path.join(root, document.path), "utf8"); for (const rawHref of findLinks(body)) { - const href = rawHref.replace(/[\t\n\f\r]/gu, ""); - check(href === rawHref, `${document.path} contains control whitespace in a link`); + const href = validatePublicLinkTarget(document.path, rawHref); if (href.startsWith("#")) continue; - if (/^https?:\/\//iu.test(href)) { - const url = new URL(href); - const hostname = url.hostname.toLowerCase().replace(/^\[|\]$/gu, "").replace(/\.$/u, ""); - check( - url.protocol === "https:" && - url.username === "" && - url.password === "" && - isIP(hostname) === 0 && - !["localhost", "127.0.0.1", "0.0.0.0"].includes(hostname) && - !hostname.endsWith(".localhost") && - !hostname.endsWith(".invalid") && - !hostname.endsWith(".local") && - !hostname.endsWith(".internal") && - !hostname.endsWith(".lan") && - !hostname.endsWith(".home.arpa"), - `${document.path} contains a non-public HTTPS link ${href}`, - ); - continue; - } + if (/^https?:\/\//iu.test(href)) continue; check(!/^[a-z][a-z0-9+.-]*:/iu.test(href), `${document.path} contains an unsupported external link ${href}`); const pathOnly = href.split("#", 1)[0]; if (pathOnly.startsWith("/assets/")) { @@ -245,6 +339,12 @@ export async function validateBundle(bundleRoot = DEFAULT_BUNDLE) { ]; for (const relative of required) check(await exists(path.join(root, relative)), `Missing bundle file ${relative}`); + const files = await bundleFiles(root); + const actualFiles = [...files.map((file) => relativePosix(root, file)), "checksums.sha256"].sort(); + for (const relative of actualFiles) { + validatePublicBundleFile(relative, await readFile(path.join(root, relative), "utf8")); + } + const bundle = await readJson(path.join(root, "bundle.json")); const manifest = await readJson(path.join(root, "manifest.json")); const sourceLock = await readJson(path.join(root, "source-lock.json")); @@ -304,11 +404,22 @@ export async function validateBundle(bundleRoot = DEFAULT_BUNDLE) { const asset = manifest.assets.find((entry) => entry.role === expected.role); check(asset?.path === expected.path && asset.sha256 === expected.sha256 && asset.sourceSha256 === expected.sha256, `${expected.role} manifest entry is invalid`); check(asset.license === "CC-BY-4.0" && asset.publicDerivative === true && asset.firmwareVersion === "0.12.11", `${expected.role} license/firmware metadata is invalid`); - check(asset.upstreamSource?.repository === "Spectoda/firmware" && asset.upstreamSource.commit === FIRMWARE_COMMIT, `${expected.role} firmware provenance is invalid`); + check( + asset.upstreamSource?.repository === "Spectoda/firmware" && + asset.upstreamSource.commit === FIRMWARE_COMMIT && + asset.upstreamSource.revisionCommit === FIRMWARE_REVISION_COMMIT, + `${expected.role} firmware provenance is invalid`, + ); const bytes = await readFile(path.join(root, asset.path)); check(sha256(bytes) === expected.sha256, `${expected.role} bundled bytes are invalid`); const lock = assetLocks.get(expected.role); - check(lock?.bundlePath === asset.path && lock.bundleSha256 === expected.sha256 && lock.upstreamCommit === FIRMWARE_COMMIT, `${expected.role} source lock is invalid`); + check( + lock?.bundlePath === asset.path && + lock.bundleSha256 === expected.sha256 && + lock.upstreamCommit === FIRMWARE_COMMIT && + lock.upstreamRevisionCommit === FIRMWARE_REVISION_COMMIT, + `${expected.role} source lock is invalid`, + ); selectedAssetPaths.add(asset.path); } for (const document of manifest.documents) await assertDocumentLinks(root, document, selectedDocumentPaths, selectedAssetPaths); @@ -352,8 +463,6 @@ export async function validateBundle(bundleRoot = DEFAULT_BUNDLE) { check(ccLicense.includes("https://creativecommons.org/licenses/by/4.0/") && /trademarks are\s+not licensed/iu.test(ccLicense), "CC BY 4.0 attribution/trademark notice is incomplete"); check(/public prerelease/iu.test(await readFile(path.join(root, "RELEASE_NOTES.md"), "utf8")), "Release notes do not describe the public prerelease"); - const files = await bundleFiles(root); - const actualFiles = [...files.map((file) => relativePosix(root, file)), "checksums.sha256"].sort(); const expectedFiles = [ ...required, ...manifest.documents.map((document) => document.path), @@ -365,11 +474,6 @@ export async function validateBundle(bundleRoot = DEFAULT_BUNDLE) { new Set(expectedFiles).size === expectedFiles.length && JSON.stringify(actualFiles) === JSON.stringify(expectedFiles.sort()), "Creator Kit contains an unmanifested or missing file", ); - for (const relative of actualFiles) { - const content = await readFile(path.join(root, relative), "utf8"); - check(!publicSafetyFinding(content), `${relative} failed whole-bundle public-safety validation`); - check(!privateUrlFinding(content), `${relative} contains a private or unsupported URL`); - } const checksums = await verifyChecksums(root); const totalBytes = (await Promise.all(files.map(async (file) => (await stat(file)).size))).reduce((sum, size) => sum + size, 0); check(totalBytes <= 8 * 1024 * 1024, `Creator Kit is larger than 8 MiB: ${totalBytes}`);