fixed message rates and plane count

Former-commit-id: 7a6d279589752e646fb79ee0e0bf499bd0f97029
Former-commit-id: 98cd467cee7db46e6e8723c05b1d138159affe79
This commit is contained in:
nathan 2019-09-08 23:52:09 -05:00
parent 081ecda409
commit d630b24033
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() { 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 {

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 //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->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;

Binary file not shown.

View file

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

View file

@ -1 +1 @@
73f15d7f49718ad2118fa30449dffa3f088a20bd 7626e2885663816ca0afea4b99f4464dbaa595f7

View file

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

View file

@ -1 +1 @@
cc7b8e99972e34a43bebde90a9679815d2219511 68fb7031fcec17eff186d2abd88b6bf9f0726707

View file

@ -1 +1 @@
6a3d6fb29439db4b118b48c859c390d687566a2d 56d4666551743e2bb5da41ccce658ff2be58cdf2