diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2016-06-04 15:14:20 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2016-06-12 16:11:20 +0200 |
commit | c933250685b2e4248e66dc8b6893d0df239e76d9 (patch) | |
tree | 79bc3fef2c16610eb14da8faf42ad88e7b939ccf /src/anetz | |
parent | 997f8eda4389094027a25b0317b67051cd90b675 (diff) |
Add dsp mode change fuction to A and B Netz, fixed NMT
Diffstat (limited to 'src/anetz')
-rw-r--r-- | src/anetz/anetz.c | 12 | ||||
-rw-r--r-- | src/anetz/dsp.c | 6 | ||||
-rw-r--r-- | src/anetz/dsp.h | 1 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/anetz/anetz.c b/src/anetz/anetz.c index 2858982..0024f42 100644 --- a/src/anetz/anetz.c +++ b/src/anetz/anetz.c @@ -202,7 +202,7 @@ static void anetz_go_idle(anetz_t *anetz) PDEBUG(DANETZ, DEBUG_INFO, "Entering IDLE state, sending 2280 Hz tone.\n"); anetz->state = ANETZ_FREI; - anetz->dsp_mode = DSP_MODE_TONE; + anetz_set_dsp_mode(anetz, DSP_MODE_TONE); anetz->station_id[0] = '\0'; } @@ -213,7 +213,7 @@ static void anetz_release(anetz_t *anetz) PDEBUG(DANETZ, DEBUG_INFO, "Sending 2280 Hz release tone.\n"); anetz->state = ANETZ_AUSLOESEN; - anetz->dsp_mode = DSP_MODE_TONE; + anetz_set_dsp_mode(anetz, DSP_MODE_TONE); anetz->station_id[0] = '\0'; timer_start(&anetz->timer, RELEASE_TO); } @@ -223,7 +223,7 @@ static void anetz_page(anetz_t *anetz, const char *dial_string, double *freq) { PDEBUG(DANETZ, DEBUG_INFO, "Entering paging state, sending 'Selektivruf' to '%s'.\n", dial_string); anetz->state = ANETZ_ANRUF; - anetz->dsp_mode = DSP_MODE_PAGING; + anetz_set_dsp_mode(anetz, DSP_MODE_PAGING); dsp_set_paging(anetz, freq); strcpy(anetz->station_id, dial_string); timer_start(&anetz->timer, PAGING_TO); @@ -262,7 +262,7 @@ void anetz_receive_tone(anetz_t *anetz, int tone) if (tone == 1) { PDEBUG(DANETZ, DEBUG_INFO, "Received 1750 Hz calling signal from mobile station, removing idle signal.\n"); anetz->state = ANETZ_GESPRAECH; - anetz->dsp_mode = DSP_MODE_SILENCE; + anetz_set_dsp_mode(anetz, DSP_MODE_SILENCE); break; } break; @@ -285,7 +285,7 @@ void anetz_receive_tone(anetz_t *anetz, int tone) PDEBUG(DANETZ, DEBUG_INFO, "1750 Hz signal from mobile station is gone, answer call.\n"); call_in_answer(anetz->sender.callref, anetz->station_id); } - anetz->dsp_mode = DSP_MODE_AUDIO; + anetz_set_dsp_mode(anetz, DSP_MODE_AUDIO); } /* release call */ if (tone == 1) { @@ -302,7 +302,7 @@ void anetz_receive_tone(anetz_t *anetz, int tone) PDEBUG(DANETZ, DEBUG_INFO, "Received 1750 Hz answer signal from mobile station, removing paging tones.\n"); timer_stop(&anetz->timer); anetz->state = ANETZ_GESPRAECH; - anetz->dsp_mode = DSP_MODE_SILENCE; + anetz_set_dsp_mode(anetz, DSP_MODE_SILENCE); break; } default: diff --git a/src/anetz/dsp.c b/src/anetz/dsp.c index 90277be..aed2334 100644 --- a/src/anetz/dsp.c +++ b/src/anetz/dsp.c @@ -349,3 +349,9 @@ void sender_send(sender_t *sender, int16_t *samples, int length) } } +void anetz_set_dsp_mode(anetz_t *anetz, enum dsp_mode mode) +{ + PDEBUG(DDSP, DEBUG_DEBUG, "DSP mode %d -> %d\n", anetz->dsp_mode, mode); + anetz->dsp_mode = mode; +} + diff --git a/src/anetz/dsp.h b/src/anetz/dsp.h index b544ad5..890fee4 100644 --- a/src/anetz/dsp.h +++ b/src/anetz/dsp.h @@ -3,4 +3,5 @@ void dsp_init(void); int dsp_init_sender(anetz_t *anetz); void dsp_cleanup_sender(anetz_t *anetz); void dsp_set_paging(anetz_t *anetz, double *freq); +void anetz_set_dsp_mode(anetz_t *anetz, enum dsp_mode mode); |