Skip to content

Commit 16d102e

Browse files
committed
Cleanup and changes to fix DTMF message.
1 parent 27c97e3 commit 16d102e

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

Diff for: src/config.c

+10-1
Original file line numberDiff line numberDiff line change
@@ -1282,12 +1282,15 @@ void config_init (char *fname, struct audio_s *p_audio_config,
12821282
else if (strcasecmp(t,"EAS") == 0) {
12831283
n = MAX_BAUD-2; // Hack - See special case later.
12841284
}
1285+
else if (strcasecmp(t,"EOTD") == 0) {
1286+
n = MAX_BAUD-3; // Hack - See special case later.
1287+
}
12851288
else {
12861289
n = atoi(t);
12871290
}
12881291
if (n >= MIN_BAUD && n <= MAX_BAUD) {
12891292
p_audio_config->achan[channel].baud = n;
1290-
if (n != 300 && n != 1200 && n != 2400 && n != 4800 && n != 9600 && n != 19200 && n != MAX_BAUD-1 && n != MAX_BAUD-2) {
1293+
if (n != 300 && n != 1200 && n != 2400 && n != 4800 && n != 9600 && n != 19200 && n != MAX_BAUD-1 && n != MAX_BAUD-2 && n != MAX_BAUD-3) {
12911294
text_color_set(DW_COLOR_ERROR);
12921295
dw_printf ("Line %d: Warning: Non-standard data rate of %d bits per second. Are you sure?\n", line, n);
12931296
}
@@ -1339,6 +1342,12 @@ void config_init (char *fname, struct audio_s *p_audio_config,
13391342
p_audio_config->achan[channel].space_freq = 1563; // Actually 1562.5 - logic 0.
13401343
// ? strlcpy (p_audio_config->achan[channel].profiles, "D", sizeof(p_audio_config->achan[channel].profiles));
13411344
}
1345+
else if (p_audio_config->achan[channel].baud == MAX_BAUD-3) {
1346+
p_audio_config->achan[channel].modem_type = MODEM_EOTD;
1347+
p_audio_config->achan[channel].mark_freq = 1200;
1348+
p_audio_config->achan[channel].space_freq = 1200;
1349+
p_audio_config->achan[channel].baud = 1200;
1350+
}
13421351
else {
13431352
p_audio_config->achan[channel].modem_type = MODEM_SCRAMBLE;
13441353
p_audio_config->achan[channel].mark_freq = 0;

Diff for: src/decode_aprs.c

+3
Original file line numberDiff line numberDiff line change
@@ -2350,6 +2350,9 @@ static void aprs_user_defined (decode_aprs_t *A, char *info, int ilen)
23502350
A->g_altitude_ft = DW_METERS_TO_FEET(alt_meters);
23512351
strcpy (A->g_mfr, "");
23522352
}
2353+
else if (info[0] == '{' && info[1] == USER_DEF_USER_ID && info[2] == USER_DEF_TYPE_EOTD) {
2354+
snprintf (A->g_msg_type, sizeof(A->g_msg_type), "End-of-Train Device CSV Data");
2355+
}
23532356
else if (strncmp(info, "{{", 2) == 0) {
23542357
snprintf (A->g_msg_type, sizeof(A->g_msg_type), "User-Defined Experimental");
23552358
}

Diff for: src/demod.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ int demod_init (struct audio_s *pa)
134134

135135
case MODEM_AFSK:
136136
case MODEM_EAS:
137-
case MODEM_EOTD: // TODO DET
137+
case MODEM_EOTD:
138138

139139
if (save_audio_config_p->achan[chan].modem_type == MODEM_EAS) {
140140
if (save_audio_config_p->achan[chan].fix_bits != RETRY_NONE) {

Diff for: src/version.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@
1919

2020
#define USER_DEF_TYPE_AIS 'A' // data type A for AIS NMEA sentence
2121
#define USER_DEF_TYPE_EAS 'E' // data type E for EAS broadcasts
22-
#define USER_DEF_TYPE_EOTD 'T' // data type T for 'T'rain broadcasts
22+
#define USER_DEF_TYPE_EOTD 'R' // data type R for 'Railroad' broadcasts
23+
#define USER_DEF_TYPE_DTMF 'T' // 'T' is used without constant in the code.
24+

0 commit comments

Comments
 (0)