Table-ize the Mode A to C conversions, add a Mode C to Mode A conversion function.
This commit is contained in:
parent
10b5cde505
commit
60f1f3bcb6
7 changed files with 68 additions and 7 deletions
4
mode_s.c
4
mode_s.c
|
|
@ -134,7 +134,7 @@ static int decodeAC13Field(int AC13Field, altitude_unit_t *unit) {
|
|||
return ((n * 25) - 1000);
|
||||
} else {
|
||||
// N is an 11 bit Gillham coded altitude
|
||||
int n = ModeAToModeC(decodeID13Field(AC13Field));
|
||||
int n = modeAToModeC(decodeID13Field(AC13Field));
|
||||
if (n < -12) {
|
||||
return INVALID_ALTITUDE;
|
||||
}
|
||||
|
|
@ -167,7 +167,7 @@ static int decodeAC12Field(int AC12Field, altitude_unit_t *unit) {
|
|||
// Make N a 13 bit Gillham coded altitude by inserting M=0 at bit 6
|
||||
int n = ((AC12Field & 0x0FC0) << 1) |
|
||||
(AC12Field & 0x003F);
|
||||
n = ModeAToModeC(decodeID13Field(n));
|
||||
n = modeAToModeC(decodeID13Field(n));
|
||||
if (n < -12) {
|
||||
return INVALID_ALTITUDE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue