minimodem: fix --tx startbits/stopbits handling
Make --tx support specified --startbits and --stopbits; also enables --tx SAME. Thanks to Jamie Batmanglidj for reporting the issue.
This commit is contained in:
parent
83f8c7cbdd
commit
6ad778ce03
@ -79,6 +79,7 @@ static void fsk_transmit_stdin(
|
|||||||
float bfsk_mark_f,
|
float bfsk_mark_f,
|
||||||
float bfsk_space_f,
|
float bfsk_space_f,
|
||||||
int n_data_bits,
|
int n_data_bits,
|
||||||
|
float bfsk_nstartbits,
|
||||||
float bfsk_nstopbits,
|
float bfsk_nstopbits,
|
||||||
databits_encoder encode
|
databits_encoder encode
|
||||||
)
|
)
|
||||||
@ -120,13 +121,16 @@ static void fsk_transmit_stdin(
|
|||||||
}
|
}
|
||||||
unsigned int j;
|
unsigned int j;
|
||||||
for ( j=0; j<nwords; j++ ) {
|
for ( j=0; j<nwords; j++ ) {
|
||||||
simpleaudio_tone(sa_out, bfsk_space_f, bit_nsamples); // start
|
if ( bfsk_nstartbits > 0 )
|
||||||
|
simpleaudio_tone(sa_out, bfsk_space_f,
|
||||||
|
bit_nsamples * bfsk_nstartbits); // start
|
||||||
int i;
|
int i;
|
||||||
for ( i=0; i<n_data_bits; i++ ) { // data
|
for ( i=0; i<n_data_bits; i++ ) { // data
|
||||||
unsigned int bit = ( bits[j] >> i ) & 1;
|
unsigned int bit = ( bits[j] >> i ) & 1;
|
||||||
float tone_freq = bit == 1 ? bfsk_mark_f : bfsk_space_f;
|
float tone_freq = bit == 1 ? bfsk_mark_f : bfsk_space_f;
|
||||||
simpleaudio_tone(sa_out, tone_freq, bit_nsamples);
|
simpleaudio_tone(sa_out, tone_freq, bit_nsamples);
|
||||||
}
|
}
|
||||||
|
if ( bfsk_nstopbits > 0 )
|
||||||
simpleaudio_tone(sa_out, bfsk_mark_f,
|
simpleaudio_tone(sa_out, bfsk_mark_f,
|
||||||
bit_nsamples * bfsk_nstopbits); // stop
|
bit_nsamples * bfsk_nstopbits); // stop
|
||||||
}
|
}
|
||||||
@ -724,6 +728,7 @@ main( int argc, char*argv[] )
|
|||||||
bfsk_data_rate,
|
bfsk_data_rate,
|
||||||
bfsk_mark_f, bfsk_space_f,
|
bfsk_mark_f, bfsk_space_f,
|
||||||
bfsk_n_data_bits,
|
bfsk_n_data_bits,
|
||||||
|
bfsk_nstartbits,
|
||||||
bfsk_nstopbits,
|
bfsk_nstopbits,
|
||||||
bfsk_databits_encode
|
bfsk_databits_encode
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user