Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
componentType: [pin, i2c, i2c_output, servo, ds18x20, pwm, pixel, uart]
componentType: [pin, i2c, i2c_output, servo, ds18x20, pwm, pixel, uart, display]

name: Validate ${{ matrix.componentType }} Component Definition Files
steps:
Expand Down Expand Up @@ -84,10 +84,10 @@ jobs:
EXIT_VALUE=0

# external contributors can modify some files
EXTERNAL_REGEX="^components\/(pin|i2c|servo|ds18x20|pwm|pixel|uart|i2c_output)\/.*\/(definition\.json|image\.(png|jpe?g|gif))$"
EXTERNAL_REGEX="^components\/(pin|i2c|servo|ds18x20|pwm|pixel|uart|i2c_output|display)\/.*\/(definition\.json|image\.(png|jpe?g|gif))$"

# folks with write access to the repo (Adafruit team) can change more sensitive files
INTERNAL_REGEX="^(\.github\/.*|components\/(sensors.json|(pin|i2c|servo|ds18x20|pwm|pixel|uart|i2c_output)\/(schema.json|.*\/(definition\.json|image\.(png|jpe?g|gif)))))$"
INTERNAL_REGEX="^(\.github\/.*|components\/(sensors.json|(pin|i2c|servo|ds18x20|pwm|pixel|uart|i2c_output|display)\/(schema.json|.*\/(definition\.json|image\.(png|jpe?g|gif)))))$"

# apply the appropriate regex based on permissions of the user
if [[ $CAN_WRITE_TO_REPO ]]; then
Expand Down
17 changes: 17 additions & 0 deletions components/display/magtag/definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"displayName": "MagTag E-Ink Display",
"vendor": "Adafruit",
"productURL": "https://www.adafruit.com/product/4800",
"documentationURL": "https://learn.adafruit.com/adafruit-magtag",
"published": false,
"description": "A 2.9\" black and white e-ink display onboard the Adafruit MagTag",
"displayType": {
"type": "epd",
"spiEpd": {
"bus": 0
},
"epdConfig": {
"mode": "mono"
}
}
}
Binary file added components/display/magtag/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions components/display/rev-tft-esp32-s2-feather/definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"displayName": "ESP32-S2 Reverse TFT Feather",
"vendor": "Adafruit",
"productURL": "https://www.adafruit.com/product/5345",
"documentationURL": "https://learn.adafruit.com/esp32-s2-reverse-tft-feather",
"published": false,
"description": "1.14\" TFT on the Adafruit ESP32-S2 Reverse TFT Feather",
"displayType": {
"type": "tft",
"spiTft": {
"bus": 0
},
"tftConfig": {
"width": 135,
"height": 240,
"rotation": 3
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions components/display/rev-tft-esp32-s3-feather/definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"displayName": "ESP32-S3 Reverse TFT Feather",
"vendor": "Adafruit",
"productURL": "https://www.adafruit.com/product/5691",
"documentationURL": "https://learn.adafruit.com/esp32-s3-reverse-tft-feather",
"published": false,
"description": "1.14\" TFT on the Adafruit ESP32-S3 Reverse TFT Feather",
"displayType": {
"type": "tft",
"spiTft": {
"bus": 0
},
"tftConfig": {
"width": 135,
"height": 240,
"rotation": 3
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
121 changes: 121 additions & 0 deletions components/display/schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"title": "Display Component Definition",
"description": "A Display WipperSnapper component type for use in Adafruit IO",
"type": "object",
"required": [
"displayName",
"vendor"
],
"additionalProperties": false,
"properties": {
"displayName": {
"description": "The human-friendly name of this component.",
"type": "string",
"minLength": 3,
"maxLength": 30
},
"published": {
"description": "If true, this component is supported by the current firmware version and will be displayed to all users. If false, it is hidden behind a developer toggle so that contributors can still work on it against the production site.",
"type": "boolean"
},
"description": {
"description": "A brief description describing this component's capabilities.",
"type": "string",
"minLength": 3,
"maxLength": 255
},
"productURL": {
"description": "Link to this component's homepage.",
"type": "string",
"format": "uri"
},
"documentationURL": {
"description": "Link to this component's documentation.",
"type": "string",
"format": "uri"
},
"vendor": {
"description": "Name of the company that makes this component.",
"type": "string",
"minLength": 3,
"maxLength": 24
},
"displayType": {
"description": "Display configuration and type, maps to DisplayAddOrReplace",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"description": "The type of display",
"type": "string",
"enum": [
"unspecified",
"oled",
"epd",
"tft"
]
},
"spiEpd": {
"description": "Optional EPD SPI configuration.",
"type": "object",
"properties": {
"bus": {
"type": "integer"
}
}
},
"spiTft": {
"description": "Optional TFT SPI configuration.",
"type": "object",
"properties": {
"bus": {
"type": "integer"
}
}
},
"epdConfig": {
"description": "Optional EPD Configuration",
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"unspecified",
"grayscale4",
"mono"
]
}
}
},
"tftConfig": {
"description": "Optional TFT Configuration",
"type": "object",
"required": [
"width",
"height",
"rotation"
],
"properties": {
"width": {
"type": "integer",
"minimum": 1
},
"height": {
"type": "integer",
"minimum": 1
},
"rotation": {
"type": "integer",
"enum": [0, 1, 2, 3]
}
}
}
}
}
}
}
19 changes: 19 additions & 0 deletions components/display/tft-esp32-s2-feather/definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"displayName": "ESP32-S2 TFT Feather",
"vendor": "Adafruit",
"productURL": "https://www.adafruit.com/product/5300",
"documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-tft-feather",
"published": false,
"description": "1.14\" TFT on the Adafruit ESP32-S2 TFT Feather",
"displayType": {
"type": "tft",
"spiTft": {
"bus": 0
},
"tftConfig": {
"width": 135,
"height": 240,
"rotation": 3
}
}
}
Binary file added components/display/tft-esp32-s2-feather/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions components/display/tft-esp32-s3-feather/definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"displayName": "ESP32-S3 TFT Feather",
"vendor": "Adafruit",
"productURL": "https://www.adafruit.com/product/5483",
"documentationURL": "https://learn.adafruit.com/adafruit-esp32-s3-tft-feather",
"published": false,
"description": "1.14\" TFT on the Adafruit ESP32-S3 TFT Feather",
"displayType": {
"type": "tft",
"spiTft": {
"bus": 0
},
"tftConfig": {
"width": 135,
"height": 240,
"rotation": 3
}
}
}
Binary file added components/display/tft-esp32-s3-feather/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.