diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2017-01-03 12:31:59 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2017-01-07 06:28:24 +0100 |
commit | d54d3ac2654844c7b8e4ee67752941c9037d5f42 (patch) | |
tree | 11c4c4478646a1a4a05c29b1e8a4197b99f73d08 /src/cnetz | |
parent | 713b1ab118f4ded11a8435bbd4d81c117e7fe180 (diff) |
prepare audio handling for multi carrier SDR
Diffstat (limited to 'src/cnetz')
-rw-r--r-- | src/cnetz/cnetz.c | 4 | ||||
-rw-r--r-- | src/cnetz/cnetz.h | 2 | ||||
-rw-r--r-- | src/cnetz/dsp.c | 5 | ||||
-rw-r--r-- | src/cnetz/main.c | 2 |
4 files changed, 6 insertions, 7 deletions
diff --git a/src/cnetz/cnetz.c b/src/cnetz/cnetz.c index 5958971..ca0e941 100644 --- a/src/cnetz/cnetz.c +++ b/src/cnetz/cnetz.c @@ -215,7 +215,7 @@ int cnetz_init(void) static void cnetz_go_idle(cnetz_t *cnetz); /* Create transceiver instance and link to a list. */ -int cnetz_create(int kanal, enum cnetz_chan_type chan_type, const char *sounddev, int samplerate, int cross_channels, double rx_gain, int auth, int ms_power, int measure_speed, double clock_speed[2], int polarity, double noise, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, int loopback) +int cnetz_create(int kanal, enum cnetz_chan_type chan_type, const char *sounddev, int samplerate, double rx_gain, int auth, int ms_power, int measure_speed, double clock_speed[2], int polarity, double noise, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, int loopback) { sender_t *sender; cnetz_t *cnetz; @@ -274,7 +274,7 @@ int cnetz_create(int kanal, enum cnetz_chan_type chan_type, const char *sounddev /* init general part of transceiver */ /* do not enable emphasis, since it is done by cnetz code, not by common sender code */ - rc = sender_create(&cnetz->sender, kanal, sounddev, samplerate, cross_channels, rx_gain, 0, 0, write_rx_wave, write_tx_wave, read_rx_wave, loopback, 0, PILOT_SIGNAL_NONE); + rc = sender_create(&cnetz->sender, kanal, sounddev, samplerate, rx_gain, 0, 0, write_rx_wave, write_tx_wave, read_rx_wave, loopback, 0, PILOT_SIGNAL_NONE); if (rc < 0) { PDEBUG(DCNETZ, DEBUG_ERROR, "Failed to init transceiver process!\n"); goto error; diff --git a/src/cnetz/cnetz.h b/src/cnetz/cnetz.h index 343e0f8..8691ac4 100644 --- a/src/cnetz/cnetz.h +++ b/src/cnetz/cnetz.h @@ -123,7 +123,7 @@ int cnetz_channel_by_short_name(const char *short_name); const char *chan_type_short_name(enum cnetz_chan_type chan_type); const char *chan_type_long_name(enum cnetz_chan_type chan_type); int cnetz_init(void); -int cnetz_create(int kanal, enum cnetz_chan_type chan_type, const char *sounddev, int samplerate, int cross_channels, double rx_gain, int auth, int ms_power, int measure_speed, double clock_speed[2], int polarity, double noise, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, int loopback); +int cnetz_create(int kanal, enum cnetz_chan_type chan_type, const char *sounddev, int samplerate, double rx_gain, int auth, int ms_power, int measure_speed, double clock_speed[2], int polarity, double noise, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, int loopback); void cnetz_destroy(sender_t *sender); void cnetz_sync_frame(cnetz_t *cnetz, double sync, int ts); int cnetz_meldeaufruf(uint8_t futln_nat, uint8_t futln_fuvst, uint16_t futln_rest); diff --git a/src/cnetz/dsp.c b/src/cnetz/dsp.c index 42a1d51..0b78b92 100644 --- a/src/cnetz/dsp.c +++ b/src/cnetz/dsp.c @@ -610,12 +610,11 @@ again: /* measure actual signal speed */ calc_clock_speed(cnetz, cnetz->sender.samplerate * 24 / 10, 1, 1); /* sync TX (might not be required, if there is no error in math calculation) */ - if (cnetz->sender.slave) { + if (!cnetz->sender.master) { /* if no link to a master, we are master */ /* we are master, so we store sample count and phase */ cnetz->frame_last_scount = cnetz->fsk_tx_scount; cnetz->frame_last_phase = cnetz->fsk_tx_phase; - } - if (cnetz->sender.master) { + } else { /* we are slave, so we sync to phase */ cnetz_t *master = (cnetz_t *)cnetz->sender.master; /* it may happen that the sample count does not match with the master, diff --git a/src/cnetz/main.c b/src/cnetz/main.c index 10ca066..efe3148 100644 --- a/src/cnetz/main.c +++ b/src/cnetz/main.c @@ -302,7 +302,7 @@ int main(int argc, char *argv[]) /* create transceiver instance */ for (i = 0; i < num_kanal; i++) { - rc = cnetz_create(kanal[i], chan_type[i], sounddev[i], samplerate, cross_channels, rx_gain, auth, ms_power, (i == 0) ? measure_speed : 0, clock_speed, polarity, noise, do_pre_emphasis, do_de_emphasis, write_rx_wave, write_tx_wave, read_rx_wave, loopback); + rc = cnetz_create(kanal[i], chan_type[i], sounddev[i], samplerate, rx_gain, auth, ms_power, (i == 0) ? measure_speed : 0, clock_speed, polarity, noise, do_pre_emphasis, do_de_emphasis, write_rx_wave, write_tx_wave, read_rx_wave, loopback); if (rc < 0) { fprintf(stderr, "Failed to create \"Sender\" instance. Quitting!\n"); goto fail; |