iMet-1-AB: tone loc

dump
Zilog80 2016-11-20 15:40:45 +01:00
rodzic d732807976
commit e7a96e41ab
1 zmienionych plików z 13 dodań i 8 usunięć

Wyświetl plik

@ -149,29 +149,26 @@ int read_signed_sample(FILE *fp) { // int = i32_t
} }
int par=1, par_alt=1; int par=1, // init_sample > 0
par_alt=1;
unsigned long sample_count = 0; unsigned long sample_count = 0;
int read_afsk_bits(FILE *fp, int *len) { int read_afsk_bits(FILE *fp, int *len) {
int n, sample; int n, sample;
float l; float l;
int start;
start = 0;
n = 0; n = 0;
do{ // High do{ // High // par>0
sample = read_signed_sample(fp); sample = read_signed_sample(fp);
if (sample == EOF_INT) return EOF; if (sample == EOF_INT) return EOF;
if (option_inv) sample = -sample; if (option_inv) sample = -sample;
sample_count++; sample_count++;
if (sample < 0 && !start) continue;
start = 1;
par_alt = par; par_alt = par;
par = (sample >= 0) ? 1 : -1; par = (sample >= 0) ? 1 : -1;
n++; n++;
} while (par*par_alt > 0); } while (par*par_alt > 0);
do{ // Low do{ // Low // par<0
sample = read_signed_sample(fp); sample = read_signed_sample(fp);
if (sample == EOF_INT) return EOF; if (sample == EOF_INT) return EOF;
if (option_inv) sample = -sample; if (option_inv) sample = -sample;
@ -179,7 +176,7 @@ int read_afsk_bits(FILE *fp, int *len) {
par_alt = par; par_alt = par;
par = (sample >= 0) ? 1 : -1; par = (sample >= 0) ? 1 : -1;
n++; n++;
} while (par*par_alt > 0); } while (par*par_alt > 0); // par>0
l = (float)n / (samples_per_bit/2.0); l = (float)n / (samples_per_bit/2.0);
*len = (int)(l+0.5); // round(l) *len = (int)(l+0.5); // round(l)
@ -626,6 +623,14 @@ int bitl1 = 0,
bitl2 = 0; bitl2 = 0;
} }
if (len == 3) {
if (bitl1 == 1 && bitpos < 7) {
bitl1 = 0; bitbuf[bitpos++] = 1;
bitl2++;
len = 2;
}
}
if (len > 0 && len < 3) { if (len > 0 && len < 3) {
bitl4 = 0; bitl4 = 0;
inout = 0; inout = 0;