Don't attempt to error correct DF-11
Don't attempt to error correct DF-11, because we can't be sure that the checksum/crc is supposed to be 0. Also a few typo's corrected
This commit is contained in:
parent
bb20d0b5b8
commit
bdf985a792
11
dump1090.c
11
dump1090.c
|
@ -52,11 +52,11 @@
|
||||||
// File Version number
|
// File Version number
|
||||||
// ====================
|
// ====================
|
||||||
// Format is : MajorVer.MinorVer.DayMonth.Year"
|
// Format is : MajorVer.MinorVer.DayMonth.Year"
|
||||||
// MajorVer chances only with significant changes
|
// MajorVer changes only with significant changes
|
||||||
// MinorVer changes when additional features are added, but not for bug fixes (range 00-99)
|
// MinorVer changes when additional features are added, but not for bug fixes (range 00-99)
|
||||||
// DayDate & Year changes for all changes, including for bug fixes. It represent the release date of the update
|
// DayDate & Year changes for all changes, including for bug fixes. It represent the release date of the update
|
||||||
//
|
//
|
||||||
#define MODES_DUMP1090_VERSION "1.00.1404.13"
|
#define MODES_DUMP1090_VERSION "1.00.1504.13"
|
||||||
|
|
||||||
#define MODES_DEFAULT_RATE 2000000
|
#define MODES_DEFAULT_RATE 2000000
|
||||||
#define MODES_DEFAULT_FREQ 1090000000
|
#define MODES_DEFAULT_FREQ 1090000000
|
||||||
|
@ -389,7 +389,7 @@ void modesInit(void) {
|
||||||
// The most this could be is if I&Q are both 128 (or 127 or 127.5), so you could end up with a magnitude
|
// The most this could be is if I&Q are both 128 (or 127 or 127.5), so you could end up with a magnitude
|
||||||
// of 181.019 (or 179.605, or 180.312)
|
// of 181.019 (or 179.605, or 180.312)
|
||||||
//
|
//
|
||||||
// However, in reality the magnitude of the signal should never exceed the range -1 to +1, becaure the
|
// However, in reality the magnitude of the signal should never exceed the range -1 to +1, because the
|
||||||
// values are I = rCos(w) and Q = rSin(w). Therefore the integer computed magnitude should (can?) never
|
// values are I = rCos(w) and Q = rSin(w). Therefore the integer computed magnitude should (can?) never
|
||||||
// exceed 128 (or 127, or 127.5 or whatever)
|
// exceed 128 (or 127, or 127.5 or whatever)
|
||||||
//
|
//
|
||||||
|
@ -1052,13 +1052,12 @@ void decodeModesMessage(struct modesMessage *mm, unsigned char *msg) {
|
||||||
else
|
else
|
||||||
{mm->crcok = (mm->iid == 0);}
|
{mm->crcok = (mm->iid == 0);}
|
||||||
|
|
||||||
if (!mm->crcok && Modes.fix_errors &&
|
if (!mm->crcok && Modes.fix_errors && (mm->msgtype == 17))
|
||||||
(mm->msgtype == 11 || mm->msgtype == 17))
|
|
||||||
{
|
{
|
||||||
if ((mm->errorbit = fixSingleBitErrors(msg,mm->msgbits)) != -1) {
|
if ((mm->errorbit = fixSingleBitErrors(msg,mm->msgbits)) != -1) {
|
||||||
mm->crc = modesChecksum(msg,mm->msgbits);
|
mm->crc = modesChecksum(msg,mm->msgbits);
|
||||||
mm->crcok = 1;
|
mm->crcok = 1;
|
||||||
} else if (Modes.aggressive && mm->msgtype == 17 &&
|
} else if (Modes.aggressive &&
|
||||||
(mm->errorbit = fixTwoBitsErrors(msg,mm->msgbits)) != -1)
|
(mm->errorbit = fixTwoBitsErrors(msg,mm->msgbits)) != -1)
|
||||||
{
|
{
|
||||||
mm->crc = modesChecksum(msg,mm->msgbits);
|
mm->crc = modesChecksum(msg,mm->msgbits);
|
||||||
|
|
Loading…
Reference in a new issue