Guest User

RX888 MKII patch

a guest
Sep 13th, 2023
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.89 KB | None | 0 0
  1. diff --git a/src/librx888.c b/src/librx888.c
  2. index 430739d..de7944d 100644
  3. --- a/src/librx888.c
  4. +++ b/src/librx888.c
  5. @@ -47,7 +47,13 @@ enum rx888_command {
  6.      STARTADC = 0xB2,
  7.      STOPFX3 = 0xAB,
  8.      R820T2STDBY = 0xB8,
  9. -    GPIOFX3 = 0xAD
  10. +    GPIOFX3 = 0xAD,
  11. +    SETARGFX3 = 0xB6
  12. +};
  13. +
  14. +enum rx888_argument {
  15. +    AD8340_VGA = 11,
  16. +    DAT31_ATT = 10,
  17.  };
  18.  
  19.  // Bitmasks for GPIO pins
  20. @@ -125,6 +131,24 @@ static int rx888_send_command(struct libusb_device_handle *dev_handle,
  21.    return 0;
  22.  }
  23.  
  24. +static int rx888_send_argument(struct libusb_device_handle *dev_handle,
  25. +                                 enum rx888_argument cmd,uint32_t data)
  26. +{
  27. +  /* Send the control message. */
  28. +  uint8_t zero = 0;
  29. +  int ret = libusb_control_transfer(
  30. +      dev_handle, LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_ENDPOINT_OUT, SETARGFX3, data, cmd,
  31. +      (unsigned char *)&zero, sizeof(zero), CTRL_TIMEOUT);
  32. +
  33. +  if (ret < 0) {
  34. +    fprintf(stderr, "Could not send argument: 0x%X with data: %d. Error : %s.\n",
  35. +            cmd, data, libusb_error_name(ret));
  36. +    return -1;
  37. +  }
  38. +
  39. +  return 0;
  40. +}
  41. +
  42.  int rx888_set_hf_attenuation(rx888_dev_t *dev, double rf_gain)
  43.  {
  44.      if (!dev)
  45. @@ -436,10 +460,14 @@ int rx888_open(rx888_dev_t **out_dev, uint32_t index)
  46.  
  47.      dev->dev_lost = false;
  48.  
  49. -    dev->gpio_state = BIAS_HF;
  50. +    // dev->gpio_state = BIAS_HF;
  51. +    dev->gpio_state = 0;
  52.      *out_dev = dev;
  53.      rx888_send_command(dev->dev_handle, R820T2STDBY, 0);
  54.      rx888_send_command(dev->dev_handle, STOPFX3, 0);
  55. +    // Change the number below to change gain, 0 - 127 for -11 - 17dB voltage gain; 128 - 255 for 6 - 34 dB gain.
  56. +    rx888_send_argument(dev->dev_handle, AD8340_VGA, 157);
  57. +    rx888_send_argument(dev->dev_handle, DAT31_ATT, 0);
  58.      rx888_send_command(dev->dev_handle, STARTADC, dev->sample_rate);
  59.      rx888_send_command(dev->dev_handle, STARTFX3, 0);
  60.      return 0;
Advertisement
Add Comment
Please, Sign In to add comment