fixed message rates and plane count
Former-commit-id: 7a6d279589752e646fb79ee0e0bf499bd0f97029 Former-commit-id: 98cd467cee7db46e6e8723c05b1d138159affe79
This commit is contained in:
parent
081ecda409
commit
d630b24033
46
draw.c
46
draw.c
|
@ -350,6 +350,26 @@ void drawGeography() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void drawPlaneText(struct planeObj *p, int x, int y) {
|
||||||
|
drawStringBG(p->flight, x + 5, y + appData.mapFontHeight, appData.mapBoldFont, white, black);
|
||||||
|
|
||||||
|
char alt[10] = " ";
|
||||||
|
if (Modes.metric) {
|
||||||
|
snprintf(alt,10,"%dm", (int) (p->altitude / 3.2828));
|
||||||
|
} else {
|
||||||
|
snprintf(alt,10,"%d'", p->altitude);
|
||||||
|
}
|
||||||
|
drawStringBG(alt, x + 5, y + 2*appData.mapFontHeight, appData.mapFont, grey, black);
|
||||||
|
|
||||||
|
char speed[10] = " ";
|
||||||
|
if (Modes.metric) {
|
||||||
|
snprintf(speed,10,"%dkm/h", (int) (p->speed * 1.852));
|
||||||
|
} else {
|
||||||
|
snprintf(speed,10,"%dmph", p->speed);
|
||||||
|
}
|
||||||
|
drawStringBG(speed, x + 5, y + 3*appData.mapFontHeight, appData.mapFont, grey, black);
|
||||||
|
}
|
||||||
|
|
||||||
void drawMap() {
|
void drawMap() {
|
||||||
struct planeObj *p = planes;
|
struct planeObj *p = planes;
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
|
@ -386,18 +406,7 @@ void drawMap() {
|
||||||
if(outOfBounds(x,y)) {
|
if(outOfBounds(x,y)) {
|
||||||
int outx, outy;
|
int outx, outy;
|
||||||
drawPlaneOffMap(x, y, &outx, &outy, planeColor);
|
drawPlaneOffMap(x, y, &outx, &outy, planeColor);
|
||||||
|
drawPlaneText(p, outx, outy);
|
||||||
drawStringBG(p->flight, outx + 5, outy + appData.mapFontHeight, appData.mapBoldFont, white, black);
|
|
||||||
|
|
||||||
char alt[10] = " ";
|
|
||||||
snprintf(alt,10,"%dm", p->altitude);
|
|
||||||
drawStringBG(alt, outx + 5, outy + 2*appData.mapFontHeight, appData.mapFont, grey, black);
|
|
||||||
|
|
||||||
char speed[10] = " ";
|
|
||||||
snprintf(speed,10,"%dkm/h", p->speed);
|
|
||||||
drawStringBG(speed, outx + 5, outy + 3*appData.mapFontHeight, appData.mapFont, grey, black);
|
|
||||||
|
|
||||||
// continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -412,18 +421,7 @@ void drawMap() {
|
||||||
if(MODES_ACFLAGS_HEADING_VALID) {
|
if(MODES_ACFLAGS_HEADING_VALID) {
|
||||||
drawPlaneHeading(x, y,p->track, planeColor);
|
drawPlaneHeading(x, y,p->track, planeColor);
|
||||||
|
|
||||||
//char flight[11] = " ";
|
drawPlaneText(p, x, y);
|
||||||
//snprintf(flight,11," %s ", p->flight);
|
|
||||||
//drawStringBG(flight, x, y + appData.mapFontHeight, appData.mapBoldFont, black, planeColor);
|
|
||||||
drawStringBG(p->flight, x + 5, y + appData.mapFontHeight, appData.mapBoldFont, white, black);
|
|
||||||
|
|
||||||
char alt[10] = " ";
|
|
||||||
snprintf(alt,10,"%dm", p->altitude);
|
|
||||||
drawStringBG(alt, x + 5, y + 2*appData.mapFontHeight, appData.mapFont, grey, black);
|
|
||||||
|
|
||||||
char speed[10] = " ";
|
|
||||||
snprintf(speed,10,"%dkm/h", p->speed);
|
|
||||||
drawStringBG(speed, x + 5, y + 3*appData.mapFontHeight, appData.mapFont, grey, black);
|
|
||||||
|
|
||||||
lineRGBA(appData.renderer, x, y, x, y + 4*appData.mapFontHeight, grey.r, grey.g, grey.b, SDL_ALPHA_OPAQUE);
|
lineRGBA(appData.renderer, x, y, x, y + 4*appData.mapFontHeight, grey.r, grey.g, grey.b, SDL_ALPHA_OPAQUE);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
935a39fc34ea31bd03a177786917177c0d74191a
|
fda1ba88522832395454de10738083bda8677b29
|
|
@ -1 +1 @@
|
||||||
a9f8d1424252b1371bb410c58e63a5ec55a7fcb3
|
ec05e242afe12d9af07fceff41a9689f66237a76
|
2
list.c
2
list.c
|
@ -112,7 +112,7 @@ void drawList(int top) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(strDir,3,"%c%c",cLat,cLon);
|
//snprintf(strDir,3,"%c%c",cLat,cLon);
|
||||||
|
|
||||||
//distance is borked during refactor
|
//distance is borked during refactor
|
||||||
|
|
||||||
|
|
12
planeObj.c
12
planeObj.c
|
@ -19,11 +19,11 @@ struct planeObj *createPlaneObj(struct aircraft *a) {
|
||||||
p->addr = a->addr;
|
p->addr = a->addr;
|
||||||
p->created = 0;
|
p->created = 0;
|
||||||
p->oldIdx = 0;
|
p->oldIdx = 0;
|
||||||
|
p->prev_seen = 0;
|
||||||
|
|
||||||
memset(p->oldLon, 0, sizeof(p->oldLon));
|
memset(p->oldLon, 0, sizeof(p->oldLon));
|
||||||
memset(p->oldLat, 0, sizeof(p->oldLat));
|
memset(p->oldLat, 0, sizeof(p->oldLat));
|
||||||
memset(p->oldHeading, 0, sizeof(p->oldHeading));
|
memset(p->oldHeading, 0, sizeof(p->oldHeading));
|
||||||
memset(p->messageRate, 0, sizeof(p->messageRate));
|
|
||||||
|
|
||||||
return (p);
|
return (p);
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,8 @@ void updatePlanes() {
|
||||||
p = createPlaneObj(a);
|
p = createPlaneObj(a);
|
||||||
p->next = planes;
|
p->next = planes;
|
||||||
planes = p;
|
planes = p;
|
||||||
|
} else {
|
||||||
|
p->prev_seen = p->seen;
|
||||||
}
|
}
|
||||||
|
|
||||||
p->live = 1;
|
p->live = 1;
|
||||||
|
@ -54,6 +56,13 @@ void updatePlanes() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p->seen = a->seen;
|
||||||
|
|
||||||
|
if((p->seen - p->prev_seen) > 0) {
|
||||||
|
p->messageRate = 1.0 / (double)(p->seen - p->prev_seen);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
memcpy(p->flight, a->flight, sizeof(p->flight));
|
memcpy(p->flight, a->flight, sizeof(p->flight));
|
||||||
memcpy(p->signalLevel, a->signalLevel, sizeof(p->signalLevel));
|
memcpy(p->signalLevel, a->signalLevel, sizeof(p->signalLevel));
|
||||||
|
|
||||||
|
@ -61,7 +70,6 @@ void updatePlanes() {
|
||||||
p->speed = a->speed;
|
p->speed = a->speed;
|
||||||
p->track = a->track;
|
p->track = a->track;
|
||||||
p->vert_rate = a->vert_rate;
|
p->vert_rate = a->vert_rate;
|
||||||
p->seen = a->seen;
|
|
||||||
p->lon = a->lon;
|
p->lon = a->lon;
|
||||||
p->lat = a->lat;
|
p->lat = a->lat;
|
||||||
|
|
||||||
|
|
BIN
planeObj.o
BIN
planeObj.o
Binary file not shown.
14
status.c
14
status.c
|
@ -65,26 +65,26 @@ void updateStatus() {
|
||||||
|
|
||||||
sigAccumulate += signalAverage;
|
sigAccumulate += signalAverage;
|
||||||
|
|
||||||
|
if (p->lon && p->lat) {
|
||||||
|
|
||||||
|
|
||||||
//distance measurements got borked during refactor - need to redo here
|
//distance measurements got borked during refactor - need to redo here
|
||||||
/*
|
/*
|
||||||
if (p->lon && p->lat) {
|
|
||||||
double d = sqrt(p->dx * a->dx + a->dy * a->dy);
|
double d = sqrt(p->dx * a->dx + a->dy * a->dy);
|
||||||
|
|
||||||
if(d < appData.maxDist) {
|
if(d < appData.maxDist) {
|
||||||
if(d > maxDist) {
|
if(d > maxDist) {
|
||||||
maxDist = d;
|
maxDist = d;
|
||||||
}
|
}
|
||||||
|
|
||||||
numVisiblePlanes++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
*/
|
||||||
|
numVisiblePlanes++;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
totalCount++;
|
totalCount++;
|
||||||
|
|
||||||
msgRateAccumulate += (p->messageRate[0] + p->messageRate[1] + p->messageRate[2] + p->messageRate[3] +
|
msgRateAccumulate += p->messageRate;
|
||||||
p->messageRate[4] + p->messageRate[5] + p->messageRate[6] + p->messageRate[7]);
|
|
||||||
|
|
||||||
p = p->next;
|
p = p->next;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
73f15d7f49718ad2118fa30449dffa3f088a20bd
|
7626e2885663816ca0afea4b99f4464dbaa595f7
|
|
@ -50,12 +50,13 @@ struct planeObj {
|
||||||
uint32_t addr; // ICAO address
|
uint32_t addr; // ICAO address
|
||||||
char flight[16]; // Flight number
|
char flight[16]; // Flight number
|
||||||
unsigned char signalLevel[8]; // Last 8 Signal Amplitudes
|
unsigned char signalLevel[8]; // Last 8 Signal Amplitudes
|
||||||
double messageRate[8];
|
double messageRate;
|
||||||
int altitude; // Altitude
|
int altitude; // Altitude
|
||||||
int speed; // Velocity
|
int speed; // Velocity
|
||||||
int track; // Angle of flight
|
int track; // Angle of flight
|
||||||
int vert_rate; // Vertical rate.
|
int vert_rate; // Vertical rate.
|
||||||
time_t seen; // Time at which the last packet was received
|
time_t seen; // Time at which the last packet was received
|
||||||
|
time_t prev_seen;
|
||||||
double lat, lon; // Coordinated obtained from CPR encoded data
|
double lat, lon; // Coordinated obtained from CPR encoded data
|
||||||
|
|
||||||
//history
|
//history
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
cc7b8e99972e34a43bebde90a9679815d2219511
|
68fb7031fcec17eff186d2abd88b6bf9f0726707
|
|
@ -1 +1 @@
|
||||||
6a3d6fb29439db4b118b48c859c390d687566a2d
|
56d4666551743e2bb5da41ccce658ff2be58cdf2
|
Loading…
Reference in a new issue