lib: actually handle the value returned by the fw when setting the gains
This commit is contained in:
@ -856,6 +856,7 @@ int ADDCALL hackrf_board_partid_serialno_read(hackrf_device* device, read_partid
|
|||||||
int ADDCALL hackrf_set_lna_gain(hackrf_device* device, uint32_t value)
|
int ADDCALL hackrf_set_lna_gain(hackrf_device* device, uint32_t value)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
uint8_t retval;
|
||||||
|
|
||||||
if( value > 40 )
|
if( value > 40 )
|
||||||
{
|
{
|
||||||
@ -864,16 +865,16 @@ int ADDCALL hackrf_set_lna_gain(hackrf_device* device, uint32_t value)
|
|||||||
|
|
||||||
result = libusb_control_transfer(
|
result = libusb_control_transfer(
|
||||||
device->usb_device,
|
device->usb_device,
|
||||||
LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE,
|
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE,
|
||||||
HACKRF_VENDOR_REQUEST_SET_LNA_GAIN,
|
HACKRF_VENDOR_REQUEST_SET_LNA_GAIN,
|
||||||
0,
|
0,
|
||||||
value,
|
value,
|
||||||
NULL,
|
&retval,
|
||||||
0,
|
1,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
if( result != 0 )
|
if( result != 1 || !retval )
|
||||||
{
|
{
|
||||||
return HACKRF_ERROR_INVALID_PARAM;
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
} else {
|
} else {
|
||||||
@ -884,6 +885,7 @@ int ADDCALL hackrf_set_lna_gain(hackrf_device* device, uint32_t value)
|
|||||||
int ADDCALL hackrf_set_vga_gain(hackrf_device* device, uint32_t value)
|
int ADDCALL hackrf_set_vga_gain(hackrf_device* device, uint32_t value)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
uint8_t retval;
|
||||||
|
|
||||||
if( value > 62 )
|
if( value > 62 )
|
||||||
{
|
{
|
||||||
@ -892,16 +894,16 @@ int ADDCALL hackrf_set_vga_gain(hackrf_device* device, uint32_t value)
|
|||||||
|
|
||||||
result = libusb_control_transfer(
|
result = libusb_control_transfer(
|
||||||
device->usb_device,
|
device->usb_device,
|
||||||
LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE,
|
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE,
|
||||||
HACKRF_VENDOR_REQUEST_SET_VGA_GAIN,
|
HACKRF_VENDOR_REQUEST_SET_VGA_GAIN,
|
||||||
0,
|
0,
|
||||||
value,
|
value,
|
||||||
NULL,
|
&retval,
|
||||||
0,
|
1,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
if( result != 0 )
|
if( result != 1 || !retval )
|
||||||
{
|
{
|
||||||
return HACKRF_ERROR_INVALID_PARAM;
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
} else {
|
} else {
|
||||||
@ -912,6 +914,7 @@ int ADDCALL hackrf_set_vga_gain(hackrf_device* device, uint32_t value)
|
|||||||
int ADDCALL hackrf_set_txvga_gain(hackrf_device* device, uint32_t value)
|
int ADDCALL hackrf_set_txvga_gain(hackrf_device* device, uint32_t value)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
uint8_t retval;
|
||||||
|
|
||||||
if( value > 47 )
|
if( value > 47 )
|
||||||
{
|
{
|
||||||
@ -920,16 +923,16 @@ int ADDCALL hackrf_set_txvga_gain(hackrf_device* device, uint32_t value)
|
|||||||
|
|
||||||
result = libusb_control_transfer(
|
result = libusb_control_transfer(
|
||||||
device->usb_device,
|
device->usb_device,
|
||||||
LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE,
|
LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE,
|
||||||
HACKRF_VENDOR_REQUEST_SET_TXVGA_GAIN,
|
HACKRF_VENDOR_REQUEST_SET_TXVGA_GAIN,
|
||||||
0,
|
0,
|
||||||
value,
|
value,
|
||||||
NULL,
|
&retval,
|
||||||
0,
|
1,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
if( result != 0 )
|
if( result != 1 || !retval )
|
||||||
{
|
{
|
||||||
return HACKRF_ERROR_INVALID_PARAM;
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user