fixed message rates and plane count
Former-commit-id: 4581c1049aae72ad054560c00d9c4fce5e2adaa2 Former-commit-id: 622f7ce9989c8ca5caeddd33d85cd9e433b521fe
This commit is contained in:
parent
4fc2c3cae6
commit
63ac13a988
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() {
|
||||
struct planeObj *p = planes;
|
||||
time_t now = time(NULL);
|
||||
|
@ -386,18 +406,7 @@ void drawMap() {
|
|||
if(outOfBounds(x,y)) {
|
||||
int outx, outy;
|
||||
drawPlaneOffMap(x, y, &outx, &outy, planeColor);
|
||||
|
||||
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;
|
||||
drawPlaneText(p, outx, outy);
|
||||
}
|
||||
|
||||
|
||||
|
@ -412,18 +421,7 @@ void drawMap() {
|
|||
if(MODES_ACFLAGS_HEADING_VALID) {
|
||||
drawPlaneHeading(x, y,p->track, planeColor);
|
||||
|
||||
//char flight[11] = " ";
|
||||
//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);
|
||||
drawPlaneText(p, x, y);
|
||||
|
||||
lineRGBA(appData.renderer, x, y, x, y + 4*appData.mapFontHeight, grey.r, grey.g, grey.b, SDL_ALPHA_OPAQUE);
|
||||
} 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
|
||||
|
||||
|
|
14
planeObj.c
14
planeObj.c
|
@ -19,11 +19,11 @@ struct planeObj *createPlaneObj(struct aircraft *a) {
|
|||
p->addr = a->addr;
|
||||
p->created = 0;
|
||||
p->oldIdx = 0;
|
||||
p->prev_seen = 0;
|
||||
|
||||
memset(p->oldLon, 0, sizeof(p->oldLon));
|
||||
memset(p->oldLat, 0, sizeof(p->oldLat));
|
||||
memset(p->oldHeading, 0, sizeof(p->oldHeading));
|
||||
memset(p->messageRate, 0, sizeof(p->messageRate));
|
||||
|
||||
return (p);
|
||||
}
|
||||
|
@ -45,6 +45,8 @@ void updatePlanes() {
|
|||
p = createPlaneObj(a);
|
||||
p->next = planes;
|
||||
planes = p;
|
||||
} else {
|
||||
p->prev_seen = p->seen;
|
||||
}
|
||||
|
||||
p->live = 1;
|
||||
|
@ -53,7 +55,14 @@ void updatePlanes() {
|
|||
a = a->next;
|
||||
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->signalLevel, a->signalLevel, sizeof(p->signalLevel));
|
||||
|
||||
|
@ -61,7 +70,6 @@ void updatePlanes() {
|
|||
p->speed = a->speed;
|
||||
p->track = a->track;
|
||||
p->vert_rate = a->vert_rate;
|
||||
p->seen = a->seen;
|
||||
p->lon = a->lon;
|
||||
p->lat = a->lat;
|
||||
|
||||
|
|
BIN
planeObj.o
BIN
planeObj.o
Binary file not shown.
18
status.c
18
status.c
|
@ -64,27 +64,27 @@ void updateStatus() {
|
|||
pSig[4] + pSig[5] + pSig[6] + pSig[7]);
|
||||
|
||||
sigAccumulate += signalAverage;
|
||||
|
||||
|
||||
//distance measurements got borked during refactor - need to redo here
|
||||
/*
|
||||
|
||||
if (p->lon && p->lat) {
|
||||
|
||||
|
||||
//distance measurements got borked during refactor - need to redo here
|
||||
/*
|
||||
double d = sqrt(p->dx * a->dx + a->dy * a->dy);
|
||||
|
||||
if(d < appData.maxDist) {
|
||||
if(d > maxDist) {
|
||||
maxDist = d;
|
||||
}
|
||||
|
||||
*/
|
||||
numVisiblePlanes++;
|
||||
}
|
||||
//}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
totalCount++;
|
||||
|
||||
msgRateAccumulate += (p->messageRate[0] + p->messageRate[1] + p->messageRate[2] + p->messageRate[3] +
|
||||
p->messageRate[4] + p->messageRate[5] + p->messageRate[6] + p->messageRate[7]);
|
||||
msgRateAccumulate += p->messageRate;
|
||||
|
||||
p = p->next;
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
73f15d7f49718ad2118fa30449dffa3f088a20bd
|
||||
7626e2885663816ca0afea4b99f4464dbaa595f7
|
|
@ -50,12 +50,13 @@ struct planeObj {
|
|||
uint32_t addr; // ICAO address
|
||||
char flight[16]; // Flight number
|
||||
unsigned char signalLevel[8]; // Last 8 Signal Amplitudes
|
||||
double messageRate[8];
|
||||
double messageRate;
|
||||
int altitude; // Altitude
|
||||
int speed; // Velocity
|
||||
int track; // Angle of flight
|
||||
int vert_rate; // Vertical rate.
|
||||
time_t seen; // Time at which the last packet was received
|
||||
time_t prev_seen;
|
||||
double lat, lon; // Coordinated obtained from CPR encoded data
|
||||
|
||||
//history
|
||||
|
|
|
@ -1 +1 @@
|
|||
cc7b8e99972e34a43bebde90a9679815d2219511
|
||||
68fb7031fcec17eff186d2abd88b6bf9f0726707
|
|
@ -1 +1 @@
|
|||
6a3d6fb29439db4b118b48c859c390d687566a2d
|
||||
56d4666551743e2bb5da41ccce658ff2be58cdf2
|
Loading…
Reference in a new issue