-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Add callback to allow Static IP per SSID in WiFiMulti #9232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Callback before WiFi.begin allows user to configure selected SSID
Wouldn't extending 'add' method arguments be more a appropriate solution? Internally, only ssid & pass are stored. No reason not to keep 'IPAddress'es for static config as well
Wouldn't extending 'add' method arguments be more a appropriate solution? Internally, only ssid & pass are stored. No reason not to keep 'IPAddress'es for static config as well
That is the more obvious solution. But it has a higher impact on existing API and is less flexible. This solution adds two lines to the code (and two lines of declaration), and zero impact on existing API.
Meaning, there are other use-cases besides config() call?
fwiw, default arguments passed at the end of the method can be omitted and .add() call stays the same. IPAddress has default constructor, ::isSet() would notify whether IPAddress was set by the user or not.
Meaning, there are other use-cases besides config() call?
In my use-case, I am setting the config parameters based on the MAC address (because of various router issues). Yes, that could be done upfront rather than when the SSID is decided.
But it seems cleaner, as well as more efficient, to have the config calculated when needed rather than preemptively. I have a library that takes a JSON config (IP, as well as optionally MQTT etc.) and applies it in the callback to call config per the found SSID. Again, decoupling that from the code for the physical connection is beneficial.
Ok, agreed
Style suggestion then - use onSsidSelected(...)
as one word without underscores. This is also the style used for other event-related things in the WiFi class.
Can you also update the example .ino (sketch) and documentation, or do you want me to do it?
Ok, I'll do it, and change the name as you recommend. Do I need to redo the pull (I'm a noobie at this process)?
Just push more commits to Sojourneer:master
- callback has no return type - private types for the wifimulti class - explici WiFi.config(0U, 0U, 0U); for other APs - formatting, whitespace, uppercase SSID
Callback before WiFi.begin allows user to configure selected SSID.