Improved audio (sdr) handling

This commit is contained in:
Andreas Eversberg 2018-01-20 15:54:35 +01:00
parent 9af2b6e007
commit 9197320ee6
5 changed files with 6 additions and 6 deletions

View File

@ -445,7 +445,6 @@ void process_console(int c)
/* handle audio, if sound device is used */
sample_t samples[console.latspl + 10], *samples_list[1];
uint8_t *power_list[1];
double rf_level_db[1];
int count;
int rc;
@ -469,7 +468,7 @@ void process_console(int c)
}
}
samples_list[0] = samples;
count = sound_read(console.sound, samples_list, console.latspl, 1, rf_level_db);
count = sound_read(console.sound, samples_list, console.latspl, 1, NULL);
if (count < 0) {
PDEBUG(DSENDER, DEBUG_ERROR, "Failed to read from sound device (rc = %d)!\n", count);
if (count == -EPIPE)

View File

@ -42,5 +42,4 @@ void sighandler(int sigset);
void main_mobile(int *quit, int latency, int interval, void (*myhandler)(void), const char *station_id, int station_id_digits);
void dump_info(void);
void calibrate_bias(void);

View File

@ -2,9 +2,10 @@
enum paging_signal;
int sdr_start(void *inst);
void *sdr_open(const char *audiodev, double *tx_frequency, double *rx_frequency, int channels, double paging_frequency, int samplerate, int latspl, double bandwidth, double sample_deviation);
void *sdr_open(const char *audiodev, double *tx_frequency, double *rx_frequency, int channels, double paging_frequency, int samplerate, int latspl, double max_deviation, double max_modulation);
void sdr_close(void *inst);
int sdr_write(void *inst, sample_t **samples, uint8_t **power, int num, enum paging_signal *paging_signal, int *on, int channels);
int sdr_read(void *inst, sample_t **samples, int num, int channels, double *rf_level_db);
int sdr_get_tosend(void *inst, int latspl);
void calibrate_bias(void);

View File

@ -1,7 +1,7 @@
enum paging_signal;
void *sound_open(const char *audiodev, double *tx_frequency, double *rx_frequency, int channels, double paging_frequency, int samplerate, int latspl, double bandwidth, double sample_deviation);
void *sound_open(const char *audiodev, double *tx_frequency, double *rx_frequency, int channels, double paging_frequency, int samplerate, int latspl, double max_deviation, double max_modulation);
int sound_start(void *inst);
void sound_close(void *inst);
int sound_write(void *inst, sample_t **samples, uint8_t **power, int num, enum paging_signal *paging_signal, int *on, int channels);

View File

@ -431,6 +431,7 @@ int sound_read(void *inst, sample_t **samples, int num, int channels, double *rf
if (!sender)
continue;
display_measurements_update(sound->dmp[i], log10((double)max[i] / 32768.0) * 20, 0.0);
if (rf_level_db)
rf_level_db[i] = 0.0;
}