# API compatibility report for the bladerf library between 0.2017.12~rc1-2 and 0.2019.07-1 versions on x86_64

Binary
Compatibility Source
Compatibility

## Test Info

Library Name | bladerf
Version #1 | 0.2017.12~rc1-2
Version #2 | 0.2019.07-1
Arch | x86_64
GCC Version | 8
Subject | Binary Compatibility

## Test Results

Total Header Files | 1
Total Libraries | 1
Total Symbols / Types | 130 / 53
Compatibility | 91.2%

## Problem Summary

| Severity | Count
--- | --- | ---
Added Symbols | - | 58
Removed Symbols | High | 0
Problems with Data Types | High | 0
Medium | 11
Low | 12
Problems with Symbols | High | 6
Medium | 6
Low | 74
Problems with Constants | Low | 7
Other Changes in Data Types | - | 10
Other Changes in Constants | - | 17

## Added Symbols 58

bladeRF2.h, libbladeRF.so.2
bladerf_get_bias_tee ( struct bladerf* dev, bladerf_channel ch, bool* enable )
bladerf_get_clock_output ( struct bladerf* dev, bool* state )
bladerf_get_clock_select ( struct bladerf* dev, enum bladerf_clock_select* sel )
bladerf_get_pll_enable ( struct bladerf* dev, bool* enabled )
bladerf_get_pll_lock_state ( struct bladerf* dev, bool* locked )
bladerf_get_pll_refclk ( struct bladerf* dev, uint64_t* frequency )
bladerf_get_pll_refclk_range ( struct bladerf* dev, struct bladerf_range const** range )
bladerf_get_pll_register ( struct bladerf* dev, uint8_t address, uint32_t* val )
bladerf_get_pmic_register ( struct bladerf* dev, enum bladerf_pmic_register reg, void* val )
bladerf_get_power_source ( struct bladerf* dev, enum bladerf_power_sources* val )
bladerf_get_rf_switch_config ( struct bladerf* dev, struct bladerf_rf_switch_config* config )
bladerf_get_rfic_ctrl_out ( struct bladerf* dev, uint8_t* ctrl_out )
bladerf_get_rfic_register ( struct bladerf* dev, uint16_t address, uint8_t* val )
bladerf_get_rfic_rssi ( struct bladerf* dev, bladerf_channel ch, int32_t* pre_rssi, int32_t* sym_rssi )
bladerf_get_rfic_rx_fir ( struct bladerf* dev, enum bladerf_rfic_rxfir* rxfir )
bladerf_get_rfic_temperature ( struct bladerf* dev, float* val )
bladerf_get_rfic_tx_fir ( struct bladerf* dev, enum bladerf_rfic_txfir* txfir )
bladerf_set_bias_tee ( struct bladerf* dev, bladerf_channel ch, bool enable )
bladerf_set_clock_output ( struct bladerf* dev, bool enable )
bladerf_set_clock_select ( struct bladerf* dev, enum bladerf_clock_select sel )
bladerf_set_pll_enable ( struct bladerf* dev, bool enable )
bladerf_set_pll_refclk ( struct bladerf* dev, uint64_t frequency )
bladerf_set_pll_register ( struct bladerf* dev, uint8_t address, uint32_t val )
bladerf_set_rfic_register ( struct bladerf* dev, uint16_t address, uint8_t val )
bladerf_set_rfic_rx_fir ( struct bladerf* dev, enum bladerf_rfic_rxfir rxfir )
bladerf_set_rfic_tx_fir ( struct bladerf* dev, enum bladerf_rfic_txfir txfir )
libbladeRF.h, libbladeRF.so.2
bladerf_deinterleave_stream_buffer ( enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int buffer_size, void* samples )
bladerf_erase_flash_bytes ( struct bladerf* dev, uint32_t address, uint32_t length )
bladerf_get_bandwidth_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_board_name ( struct bladerf* dev )
bladerf_get_channel_count ( struct bladerf* dev, enum bladerf_direction dir )
bladerf_get_flash_size ( struct bladerf* dev, uint32_t* size, bool* is_guess )
bladerf_get_fpga_bytes ( struct bladerf* dev, size_t* size )
bladerf_get_fpga_source ( struct bladerf* dev, enum bladerf_fpga_source* source )
bladerf_get_frequency_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_gain ( struct bladerf* dev, bladerf_channel ch, bladerf_gain* gain )
bladerf_get_gain_modes ( struct bladerf* dev, bladerf_channel ch, struct bladerf_gain_modes const** modes )
bladerf_get_gain_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_gain_stage ( struct bladerf* dev, bladerf_channel ch, char const* stage, bladerf_gain* gain )
bladerf_get_gain_stage_range ( struct bladerf* dev, bladerf_channel ch, char const* stage, struct bladerf_range const** range )
bladerf_get_gain_stages ( struct bladerf* dev, bladerf_channel ch, char const** stages, size_t count )
bladerf_get_loopback_modes ( struct bladerf* dev, struct bladerf_loopback_modes const** modes )
bladerf_get_rf_port ( struct bladerf* dev, bladerf_channel ch, char const** port )
bladerf_get_rf_ports ( struct bladerf* dev, bladerf_channel ch, char const** ports, unsigned int count )
bladerf_get_sample_rate_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_serial_struct ( struct bladerf* dev, struct bladerf_serial* serial )
bladerf_get_tuning_mode ( struct bladerf* dev, enum bladerf_tuning_mode* mode )
bladerf_interleave_stream_buffer ( enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int buffer_size, void* samples )
bladerf_is_loopback_mode_supported ( struct bladerf* dev, enum bladerf_loopback mode )
bladerf_lock_otp ( struct bladerf* dev )
bladerf_read_flash_bytes ( struct bladerf* dev, uint8_t* buf, uint32_t address, uint32_t bytes )
bladerf_read_otp ( struct bladerf* dev, uint8_t* buf )
bladerf_set_gain_stage ( struct bladerf* dev, bladerf_channel ch, char const* stage, bladerf_gain gain )
bladerf_set_rf_port ( struct bladerf* dev, bladerf_channel ch, char const* port )
bladerf_trim_dac_read ( struct bladerf* dev, uint16_t* val )
bladerf_trim_dac_write ( struct bladerf* dev, uint16_t val )
bladerf_write_flash_bytes ( struct bladerf* dev, uint8_t const* buf, uint32_t address, uint32_t length )
bladerf_write_otp ( struct bladerf* dev, uint8_t* buf )
to the top

## Problems with Symbols, High Severity 6

libbladeRF.h, libbladeRF.so.1
[+] bladerf_alloc_cal_image ( enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim ) 1
⇣
bladerf_alloc_cal_image ( struct bladerf* dev, enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim )

| Change | Effect
--- | --- | ---
1 | Parameter dev of type struct bladerf* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] bladerf_alloc_image ( enum bladerf_image_type type, uint32_t address, uint32_t length ) 1
⇣
bladerf_alloc_image ( struct bladerf* dev, enum bladerf_image_type type, uint32_t address, uint32_t length )

| Change | Effect
--- | --- | ---
1 | Parameter dev of type struct bladerf* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] bladerf_image_write ( struct bladerf_image* image, char const* file ) 1
⇣
bladerf_image_write ( struct bladerf* dev, struct bladerf_image* image, char const* file )

| Change | Effect
--- | --- | ---
1 | Parameter dev of type struct bladerf* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] bladerf_schedule_retune ( struct bladerf* dev, enum bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune* quick_tune ) 1
⇣
bladerf_schedule_retune ( struct bladerf* dev, bladerf_channel ch, bladerf_timestamp timestamp, bladerf_frequency frequency, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | Type of 4th parameter frequency has been changed from unsigned int (4 bytes) to bladerf_frequency (8 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] bladerf_select_band ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 1
⇣
bladerf_select_band ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter frequency has been changed from unsigned int (4 bytes) to bladerf_frequency (8 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] bladerf_set_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 1
⇣
bladerf_set_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter frequency has been changed from unsigned int (4 bytes) to bladerf_frequency (8 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

to the top

## Problems with Data Types, Medium Severity 11

libbladeRF.h
[+] enum bladerf_image_type 5

| Change | Effect
--- | --- | ---
1 | Value of member BLADERF_IMAGE_TYPE_CALIBRATION has been changed from 4 to 6. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
2 | Value of member BLADERF_IMAGE_TYPE_RX_DC_CAL has been changed from 5 to 7. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
3 | Value of member BLADERF_IMAGE_TYPE_RX_IQ_CAL has been changed from 7 to 9. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
4 | Value of member BLADERF_IMAGE_TYPE_TX_DC_CAL has been changed from 6 to 8. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
5 | Value of member BLADERF_IMAGE_TYPE_TX_IQ_CAL has been changed from 8 to 10. | Applications may execute a wrong branch of code in the library and therefore change the behavior.

[+] affected symbols: 4 (3.1%)
bladerf_alloc_cal_image ( enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim )
Field 'retval.type' in the return value (pointer) is of type 'enum bladerf_image_type'.
bladerf_alloc_image ( enum bladerf_image_type type, uint32_t address, uint32_t length )
Field 'retval.type' in the return value (pointer) is of type 'enum bladerf_image_type'.
bladerf_free_image ( struct bladerf_image* image )
Field 'image.type' in 1st parameter 'image' (pointer) is of type 'enum bladerf_image_type'.
bladerf_image_read ( struct bladerf_image* image, char const* file )
Field 'image.type' in 1st parameter 'image' (pointer) is of type 'enum bladerf_image_type'.
[+] enum bladerf_loopback 1

| Change | Effect
--- | --- | ---
1 | Value of member BLADERF_LB_NONE has been changed from 9 to 0. | Applications may execute a wrong branch of code in the library and therefore change the behavior.

[+] affected symbols: 2 (1.5%)
bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* l )
2nd parameter 'l' (pointer) has base type 'enum bladerf_loopback'.
bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback l )
2nd parameter 'l' is of type 'enum bladerf_loopback'.
[+] struct bladerf_quick_tune 5

| Change | Effect
--- | --- | ---
1 | Field flags has been removed from this type. | Applications will access incorrect memory when attempting to access this field.
2 | Field freqsel has been removed from this type. | Applications will access incorrect memory when attempting to access this field.
3 | Field nfrac has been removed from this type. | Applications will access incorrect memory when attempting to access this field.
4 | Field nint has been removed from this type. | Applications will access incorrect memory when attempting to access this field.
5 | Field vcocap has been removed from this type. | Applications will access incorrect memory when attempting to access this field.

[+] affected symbols: 2 (1.5%)
bladerf_get_quick_tune ( struct bladerf* dev, enum bladerf_module module, struct bladerf_quick_tune* quick_tune )
3rd parameter 'quick_tune' (pointer) has base type 'struct bladerf_quick_tune'.
bladerf_schedule_retune ( struct bladerf* dev, enum bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune* quick_tune )
5th parameter 'quick_tune' (pointer) has base type 'struct bladerf_quick_tune'.
to the top

## Problems with Symbols, Medium Severity 6

libbladeRF.h, libbladeRF.so.1
[+] bladerf_get_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int* frequency ) 1
⇣
bladerf_get_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency* frequency )

| Change | Effect
--- | --- | ---
1 | Base type of 3rd parameter frequency has been changed from unsigned int (4 bytes) to unsigned long (8 bytes). | This parameter may be incorrectly initialized by applications.

[+] bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int* timeout ) 1
⇣
bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int* timeout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_direction of different format. | This parameter may be incorrectly initialized by applications.

[+] bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_module mod, uint64_t* value ) 1
⇣
bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_direction dir, bladerf_timestamp* timestamp )

| Change | Effect
--- | --- | ---
1 | Type of parameter mod has been changed from enum bladerf_module to enum bladerf_direction of different format. | This parameter may be incorrectly initialized by applications.

[+] bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int timeout ) 1
⇣
bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int timeout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_direction of different format. | This parameter may be incorrectly initialized by applications.

[+] bladerf_stream ( struct bladerf_stream* stream, enum bladerf_module module ) 1
⇣
bladerf_stream ( struct bladerf_stream* stream, enum bladerf_channel_layout layout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_channel_layout of different format. | This parameter may be incorrectly initialized by applications.

[+] bladerf_sync_config ( struct bladerf* dev, enum bladerf_module module, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout ) 1
⇣
bladerf_sync_config ( struct bladerf* dev, enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_channel_layout of different format. | This parameter may be incorrectly initialized by applications.

to the top

## Problems with Data Types, Low Severity 12

libbladeRF.h
[+] enum bladerf_correction 4

| Change | Effect
--- | --- | ---
1 | Name of member with value 0 has been changed from BLADERF_CORR_LMS_DCOFF_I to BLADERF_CORR_DCOFF_I. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
2 | Name of member with value 1 has been changed from BLADERF_CORR_LMS_DCOFF_Q to BLADERF_CORR_DCOFF_Q. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
3 | Name of member with value 2 has been changed from BLADERF_CORR_FPGA_PHASE to BLADERF_CORR_PHASE. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
4 | Name of member with value 3 has been changed from BLADERF_CORR_FPGA_GAIN to BLADERF_CORR_GAIN. | Applications may execute a wrong branch of code in the library and therefore change the behavior.

[+] affected symbols: 2 (1.5%)
bladerf_get_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t* value )
3rd parameter 'corr' is of type 'enum bladerf_correction'.
bladerf_set_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t value )
3rd parameter 'corr' is of type 'enum bladerf_correction'.
[+] enum bladerf_gain_mode 2

| Change | Effect
--- | --- | ---
1 | Name of member with value 0 has been changed from BLADERF_GAIN_AUTOMATIC to BLADERF_GAIN_DEFAULT. | Applications may execute a wrong branch of code in the library and therefore change the behavior.
2 | Name of member with value 1 has been changed from BLADERF_GAIN_MANUAL to BLADERF_GAIN_MGC. | Applications may execute a wrong branch of code in the library and therefore change the behavior.

[+] affected symbols: 2 (1.5%)
bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode )
3rd parameter 'mode' (pointer) has base type 'enum bladerf_gain_mode'.
bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode )
3rd parameter 'mode' is of type 'enum bladerf_gain_mode'.
[+] enum bladerf_rx_mux 1

| Change | Effect
--- | --- | ---
1 | Name of member with value 0 has been changed from BLADERF_RX_MUX_BASEBAND_LMS to BLADERF_RX_MUX_BASEBAND. | Applications may execute a wrong branch of code in the library and therefore change the behavior.

[+] affected symbols: 2 (1.5%)
bladerf_get_rx_mux ( struct bladerf* dev, enum bladerf_rx_mux* mode )
2nd parameter 'mode' (pointer) has base type 'enum bladerf_rx_mux'.
bladerf_set_rx_mux ( struct bladerf* dev, enum bladerf_rx_mux mux )
2nd parameter 'mux' is of type 'enum bladerf_rx_mux'.
[+] struct bladerf_devinfo 3

| Change | Effect
--- | --- | ---
1 | Field manufacturer has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.
2 | Field product has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.
3 | Size of this type has been changed from 44 bytes to 112 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.

[+] affected symbols: 9 (6.9%)
bladerf_devinfo_matches ( struct bladerf_devinfo const* a, struct bladerf_devinfo const* b )
1st parameter 'a' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_devstr_matches ( char const* dev_str, struct bladerf_devinfo* info )
2nd parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_free_device_list ( struct bladerf_devinfo* devices )
1st parameter 'devices' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_bootloader_list ( struct bladerf_devinfo** list )
1st parameter 'list' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_device_list ( struct bladerf_devinfo** devices )
1st parameter 'devices' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_devinfo ( struct bladerf* dev, struct bladerf_devinfo* info )
2nd parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_devinfo_from_str ( char const* devstr, struct bladerf_devinfo* info )
2nd parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_init_devinfo ( struct bladerf_devinfo* info )
1st parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_open_with_devinfo ( struct bladerf** device, struct bladerf_devinfo* devinfo )
2nd parameter 'devinfo' (pointer) has base type 'struct bladerf_devinfo'.
[+] struct bladerf_metadata 1

| Change | Effect
--- | --- | ---
1 | Type of field timestamp has been changed from uint64_t to bladerf_timestamp. | Replacement of the field data type may indicate a change in the semantic meaning of the field.

[+] affected symbols: 3 (2.3%)
bladerf_init_stream ( struct bladerf_stream** stream, struct bladerf* dev, bladerf_stream_cb callback, void*** buffers, size_t num_buffers, enum bladerf_format format, size_t samples_per_buffer, size_t num_transfers, void* user_data )
Field 'callback.p2' in 3rd parameter 'callback' has base type 'struct bladerf_metadata'.
bladerf_sync_rx ( struct bladerf* dev, void* samples, unsigned int num_samples, struct bladerf_metadata* metadata, unsigned int timeout_ms )
4th parameter 'metadata' (pointer) has base type 'struct bladerf_metadata'.
bladerf_sync_tx ( struct bladerf* dev, void* samples, unsigned int num_samples, struct bladerf_metadata* metadata, unsigned int timeout_ms )
4th parameter 'metadata' (pointer) has base type 'struct bladerf_metadata'.
[+] struct bladerf_trigger 1

| Change | Effect
--- | --- | ---
1 | Field module has been renamed to channel. | Renaming of a field in data type may indicate a change in the semantic meaning of the field.

[+] affected symbols: 4 (3.1%)
bladerf_trigger_arm ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool arm, uint64_t resv1, uint64_t resv2 )
2nd parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
bladerf_trigger_fire ( struct bladerf* dev, struct bladerf_trigger const* trigger )
2nd parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )
4th parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
bladerf_trigger_state ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool* is_armed, bool* has_fired, bool* fire_requested, uint64_t* resv1, uint64_t* resv2 )
2nd parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
to the top

## Problems with Symbols, Low Severity 74

libbladeRF.h, libbladeRF.so.1
[+] bladerf_cancel_scheduled_retunes ( struct bladerf* dev, enum bladerf_module module ) 2
⇣
bladerf_cancel_scheduled_retunes ( struct bladerf* dev, bladerf_channel ch )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_enable_module ( struct bladerf* dev, enum bladerf_module m, bool enable ) 2
⇣
bladerf_enable_module ( struct bladerf* dev, bladerf_channel ch, bool enable )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter m has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter m has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_bandwidth ( struct bladerf* dev, enum bladerf_module module, unsigned int* bandwidth ) 3
⇣
bladerf_get_bandwidth ( struct bladerf* dev, bladerf_channel ch, bladerf_bandwidth* bandwidth )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter bandwidth has been changed from unsigned int* to bladerf_bandwidth*. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t* value ) 3
⇣
bladerf_get_correction ( struct bladerf* dev, bladerf_channel ch, enum bladerf_correction corr, bladerf_correction_value* value )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 4th parameter value has been changed from int16_t* to bladerf_correction_value*. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int* frequency ) 2
⇣
bladerf_get_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency* frequency )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode ) 2
⇣
bladerf_get_gain_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_gain_mode* mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter mod has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* l ) 1
⇣
bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* lb )

| Change | Effect
--- | --- | ---
1 | 2nd parameter l has been renamed to lb. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_lpf_mode ( struct bladerf* dev, enum bladerf_module module, enum bladerf_lpf_mode* mode ) 2
⇣
bladerf_get_lpf_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_lpf_mode* mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_quick_tune ( struct bladerf* dev, enum bladerf_module module, struct bladerf_quick_tune* quick_tune ) 2
⇣
bladerf_get_quick_tune ( struct bladerf* dev, bladerf_channel ch, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_rational_sample_rate ( struct bladerf* dev, enum bladerf_module module, struct bladerf_rational_rate* rate ) 2
⇣
bladerf_get_rational_sample_rate ( struct bladerf* dev, bladerf_channel ch, struct bladerf_rational_rate* rate )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_sample_rate ( struct bladerf* dev, enum bladerf_module module, unsigned int* rate ) 3
⇣
bladerf_get_sample_rate ( struct bladerf* dev, bladerf_channel ch, bladerf_sample_rate* rate )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 3rd parameter rate has been changed from unsigned int* to bladerf_sample_rate*. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int* timeout ) 1
⇣
bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int* timeout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to dir. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_module mod, uint64_t* value ) 3
⇣
bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_direction dir, bladerf_timestamp* timestamp )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter value has been changed from uint64_t* to bladerf_timestamp*. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter mod has been renamed to dir. | Renaming of a parameter may indicate a change in its semantic meaning.
3 | 3rd parameter value has been renamed to timestamp. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_read_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t* val ) 2
⇣
bladerf_read_trigger ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, uint8_t* val )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_schedule_retune ( struct bladerf* dev, enum bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune* quick_tune ) 3
⇣
bladerf_schedule_retune ( struct bladerf* dev, bladerf_channel ch, bladerf_timestamp timestamp, bladerf_frequency frequency, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 3rd parameter timestamp has been changed from uint64_t to bladerf_timestamp. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_select_band ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 2
⇣
bladerf_select_band ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_bandwidth ( struct bladerf* dev, enum bladerf_module module, unsigned int bandwidth, unsigned int* actual ) 4
⇣
bladerf_set_bandwidth ( struct bladerf* dev, bladerf_channel ch, bladerf_bandwidth bandwidth, bladerf_bandwidth* actual )

| Change | Effect
--- | --- | ---
1 | Type of 4th parameter actual has been changed from unsigned int* to bladerf_bandwidth*. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 3rd parameter bandwidth has been changed from unsigned int to bladerf_bandwidth. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
4 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t value ) 3
⇣
bladerf_set_correction ( struct bladerf* dev, bladerf_channel ch, enum bladerf_correction corr, bladerf_correction_value value )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 4th parameter value has been changed from int16_t to bladerf_correction_value. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 2
⇣
bladerf_set_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_gain ( struct bladerf* dev, enum bladerf_module mod, int gain ) 3
⇣
bladerf_set_gain ( struct bladerf* dev, bladerf_channel ch, bladerf_gain gain )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter gain has been changed from int to bladerf_gain. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | 2nd parameter mod has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode ) 2
⇣
bladerf_set_gain_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_gain_mode mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter mod has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback l ) 1
⇣
bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback lb )

| Change | Effect
--- | --- | ---
1 | 2nd parameter l has been renamed to lb. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_lpf_mode ( struct bladerf* dev, enum bladerf_module module, enum bladerf_lpf_mode mode ) 2
⇣
bladerf_set_lpf_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_lpf_mode mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_rational_sample_rate ( struct bladerf* dev, enum bladerf_module module, struct bladerf_rational_rate* rate, struct bladerf_rational_rate* actual ) 2
⇣
bladerf_set_rational_sample_rate ( struct bladerf* dev, bladerf_channel ch, struct bladerf_rational_rate* rate, struct bladerf_rational_rate* actual )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_sample_rate ( struct bladerf* dev, enum bladerf_module module, unsigned int rate, unsigned int* actual ) 4
⇣
bladerf_set_sample_rate ( struct bladerf* dev, bladerf_channel ch, bladerf_sample_rate rate, bladerf_sample_rate* actual )

| Change | Effect
--- | --- | ---
1 | Type of 4th parameter actual has been changed from unsigned int* to bladerf_sample_rate*. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
3 | Type of 3rd parameter rate has been changed from unsigned int to bladerf_sample_rate. | Replacement of parameter data type may indicate a change in its semantic meaning.
4 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int timeout ) 1
⇣
bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int timeout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to dir. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_stream ( struct bladerf_stream* stream, enum bladerf_module module ) 1
⇣
bladerf_stream ( struct bladerf_stream* stream, enum bladerf_channel_layout layout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to layout. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_sync_config ( struct bladerf* dev, enum bladerf_module module, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout ) 1
⇣
bladerf_sync_config ( struct bladerf* dev, enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to layout. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_sync_tx ( struct bladerf* dev, void* samples, unsigned int num_samples, struct bladerf_metadata* metadata, unsigned int timeout_ms ) 1
⇣
bladerf_sync_tx ( struct bladerf* dev, void const* samples, unsigned int num_samples, struct bladerf_metadata* metadata, unsigned int timeout_ms )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter samples has been changed from void* to void const*. | Replacement of parameter data type may indicate a change in its semantic meaning.

[+] bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger ) 2
⇣
bladerf_trigger_init ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_write_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t val ) 2
⇣
bladerf_write_trigger ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, uint8_t val )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_xb200_get_filterbank ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_filter* filter ) 2
⇣
bladerf_xb200_get_filterbank ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_filter* filter )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_xb200_get_path ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_path* path ) 2
⇣
bladerf_xb200_get_path ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_path* path )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_xb200_set_filterbank ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_xb200_filter filter ) 2
⇣
bladerf_xb200_set_filterbank ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_filter filter )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter mod has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] bladerf_xb200_set_path ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_path path ) 2
⇣
bladerf_xb200_set_path ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_path path )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Replacement of parameter data type may indicate a change in its semantic meaning.
2 | 2nd parameter module has been renamed to ch. | Renaming of a parameter may indicate a change in its semantic meaning.

to the top

## Problems with Constants, Low Severity 7

libbladeRF.h
[+] BLADERF_FLASH_BYTE_LEN_FPGA

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_BYTE_LEN_FPGA with value 0x00370000 has been removed. | The value of this constant may no longer be properly handled by new-version library functions.

[+] BLADERF_FLASH_EB_LEN_CAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_LEN_CAL with value 1 has been removed. | The value of this constant may no longer be properly handled by new-version library functions.

[+] BLADERF_FLASH_EB_SIZE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_SIZE with value (64 * 1024) has been removed. | The value of this constant may no longer be properly handled by new-version library functions.

[+] BLADERF_FLASH_PAGE_SIZE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_SIZE with value 256 has been removed. | The value of this constant may no longer be properly handled by new-version library functions.

[+] BLADERF_FLASH_TOTAL_SIZE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_TOTAL_SIZE with value (4 * 1024 * 1024) has been removed. | The value of this constant may no longer be properly handled by new-version library functions.

[+] BLADERF_GPIO_AGC_ENABLE

| Change | Effect
--- | --- | ---
1 | The value of constant BLADERF_GPIO_AGC_ENABLE has been changed from (1 << 12) to (1 << 18). | Applications will pass an old value of this constant as the parameter to the new-version library functions, that expect a new one. This may result in crash of incorrect behavior of applications.

[+] BLADERF_RETUNE_NOW

| Change | Effect
--- | --- | ---
1 | The value of constant BLADERF_RETUNE_NOW has been changed from 0 to (bladerf_timestamp)0. | Applications will pass an old value of this constant as the parameter to the new-version library functions, that expect a new one. This may result in crash of incorrect behavior of applications.

to the top

## Other Changes in Data Types 10

libbladeRF.h
[+] enum bladerf_fpga_size 2

| Change | Effect
--- | --- | ---
1 | The member BLADERF_FPGA_A4 with value 49 has been added. | No effect.
2 | The member BLADERF_FPGA_A9 with value 301 has been added. | No effect.

[+] affected symbols: 1 (0.8%)
bladerf_get_fpga_size ( struct bladerf* dev, enum bladerf_fpga_size* size )
2nd parameter 'size' (pointer) has base type 'enum bladerf_fpga_size'.
[+] enum bladerf_gain_mode 3

| Change | Effect
--- | --- | ---
1 | The member BLADERF_GAIN_FASTATTACK_AGC with value 2 has been added. | No effect.
2 | The member BLADERF_GAIN_HYBRID_AGC with value 4 has been added. | No effect.
3 | The member BLADERF_GAIN_SLOWATTACK_AGC with value 3 has been added. | No effect.

[+] affected symbols: 2 (1.5%)
bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode )
3rd parameter 'mode' (pointer) has base type 'enum bladerf_gain_mode'.
bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode )
3rd parameter 'mode' is of type 'enum bladerf_gain_mode'.
[+] enum bladerf_image_type 2

| Change | Effect
--- | --- | ---
1 | The member BLADERF_IMAGE_TYPE_FPGA_A4 with value 4 has been added. | No effect.
2 | The member BLADERF_IMAGE_TYPE_FPGA_A9 with value 5 has been added. | No effect.

[+] affected symbols: 4 (3.1%)
bladerf_alloc_cal_image ( enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim )
Field 'retval.type' in the return value (pointer) is of type 'enum bladerf_image_type'.
bladerf_alloc_image ( enum bladerf_image_type type, uint32_t address, uint32_t length )
Field 'retval.type' in the return value (pointer) is of type 'enum bladerf_image_type'.
bladerf_free_image ( struct bladerf_image* image )
Field 'image.type' in 1st parameter 'image' (pointer) is of type 'enum bladerf_image_type'.
bladerf_image_read ( struct bladerf_image* image, char const* file )
Field 'image.type' in 1st parameter 'image' (pointer) is of type 'enum bladerf_image_type'.
[+] enum bladerf_loopback 1

| Change | Effect
--- | --- | ---
1 | The member BLADERF_LB_RFIC_BIST with value 9 has been added. | No effect.

[+] affected symbols: 2 (1.5%)
bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* l )
2nd parameter 'l' (pointer) has base type 'enum bladerf_loopback'.
bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback l )
2nd parameter 'l' is of type 'enum bladerf_loopback'.
[+] enum bladerf_trigger_signal 2

| Change | Effect
--- | --- | ---
1 | The member BLADERF_TRIGGER_J51_1 with value 1 has been added. | No effect.
2 | The member BLADERF_TRIGGER_MINI_EXP_1 with value 2 has been added. | No effect.

[+] affected symbols: 6 (4.6%)
bladerf_read_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t* val )
3rd parameter 'signal' is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_arm ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool arm, uint64_t resv1, uint64_t resv2 )
Field 'trigger.signal' in 2nd parameter 'trigger' (pointer) is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_fire ( struct bladerf* dev, struct bladerf_trigger const* trigger )
Field 'trigger.signal' in 2nd parameter 'trigger' (pointer) is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )
3rd parameter 'signal' is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_state ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool* is_armed, bool* has_fired, bool* fire_requested, uint64_t* resv1, uint64_t* resv2 )
Field 'trigger.signal' in 2nd parameter 'trigger' (pointer) is of type 'enum bladerf_trigger_signal'.
bladerf_write_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t val )
3rd parameter 'signal' is of type 'enum bladerf_trigger_signal'.
to the top

## Other Changes in Constants 17

bladeRF2.h
[+] BLADERF_RFIC_RXFIR_DEFAULT

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_RFIC_RXFIR_DEFAULT with value 2 has been added. | No effect.

[+] BLADERF_RFIC_TXFIR_DEFAULT

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_RFIC_TXFIR_DEFAULT with value 0 has been added. | No effect.

libbladeRF.h
[+] BLADERF_CHANNEL_INVALID

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CHANNEL_INVALID with value (bladerf_channel)(-1) has been added. | No effect.

[+] BLADERF_CORR_FPGA_GAIN

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_FPGA_GAIN with value 3 has been added. | No effect.

[+] BLADERF_CORR_FPGA_PHASE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_FPGA_PHASE with value 2 has been added. | No effect.

[+] BLADERF_CORR_LMS_DCOFF_I

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_LMS_DCOFF_I with value 0 has been added. | No effect.

[+] BLADERF_CORR_LMS_DCOFF_Q

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_LMS_DCOFF_Q with value 1 has been added. | No effect.

[+] BLADERF_DESCRIPTION_LENGTH

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_DESCRIPTION_LENGTH with value 33 has been added. | No effect.

[+] BLADERF_DIRECTION_MASK

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_DIRECTION_MASK with value (0x1) has been added. | No effect.

[+] BLADERF_ERR_NOT_INIT

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_ERR_NOT_INIT with value (-19) has been added. | No effect.

[+] BLADERF_GAIN_AUTOMATIC

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_GAIN_AUTOMATIC with value 0 has been added. | No effect.

[+] BLADERF_GAIN_MANUAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_GAIN_MANUAL with value 1 has been added. | No effect.

[+] BLADERF_META_FLAG_RX_HW_MINIEXP1

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_META_FLAG_RX_HW_MINIEXP1 with value (1 << 16) has been added. | No effect.

[+] BLADERF_META_FLAG_RX_HW_MINIEXP2

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_META_FLAG_RX_HW_MINIEXP2 with value (1 << 17) has been added. | No effect.

[+] BLADERF_META_FLAG_RX_HW_UNDERFLOW

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_META_FLAG_RX_HW_UNDERFLOW with value (1 << 0) has been added. | No effect.

[+] BLADERF_MODULE_INVALID

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_MODULE_INVALID with value (bladerf_channel)(-1) has been added. | No effect.

[+] BLADERF_RX_MUX_BASEBAND_LMS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_RX_MUX_BASEBAND_LMS with value 0 has been added. | No effect.

to the top

## Header Files 1

libbladeRF.h
to the top

## Libraries 1

libbladeRF.so.1
to the top

## Test Info

Library Name | bladerf
Version #1 | 0.2017.12~rc1-2
Version #2 | 0.2019.07-1
Arch | x86_64
Subject | Source Compatibility

## Test Results

Total Header Files | 1
Total Libraries | 1
Total Symbols / Types | 130 / 53
Compatibility | 86.5%

## Problem Summary

| Severity | Count
--- | --- | ---
Added Symbols | - | 58
Removed Symbols | High | 0
Problems with Data Types | High | 13
Medium | 0
Low | 2
Problems with Symbols | High | 3
Medium | 5
Low | 31
Problems with Constants | Low | 20
Other Changes in Data Types | - | 16
Other Changes in Symbols | - | 35
Other Changes in Constants | - | 27

## Added Symbols 58

bladeRF2.h
bladerf_get_bias_tee ( struct bladerf* dev, bladerf_channel ch, bool* enable )
bladerf_get_clock_output ( struct bladerf* dev, bool* state )
bladerf_get_clock_select ( struct bladerf* dev, enum bladerf_clock_select* sel )
bladerf_get_pll_enable ( struct bladerf* dev, bool* enabled )
bladerf_get_pll_lock_state ( struct bladerf* dev, bool* locked )
bladerf_get_pll_refclk ( struct bladerf* dev, uint64_t* frequency )
bladerf_get_pll_refclk_range ( struct bladerf* dev, struct bladerf_range const** range )
bladerf_get_pll_register ( struct bladerf* dev, uint8_t address, uint32_t* val )
bladerf_get_pmic_register ( struct bladerf* dev, enum bladerf_pmic_register reg, void* val )
bladerf_get_power_source ( struct bladerf* dev, enum bladerf_power_sources* val )
bladerf_get_rf_switch_config ( struct bladerf* dev, struct bladerf_rf_switch_config* config )
bladerf_get_rfic_ctrl_out ( struct bladerf* dev, uint8_t* ctrl_out )
bladerf_get_rfic_register ( struct bladerf* dev, uint16_t address, uint8_t* val )
bladerf_get_rfic_rssi ( struct bladerf* dev, bladerf_channel ch, int32_t* pre_rssi, int32_t* sym_rssi )
bladerf_get_rfic_rx_fir ( struct bladerf* dev, enum bladerf_rfic_rxfir* rxfir )
bladerf_get_rfic_temperature ( struct bladerf* dev, float* val )
bladerf_get_rfic_tx_fir ( struct bladerf* dev, enum bladerf_rfic_txfir* txfir )
bladerf_set_bias_tee ( struct bladerf* dev, bladerf_channel ch, bool enable )
bladerf_set_clock_output ( struct bladerf* dev, bool enable )
bladerf_set_clock_select ( struct bladerf* dev, enum bladerf_clock_select sel )
bladerf_set_pll_enable ( struct bladerf* dev, bool enable )
bladerf_set_pll_refclk ( struct bladerf* dev, uint64_t frequency )
bladerf_set_pll_register ( struct bladerf* dev, uint8_t address, uint32_t val )
bladerf_set_rfic_register ( struct bladerf* dev, uint16_t address, uint8_t val )
bladerf_set_rfic_rx_fir ( struct bladerf* dev, enum bladerf_rfic_rxfir rxfir )
bladerf_set_rfic_tx_fir ( struct bladerf* dev, enum bladerf_rfic_txfir txfir )
libbladeRF.h
bladerf_deinterleave_stream_buffer ( enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int buffer_size, void* samples )
bladerf_erase_flash_bytes ( struct bladerf* dev, uint32_t address, uint32_t length )
bladerf_get_bandwidth_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_board_name ( struct bladerf* dev )
bladerf_get_channel_count ( struct bladerf* dev, enum bladerf_direction dir )
bladerf_get_flash_size ( struct bladerf* dev, uint32_t* size, bool* is_guess )
bladerf_get_fpga_bytes ( struct bladerf* dev, size_t* size )
bladerf_get_fpga_source ( struct bladerf* dev, enum bladerf_fpga_source* source )
bladerf_get_frequency_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_gain ( struct bladerf* dev, bladerf_channel ch, bladerf_gain* gain )
bladerf_get_gain_modes ( struct bladerf* dev, bladerf_channel ch, struct bladerf_gain_modes const** modes )
bladerf_get_gain_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_gain_stage ( struct bladerf* dev, bladerf_channel ch, char const* stage, bladerf_gain* gain )
bladerf_get_gain_stage_range ( struct bladerf* dev, bladerf_channel ch, char const* stage, struct bladerf_range const** range )
bladerf_get_gain_stages ( struct bladerf* dev, bladerf_channel ch, char const** stages, size_t count )
bladerf_get_loopback_modes ( struct bladerf* dev, struct bladerf_loopback_modes const** modes )
bladerf_get_rf_port ( struct bladerf* dev, bladerf_channel ch, char const** port )
bladerf_get_rf_ports ( struct bladerf* dev, bladerf_channel ch, char const** ports, unsigned int count )
bladerf_get_sample_rate_range ( struct bladerf* dev, bladerf_channel ch, struct bladerf_range const** range )
bladerf_get_serial_struct ( struct bladerf* dev, struct bladerf_serial* serial )
bladerf_get_tuning_mode ( struct bladerf* dev, enum bladerf_tuning_mode* mode )
bladerf_interleave_stream_buffer ( enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int buffer_size, void* samples )
bladerf_is_loopback_mode_supported ( struct bladerf* dev, enum bladerf_loopback mode )
bladerf_lock_otp ( struct bladerf* dev )
bladerf_read_flash_bytes ( struct bladerf* dev, uint8_t* buf, uint32_t address, uint32_t bytes )
bladerf_read_otp ( struct bladerf* dev, uint8_t* buf )
bladerf_set_gain_stage ( struct bladerf* dev, bladerf_channel ch, char const* stage, bladerf_gain gain )
bladerf_set_rf_port ( struct bladerf* dev, bladerf_channel ch, char const* port )
bladerf_trim_dac_read ( struct bladerf* dev, uint16_t* val )
bladerf_trim_dac_write ( struct bladerf* dev, uint16_t val )
bladerf_write_flash_bytes ( struct bladerf* dev, uint8_t const* buf, uint32_t address, uint32_t length )
bladerf_write_otp ( struct bladerf* dev, uint8_t* buf )
to the top

## Problems with Data Types, High Severity 13

libbladeRF.h
[+] enum bladerf_correction 4

| Change | Effect
--- | --- | ---
1 | Name of member with value 0 has been changed from BLADERF_CORR_LMS_DCOFF_I to BLADERF_CORR_DCOFF_I. | Recompilation of a client program may be broken with the error message: 'BLADERF_CORR_LMS_DCOFF_I' was not declared in this scope.
2 | Name of member with value 1 has been changed from BLADERF_CORR_LMS_DCOFF_Q to BLADERF_CORR_DCOFF_Q. | Recompilation of a client program may be broken with the error message: 'BLADERF_CORR_LMS_DCOFF_Q' was not declared in this scope.
3 | Name of member with value 2 has been changed from BLADERF_CORR_FPGA_PHASE to BLADERF_CORR_PHASE. | Recompilation of a client program may be broken with the error message: 'BLADERF_CORR_FPGA_PHASE' was not declared in this scope.
4 | Name of member with value 3 has been changed from BLADERF_CORR_FPGA_GAIN to BLADERF_CORR_GAIN. | Recompilation of a client program may be broken with the error message: 'BLADERF_CORR_FPGA_GAIN' was not declared in this scope.

[+] affected symbols: 2 (1.5%)
bladerf_get_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t* value )
3rd parameter 'corr' is of type 'enum bladerf_correction'.
bladerf_set_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t value )
3rd parameter 'corr' is of type 'enum bladerf_correction'.
[+] enum bladerf_gain_mode 2

| Change | Effect
--- | --- | ---
1 | Name of member with value 0 has been changed from BLADERF_GAIN_AUTOMATIC to BLADERF_GAIN_DEFAULT. | Recompilation of a client program may be broken with the error message: 'BLADERF_GAIN_AUTOMATIC' was not declared in this scope.
2 | Name of member with value 1 has been changed from BLADERF_GAIN_MANUAL to BLADERF_GAIN_MGC. | Recompilation of a client program may be broken with the error message: 'BLADERF_GAIN_MANUAL' was not declared in this scope.

[+] affected symbols: 2 (1.5%)
bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode )
3rd parameter 'mode' (pointer) has base type 'enum bladerf_gain_mode'.
bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode )
3rd parameter 'mode' is of type 'enum bladerf_gain_mode'.
[+] enum bladerf_rx_mux 1

| Change | Effect
--- | --- | ---
1 | Name of member with value 0 has been changed from BLADERF_RX_MUX_BASEBAND_LMS to BLADERF_RX_MUX_BASEBAND. | Recompilation of a client program may be broken with the error message: 'BLADERF_RX_MUX_BASEBAND_LMS' was not declared in this scope.

[+] affected symbols: 2 (1.5%)
bladerf_get_rx_mux ( struct bladerf* dev, enum bladerf_rx_mux* mode )
2nd parameter 'mode' (pointer) has base type 'enum bladerf_rx_mux'.
bladerf_set_rx_mux ( struct bladerf* dev, enum bladerf_rx_mux mux )
2nd parameter 'mux' is of type 'enum bladerf_rx_mux'.
[+] struct bladerf_quick_tune 5

| Change | Effect
--- | --- | ---
1 | Field flags has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct bladerf_quick_tune' has no member named 'flags'.
2 | Field freqsel has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct bladerf_quick_tune' has no member named 'freqsel'.
3 | Field nfrac has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct bladerf_quick_tune' has no member named 'nfrac'.
4 | Field nint has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct bladerf_quick_tune' has no member named 'nint'.
5 | Field vcocap has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct bladerf_quick_tune' has no member named 'vcocap'.

[+] affected symbols: 2 (1.5%)
bladerf_get_quick_tune ( struct bladerf* dev, enum bladerf_module module, struct bladerf_quick_tune* quick_tune )
3rd parameter 'quick_tune' (pointer) has base type 'struct bladerf_quick_tune'.
bladerf_schedule_retune ( struct bladerf* dev, enum bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune* quick_tune )
5th parameter 'quick_tune' (pointer) has base type 'struct bladerf_quick_tune'.
[+] struct bladerf_trigger 1

| Change | Effect
--- | --- | ---
1 | Field module has been renamed to channel. | Recompilation of a client program may be broken with the error message: struct bladerf_trigger has no member named module.

[+] affected symbols: 4 (3.1%)
bladerf_trigger_arm ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool arm, uint64_t resv1, uint64_t resv2 )
2nd parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
bladerf_trigger_fire ( struct bladerf* dev, struct bladerf_trigger const* trigger )
2nd parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )
4th parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
bladerf_trigger_state ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool* is_armed, bool* has_fired, bool* fire_requested, uint64_t* resv1, uint64_t* resv2 )
2nd parameter 'trigger' (pointer) has base type 'struct bladerf_trigger'.
to the top

## Problems with Symbols, High Severity 3

libbladeRF.h
[+] bladerf_alloc_cal_image ( enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim ) 1
⇣
bladerf_alloc_cal_image ( struct bladerf* dev, enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim )

| Change | Effect
--- | --- | ---
1 | Parameter dev of type struct bladerf* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] bladerf_alloc_image ( enum bladerf_image_type type, uint32_t address, uint32_t length ) 1
⇣
bladerf_alloc_image ( struct bladerf* dev, enum bladerf_image_type type, uint32_t address, uint32_t length )

| Change | Effect
--- | --- | ---
1 | Parameter dev of type struct bladerf* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] bladerf_image_write ( struct bladerf_image* image, char const* file ) 1
⇣
bladerf_image_write ( struct bladerf* dev, struct bladerf_image* image, char const* file )

| Change | Effect
--- | --- | ---
1 | Parameter dev of type struct bladerf* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

to the top

## Problems with Symbols, Medium Severity 5

libbladeRF.h
[+] bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int* timeout ) 1
⇣
bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int* timeout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_direction of different format. | Recompilation of a client program may be broken.

[+] bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_module mod, uint64_t* value ) 1
⇣
bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_direction dir, bladerf_timestamp* timestamp )

| Change | Effect
--- | --- | ---
1 | Type of parameter mod has been changed from enum bladerf_module to enum bladerf_direction of different format. | Recompilation of a client program may be broken.

[+] bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int timeout ) 1
⇣
bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int timeout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_direction of different format. | Recompilation of a client program may be broken.

[+] bladerf_stream ( struct bladerf_stream* stream, enum bladerf_module module ) 1
⇣
bladerf_stream ( struct bladerf_stream* stream, enum bladerf_channel_layout layout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_channel_layout of different format. | Recompilation of a client program may be broken.

[+] bladerf_sync_config ( struct bladerf* dev, enum bladerf_module module, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout ) 1
⇣
bladerf_sync_config ( struct bladerf* dev, enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout )

| Change | Effect
--- | --- | ---
1 | Type of parameter module has been changed from enum bladerf_module to enum bladerf_channel_layout of different format. | Recompilation of a client program may be broken.

to the top

## Problems with Data Types, Low Severity 2

libbladeRF.h
[+] struct bladerf_devinfo 2

| Change | Effect
--- | --- | ---
1 | Field manufacturer has been added to this type. | This field will not be initialized or used by old client applications.
2 | Field product has been added to this type. | This field will not be initialized or used by old client applications.

[+] affected symbols: 9 (6.9%)
bladerf_devinfo_matches ( struct bladerf_devinfo const* a, struct bladerf_devinfo const* b )
1st parameter 'a' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_devstr_matches ( char const* dev_str, struct bladerf_devinfo* info )
2nd parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_free_device_list ( struct bladerf_devinfo* devices )
1st parameter 'devices' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_bootloader_list ( struct bladerf_devinfo** list )
1st parameter 'list' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_device_list ( struct bladerf_devinfo** devices )
1st parameter 'devices' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_devinfo ( struct bladerf* dev, struct bladerf_devinfo* info )
2nd parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_get_devinfo_from_str ( char const* devstr, struct bladerf_devinfo* info )
2nd parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_init_devinfo ( struct bladerf_devinfo* info )
1st parameter 'info' (pointer) has base type 'struct bladerf_devinfo'.
bladerf_open_with_devinfo ( struct bladerf** device, struct bladerf_devinfo* devinfo )
2nd parameter 'devinfo' (pointer) has base type 'struct bladerf_devinfo'.
to the top

## Problems with Symbols, Low Severity 31

libbladeRF.h
[+] bladerf_cancel_scheduled_retunes ( struct bladerf* dev, enum bladerf_module module ) 1
⇣
bladerf_cancel_scheduled_retunes ( struct bladerf* dev, bladerf_channel ch )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_enable_module ( struct bladerf* dev, enum bladerf_module m, bool enable ) 1
⇣
bladerf_enable_module ( struct bladerf* dev, bladerf_channel ch, bool enable )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter m has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_bandwidth ( struct bladerf* dev, enum bladerf_module module, unsigned int* bandwidth ) 1
⇣
bladerf_get_bandwidth ( struct bladerf* dev, bladerf_channel ch, bladerf_bandwidth* bandwidth )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t* value ) 1
⇣
bladerf_get_correction ( struct bladerf* dev, bladerf_channel ch, enum bladerf_correction corr, bladerf_correction_value* value )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int* frequency ) 2
⇣
bladerf_get_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency* frequency )

| Change | Effect
--- | --- | ---
1 | Base type of 3rd parameter frequency has been changed from unsigned int to unsigned long. | Recompilation of a client program may be broken.
2 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode ) 1
⇣
bladerf_get_gain_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_gain_mode* mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_lpf_mode ( struct bladerf* dev, enum bladerf_module module, enum bladerf_lpf_mode* mode ) 1
⇣
bladerf_get_lpf_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_lpf_mode* mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_quick_tune ( struct bladerf* dev, enum bladerf_module module, struct bladerf_quick_tune* quick_tune ) 1
⇣
bladerf_get_quick_tune ( struct bladerf* dev, bladerf_channel ch, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_rational_sample_rate ( struct bladerf* dev, enum bladerf_module module, struct bladerf_rational_rate* rate ) 1
⇣
bladerf_get_rational_sample_rate ( struct bladerf* dev, bladerf_channel ch, struct bladerf_rational_rate* rate )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_get_sample_rate ( struct bladerf* dev, enum bladerf_module module, unsigned int* rate ) 1
⇣
bladerf_get_sample_rate ( struct bladerf* dev, bladerf_channel ch, bladerf_sample_rate* rate )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_read_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t* val ) 1
⇣
bladerf_read_trigger ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, uint8_t* val )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_schedule_retune ( struct bladerf* dev, enum bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune* quick_tune ) 2
⇣
bladerf_schedule_retune ( struct bladerf* dev, bladerf_channel ch, bladerf_timestamp timestamp, bladerf_frequency frequency, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | Type of 4th parameter frequency has been changed from unsigned int to bladerf_frequency. | Recompilation of a client program may be broken.
2 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_select_band ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 2
⇣
bladerf_select_band ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter frequency has been changed from unsigned int to bladerf_frequency. | Recompilation of a client program may be broken.
2 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_bandwidth ( struct bladerf* dev, enum bladerf_module module, unsigned int bandwidth, unsigned int* actual ) 1
⇣
bladerf_set_bandwidth ( struct bladerf* dev, bladerf_channel ch, bladerf_bandwidth bandwidth, bladerf_bandwidth* actual )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t value ) 1
⇣
bladerf_set_correction ( struct bladerf* dev, bladerf_channel ch, enum bladerf_correction corr, bladerf_correction_value value )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 2
⇣
bladerf_set_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter frequency has been changed from unsigned int to bladerf_frequency. | Recompilation of a client program may be broken.
2 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_gain ( struct bladerf* dev, enum bladerf_module mod, int gain ) 1
⇣
bladerf_set_gain ( struct bladerf* dev, bladerf_channel ch, bladerf_gain gain )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode ) 1
⇣
bladerf_set_gain_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_gain_mode mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_lpf_mode ( struct bladerf* dev, enum bladerf_module module, enum bladerf_lpf_mode mode ) 1
⇣
bladerf_set_lpf_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_lpf_mode mode )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_rational_sample_rate ( struct bladerf* dev, enum bladerf_module module, struct bladerf_rational_rate* rate, struct bladerf_rational_rate* actual ) 1
⇣
bladerf_set_rational_sample_rate ( struct bladerf* dev, bladerf_channel ch, struct bladerf_rational_rate* rate, struct bladerf_rational_rate* actual )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_set_sample_rate ( struct bladerf* dev, enum bladerf_module module, unsigned int rate, unsigned int* actual ) 1
⇣
bladerf_set_sample_rate ( struct bladerf* dev, bladerf_channel ch, bladerf_sample_rate rate, bladerf_sample_rate* actual )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger ) 1
⇣
bladerf_trigger_init ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_write_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t val ) 1
⇣
bladerf_write_trigger ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, uint8_t val )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_xb200_get_filterbank ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_filter* filter ) 1
⇣
bladerf_xb200_get_filterbank ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_filter* filter )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_xb200_get_path ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_path* path ) 1
⇣
bladerf_xb200_get_path ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_path* path )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_xb200_set_filterbank ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_xb200_filter filter ) 1
⇣
bladerf_xb200_set_filterbank ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_filter filter )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter mod has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

[+] bladerf_xb200_set_path ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_path path ) 1
⇣
bladerf_xb200_set_path ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_path path )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter module has been changed from enum bladerf_module to bladerf_channel. | Recompilation of a client program may be broken.

to the top

## Problems with Constants, Low Severity 20

libbladeRF.h
[+] BLADERF_FLASH_BYTE_LEN_FPGA

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_BYTE_LEN_FPGA with value 0x00370000 has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_CAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_CAL with value (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_CAL)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_FIRMWARE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_FIRMWARE with value (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FIRMWARE)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_FPGA

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_FPGA with value (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FPGA)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_LEN_CAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_LEN_CAL with value 1 has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_LEN_FIRMWARE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_LEN_FIRMWARE with value (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FIRMWARE)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_LEN_FPGA

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_LEN_FPGA with value (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FPGA)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_EB_SIZE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_EB_SIZE with value (64 * 1024) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_NUM_EBS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_NUM_EBS with value (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_EB_SIZE) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_NUM_PAGES

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_NUM_PAGES with value (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_PAGE_SIZE) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_PAGE_CAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_CAL with value (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_CAL)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_PAGE_FIRMWARE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_FIRMWARE with value (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FIRMWARE)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_PAGE_FPGA

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_FPGA with value (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FPGA)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_PAGE_LEN_CAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_LEN_CAL with value (BLADERF_FLASH_TO_PAGES(FLASH_BYTE_LEN_CAL)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_PAGE_LEN_FIRMWARE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_LEN_FIRMWARE with value (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_BYTE_LEN_FIRMWARE)) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_PAGE_SIZE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_PAGE_SIZE with value 256 has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_FLASH_TOTAL_SIZE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_FLASH_TOTAL_SIZE with value (4 * 1024 * 1024) has been removed. | Recompilation of a client program may be broken.

[+] BLADERF_GPIO_AGC_ENABLE

| Change | Effect
--- | --- | ---
1 | The value of constant BLADERF_GPIO_AGC_ENABLE has been changed from (1 << 12) to (1 << 18). | Recompilation of a client program may be broken.

[+] BLADERF_RETUNE_NOW

| Change | Effect
--- | --- | ---
1 | The value of constant BLADERF_RETUNE_NOW has been changed from 0 to (bladerf_timestamp)0. | Recompilation of a client program may be broken.

[+] LIBBLADERF_API_VERSION

| Change | Effect
--- | --- | ---
1 | The value of constant LIBBLADERF_API_VERSION has been changed from (0x01090000) to (0x02020100). | Recompilation of a client program may be broken.

to the top

## Other Changes in Data Types 16

libbladeRF.h
[+] enum bladerf_fpga_size 2

| Change | Effect
--- | --- | ---
1 | The member BLADERF_FPGA_A4 with value 49 has been added. | No effect.
2 | The member BLADERF_FPGA_A9 with value 301 has been added. | No effect.

[+] affected symbols: 1 (0.8%)
bladerf_get_fpga_size ( struct bladerf* dev, enum bladerf_fpga_size* size )
2nd parameter 'size' (pointer) has base type 'enum bladerf_fpga_size'.
[+] enum bladerf_gain_mode 3

| Change | Effect
--- | --- | ---
1 | The member BLADERF_GAIN_FASTATTACK_AGC with value 2 has been added. | No effect.
2 | The member BLADERF_GAIN_HYBRID_AGC with value 4 has been added. | No effect.
3 | The member BLADERF_GAIN_SLOWATTACK_AGC with value 3 has been added. | No effect.

[+] affected symbols: 2 (1.5%)
bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode )
3rd parameter 'mode' (pointer) has base type 'enum bladerf_gain_mode'.
bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode )
3rd parameter 'mode' is of type 'enum bladerf_gain_mode'.
[+] enum bladerf_image_type 7

| Change | Effect
--- | --- | ---
1 | The member BLADERF_IMAGE_TYPE_FPGA_A4 with value 4 has been added. | No effect.
2 | The member BLADERF_IMAGE_TYPE_FPGA_A9 with value 5 has been added. | No effect.
3 | Value of member BLADERF_IMAGE_TYPE_CALIBRATION has been changed from 4 to 6. | No effect.
4 | Value of member BLADERF_IMAGE_TYPE_RX_DC_CAL has been changed from 5 to 7. | No effect.
5 | Value of member BLADERF_IMAGE_TYPE_RX_IQ_CAL has been changed from 7 to 9. | No effect.
6 | Value of member BLADERF_IMAGE_TYPE_TX_DC_CAL has been changed from 6 to 8. | No effect.
7 | Value of member BLADERF_IMAGE_TYPE_TX_IQ_CAL has been changed from 8 to 10. | No effect.

[+] affected symbols: 4 (3.1%)
bladerf_alloc_cal_image ( enum bladerf_fpga_size fpga_size, uint16_t vctcxo_trim )
Field 'retval.type' in the return value (pointer) is of type 'enum bladerf_image_type'.
bladerf_alloc_image ( enum bladerf_image_type type, uint32_t address, uint32_t length )
Field 'retval.type' in the return value (pointer) is of type 'enum bladerf_image_type'.
bladerf_free_image ( struct bladerf_image* image )
Field 'image.type' in 1st parameter 'image' (pointer) is of type 'enum bladerf_image_type'.
bladerf_image_read ( struct bladerf_image* image, char const* file )
Field 'image.type' in 1st parameter 'image' (pointer) is of type 'enum bladerf_image_type'.
[+] enum bladerf_loopback 2

| Change | Effect
--- | --- | ---
1 | The member BLADERF_LB_RFIC_BIST with value 9 has been added. | No effect.
2 | Value of member BLADERF_LB_NONE has been changed from 9 to 0. | No effect.

[+] affected symbols: 2 (1.5%)
bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* l )
2nd parameter 'l' (pointer) has base type 'enum bladerf_loopback'.
bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback l )
2nd parameter 'l' is of type 'enum bladerf_loopback'.
[+] enum bladerf_trigger_signal 2

| Change | Effect
--- | --- | ---
1 | The member BLADERF_TRIGGER_J51_1 with value 1 has been added. | No effect.
2 | The member BLADERF_TRIGGER_MINI_EXP_1 with value 2 has been added. | No effect.

[+] affected symbols: 6 (4.6%)
bladerf_read_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t* val )
3rd parameter 'signal' is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_arm ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool arm, uint64_t resv1, uint64_t resv2 )
Field 'trigger.signal' in 2nd parameter 'trigger' (pointer) is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_fire ( struct bladerf* dev, struct bladerf_trigger const* trigger )
Field 'trigger.signal' in 2nd parameter 'trigger' (pointer) is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )
3rd parameter 'signal' is of type 'enum bladerf_trigger_signal'.
bladerf_trigger_state ( struct bladerf* dev, struct bladerf_trigger const* trigger, bool* is_armed, bool* has_fired, bool* fire_requested, uint64_t* resv1, uint64_t* resv2 )
Field 'trigger.signal' in 2nd parameter 'trigger' (pointer) is of type 'enum bladerf_trigger_signal'.
bladerf_write_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t val )
3rd parameter 'signal' is of type 'enum bladerf_trigger_signal'.
to the top

## Other Changes in Symbols 35

libbladeRF.h
[+] bladerf_cancel_scheduled_retunes ( struct bladerf* dev, enum bladerf_module module ) 1
⇣
bladerf_cancel_scheduled_retunes ( struct bladerf* dev, bladerf_channel ch )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_enable_module ( struct bladerf* dev, enum bladerf_module m, bool enable ) 1
⇣
bladerf_enable_module ( struct bladerf* dev, bladerf_channel ch, bool enable )

| Change | Effect
--- | --- | ---
1 | 2nd parameter m has been renamed to ch. | No effect.

[+] bladerf_get_bandwidth ( struct bladerf* dev, enum bladerf_module module, unsigned int* bandwidth ) 1
⇣
bladerf_get_bandwidth ( struct bladerf* dev, bladerf_channel ch, bladerf_bandwidth* bandwidth )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t* value ) 1
⇣
bladerf_get_correction ( struct bladerf* dev, bladerf_channel ch, enum bladerf_correction corr, bladerf_correction_value* value )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int* frequency ) 1
⇣
bladerf_get_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency* frequency )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode* mode ) 1
⇣
bladerf_get_gain_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_gain_mode* mode )

| Change | Effect
--- | --- | ---
1 | 2nd parameter mod has been renamed to ch. | No effect.

[+] bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* l ) 1
⇣
bladerf_get_loopback ( struct bladerf* dev, enum bladerf_loopback* lb )

| Change | Effect
--- | --- | ---
1 | 2nd parameter l has been renamed to lb. | No effect.

[+] bladerf_get_lpf_mode ( struct bladerf* dev, enum bladerf_module module, enum bladerf_lpf_mode* mode ) 1
⇣
bladerf_get_lpf_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_lpf_mode* mode )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_quick_tune ( struct bladerf* dev, enum bladerf_module module, struct bladerf_quick_tune* quick_tune ) 1
⇣
bladerf_get_quick_tune ( struct bladerf* dev, bladerf_channel ch, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_rational_sample_rate ( struct bladerf* dev, enum bladerf_module module, struct bladerf_rational_rate* rate ) 1
⇣
bladerf_get_rational_sample_rate ( struct bladerf* dev, bladerf_channel ch, struct bladerf_rational_rate* rate )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_sample_rate ( struct bladerf* dev, enum bladerf_module module, unsigned int* rate ) 1
⇣
bladerf_get_sample_rate ( struct bladerf* dev, bladerf_channel ch, bladerf_sample_rate* rate )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int* timeout ) 1
⇣
bladerf_get_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int* timeout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to dir. | No effect.

[+] bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_module mod, uint64_t* value ) 2
⇣
bladerf_get_timestamp ( struct bladerf* dev, enum bladerf_direction dir, bladerf_timestamp* timestamp )

| Change | Effect
--- | --- | ---
1 | 2nd parameter mod has been renamed to dir. | No effect.
2 | 3rd parameter value has been renamed to timestamp. | No effect.

[+] bladerf_read_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t* val ) 1
⇣
bladerf_read_trigger ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, uint8_t* val )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_schedule_retune ( struct bladerf* dev, enum bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune* quick_tune ) 1
⇣
bladerf_schedule_retune ( struct bladerf* dev, bladerf_channel ch, bladerf_timestamp timestamp, bladerf_frequency frequency, struct bladerf_quick_tune* quick_tune )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_select_band ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 1
⇣
bladerf_select_band ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_bandwidth ( struct bladerf* dev, enum bladerf_module module, unsigned int bandwidth, unsigned int* actual ) 1
⇣
bladerf_set_bandwidth ( struct bladerf* dev, bladerf_channel ch, bladerf_bandwidth bandwidth, bladerf_bandwidth* actual )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_correction ( struct bladerf* dev, enum bladerf_module module, enum bladerf_correction corr, int16_t value ) 1
⇣
bladerf_set_correction ( struct bladerf* dev, bladerf_channel ch, enum bladerf_correction corr, bladerf_correction_value value )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_frequency ( struct bladerf* dev, enum bladerf_module module, unsigned int frequency ) 1
⇣
bladerf_set_frequency ( struct bladerf* dev, bladerf_channel ch, bladerf_frequency frequency )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_gain ( struct bladerf* dev, enum bladerf_module mod, int gain ) 1
⇣
bladerf_set_gain ( struct bladerf* dev, bladerf_channel ch, bladerf_gain gain )

| Change | Effect
--- | --- | ---
1 | 2nd parameter mod has been renamed to ch. | No effect.

[+] bladerf_set_gain_mode ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_gain_mode mode ) 1
⇣
bladerf_set_gain_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_gain_mode mode )

| Change | Effect
--- | --- | ---
1 | 2nd parameter mod has been renamed to ch. | No effect.

[+] bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback l ) 1
⇣
bladerf_set_loopback ( struct bladerf* dev, enum bladerf_loopback lb )

| Change | Effect
--- | --- | ---
1 | 2nd parameter l has been renamed to lb. | No effect.

[+] bladerf_set_lpf_mode ( struct bladerf* dev, enum bladerf_module module, enum bladerf_lpf_mode mode ) 1
⇣
bladerf_set_lpf_mode ( struct bladerf* dev, bladerf_channel ch, enum bladerf_lpf_mode mode )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_rational_sample_rate ( struct bladerf* dev, enum bladerf_module module, struct bladerf_rational_rate* rate, struct bladerf_rational_rate* actual ) 1
⇣
bladerf_set_rational_sample_rate ( struct bladerf* dev, bladerf_channel ch, struct bladerf_rational_rate* rate, struct bladerf_rational_rate* actual )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_sample_rate ( struct bladerf* dev, enum bladerf_module module, unsigned int rate, unsigned int* actual ) 1
⇣
bladerf_set_sample_rate ( struct bladerf* dev, bladerf_channel ch, bladerf_sample_rate rate, bladerf_sample_rate* actual )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_module module, unsigned int timeout ) 1
⇣
bladerf_set_stream_timeout ( struct bladerf* dev, enum bladerf_direction dir, unsigned int timeout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to dir. | No effect.

[+] bladerf_stream ( struct bladerf_stream* stream, enum bladerf_module module ) 1
⇣
bladerf_stream ( struct bladerf_stream* stream, enum bladerf_channel_layout layout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to layout. | No effect.

[+] bladerf_sync_config ( struct bladerf* dev, enum bladerf_module module, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout ) 1
⇣
bladerf_sync_config ( struct bladerf* dev, enum bladerf_channel_layout layout, enum bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to layout. | No effect.

[+] bladerf_trigger_init ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger ) 1
⇣
bladerf_trigger_init ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, struct bladerf_trigger* trigger )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_write_trigger ( struct bladerf* dev, enum bladerf_module module, enum bladerf_trigger_signal signal, uint8_t val ) 1
⇣
bladerf_write_trigger ( struct bladerf* dev, bladerf_channel ch, enum bladerf_trigger_signal signal, uint8_t val )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_xb200_get_filterbank ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_filter* filter ) 1
⇣
bladerf_xb200_get_filterbank ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_filter* filter )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_xb200_get_path ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_path* path ) 1
⇣
bladerf_xb200_get_path ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_path* path )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

[+] bladerf_xb200_set_filterbank ( struct bladerf* dev, enum bladerf_module mod, enum bladerf_xb200_filter filter ) 1
⇣
bladerf_xb200_set_filterbank ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_filter filter )

| Change | Effect
--- | --- | ---
1 | 2nd parameter mod has been renamed to ch. | No effect.

[+] bladerf_xb200_set_path ( struct bladerf* dev, enum bladerf_module module, enum bladerf_xb200_path path ) 1
⇣
bladerf_xb200_set_path ( struct bladerf* dev, bladerf_channel ch, enum bladerf_xb200_path path )

| Change | Effect
--- | --- | ---
1 | 2nd parameter module has been renamed to ch. | No effect.

to the top

## Other Changes in Constants 27

bladeRF2.h
[+] BLADERF_RFIC_RXFIR_DEFAULT

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_RFIC_RXFIR_DEFAULT with value 2 has been added. | No effect.

[+] BLADERF_RFIC_TXFIR_DEFAULT

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_RFIC_TXFIR_DEFAULT with value 0 has been added. | No effect.

libbladeRF.h
[+] BLADERF_CHANNEL_INVALID

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CHANNEL_INVALID with value (bladerf_channel)(-1) has been added. | No effect.

[+] BLADERF_CORR_FPGA_GAIN

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_FPGA_GAIN with value 3 has been added. | No effect.

[+] BLADERF_CORR_FPGA_PHASE

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_FPGA_PHASE with value 2 has been added. | No effect.

[+] BLADERF_CORR_LMS_DCOFF_I

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_LMS_DCOFF_I with value 0 has been added. | No effect.

[+] BLADERF_CORR_LMS_DCOFF_Q

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_CORR_LMS_DCOFF_Q with value 1 has been added. | No effect.

[+] BLADERF_DESCRIPTION_LENGTH

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_DESCRIPTION_LENGTH with value 33 has been added. | No effect.

[+] BLADERF_DIRECTION_MASK

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_DIRECTION_MASK with value (0x1) has been added. | No effect.

[+] BLADERF_ERR_NOT_INIT

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_ERR_NOT_INIT with value (-19) has been added. | No effect.

[+] BLADERF_GAIN_AUTOMATIC

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_GAIN_AUTOMATIC with value 0 has been added. | No effect.

[+] BLADERF_GAIN_MANUAL

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_GAIN_MANUAL with value 1 has been added. | No effect.

[+] BLADERF_META_FLAG_RX_HW_MINIEXP1

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_META_FLAG_RX_HW_MINIEXP1 with value (1 << 16) has been added. | No effect.

[+] BLADERF_META_FLAG_RX_HW_MINIEXP2

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_META_FLAG_RX_HW_MINIEXP2 with value (1 << 17) has been added. | No effect.

[+] BLADERF_META_FLAG_RX_HW_UNDERFLOW

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_META_FLAG_RX_HW_UNDERFLOW with value (1 << 0) has been added. | No effect.

[+] BLADERF_MODULE_INVALID

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_MODULE_INVALID with value (bladerf_channel)(-1) has been added. | No effect.

[+] BLADERF_MODULE_RX

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_MODULE_RX with value BLADERF_CHANNEL_RX(0) has been added. | No effect.

[+] BLADERF_MODULE_TX

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_MODULE_TX with value BLADERF_CHANNEL_TX(0) has been added. | No effect.

[+] BLADERF_PRIuFREQ

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_PRIuFREQ with value PRIu64 has been added. | No effect.

[+] BLADERF_PRIuTS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_PRIuTS with value PRIu64 has been added. | No effect.

[+] BLADERF_PRIxFREQ

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_PRIxFREQ with value PRIx64 has been added. | No effect.

[+] BLADERF_PRIxTS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_PRIxTS with value PRIx64 has been added. | No effect.

[+] BLADERF_RX_MUX_BASEBAND_LMS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_RX_MUX_BASEBAND_LMS with value 0 has been added. | No effect.

[+] BLADERF_SCNuFREQ

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_SCNuFREQ with value SCNu64 has been added. | No effect.

[+] BLADERF_SCNuTS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_SCNuTS with value SCNu64 has been added. | No effect.

[+] BLADERF_SCNxFREQ

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_SCNxFREQ with value SCNx64 has been added. | No effect.

[+] BLADERF_SCNxTS

| Change | Effect
--- | --- | ---
1 | The constant BLADERF_SCNxTS with value SCNx64 has been added. | No effect.

to the top

## Header Files 1

libbladeRF.h
to the top

## Libraries 1

libbladeRF.so.1
to the top