We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bladerf_get_correction
BladeRf Version Info
BladeRf x40 bladeRF-cli version: 1.9.0-git-fe3304d7 libbladeRF version: 2.5.1-git-fe3304d7 Firmware version: 2.4.0-git-a3d5c55f FPGA version: 0.14.0 (configured from SPI flash)
after setting BLADERF_CORR_DCOFF_I or BLADERF_CORR_DCOFF_Q to 0, reads from bladerf_get_correction output a value of 2048.
BLADERF_CORR_DCOFF_I
BLADERF_CORR_DCOFF_Q
Further, setting values 0-15 inclusive also report 2048 while values 16-32 set it to 2064. This pattern seems to repeat.
#include <libbladeRF.h> #include <stdio.h> #include <stdlib.h> #include <string.h> const bladerf_channel CHANNEL = BLADERF_CHANNEL_TX(0); int main(int argc, char *argv[]) { printf("Hello, World!\n"); struct bladerf *dev = NULL; struct bladerf_devinfo dev_info; /* Initialize the information used to identify the desired device * to all wildcard (i.e., "any device") values */ bladerf_init_devinfo(&dev_info); /* Request a device with the provided serial number. * Invalid strings should simply fail to match a device. */ if (argc >= 2) { strncpy(dev_info.serial, argv[1], sizeof(dev_info.serial) - 1); } int status = bladerf_open_with_devinfo(&dev, &dev_info); if (status != 0) { fprintf(stderr, "Unable to open device: %s\n", bladerf_strerror(status)); return 1; } // gets 2048 for inclusive values 0-15 and 2064 for 16-31, etc short int corr_i = 0; short int corr_q = 32; short int corr_phase = 0; short int corr_gain = 0; int res = 0; // res = bladerf_set_correction(dev, CHANNEL, BLADERF_CORR_DCOFF_I, corr_i); if (res != 0) { printf("Error: %d\n", res); return 1; } res = bladerf_get_correction(dev, CHANNEL, BLADERF_CORR_DCOFF_I, &corr_i); if (res != 0) { printf("Error: %d\n", res); return 1; } // res = bladerf_set_correction(dev, CHANNEL, BLADERF_CORR_DCOFF_Q, corr_q); if (res != 0) { printf("Error: %d\n", res); return 1; } res = bladerf_get_correction(dev, CHANNEL, BLADERF_CORR_DCOFF_Q, &corr_q); if (res != 0) { printf("Error: %d\n", res); return 1; } // res = bladerf_set_correction(dev, CHANNEL, BLADERF_CORR_PHASE, corr_phase); if (res != 0) { printf("Error: %d\n", res); return 1; } res = bladerf_get_correction(dev, CHANNEL, BLADERF_CORR_PHASE, &corr_phase); if (res != 0) { printf("Error: %d\n", res); return 1; } // res = bladerf_set_correction(dev, CHANNEL, BLADERF_CORR_GAIN, corr_gain); if (res != 0) { printf("Error: %d\n", res); return 1; } res = bladerf_get_correction(dev, CHANNEL, BLADERF_CORR_GAIN, &corr_gain); if (res != 0) { printf("Error: %d\n", res); return 1; } // printf("I: %d, Q: %d, Phase: %d, Gain: %d\n", corr_i, corr_q, corr_phase, corr_gain); return 0; }
I originally noticed this with other program I am working on here.
Potentially, but probably unrelated (from a long time ago) issue: #284
The text was updated successfully, but these errors were encountered:
No branches or pull requests
BladeRf Version Info
after setting
BLADERF_CORR_DCOFF_I
orBLADERF_CORR_DCOFF_Q
to 0, reads frombladerf_get_correction
output a value of 2048.Further, setting values 0-15 inclusive also report 2048 while values 16-32 set it to 2064.
This pattern seems to repeat.
C Test Script
I originally noticed this with other program I am working on here.
Potentially, but probably unrelated (from a long time ago) issue: #284
The text was updated successfully, but these errors were encountered: