Improved audio (sdr) handling
This commit is contained in:
parent
9af2b6e007
commit
9197320ee6
|
@ -445,7 +445,6 @@ void process_console(int c)
|
||||||
/* handle audio, if sound device is used */
|
/* handle audio, if sound device is used */
|
||||||
sample_t samples[console.latspl + 10], *samples_list[1];
|
sample_t samples[console.latspl + 10], *samples_list[1];
|
||||||
uint8_t *power_list[1];
|
uint8_t *power_list[1];
|
||||||
double rf_level_db[1];
|
|
||||||
int count;
|
int count;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
|
@ -469,7 +468,7 @@ void process_console(int c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
samples_list[0] = samples;
|
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) {
|
if (count < 0) {
|
||||||
PDEBUG(DSENDER, DEBUG_ERROR, "Failed to read from sound device (rc = %d)!\n", count);
|
PDEBUG(DSENDER, DEBUG_ERROR, "Failed to read from sound device (rc = %d)!\n", count);
|
||||||
if (count == -EPIPE)
|
if (count == -EPIPE)
|
||||||
|
|
|
@ -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 main_mobile(int *quit, int latency, int interval, void (*myhandler)(void), const char *station_id, int station_id_digits);
|
||||||
|
|
||||||
void dump_info(void);
|
void dump_info(void);
|
||||||
void calibrate_bias(void);
|
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
enum paging_signal;
|
enum paging_signal;
|
||||||
|
|
||||||
int sdr_start(void *inst);
|
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);
|
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_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_read(void *inst, sample_t **samples, int num, int channels, double *rf_level_db);
|
||||||
int sdr_get_tosend(void *inst, int latspl);
|
int sdr_get_tosend(void *inst, int latspl);
|
||||||
|
void calibrate_bias(void);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
enum paging_signal;
|
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);
|
int sound_start(void *inst);
|
||||||
void sound_close(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);
|
int sound_write(void *inst, sample_t **samples, uint8_t **power, int num, enum paging_signal *paging_signal, int *on, int channels);
|
||||||
|
|
|
@ -431,7 +431,8 @@ int sound_read(void *inst, sample_t **samples, int num, int channels, double *rf
|
||||||
if (!sender)
|
if (!sender)
|
||||||
continue;
|
continue;
|
||||||
display_measurements_update(sound->dmp[i], log10((double)max[i] / 32768.0) * 20, 0.0);
|
display_measurements_update(sound->dmp[i], log10((double)max[i] / 32768.0) * 20, 0.0);
|
||||||
rf_level_db[i] = 0.0;
|
if (rf_level_db)
|
||||||
|
rf_level_db[i] = 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
Loading…
Reference in New Issue