[FR] Add ability to disable WiFi via SSID configuration #669
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.
This PR implements the ability to completely disable WiFi functionality by setting the SSID to special values, addressing the need to eliminate unnecessary WiFi signals that could interfere with other devices.
Implementation
When the SSID is set to either an empty string
""
or"none"
, the SmartSpin2k will:internetConnection
flag to falseBLE functionality remains fully operational for device configuration and control when WiFi is disabled.
Usage
Users can disable WiFi through the SmartSpin2K companion app by:
The setting persists across device reboots and can be re-enabled by setting a valid SSID.
Technical Details
The implementation adds WiFi disable checks to key functions:
startWifi()
- Returns early when WiFi disabledstopWifi()
- Handles case where WiFi was never startedHTTP_Server::start()
- Skips server initializationHTTP_Server::FirmwareUpdate()
- Skips update checksHTTP_Server::webClientUpdate()
- Skips client handlingAll WiFi-dependent components safely handle the disabled state, and existing functionality remains unchanged when WiFi is enabled.
Fixes #613.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
api.registry.nm1.platformio.org
/usr/bin/python /home/REDACTED/.local/bin/pio test -e native -v
(dns block)/usr/bin/python /home/REDACTED/.local/bin/pio check --pattern=src/HTTP_Server_Basic.cpp --environment=native
(dns block)api.registry.platformio.org
/usr/bin/python /home/REDACTED/.local/bin/pio test -e native -v
(dns block)/usr/bin/python /home/REDACTED/.local/bin/pio check --pattern=src/HTTP_Server_Basic.cpp --environment=native
(dns block)collector.platformio.org
/usr/bin/python /home/REDACTED/.local/bin/pio test -e native -v
(dns block)/usr/bin/python /home/REDACTED/.local/bin/pio check --pattern=src/HTTP_Server_Basic.cpp --environment=native
(dns block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.