mirror of
https://github.com/lwvmobile/dsd-fme.git
synced 2026-11-14 01:37:25 -05:00
M17 Support (Partially Working Now);
This commit is contained in:
@@ -462,9 +462,9 @@ noCarrier (dsd_opts * opts, dsd_state * state)
|
||||
state->ysf_cm = 9;
|
||||
|
||||
//M17 Storage
|
||||
memset (state->m17_lsf, 0, sizeof(state->m17_lsf));
|
||||
memset (state->m17_lsf_err, 0, sizeof(state->m17_lsf_err));
|
||||
|
||||
memset (state->m17_lsf, 1, sizeof(state->m17_lsf));
|
||||
state->m17_str_dt = 9;
|
||||
|
||||
} //nocarrier
|
||||
|
||||
void
|
||||
@@ -548,7 +548,7 @@ initOpts (dsd_opts * opts)
|
||||
opts->uvquality = 3;
|
||||
opts->inverted_x2tdma = 1; // most transmitter + scanner + sound card combinations show inverted signals for this
|
||||
opts->inverted_dmr = 0; // most transmitter + scanner + sound card combinations show non-inverted signals for this
|
||||
opts->inverted_m17 = 0;
|
||||
opts->inverted_m17 = 0; //samples from M17_Education seem to all be positive polarity (same from m17-tools programs)
|
||||
opts->mod_threshold = 26;
|
||||
opts->ssize = 128; //36 default, max is 128, much cleaner data decodes on Phase 2 cqpsk at max
|
||||
opts->msize = 1024; //15 default, max is 1024, much cleaner data decodes on Phase 2 cqpsk at max
|
||||
@@ -1048,8 +1048,13 @@ initState (dsd_state * state)
|
||||
state->ysf_cm = 9;
|
||||
|
||||
//M17 Storage
|
||||
memset (state->m17_lsf, 0, sizeof(state->m17_lsf));
|
||||
memset (state->m17_lsf_err, 0, sizeof(state->m17_lsf_err));
|
||||
memset (state->m17_lsf, 1, sizeof(state->m17_lsf));
|
||||
state->m17_str_dt = 9;
|
||||
|
||||
#ifdef USE_CODEC2
|
||||
state->codec2_3200 = codec2_create(CODEC2_MODE_3200);
|
||||
state->codec2_1600 = codec2_create(CODEC2_MODE_1600);
|
||||
#endif
|
||||
|
||||
} //init_state
|
||||
|
||||
@@ -1136,7 +1141,7 @@ usage ()
|
||||
printf (" -fd Decode only D-STAR\n");
|
||||
printf (" -fx Decode only X2-TDMA\n");
|
||||
printf (" -fy Decode only YSF\n");
|
||||
printf (" -fz Decode only M17*(not working)\n");
|
||||
printf (" -fz Decode only M17*\n");
|
||||
printf (" -fi Decode only NXDN48* (6.25 kHz) / IDAS*\n");
|
||||
printf (" -fn Decode only NXDN96* (12.5 kHz)\n");
|
||||
printf (" -fp Decode only EDACS/ProVoice*\n");
|
||||
@@ -1339,6 +1344,11 @@ if (opts->audio_out_type == 0)
|
||||
void
|
||||
cleanupAndExit (dsd_opts * opts, dsd_state * state)
|
||||
{
|
||||
#ifdef USE_CODEC2
|
||||
codec2_destroy(state->codec2_1600);
|
||||
codec2_destroy(state->codec2_3200);
|
||||
#endif
|
||||
|
||||
noCarrier (opts, state);
|
||||
if (opts->wav_out_f != NULL)
|
||||
{
|
||||
@@ -2142,7 +2152,7 @@ main (int argc, char **argv)
|
||||
state.dmr_stereo = 0;
|
||||
sprintf (opts.output_name, "M17");
|
||||
fprintf(stderr, "Notice: M17 cannot autodetect polarity. \n Use -xz option if Inverted Signal expected.\n");
|
||||
fprintf(stderr, "Decoding only M17 frames.(Not Working)\n");
|
||||
fprintf(stderr, "Decoding only M17 frames.\n");
|
||||
}
|
||||
break;
|
||||
//don't mess with the modulations unless you really need to
|
||||
@@ -2245,7 +2255,7 @@ main (int argc, char **argv)
|
||||
}
|
||||
else if (optarg[0] == 'z')
|
||||
{
|
||||
opts.inverted_m17 = 1;
|
||||
opts.inverted_m17 = 0;
|
||||
fprintf (stderr, "Expecting inverted M17 signals.\n");
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user