Skip to content

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
@2bndy5 2bndy5 force-pushed the promiscuous-scanners branch from 7ac0537 to 3fa016d Compare March 6, 2024 17:08
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

@2bndy5 2bndy5 force-pushed the promiscuous-scanners branch from f1f49bc to fcad232 Compare March 7, 2024 07:15
@2bndy5 2bndy5 force-pushed the promiscuous-scanners branch from 76eee8d to 3fda357 Compare March 7, 2024 10:32
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.

@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
@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
2bndy5 added a commit to nRF24/CircuitPython_nRF24L01 that referenced this pull request Jan 29, 2025
* fix multicasting to level 2 and 4
* use all poll responses in mesh request_address()
* reviewed RF24Messh._make_contacts()
* use a set to avoid duplicates in list of poll responses
* port changes to RF24Mesh.check_connection()
  per nRF24/RF24Mesh#240
* expose new release_address() for master nodes
  per nRF24/RF24Mesh#244
* improve scanner promiscuity
  similar to changes in nRF24/RF24#955
* update check_connection()
  per nRF24/RF24Mesh#250
* refactor network example for testing mesh connectivity
* short circuit renew_address() when called from the master node
* depend on spidev for linux arm 32 and 64 bit
* abstract master code in check_connection()
* don't use `check_connection()` in net example's `set_role()`
* update RTD config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants