added fields to hackrf_sweep binary output

This commit is contained in:
Michael Ossmann
2017-02-09 17:32:33 -07:00
parent a1d6e7b3fe
commit 06e24e876f

View File

@ -199,7 +199,8 @@ int rx_callback(hackrf_transfer* transfer) {
int8_t* buf;
uint8_t* ubuf;
uint64_t frequency; /* in Hz */
float float_freq;
uint64_t band_edge;
uint32_t record_length;
int i, j;
if(NULL == fd) {
@ -245,13 +246,23 @@ int rx_callback(hackrf_transfer* transfer) {
pwr[i] = logPower(fftwOut[i], 1.0f / fftSize);
}
if(binary_output) {
float_freq = frequency;
float_freq /= FREQ_ONE_MHZ;
fwrite(&float_freq, sizeof(float), 1, stdout);
record_length = 2 * sizeof(band_edge) + sizeof(fft_bin_width)
+ (fftSize/4) * sizeof(float);
fwrite(&record_length, sizeof(record_length), 1, stdout);
band_edge = frequency;
fwrite(&band_edge, sizeof(band_edge), 1, stdout);
band_edge = frequency + DEFAULT_SAMPLE_RATE_HZ / 4;
fwrite(&band_edge, sizeof(band_edge), 1, stdout);
fwrite(&fft_bin_width, sizeof(fft_bin_width), 1, stdout);
fwrite(&pwr[1+(fftSize*5)/8], sizeof(float), fftSize/4, stdout);
float_freq = frequency + DEFAULT_SAMPLE_RATE_HZ / 2;
float_freq /= FREQ_ONE_MHZ;
fwrite(&float_freq, sizeof(float), 1, stdout);
fwrite(&record_length, sizeof(record_length), 1, stdout);
band_edge = frequency + DEFAULT_SAMPLE_RATE_HZ / 2;
fwrite(&band_edge, sizeof(band_edge), 1, stdout);
band_edge = frequency + (DEFAULT_SAMPLE_RATE_HZ * 3) / 4;
fwrite(&band_edge, sizeof(band_edge), 1, stdout);
fwrite(&fft_bin_width, sizeof(fft_bin_width), 1, stdout);
fwrite(&pwr[1+fftSize/8], sizeof(float), fftSize/4, stdout);
} else {
time_now = time(NULL);