The brand-new PN400 Phase Noise Test System is available for purchase! →

scubajosh

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: BB60C-API for ARM #255366
    scubajosh
    Participant

    Amazing I will test it out today and let you know. I know with using TSCM software and spike i can get down to 10hz rbw on the bb60c is this limitation on RBW because of the driver or are you doing post processing while sweeping to get it down to 10hz?

    in reply to: BB60C-API for ARM #255288
    scubajosh
    Participant

    Its 2026 you can vibe code it in like 30 minutes with a codex account…

    in reply to: BB60C-API for ARM #255260
    scubajosh
    Participant

    macOS Apple Silicon (aarch64 / M-series) native library support for BB60C

    Hi Signal Hound team,

    We’re integrating the BB60C into a Python application on macOS Apple Silicon (M1/M2/M3/M4). The lib/aarch64/libbb_api.so.5.0.10 in your SDK zip is a Linux ELF shared object compiled for the SYSV ABI. macOS uses the Mach-O binary format — CDLL() (Python ctypes) and dlopen() cannot load an ELF .so on macOS regardless of CPU architecture. Even though both the Jetson and Apple Silicon are aarch64, the OS ABIs are incompatible.

    **What we need:** a macOS aarch64 build of bb_api as a .dylib (Mach-O shared library).

    **What that requires on your end:**

    1. **Build toolchain** — compile on macOS (Xcode clang or clang from Homebrew targeting arm64-apple-macosx). The Jetson/Ubuntu g++ build cannot produce Mach-O output.

    2. **Dependencies to swap:**
    – libusb-1.0 → use the macOS Homebrew build (brew install libusb), or link against IOUSBLib.framework directly. The libusb project ships macOS ARM64 builds.
    – libftd2xx → FTDI ships a macOS ARM64 D2XX driver (.dylib) at ftdichip.com — the same download page you reference in README_aarch64.txt has a macOS section.

    3. **Link flags** — replace -Wl,-rpath Linux syntax with macOS equivalents:
    `
    clang++ sources -o libbb_api.dylib -dynamiclib \
    -install_name @rpath/libbb_api.dylib \
    -arch arm64 \
    -target arm64-apple-macosx11.0 \
    -lusb-1.0 -lftd2xx \
    -Wl,-rpath,@loader_path
    `

    4. **USB device permissions** — on macOS the equivalent of udev rules is an IOUSBLib entitlement or a signed driver kext/dext. For development/testing, running with elevated permissions or via a USB user-space claim (which libusb handles automatically on macOS) is sufficient without a kernel driver.

    5. **Deliverable** — a lib/macos_arm64/libbb_api.dylib (or libbb_api.N.N.N.dylib with a symlink) in the SDK zip, alongside any required libftd2xx.dylib. The libusb-1.0.dylib can be expected as a Homebrew dependency rather than bundled.

    **The ARM64 limitation note in your README** (sweep/IQ only is fine — we only need IQ streaming and sweep modes.
    **( 1 kHz min RBW will not work for security TSCM work I would need at least 300hz RBW)

    • This reply was modified 5 months ago by scubajosh.
Viewing 3 posts - 1 through 3 (of 3 total)