Skip to content

Conversation

@Ninja-jr
Copy link
Contributor

@Ninja-jr Ninja-jr commented Jan 5, 2026

Proposed Changes

-. 15 new working Apple payloads (replacing patched ones):
   · AirPods series (7 variants)
   · Beats headphones (5 variants)
   · Apple setup services (AppleTV, New Phone, Transfer Number, etc.)
   · Apple Vision Pro

  • New "Apple" submenu in BLE section:
       · "Spam All Apple" - cycles through all 15 payloads
       · Individual payload selection for targeted spam
  • Updated "Spam All" to include Apple payloads in rotation

· All existing protocols (Windows, Samsung, Android, Custom) unchanged
· Same BLE cycling pattern that already works
· Backward compatibility (old menu items redirect to new system)

Types of Changes

· New Feature: Apple spam system with 15 payloads
· UI Improvement: Clean menu structure
· Code Cleanup: Removed duplicate functions, fixed NimBLE data format

Verification

· Compiles cleanly for all target boards
· Menu navigation works (BLE → Apple → options)
· Individual Apple payloads can be started/stopped
· "Spam All" includes Apple payloads
· Existing protocols still functional

Testing

  • Tested on t-embed cc1101
  • General: Stress test for crashes, memory issues
  • Further iOS targets testing would be apreciated

Linked Issues

· Deleted patched Apple payloads (Applejuice/SourApple)
· Provides foundation for future Apple payload additions

User-Facing Change

· BLE menu: "Applejuice", "SourApple" deleted (patched, don't work)
· BLE menu: "Apple" added → submenu with 15 working payloads

Further Comments

· Uses same BLE timing spam for most modes (100ms advertise, 5ms gap)
· Architecture allows easy addition of more Apple payloads later
· If Apple popups don't work perfectly, timing can be adjusted
· Full code is modular - Apple spam in separate files

  • Also includes a side fix in BLESerialService.cpp to resolve sprintf(nullptr) nonnull warning/error on newer PlatformIO toolchains/runners (replaces with safe vsnprintf(NULL, 0, ...) — no functional change

@Ninja-jr Ninja-jr changed the title Ble spam Ble spam - don't merge to dev yet, still testing ios Jan 6, 2026
@2bwhsqgbpx-lgtm
Copy link

Can i test them ?

@Ninja-jr
Copy link
Contributor Author

Ninja-jr commented Jan 6, 2026

Can i test them ?

Sure, feel free to pull it to a feature branch of yours and test it then let me know is something needs to be bettered or changed

Fix apple payloads packet length to make them fully compatible with apple devices expect from genuine packets.
Fix sprintf(nullptr) nonnull warning in BLESerialService

Newer GCC versions in PlatformIO treat nullptr as invalid for nonnull-marked parameters, causing random build failures on updated runners.

Replace with vsnprintf(NULL, 0, ...) + 1 for safe size calculation — standard-compliant and functionally identical.

No behavior change to BLE serial commands.
Reverting mac randomization. Weren't working or caused crashes and reboots.
Needs nimble library update
Reverting mac randomization. Weren't working or caused crashes and reboots.
Needs nimble library update
@Ninja-jr Ninja-jr changed the title Ble spam - don't merge to dev yet, still testing ios Ble spam Jan 6, 2026
@pr3y pr3y merged commit 38c0352 into BruceDevices:dev Jan 8, 2026
@Ninja-jr Ninja-jr deleted the BleSpam branch February 2, 2026 03:44
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.

3 participants