Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
15 changes: 15 additions & 0 deletions components/expanders/ads1015/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,21 @@
"productURL": "https://www.adafruit.com/product/1083",
"documentationURL": "https://learn.adafruit.com/adafruit-4-channel-adc-breakouts/",
"i2cAddresses": ["0x48", "0x49", "0x4A", "0x4B"],
"settings": {
"gain": {
"displayName": "Gain",
"description": "Programmable gain amplifier setting.",
"default": 0,
"options": [
"2/3x (±6.144V)",
"1x (±4.096V)",
"2x (±2.048V)",
"4x (±1.024V)",
"8x (±0.512V)",
"16x (±0.256V)"
]
}
},
"pins": [
{"displayName": "A0", "name": "0", "hasGPIO": false, "hasADC": true},
{"displayName": "A1", "name": "1", "hasGPIO": false, "hasADC": true},
Expand Down
17 changes: 16 additions & 1 deletion components/expanders/ads1115/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,25 @@
"productURL": "https://www.adafruit.com/product/1085",
"documentationURL": "https://learn.adafruit.com/adafruit-4-channel-adc-breakouts/",
"i2cAddresses": ["0x48", "0x49", "0x4A", "0x4B"],
"settings": {
"gain": {
"displayName": "Gain",
"description": "Programmable gain amplifier setting.",
"default": 0,
"options": [
"2/3x (±6.144V)",
"1x (±4.096V)",
"2x (±2.048V)",
"4x (±1.024V)",
"8x (±0.512V)",
"16x (±0.256V)"
]
}
},
"pins": [
{"displayName": "A0", "name": "0", "hasGPIO": false, "hasADC": true},
{"displayName": "A1", "name": "1", "hasGPIO": false, "hasADC": true},
{"displayName": "A2", "name": "2", "hasGPIO": false, "hasADC": true},
{"displayName": "A3", "name": "3", "hasGPIO": false, "hasADC": true}
]
}
}
37 changes: 37 additions & 0 deletions components/expanders/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,37 @@
"description": "A GPIO/Peripheral Expander component for use in Adafruit IO",
"type": "object",
"$defs": {
"setting": {
"type": "object",
"description": "A configurable device setting. Firmware receives the selected option's 0-based index.",
"required": ["displayName", "options"],
"additionalProperties": false,
"properties": {
"displayName": {
"description": "Human-readable label shown in the UI.",
"type": "string",
"minLength": 1,
"maxLength": 30
},
"description": {
"description": "Optional helper text explaining what this setting controls.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"default": {
"description": "Index of the default option (0-based). Defaults to 0 if omitted.",
"type": "integer",
"minimum": 0
},
"options": {
"description": "Ordered list of option labels. The selected index is sent to firmware.",
"type": "array",
"items": { "type": "string" },
"minItems": 2
}
}
},
"expanderPin": {
"type": "object",
"description": "A single pin exposed by a GPIO/peripheral expander.",
Expand Down Expand Up @@ -94,6 +125,12 @@
"type": "string"
}
},
"settings": {
"description": "Configurable device-level settings (e.g. gain, sample rate, integration time). Each key is the machine-readable name sent to firmware.",
"type": "object",
"propertyNames": { "pattern": "^[a-z][a-z0-9_]*$" },
"additionalProperties": { "$ref": "#/$defs/setting" }
},
"pins": {
"description": "List of pins exposed by this expander.",
"type": "array",
Expand Down
46 changes: 46 additions & 0 deletions components/i2c/apds9999/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,51 @@
"documentationURL": "https://learn.adafruit.com/adafruit-apds9999-proximity-lux-light-color-sensor",
"published": true,
"i2cAddresses": ["0x52"],
"settings": {
"light_gain": {
"displayName": "Light Gain",
"description": "ALS gain.",
"default": 0,
"options": ["1x", "3x", "6x", "9x", "18x"]
},
"light_resolution": {
"displayName": "Light Resolution",
"default": 0,
"options": [
"20-bit (400ms)",
"19-bit (200ms)",
"18-bit (100ms)",
"17-bit (50ms)",
"16-bit (25ms)",
"13-bit (3.125ms)"
]
},
"light_meas_rate": {
"displayName": "Light Measurement Rate",
"default": 2,
"options": ["25ms", "50ms", "100ms", "200ms", "500ms", "1000ms", "2000ms"]
},
"prox_resolution": {
"displayName": "Proximity Resolution",
"default": 0,
"options": ["8-bit", "9-bit", "10-bit", "11-bit"]
},
"prox_meas_rate": {
"displayName": "Proximity Measurement Rate",
"description": "Actual measurement period is approximately 3x the programmed value.",
"default": 4,
"options": ["6.25ms", "12.5ms", "25ms", "50ms", "100ms", "200ms", "400ms"]
},
"led_current": {
"displayName": "LED Current",
"default": 0,
"options": ["10mA", "25mA"]
},
"led_frequency": {
"displayName": "LED Frequency",
"default": 0,
"options": ["60 kHz", "70 kHz", "80 kHz", "90 kHz", "100 kHz"]
}
},
"subcomponents": ["light", "proximity"]
}
21 changes: 19 additions & 2 deletions components/i2c/bme280/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@
"productURL": "https://www.adafruit.com/product/2652",
"documentationURL": "https://learn.adafruit.com/adafruit-bme280-humidity-barometric-pressure-temperature-sensor-breakout",
"published": true,
"i2cAddresses": [ "0x77", "0x76" ],
"subcomponents": [ "ambient-temp", "ambient-temp-fahrenheit", "humidity", "pressure", "altitude" ]
"i2cAddresses": ["0x77", "0x76"],
"settings": {
"temp_oversampling": {
"displayName": "Temperature Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"pressure_oversampling": {
"displayName": "Pressure Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"humidity_oversampling": {
"displayName": "Humidity Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
}
},
"subcomponents": ["ambient-temp", "ambient-temp-fahrenheit", "humidity", "pressure", "altitude"]
}
33 changes: 31 additions & 2 deletions components/i2c/bme680/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,35 @@
"productURL": "https://www.adafruit.com/product/3660",
"documentationURL": "https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas",
"published": true,
"i2cAddresses": [ "0x77", "0x76" ],
"subcomponents": [ "ambient-temp", "ambient-temp-fahrenheit", "humidity", "pressure", "altitude", "gas-resistance" ]
"i2cAddresses": ["0x77", "0x76"],
"settings": {
"temp_oversampling": {
"displayName": "Temperature Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"pressure_oversampling": {
"displayName": "Pressure Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"humidity_oversampling": {
"displayName": "Humidity Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"iir_filter": {
"displayName": "IIR Filter",
"default": 0,
"options": ["Off", "Size 1", "Size 3", "Size 7", "Size 15", "Size 31", "Size 63", "Size 127"]
}
},
"subcomponents": [
"ambient-temp",
"ambient-temp-fahrenheit",
"humidity",
"pressure",
"altitude",
"gas-resistance"
]
}
33 changes: 31 additions & 2 deletions components/i2c/bme688/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,35 @@
"productURL": "https://www.adafruit.com/product/5046",
"documentationURL": "https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas",
"published": true,
"i2cAddresses": [ "0x77", "0x76" ],
"subcomponents": [ "ambient-temp", "ambient-temp-fahrenheit", "humidity", "pressure", "altitude", "gas-resistance" ]
"i2cAddresses": ["0x77", "0x76"],
"settings": {
"temp_oversampling": {
"displayName": "Temperature Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"pressure_oversampling": {
"displayName": "Pressure Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"humidity_oversampling": {
"displayName": "Humidity Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"iir_filter": {
"displayName": "IIR Filter",
"default": 0,
"options": ["Off", "Size 1", "Size 3", "Size 7", "Size 15", "Size 31", "Size 63", "Size 127"]
}
},
"subcomponents": [
"ambient-temp",
"ambient-temp-fahrenheit",
"humidity",
"pressure",
"altitude",
"gas-resistance"
]
}
32 changes: 30 additions & 2 deletions components/i2c/bmp280/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,34 @@
"productURL": "https://www.adafruit.com/product/2651",
"documentationURL": "https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout",
"published": true,
"i2cAddresses": [ "0x77", "0x76" ],
"subcomponents": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude" ]
"i2cAddresses": ["0x77", "0x76"],
"settings": {
"mode": {
"displayName": "Mode",
"description": "Sets the measurement mode of the sensor.",
"default": 2,
"options": ["Sleep", "Forced", "Normal"]
},
"temp_oversampling": {
"displayName": "Temperature Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"pressure_oversampling": {
"displayName": "Pressure Oversampling",
"default": 0,
"options": ["None", "1x", "2x", "4x", "8x", "16x"]
},
"filter": {
"displayName": "Filter",
"default": 0,
"options": ["Off", "2x", "4x", "8x", "16x"]
},
"standby": {
"displayName": "Standby Duration",
"default": 0,
"options": ["1ms", "62.5ms", "125ms", "250ms", "500ms", "1000ms", "2000ms", "4000ms"]
}
},
"subcomponents": ["ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude"]
}
45 changes: 43 additions & 2 deletions components/i2c/bmp388/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,47 @@
"productURL": "https://www.adafruit.com/product/3966",
"documentationURL": "https://learn.adafruit.com/adafruit-bmp388-bmp390-bmp3xx",
"published": true,
"i2cAddresses": [ "0x77", "0x76" ],
"subcomponents": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude" ]
"i2cAddresses": ["0x77", "0x76"],
"settings": {
"temp_oversampling": {
"displayName": "Temperature Oversampling",
"default": 0,
"options": ["None", "2x", "4x", "8x", "16x", "32x"]
},
"pressure_oversampling": {
"displayName": "Pressure Oversampling",
"default": 0,
"options": ["None", "2x", "4x", "8x", "16x", "32x"]
},
"iir_filter": {
"displayName": "IIR Filter",
"default": 0,
"options": [
"Off",
"Coeff 1",
"Coeff 3",
"Coeff 7",
"Coeff 15",
"Coeff 31",
"Coeff 63",
"Coeff 127"
]
},
"output_data_rate": {
"displayName": "Output Data Rate",
"default": 0,
"options": [
"50 Hz",
"25 Hz",
"12.5 Hz",
"6.25 Hz",
"3.1 Hz",
"1.5 Hz",
"0.78 Hz",
"0.39 Hz",
"0.2 Hz"
]
}
},
"subcomponents": ["ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude"]
}
45 changes: 43 additions & 2 deletions components/i2c/bmp390/definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,47 @@
"productURL": "https://www.adafruit.com/product/4816",
"documentationURL": "https://learn.adafruit.com/adafruit-bmp388-bmp390-bmp3xx",
"published": true,
"i2cAddresses": [ "0x77", "0x76" ],
"subcomponents": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude" ]
"i2cAddresses": ["0x77", "0x76"],
"settings": {
"temp_oversampling": {
"displayName": "Temperature Oversampling",
"default": 0,
"options": ["None", "2x", "4x", "8x", "16x", "32x"]
},
"pressure_oversampling": {
"displayName": "Pressure Oversampling",
"default": 0,
"options": ["None", "2x", "4x", "8x", "16x", "32x"]
},
"iir_filter": {
"displayName": "IIR Filter",
"default": 0,
"options": [
"Off",
"Coeff 1",
"Coeff 3",
"Coeff 7",
"Coeff 15",
"Coeff 31",
"Coeff 63",
"Coeff 127"
]
},
"output_data_rate": {
"displayName": "Output Data Rate",
"default": 0,
"options": [
"50 Hz",
"25 Hz",
"12.5 Hz",
"6.25 Hz",
"3.1 Hz",
"1.5 Hz",
"0.78 Hz",
"0.39 Hz",
"0.2 Hz"
]
}
},
"subcomponents": ["ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude"]
}
Loading
Loading