kopia lustrzana https://github.com/rs1729/RS
clean-up
rodzic
deca97470b
commit
7f536e1a07
25
m10/m10x.c
25
m10/m10x.c
|
@ -208,22 +208,16 @@ dduudduudduudduu duduudduuduudduu ddududuudduduudd uduuddududududud uudduduuddu
|
|||
0 0 0 0 0 0 0 0 1 1 - - - 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0
|
||||
*/
|
||||
|
||||
#define BYTELEN 8
|
||||
|
||||
char bits[BYTELEN+1];
|
||||
int bitpos = 0;
|
||||
|
||||
unsigned char header_bytes[] = { 0x00, 0x00}; //{0x64, 0x9F, 0x20 }; // ggf. an header[] anpassen
|
||||
#define HEADLEN 32
|
||||
#define HEADOFS 0
|
||||
#define BITS 8
|
||||
#define HEADLEN 32 // HEADLEN+HEADOFS=32 <= strlen(header)
|
||||
#define HEADOFS 0
|
||||
// Sync-Header // Sonde-Header
|
||||
char header[] = "11001100110011001010011001001100"; //"011001001001111100100000"; // M10: 64 9F 20 , M2K2: 64 8F 20
|
||||
//"011101101001111100100000"; // M??: 76 9F 20
|
||||
//"011001000100100100001001"; // M10-dop: 64 49 09
|
||||
int header_found = 0;
|
||||
|
||||
#define FRAME_LEN 102
|
||||
#define BITFRAME_LEN (FRAME_LEN*BYTELEN)
|
||||
#define FRAME_LEN 102
|
||||
#define BITFRAME_LEN (FRAME_LEN*BITS)
|
||||
#define RAWBITFRAME_LEN (BITFRAME_LEN*2)
|
||||
|
||||
char buf[HEADLEN];
|
||||
|
@ -247,6 +241,7 @@ char cb_inv(char c) {
|
|||
}
|
||||
|
||||
// Gefahr bei Manchester-Codierung: inverser Header wird leicht fehl-erkannt
|
||||
// da manchester1 und manchester2 nur um 1 bit verschoben
|
||||
int compare2() {
|
||||
int i, j;
|
||||
|
||||
|
@ -285,7 +280,7 @@ int bits2bytes(char *bitstr, int *bytes) {
|
|||
|
||||
byteval = 0;
|
||||
d = 1;
|
||||
for (i = 0; i < BYTELEN; i++) {
|
||||
for (i = 0; i < BITS; i++) {
|
||||
//bit=*(bitstr+bitpos+i); /* little endian */
|
||||
bit=*(bitstr+bitpos+7-i); /* big endian */
|
||||
// bit == 'x' ?
|
||||
|
@ -293,7 +288,7 @@ int bits2bytes(char *bitstr, int *bytes) {
|
|||
else /*if ((bit == '0') || (bit == 'x'))*/ byteval += 0;
|
||||
d <<= 1;
|
||||
}
|
||||
bitpos += BYTELEN;
|
||||
bitpos += BITS;
|
||||
bytes[bytepos++] = byteval;
|
||||
|
||||
}
|
||||
|
@ -570,6 +565,7 @@ int main(int argc, char **argv) {
|
|||
char *fpname;
|
||||
int i, bit, len;
|
||||
int pos;
|
||||
int header_found = 0;
|
||||
|
||||
|
||||
#ifdef WIN
|
||||
|
@ -622,13 +618,12 @@ int main(int argc, char **argv) {
|
|||
}
|
||||
|
||||
|
||||
bufpos = 0;
|
||||
pos = FRAMESTART;
|
||||
|
||||
while (!read_bits_fsk(fp, &bit, &len)) {
|
||||
|
||||
if (len == 0) { // reset_frame();
|
||||
if (pos > (pos_GPSweek+2)*2*BYTELEN) {
|
||||
if (pos > (pos_GPSweek+2)*2*BITS) {
|
||||
for (i = pos; i < RAWBITFRAME_LEN; i++) frame_rawbits[i] = 0x30 + 0;
|
||||
print_frame(pos);//byte_count
|
||||
header_found = 0;
|
||||
|
|
|
@ -246,7 +246,9 @@ int read_bits_fsk(FILE *fp, int *bit, int *len) {
|
|||
|
||||
/* ------------------------------------------------------------------------------------ */
|
||||
|
||||
// RS92-SGP: 8N1 manchester
|
||||
// manchester1 1->10,0->01: 1.bit
|
||||
// manchester2 0->10,1->01: 2.bit
|
||||
// RS92-SGP: 8N1 manchester2
|
||||
char manch(char *mbits) {
|
||||
if ((mbits[0] == 1) && (mbits[1] == 0)) return 0;
|
||||
else if ((mbits[0] == 0) && (mbits[1] == 1)) return 1;
|
||||
|
|
|
@ -241,7 +241,9 @@ int read_bits_fsk(FILE *fp, int *bit, int *len) {
|
|||
|
||||
/* ------------------------------------------------------------------------------------ */
|
||||
|
||||
// RS92-SGP: 8N1 manchester
|
||||
// manchester1 1->10,0->01: 1.bit
|
||||
// manchester2 0->10,1->01: 2.bit
|
||||
// RS92-SGP: 8N1 manchester2
|
||||
char manch(char *mbits) {
|
||||
if ((mbits[0] == 1) && (mbits[1] == 0)) return 0;
|
||||
else if ((mbits[0] == 0) && (mbits[1] == 1)) return 1;
|
||||
|
|
Ładowanie…
Reference in New Issue