B-Netz: Some cleanups

This commit is contained in:
Andreas Eversberg 2018-02-15 07:33:43 +01:00
parent 6b9326982a
commit a5aee82e53
3 changed files with 4 additions and 29 deletions

View File

@ -32,9 +32,6 @@
#include "telegramm.h"
#include "dsp.h"
// Uncomment this to generate a dial sequnce (for testing)
//#define GEN_DIALSEQUENCE
/* Call reference for calls from mobile station to network
This offset of 0x400000000 is required for MNCC interface. */
static int new_callref = 0x40000000;
@ -284,12 +281,6 @@ static void bnetz_go_idle(bnetz_t *bnetz)
bnetz_new_state(bnetz, BNETZ_FREI);
bnetz_set_dsp_mode(bnetz, DSP_MODE_TELEGRAMM);
switch_channel_19(bnetz, 0);
#ifdef GEN_DIALSEQUENCE
if (bnetz->sender.loopback) {
bnetz_set_dsp_mode(bnetz, DSP_MODE_0);
timer_start(&bnetz->timer, 0.6);
}
#endif
}
/* Release connection towards mobile station by sending release digits. */
@ -326,21 +317,10 @@ const char *bnetz_get_telegramm(bnetz_t *bnetz)
struct impulstelegramm *it = NULL;
if (bnetz->sender.loopback) {
#ifdef GEN_DIALSEQUENCE
char *dialstring="s50993310es50993310e", c;
c = dialstring[bnetz->loopback_count++];
if (c) {
it = bnetz_telegramm(c);
} else {
bnetz_set_dsp_mode(bnetz, DSP_MODE_SILENCE);
return NULL;
}
#else
bnetz->loopback_time[bnetz->loopback_count] = get_time();
it = bnetz_digit2telegramm(bnetz->loopback_count + '0');
if (++bnetz->loopback_count > 9)
bnetz->loopback_count = 0;
#endif
} else
switch(bnetz->state) {
case BNETZ_FREI:
@ -490,7 +470,7 @@ void bnetz_receive_telegramm(bnetz_t *bnetz, uint16_t telegramm, double level_av
case 'S':
bnetz->dial_type = DIAL_TYPE_METER;
break;
case 'U':
case 'M':
bnetz->dial_type = DIAL_TYPE_METER_MUENZ;
break;
default:
@ -556,7 +536,7 @@ void bnetz_receive_telegramm(bnetz_t *bnetz, uint16_t telegramm, double level_av
return;
}
break;
case 'U':
case 'M':
if (bnetz->dial_type != DIAL_TYPE_METER_MUENZ) {
PDEBUG(DBNETZ, DEBUG_NOTICE, "Second received start message('Funkwahl') does not match first one (metering support, payphone), releaseing.\n");
bnetz_release(bnetz, TRENN_COUNT);
@ -671,11 +651,6 @@ static void bnetz_timeout(struct timer *timer)
bnetz_t *bnetz = (bnetz_t *)timer->priv;
switch (bnetz->state) {
#ifdef GEN_DIALSEQUENCE
case BNETZ_FREI:
bnetz_set_dsp_mode(bnetz, DSP_MODE_TELEGRAMM);
break;
#endif
case BNETZ_WAHLABRUF:
PDEBUG_CHAN(DBNETZ, DEBUG_NOTICE, "Timeout while receiving call setup from mobile station, releasing.\n");
bnetz_release(bnetz, TRENN_COUNT);

View File

@ -68,7 +68,7 @@ typedef struct bnetz {
int callref; /* call reference */
enum dial_mode dial_mode; /* sub state while dialing is received */
enum dial_type dial_type; /* defines if mobile supports metering pulses */
char dial_number[14]; /* dial string received */
char dial_number[14]; /* dial string received (13 digits + termination, first 0-digit not included) */
int dial_pos; /* current position while receiving digits */
char station_id[6]; /* current station ID */
int station_id_pos; /* position while transmitting */

View File

@ -38,7 +38,7 @@ static struct impulstelegramm impulstelegramme[] = {
/* Signale */
{ 's', "0111001000100010", 0x0000, "Funkwahl ohne Gebuehrenuebermittlung" },
{ 'S', "0111000100100100", 0x0000, "Funkwahl mit Gebuehrenuebermittlung" },
{ 'U', "0111000010101000", 0x0000, "Funkwahl mit Gebuehrenuebermittlung (Muenzfernsprecher)" },
{ 'M', "0111000010101000", 0x0000, "Funkwahl mit Gebuehrenuebermittlung (Muenzfernsprecher)" },
{ 'e', "0111010000100001", 0x0000, "Funkwahlende" },
{ 't', "0111010101010101", 0x0000, "Trennsignal/Schlusssignal" },
/* Kanalbefehl B1 */