HackRF
(continued from previous page)
void* rx_ctx;
void* tx_ctx;
} hackrf_transfer;
typedef struct {
uint32_t part_id[2];
uint32_t serial_no[4];
} read_partid_serialno_t;
typedef struct {
char **serial_numbers;
enum hackrf_usb_board_id *usb_board_ids;
int *usb_device_index;
int devicecount;
void **usb_devices;
int usb_devicecount;
} hackrf_device_list_t;
typedef int (*hackrf_sample_block_cb_fn)(hackrf_transfer* transfer)
20.8 Enumerations
20.8.1 Supported board versions
These values identify the board type of the connected hardware. This value can be used as an indicator of capabilities,
such as frequency range, bandwidth or antenna port power.
Board Frequency range Bandwidth Antenna port power
HackRF One 1MHz - 6Ghz 20MHz Yes
Jawbreaker 10MHz - 6GHz 20MHz No
Rad1o 50MHz - 4GHz 20MHz Unknown
Jellybean N/A 20MHz No
Most boards will identify as HackRF One, Jawbreaker or Rad1o. Jellybean was a pre-production revision of HackRF.
No hardware device should intentionally report itself with an invalid board ID.
enum hackrf_board_id {
BOARD_ID_JELLYBEAN = 0,
BOARD_ID_JAWBREAKER = 1,
BOARD_ID_HACKRF_ONE = 2,
BOARD_ID_RAD1O = 3,
BOARD_ID_INVALID = 0xFF,
};
72 Chapter 20. libhackRF API