Validate wifi credentials #116
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a device hasn't been configured properly either with
CIRCUITPY_WIFI_SSID
andCIRCUITPY_WIFI_PASSWORD
or the "networks" setting,adafruit_portalbase.network.NetworkBase.connect
will result in an obscureTypeError
from theadafruit_esp32spi
library.This update filters the
adafruit_portalbase.network.NetworkBase._wifi_credentials
list to ensure that it includes valid ssid/password pairs. If no valid credentials are available, it will trigger anOSError
exception with a descriptive message.I am testing using the following program written for the Adafruit Fruit Jam with the
adafruit_fruitjam
library. The device has no WiFi credentials configured.Here is the REPL output before this update:
Here's the REPL output after this update:
Note: I felt that
OSError
was appropriate for this exception because it is related to the device configuration before a request is made, butConnectionError
may follow the relative CPython implementation more closely.