fixed message rates and plane count

Former-commit-id: 4581c1049aae72ad054560c00d9c4fce5e2adaa2
Former-commit-id: 622f7ce9989c8ca5caeddd33d85cd9e433b521fe
This commit is contained in:
nathan 2019-09-08 23:52:09 -05:00
parent 4fc2c3cae6
commit 63ac13a988
15 changed files with 50 additions and 43 deletions

46
draw.c
View file

@ -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 {

View file

@ -1 +1 @@
935a39fc34ea31bd03a177786917177c0d74191a
fda1ba88522832395454de10738083bda8677b29

BIN
font.o

Binary file not shown.

BIN
init.o

Binary file not shown.

View file

@ -1 +1 @@
a9f8d1424252b1371bb410c58e63a5ec55a7fcb3
ec05e242afe12d9af07fceff41a9689f66237a76

2
list.c
View file

@ -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

BIN
list.o

Binary file not shown.

BIN
monokai.o

Binary file not shown.

View file

@ -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;
@ -54,6 +56,13 @@ void updatePlanes() {
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;

Binary file not shown.

View file

@ -65,26 +65,26 @@ void updateStatus() {
sigAccumulate += signalAverage;
if (p->lon && p->lat) {
//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);
if(d < appData.maxDist) {
if(d > maxDist) {
maxDist = d;
}
numVisiblePlanes++;
}
}
*/
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;
}

View file

@ -1 +1 @@
73f15d7f49718ad2118fa30449dffa3f088a20bd
7626e2885663816ca0afea4b99f4464dbaa595f7

View file

@ -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

View file

@ -1 +1 @@
cc7b8e99972e34a43bebde90a9679815d2219511
68fb7031fcec17eff186d2abd88b6bf9f0726707

View file

@ -1 +1 @@
6a3d6fb29439db4b118b48c859c390d687566a2d
56d4666551743e2bb5da41ccce658ff2be58cdf2