diff --git a/c34/c34.txt b/c34/c34.txt index 8544155..4172037 100644 --- a/c34/c34.txt +++ b/c34/c34.txt @@ -7,7 +7,8 @@ Modulation AFSK 2400 baud bits : little endian -> byte bytes: big endian -> int-value -bytes getrennt durch 4 bit 1110 +bytes getrennt durch 4 bit 1110: +8N1: 0 bbbbbbbb 1(11)0 bb... , (11)-idle Datenpaket besteht aus 8 byte: header 2 byte 00FF diff --git a/c34/c34dft.c b/c34/c34dft.c index ea7d44f..11b7473 100644 --- a/c34/c34dft.c +++ b/c34/c34dft.c @@ -109,7 +109,7 @@ int read_signed_sample(FILE *fp) { // int = i32_t byte = fgetc(fp); if (byte == EOF) return EOF_INT; if (i == 0) ret = byte; - + if (bits_sample == 16) { byte = fgetc(fp); if (byte == EOF) return EOF_INT; @@ -131,7 +131,7 @@ int read_signed_sample(FILE *fp) { // int = i32_t #define N 64 // 128 Vielfaches von 22 oder 10 unten #define WLEN 40 // (2*(48000/BAUDRATE)) -#define BITS (4+8) // 1110 bbbbbbbb (oder: 10 bbbbbbbb 11) +#define BITS (4+8) // 1110 bbbbbbbb (oder: 0 bbbbbbbb 1 11) (8N1, 11-idle) #define LEN_BITFRAME 84 // 7*(4+8) #define HEADLEN 28 @@ -281,7 +281,7 @@ int bits2bytes(ui8_t bits[], ui8_t bytes[]) { /* for (i = 7; i >= 0; i--) { // big endian */ if (bits[BITS*j+i] == 1) byteval += d; else /*(bits[BITS*j+i] == 0)*/ byteval += 0; - d <<= 1; + d <<= 1; } bytes[j] = byteval; } @@ -480,7 +480,7 @@ int main(int argc, char *argv[]) { ptr = -1; sample_count = -1; while ((sample=read_signed_sample(fp)) < EOF_INT) { - ptr++; + ptr++; sample_count++; if (ptr == N) ptr = 0; buffer[ptr] = sample / (double)(1< byte +bytes: big endian -> int-value + +8N1: 0 bbbbbbbb 1 + +Datenpaket besteht aus 8 byte: +header 2 byte 00FF +pck_id 1 byte N +data 4 byte val (big endian) +chksum 2 byte Fletcher16 (hier: byte2 1's-complement am Ende) + + +Telemetrie pck_id N: +0x14: date: 0x0003F815 = 260117 -> 2017-01-26 +0x15: time: 0x0001C41D = 124735 -> 11:57:41 +0x16: lat : 0x1BC1678B = 465659787 -> 46+5659787/6000000=46.943298° +0x17: lon : 0x03D54F9F = 64311199 -> 6+4311199/6000000=6.7185332° +0x18: alt : 0x0003252E = 206126 -> 206126/10 = 20612.6m + + +GPS-lat/lon wie NMEA mit Faktor 1e5 + + +Checksum: Fletcher16 + +PTU-Data: float32? + +