GithubHelp home page GithubHelp logo

Duplicate Wifi networks about wifimanager HOT 14 CLOSED

tzapu avatar tzapu commented on August 20, 2024
Duplicate Wifi networks

from wifimanager.

Comments (14)

tablatronix avatar tablatronix commented on August 20, 2024

๐Ÿ‘
I had this on one of my other issues and it was closed, I forgot to pull it out into its own issues.

This becomes a bit more complicated quickly as there could be some secure some open, different signal levels so you gotta max the best one for display, maybe also show the count (n) so you know it is a institutional AP.

It almost becomes easier to do in js.

from wifimanager.

tzapu avatar tzapu commented on August 20, 2024

it would be easier to do in js... maybe it s worth considering, as then you would only have to pass the array to js, and a progmem string containing the actual js...

what i m mostly worried about is uncontrolable growth and memory usage with this, which is not justified in my mind as you are really only using the lib once in a blue moon to make your life easier, but decreases resources on your ESP at all times...

from wifimanager.

tzapu avatar tzapu commented on August 20, 2024

i am close this, don t think there s a big need for it really
if anyone strongly feels different, reopen for another discussion

from wifimanager.

tablatronix avatar tablatronix commented on August 20, 2024

Im gonna pr it regardless

from wifimanager.

tzapu avatar tzapu commented on August 20, 2024

:))
thank you, i ll reopen then

from wifimanager.

tzapu avatar tzapu commented on August 20, 2024

@tablatronix Shawn, i just have a thought.
If you are considering going down the javascript route for this, which it would be a lot easier, there a new function i added to add custom elements. ( `setCustomHeadElement("<script> function doSomething() {}</script>")
it could be then offered as a custom head/script snippet that anyone can add, and whoever is not interested can choose to skip it.
there could be a whole range of customisations offered like this for maximum flexibility

from wifimanager.

tablatronix avatar tablatronix commented on August 20, 2024

I was gonna just do another n2 loop and remove them but only if there are duplicates detected, but I noticed you changed your sort loop to std::sort comparison

Is it any faster ?

I guess a map might work, I barely know C though and had a hard time trying to modify references in a lambda. shrug.

I was also going to use the sort loop to check if there was any dups before bothering another loop.
Or do them both in one loop, but it wound up being easier to not combine the two in case the sort algorithm needed to change for memory vs speed on different platforms. I imagine n2 loop is pretty fast even at 16mhz...

Ill look at the JS solution again since you added that callout.

from wifimanager.

tzapu avatar tzapu commented on August 20, 2024

welcome to the club, i barely know c as well :)
the std::sort came from a discussion on how to best do it. i doubt very much that at the amount of n s we have, it will make any difference. it was more of a try and see if you can do it kind of thing :d
any way of doing it would probably not have much impact, it might make sense to pull the networks in an array before any looping first, that might make it faster...

js would be interesting, maybe with a count as well, but that would probably waste the most memory as well...

from wifimanager.

tablatronix avatar tablatronix commented on August 20, 2024

yeah i looked at a hash table and it was not worth even looking at for memory, the extra microsecond for a n2 loop was better, for eg i have 22 duplicate network at this one location, more elsewhere.

hmm but there will probably only ever be 1 or 2 duplicate ids...

from wifimanager.

tablatronix avatar tablatronix commented on August 20, 2024

Well it looks like std::sort uses quicksort and is around 30% faster in my real world test.

from wifimanager.

tablatronix avatar tablatronix commented on August 20, 2024

Before
image
After
image

from wifimanager.

tablatronix avatar tablatronix commented on August 20, 2024

I added _removeDupAps global in case you want to expose it or toggle it.

Adds 7ms to my code, for 22 dups. negligible.

from wifimanager.

lunanigra avatar lunanigra commented on August 20, 2024

Cool :-)

from wifimanager.

tzapu avatar tzapu commented on August 20, 2024

that s perfect, will pull it in a bit later and add the toggle for it

boy you ve got lots of networks :))

from wifimanager.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.