Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

NEMO Portal - Type SSID Using Cardputer Keyboard #69

Merged
merged 4 commits into from
Jan 26, 2024

Conversation

gustavocelani
Copy link
Contributor

@gustavocelani gustavocelani commented Jan 20, 2024

NEMO Portal - Type SSID Using Cardputer Keyboard

WiFi -> NEMO Portal -> Type or Confirm SSID -> Start NEMO Portal

pr-cardputer-ssid

Features

  • ifdef for Cardputer only (embedded keyboard)
  • Initialize SSID text with the stored SSID (apSsidName)
  • SSID Sanitization: 2 to 32 chars and invlid characters filter (?,$,",[,,],+) following SSID name convensions
  • Persisting typed valid SSID in EEPROM
  • Easy to use
  • Localization

DISP.printf("%s", currentSSID.c_str());
bool ssid_ok = false;

while(!ssid_ok){
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the concept, but I'd like to set it up so NEMO Portal launches the portal right when you select the menu option. Could we move the SSID Modification flow so when a special button is pressed on a cardputer, we can alter the SSID?

Copy link
Contributor Author

@gustavocelani gustavocelani Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm that is a interesting point, @n0xa.
Thinking about user experience, in my opinion, the SSID definition step wouldn't impact the UX.

In fact, I think the current flow is very clean because the previously used SSID will be populated on the screen, so if the user just wants to launch the NEMO Portal, it can simply press Enter and the previous SSID will be used.
What do you think?

Copy link
Owner

@n0xa n0xa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see comments inline. I love the concept. Very creative! It just needs a few adjustments, please.

}

if(currentSSID.length() > 2){
setSSID(currentSSID);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will write to EEPROM every single time you start NEMO portal, causing excess EEPROM wear. Additionally, this will cause which ever WiFi you clone from WiFi scanner to be the new default SSID for NEMO Portal even if you don't want it to be.

Two changes I would like:

  1. Confirm y/n if the user wishes this SSID to be saved to EEPROM
  2. If the SSID in EEPROM matches the one to be saved, skip writing the EEPROM to keep from excess EEPROM cycles

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice point, @n0xa! I completely agree that EEPROM writing can be optimized by implementing your suggestion 2.
I will definitely implement it!

Regarding the first suggestion (y/n confirmation), I don't think it would improve the user experience. In fact, I think the current flow is very clean because the previously used SSID will be populated on the screen, so if the user just wants to launch the NEMO Portal, it can simply press Enter and the previous SSID will be used.
What do you think?

@n0xa n0xa merged commit 750ad03 into n0xa:develop Jan 26, 2024
@n0xa
Copy link
Owner

n0xa commented Jan 26, 2024

Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants