Skip to content

Jammer identifier#2512

Open
Gill3s0x01 wants to merge 6 commits into
BruceDevices:devfrom
Gill3s0x01:jammer-identifier
Open

Jammer identifier#2512
Gill3s0x01 wants to merge 6 commits into
BruceDevices:devfrom
Gill3s0x01:jammer-identifier

Conversation

@Gill3s0x01

Copy link
Copy Markdown

Proposed Changes

This PR improves the Wi-Fi portal experience and adds a new jammer identification capability to the firmware.

Key changes:

  • Updated the Google portal pages for both English and Portuguese to refine the UI behavior and validation flow:
    • google.html
    • google.html
  • Added a new Wi-Fi jammer detector feature and wired it into the menu:
    • jammer_identifier.cpp
    • jammer_identifier.h
    • WifiMenu.cpp
  • Adjusted the build setup for verification purposes in platformio.ini while validating the firmware generation path.

Types of Changes

  • Bugfix
  • New Feature
  • Firmware build / verification improvement

Verification

Verification was performed by:

  • Reviewing the updated portal HTML behavior in both English and Portuguese.
  • Validating the new jammer detector integration path in the firmware code.
  • Attempting a firmware build for the target board using the local Python 3.13 + PlatformIO environment.

Note: the build path is currently being validated on the local Windows environment due PlatformIO package extraction/cache issues during firmware generation.

Testing

  • Manual code review of the portal and menu changes.
  • Build verification attempt for firmware generation.
  • Automated test coverage is not yet added for these changes.

Linked Issues

None provided in this PR.

User-Facing Change

Yes — this introduces:

  • a new “Jammer Identifier” option in the Wi-Fi menu;
  • improved portal page behavior and validation in both English and Portuguese.
Added a new Wi-Fi jammer identifier feature and improved the Google portal UI/validation behavior in English and Portuguese.

Further Comments

HTML updates were made in:

  • google.html
  • google.html

These changes improve the portal experience and align the validation behavior across both languages.

GitHub: Gill3s0x01

Comment thread src/modules/wifi/jammer_identifier.cpp Outdated
tft.setTextColor(TFT_RED, bruceConfig.bgColor);
tft.setTextSize(1);
tft.drawCentreString("Deauths: " + String(sampleDeauths) + " / Packets: " + String(samplePackets),
tft.width() / 2, 140, SMOOTH_FONT);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this message won't be shown on Cardputer and smaller screens (the smaller screen is 128px height)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Resolved! The footer message "Press any key to stop" now uses relative
positioning (footerY = screenHeight - 10) to ensure it displays correctly
on all screen sizes including Cardputer (128x128px).

Comment thread src/modules/wifi/jammer_identifier.cpp
Comment thread src/modules/wifi/jammer_identifier.cpp
- Display "2.4GHz only" text in orange color on the UI
- Warning appears above the "Press any key to stop" prompt
- Future 5GHz support can be added to extend this feature
- Adapt display positioning for screens from 32x240px to 128x128px
- Replace absolute Y positions with percentage-based calculations
- titleY, messageY, statsY now scale with screen height
- Use footerY variable based on screen height instead of hardcoded offset
- Ensures footer message displays correctly on all screen sizes

@Gill3s0x01 Gill3s0x01 left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

All feedback addressed! The display now uses relative positioning
and adapts to all screen sizes. Ready for merge.

@bmorcelli
bmorcelli changed the base branch from main to dev July 22, 2026 17:29
@bmorcelli

Copy link
Copy Markdown
Member
src/modules/wifi/jammer_identifier.cpp: In function 'void jammerIdentifier()':
src/modules/wifi/jammer_identifier.cpp:105:65: error: taking address of rvalue [-fpermissive]
  105 |     esp_wifi_set_promiscuous_filter(&(wifi_promiscuous_filter_t){.filter_mask = WIFI_PROMIS_FILTER_MASK_ALL});

it is not working.

…ements

Fixed the compilation error caused by passing the address of a temporary wifi_promiscuous_filter_t object to esp_wifi_set_promiscuous_filter(). The filter configuration is now stored in a local variable before passing its address. Also replaced deprecated volatile increment operators (++) with explicit assignment expressions to remove compiler warnings while preserving the original behavior

@Gill3s0x01 Gill3s0x01 left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Fixed the compilation error caused by passing the address of a temporary wifi_promiscuous_filter_t object to esp_wifi_set_promiscuous_filter(). The filter configuration is now stored in a local variable before passing its address. Also replaced deprecated volatile increment operators (++) with explicit assignment expressions to remove compiler warnings while preserving the original behavior

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.

2 participants