Skip to content
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

Promiscuous scanners #955

Merged
merged 66 commits into from
Mar 11, 2024
Merged

Promiscuous scanners #955

merged 66 commits into from
Mar 11, 2024

Conversation

2bndy5
Copy link
Member

@2bndy5 2bndy5 commented Mar 3, 2024

Satisfies #852 and resolves #714

I've been re-basing this branch for almost 2 years. With the fix from #952 (& #954), I'm finally ready to get these scanner updates into master.

New Examples

  • examples/scannerGraphic uses either a ST7789 based display or a SSD1306 based display. Recommended display hardware (what it was tested with):
  • examples_linux/ncurses/scanner_ncurses.cpp requires libncurses5-dev installed. Only builds with CMake.

Modified Examples

  • examples_linux/scanner.py uses python's std lib binding to curses lib (which ships with most Linux distros, even RPi OS lite)
  • examples_linux/scanner.cpp still uses only stdout (no ncurses) with improvements implemented in the other scanner examples
  • examples_pico/scanner.cpp still uses only stdout (no ncurses) with improvements implemented in the other scanner examples

@2bndy5
Copy link
Member Author

2bndy5 commented Mar 5, 2024

Finished testing the new scannerGraphic Arduino example on both the I2C and SPI displays that I have lying around (product links in OP). FYI, the ST7789 seems to be slightly faster.

I think the only thing left to review is to make sure the code is consistent for assessing the noise detection; specifically

  • pipe addresses
  • calling testRPD() before and after stopListening()
  • ensure available() is called after stopListening()

@2bndy5 2bndy5 marked this pull request as ready for review March 5, 2024 18:14
github-actions[bot]

This comment was marked as outdated.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot dismissed their stale review March 6, 2024 17:39

outdated suggestion

Copy link
Member

@TMRh20 TMRh20 left a comment

Choose a reason for hiding this comment

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

This was obviously a pile of work!
I tested what I can, but don't have any displays to test the graphic example and wasn't able to test the pico example.

examples/scanner/scanner.ino Show resolved Hide resolved
@2bndy5
Copy link
Member Author

2bndy5 commented Mar 11, 2024

I tested the scanner graphic pretty well. I'm happy with it as is. There might be contributors in the future to improve it further, but for now I just wanted it be a simple scanner display. There's little usability in that example because it can't tell you which exact channels were detecting noise; there just isn't enough room on those small displays to show active channels' number.

It would make for a neat idea in a cosplay Star Trek TNG tricorder device... 🤓

I did test all other examples' modifications too.

@2bndy5 2bndy5 merged commit ef08a40 into master Mar 11, 2024
151 checks passed
@2bndy5 2bndy5 deleted the promiscuous-scanners branch March 11, 2024 05:13
2bndy5 added a commit to nRF24/CircuitPython_nRF24L01 that referenced this pull request Jun 25, 2024
2bndy5 added a commit to nRF24/CircuitPython_nRF24L01 that referenced this pull request Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Should the scanner example be more promiscuous? A new scanner example
2 participants