aboutsummaryrefslogtreecommitdiffstats
path: root/src/anetz
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2016-06-04 15:14:20 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2016-06-12 16:11:20 +0200
commitc933250685b2e4248e66dc8b6893d0df239e76d9 (patch)
tree79bc3fef2c16610eb14da8faf42ad88e7b939ccf /src/anetz
parent997f8eda4389094027a25b0317b67051cd90b675 (diff)
Add dsp mode change fuction to A and B Netz, fixed NMT
Diffstat (limited to 'src/anetz')
-rw-r--r--src/anetz/anetz.c12
-rw-r--r--src/anetz/dsp.c6
-rw-r--r--src/anetz/dsp.h1
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);