Skip to content

feat(ui): standardize module screens + add WiFi/BLE scan-list icons - #2815

Open
vnxdtzip wants to merge 1 commit into
BruceDevices:devfrom
vnxdtzip:ui/screens-and-icons
Open

feat(ui): standardize module screens + add WiFi/BLE scan-list icons#2815
vnxdtzip wants to merge 1 commit into
BruceDevices:devfrom
vnxdtzip:ui/screens-and-icons

Conversation

@vnxdtzip

Copy link
Copy Markdown

Proposed Changes

Brings a batch of module screens onto the standard Bruce interface and adds signal/lock icons to the scan lists, matching the look of the reworked BLE Suite / RF spectrum modules.

Screens restyled to drawMainBorderWithTitle / printSubtitle / padprintln with theme colors (getColorVariation) instead of hardcoded TFT_* constants and hand-placed cursors:

  • reverseShell, rf/emit, rf/record, NRF24 nrf_info, ir/ir_read, rfid/rfid125, ethernet/HostInfo, others/timer, ir/ir_jammer, others/clicker, others/u2f, badusb_ble/ducky_typer (presenter)

Scan-list icons (opt-in, so existing menus are untouched):

  • New shared helpers drawSignalBars() and drawLockIcon() in core/display.
  • Option gains optional iconRssi / iconLock fields; loopOptions' drawOptions renders them right-aligned per row (both default to off).
  • Applied to the WiFi lists (Connect, Deauther x2, Beacon/Target) with a lock + signal meter, and the BLE lists (Scan, Ninebot) with a signal meter. The WiFi rows drop the redundant #/dBm text now shown by the icons.

Types of Changes

UI/UX improvement + small shared helpers. No breaking changes — the icon fields are opt-in and default off, so every existing menu renders exactly as before.

Verification

Flash a device and open the restyled screens (IR Jammer, AutoClicker, Timer, U2F, RFID 125kHz, RF Record/Emit, Reverse Shell, HostInfo, nRF Info, Presenter) — each now uses the standard titled frame and theme colors. In WiFi (Connect / Deauther / Beacon) each network shows a padlock (closed = secured, open = open) and a 4-bar signal meter; in BLE (Scan / Ninebot) each device shows a signal meter.

Testing

Builds clean for m5stack-cardputer. Manually exercised on a Cardputer (ADV). No automated tests for the UI path.

Linked Issues

None. Follow-up to the BLE Suite / RF spectrum interface work.

User-Facing Change

Standardize several module screens to the Bruce frame and add signal-strength/lock icons to the WiFi and BLE scan lists.

Further Comments

Scoped to what applies on dev: the RF Scan capture-list icon (signal + saved bookmark) is intentionally left out because it depends on the "RF Scan/copy capture list" rework that isn't on dev yet — it can follow once that lands. The NRF24 CH Hopper is a separate PR (#2801).

Brings a batch of module screens onto the standard Bruce interface and adds
signal/lock icons to the scan lists, matching the reworked BLE Suite / RF
spectrum look.

Screens restyled to drawMainBorderWithTitle / printSubtitle / padprintln and
theme colors (getColorVariation) instead of hardcoded TFT_* and hand-placed
cursors:
- reverseShell, rf/emit, rf/record, NRF24/nrf_info, ir/ir_read, rfid/rfid125,
  ethernet/HostInfo, others/timer, ir/ir_jammer, others/clicker, others/u2f,
  badusb_ble/ducky_typer (presenter)

Icons (opt-in, existing menus unchanged):
- New shared helpers drawSignalBars() and drawLockIcon() in core/display.
- Option gains optional iconRssi / iconLock fields; loopOptions' drawOptions
  renders them right-aligned per row (both default off).
- Applied to WiFi lists (Connect, Deauther x2, Beacon/Target) with lock +
  signal, and BLE lists (Scan, Ninebot) with signal.

Builds clean for m5stack-cardputer. RF Scan capture-list icon and the NRF24
CH Hopper (BruceDevices#2801) are intentionally out of scope here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vnxdtzip

Copy link
Copy Markdown
Author
IMG_8743 IMG_8744

Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 22, 2026
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 22, 2026
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant