We've had occasional need to restrict a board to certain features in Wippersnapper (e.g. SAMD is missing multiple wifi networks and maybe something else I forget).
In V2 we're running out of flash on the esp8266, so feature gating will become necessary. (See adafruit/Adafruit_Wippersnapper_Arduino#862 (comment))
Sleep mode will also be restricted to certain platforms.
It's also been the case that we've wanted to hold boards on certain firmware versions, so it might as well be considered here as part of the schema update (sub-issue it).
Suggest more gated feature-sets here in this issue.
It will mostly be a json definition change where the features that are Not Supported will be listed with false values.
The UI / website will adjust the shown components, and no firmware implementation will be required.
(Although likely some protobuf/code blocks will be #ifdef'd based on ARCH/board).
It could allow users to optionally compile the feature back in if desired (at the cost of other features they don't want), although not planned [maybe need protoMQ/mqtt-explorer/json-api to setup the feature if UI disabled].
We've had occasional need to restrict a board to certain features in Wippersnapper (e.g. SAMD is missing multiple wifi networks and maybe something else I forget).
In V2 we're running out of flash on the esp8266, so feature gating will become necessary. (See adafruit/Adafruit_Wippersnapper_Arduino#862 (comment))
Sleep mode will also be restricted to certain platforms.
It's also been the case that we've wanted to hold boards on certain firmware versions, so it might as well be considered here as part of the schema update (sub-issue it).
Suggest more gated feature-sets here in this issue.
It will mostly be a json definition change where the features that are Not Supported will be listed with false values.
The UI / website will adjust the shown components, and no firmware implementation will be required.
(Although likely some protobuf/code blocks will be #ifdef'd based on ARCH/board).
It could allow users to optionally compile the feature back in if desired (at the cost of other features they don't want), although not planned [maybe need protoMQ/mqtt-explorer/json-api to setup the feature if UI disabled].