map conversion in python directly from svg to c array bin file, with bash script. File cleanup (BFG to follow)
Former-commit-id: fdd12fece3
[formerly 87b04ceb9008fabd80258f5c979b9d238411e748] [formerly cd38a9b42c4973e454f8d7b7208539c7bcc6495e]
Former-commit-id: c770542b274873228b4eb8bf5cff3210a8876e84
Former-commit-id: db0f8a35610270ed4b381463c8cc4c83a56f5726
This commit is contained in:
parent
954f70dd04
commit
57686fc8b4
39
Android.mk
39
Android.mk
|
@ -1,39 +0,0 @@
|
||||||
LOCAL_PATH := $(call my-dir)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
|
|
||||||
LOCAL_MODULE := main.out
|
|
||||||
|
|
||||||
SDL_PATH := ~/Downloads/SDL
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := \
|
|
||||||
$(LOCAL_PATH)/$(SDL_PATH)/include \
|
|
||||||
$(LOCAL_PATH)/$(SDL_PATH)
|
|
||||||
|
|
||||||
#LOCALCFLAGS=
|
|
||||||
|
|
||||||
LOCAL_SRC_FILES := \
|
|
||||||
$(SDL_PATH)/src/main/android/SDL_android_main.cpp \
|
|
||||||
allstates.c \
|
|
||||||
input.c \
|
|
||||||
mapdata.c \
|
|
||||||
monokai.c \
|
|
||||||
planeObj.c \
|
|
||||||
anet.c \
|
|
||||||
font.c \
|
|
||||||
interactive.c \
|
|
||||||
mode_ac.c \
|
|
||||||
net_io.c \
|
|
||||||
status.c \
|
|
||||||
draw.c \
|
|
||||||
init.c \
|
|
||||||
list.c \
|
|
||||||
mode_s.c \
|
|
||||||
parula.c \
|
|
||||||
view1090.c
|
|
||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := SDL2 SDL2_gfx SDL2_ttf
|
|
||||||
|
|
||||||
LOCAL_LDLIBS := -lGLESv1_CM #-lstdc++
|
|
||||||
|
|
||||||
include $(BUILD_EXECUTABLE)
|
|
|
@ -1,3 +0,0 @@
|
||||||
APP_ABI := arm64-v8a
|
|
||||||
APP_PLATFORM := android-29
|
|
||||||
APP_BUILD_SCRIPT := Android.mk
|
|
23
GL_edit.svf
23
GL_edit.svf
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
7a72d06a00457897159cc7ebf3afff0f1806f3ab
|
|
|
@ -1 +0,0 @@
|
||||||
a007071944f7c90020e798eea53b10065e2b45a5
|
|
|
@ -1 +0,0 @@
|
||||||
5e04b16605e6f165afada700fa09ec2c744bd4ca
|
|
|
@ -1 +0,0 @@
|
||||||
cf67fe0caf3e7853db2af48cdcd28a4522a15572
|
|
|
@ -1 +0,0 @@
|
||||||
e8e4a6045fa8374ca37fd7f53dfa95c61142ae98
|
|
|
@ -1 +0,0 @@
|
||||||
730c63d4b5435fc57d6551f5a71d64b7e7d60fbb
|
|
|
@ -1 +0,0 @@
|
||||||
97a5b8f6ed4324088d095d616a147d05cfe8917a
|
|
|
@ -1 +0,0 @@
|
||||||
a09e9faff2c39c9dc56f6a0101a300851922e78d
|
|
|
@ -1 +0,0 @@
|
||||||
ec881731ace782f1f692c4d9afabe1710ef6ac25
|
|
|
@ -1 +0,0 @@
|
||||||
091001c845fa041bb58677bdb97edc546a43b72d
|
|
|
@ -1 +0,0 @@
|
||||||
248a001641f39a4ad8b75387b889698120fd4983
|
|
|
@ -1 +0,0 @@
|
||||||
130bb4a9cecd7210769427502b3ee33cdb097341
|
|
|
@ -1 +0,0 @@
|
||||||
2a1ec89b5722143dfbdee504bbddab3a48b7bdd6
|
|
|
@ -1 +0,0 @@
|
||||||
672aac709f31f3596fe66420cbc409122c8cb706
|
|
|
@ -1 +0,0 @@
|
||||||
f20e8486e0becccceddade23c1f89d5336aebc49
|
|
|
@ -1 +0,0 @@
|
||||||
11cbae78cf937af2f5c0236b8f86cad443162a2f
|
|
|
@ -1 +0,0 @@
|
||||||
e8aa21e61df3e92fb290abc35215afdfe9a6db0a
|
|
|
@ -1 +0,0 @@
|
||||||
bca6a642079482aab1d8d68488c6302c9e0e284d
|
|
|
@ -1 +0,0 @@
|
||||||
5aeb931af933ee4dd2557a465ecadf908dc53978
|
|
|
@ -1 +0,0 @@
|
||||||
22983e3d94e5c6e9c3f85f2bb6aff805b31657d0
|
|
|
@ -1 +0,0 @@
|
||||||
66c93d8a95903ec73a80ea4f49811d23525ed967
|
|
|
@ -1 +0,0 @@
|
||||||
d07ca5d41b3a257274f42c5fe0b402a672ea612a
|
|
|
@ -1 +0,0 @@
|
||||||
db3b7b20ab68a2010a29158ad5a86a1fff1f86e5
|
|
|
@ -1 +0,0 @@
|
||||||
6963c72346edf4b03a76271242ca933ac9afb750
|
|
|
@ -1 +0,0 @@
|
||||||
0368d2bbae0b02dfeeb66950db2f79109714756e
|
|
|
@ -1 +0,0 @@
|
||||||
f159709859ade068ba25e93720a5c8abc2fd20ce
|
|
|
@ -1 +0,0 @@
|
||||||
53c606887962f52031d77dd4fe9c1ce85ce0783e
|
|
|
@ -1 +0,0 @@
|
||||||
e52ba0d0e32c0a8a9de183dc11352f59c754c764
|
|
|
@ -1 +0,0 @@
|
||||||
f279c6703790767cc5efae5941913527c039cb0b
|
|
|
@ -1 +0,0 @@
|
||||||
653a1008f0ee073bafcd84e21bddd930e03579b1
|
|
|
@ -1 +0,0 @@
|
||||||
d206e1de86a19ab735257abba83e25bd1d296ebb
|
|
|
@ -1 +0,0 @@
|
||||||
9fe3e4aecd84c498563c3af03fe7050924915f60
|
|
|
@ -1 +0,0 @@
|
||||||
b173da27417c00101dff72617f9b9a2b80ecc8f3
|
|
|
@ -1 +0,0 @@
|
||||||
72a5a99ac0c781eb60dd8721ae93eedda298e07e
|
|
|
@ -1 +0,0 @@
|
||||||
602a3ee4ab20743037eee6daa1b304fa680967b6
|
|
|
@ -1 +0,0 @@
|
||||||
ed0f5bce879796461ebb93969d28a2bbb35efd0f
|
|
|
@ -1 +0,0 @@
|
||||||
c6cec55fcd5d8e00347661eba8684f848065594e
|
|
|
@ -1 +0,0 @@
|
||||||
ca9c03a4767153b6d2f64c1d8909525ba39bb8d7
|
|
|
@ -1 +0,0 @@
|
||||||
e8d186c510a26f1b4319bbb797c3ee18cb104e26
|
|
|
@ -1 +0,0 @@
|
||||||
d748728a20789bf5f95e524f3d508f54c67f9475
|
|
|
@ -1 +0,0 @@
|
||||||
4f2d2bc7cb6ae34d90066e1b330dc18ae2386e38
|
|
|
@ -1 +0,0 @@
|
||||||
7bd6665765768ae885e2868623e7e9c2fd0cfc8a
|
|
|
@ -1 +0,0 @@
|
||||||
6c5b8ba023e41689a2e14dc3c88f978e3188a1de
|
|
|
@ -1 +0,0 @@
|
||||||
fdd309d716629f4e5339d5e5508225ed857a3ede
|
|
|
@ -1 +0,0 @@
|
||||||
18f81a29258d13e1d6f1ce98cdd167091ea9bd4a
|
|
|
@ -1 +0,0 @@
|
||||||
8ee248f748192c6ab6b2f5a1c18979d5bb16e646
|
|
|
@ -1 +0,0 @@
|
||||||
7108d34870f6546900fb6d69ee9e1789e1e0a175
|
|
BIN
interactive.o
BIN
interactive.o
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
f94cfbe36f64a1d81f38c7a21ed5ea789092d0b2
|
|
|
@ -1,21 +0,0 @@
|
||||||
Very hacky map pipeline:
|
|
||||||
|
|
||||||
using latlon maps from sourced from http://www.mccurley.org/svg/
|
|
||||||
|
|
||||||
get all.svg
|
|
||||||
|
|
||||||
run mapconverted.py
|
|
||||||
|
|
||||||
**at this point you have to manually format into a c array and get the length.**
|
|
||||||
|
|
||||||
now compile write2bin
|
|
||||||
gcc write2bin.c allstates.c -o write2bin
|
|
||||||
|
|
||||||
and run write2bin
|
|
||||||
|
|
||||||
this will produce mapdata.bin that the main program reads in
|
|
||||||
|
|
||||||
|
|
||||||
** this should be one python that generates the binary file **
|
|
||||||
|
|
||||||
** then it should be grabbed from mapbox or something **
|
|
|
@ -1 +0,0 @@
|
||||||
4a9fe852dcd3e65638b4f5a4f943c0e85c5e2ddb
|
|
|
@ -1 +0,0 @@
|
||||||
15dc88c67daedfe75f3e5ac04fe1cb6b96908c09
|
|
|
@ -1 +0,0 @@
|
||||||
a617d7924210634db9b7a5c7323d803d371319df
|
|
|
@ -1 +0,0 @@
|
||||||
d970486a784f62d0e7072845fb9ba545adb51332
|
|
5
map_conversion/getmap.sh
Normal file
5
map_conversion/getmap.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
wget -O all.svg.gz https://www.mccurley.org/svg/data/allzips.svgz
|
||||||
|
gunzip all.svg.gz
|
||||||
|
python mapconverter.py all.svg
|
|
@ -1,14 +1,24 @@
|
||||||
from lxml import etree as ElementTree
|
from lxml import etree as ElementTree
|
||||||
|
import numpy as np
|
||||||
|
import sys
|
||||||
|
|
||||||
|
filename = sys.argv[1]
|
||||||
|
|
||||||
|
if(len(filename) == 0):
|
||||||
|
print "No input filename given"
|
||||||
|
exit()
|
||||||
|
|
||||||
parser = ElementTree.XMLParser(recover=True)
|
parser = ElementTree.XMLParser(recover=True)
|
||||||
tree = ElementTree.parse('all.svg', parser)
|
tree = ElementTree.parse(filename, parser)
|
||||||
polys = tree.xpath('//polygon')
|
polys = tree.xpath('//polygon')
|
||||||
|
|
||||||
text_file = open("test.txt", "wt")
|
bin_file = open("mapdata.bin", "wt")
|
||||||
|
|
||||||
|
outlist = []
|
||||||
|
|
||||||
for p in polys:
|
for p in polys:
|
||||||
currentPoints = p.attrib['points']
|
currentPoints = p.attrib['points']
|
||||||
currentPoints = currentPoints.replace(" ", ",")
|
outlist.extend((currentPoints.replace(","," ") + " 0 0").split())
|
||||||
text_file.write(currentPoints + ",0,0")
|
|
||||||
|
|
||||||
text_file.close()
|
np.asarray(outlist).astype(np.single).tofile(bin_file)
|
||||||
|
bin_file.close()
|
|
@ -1,12 +0,0 @@
|
||||||
//
|
|
||||||
#include<stdio.h>
|
|
||||||
|
|
||||||
extern float mapPoints[3878131];
|
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
|
||||||
FILE *file = fopen("mapdata.bin", "wb");
|
|
||||||
fwrite(mapPoints, sizeof(mapPoints), 1, file);
|
|
||||||
fclose(file);
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
d970486a784f62d0e7072845fb9ba545adb51332
|
|
18
mapdata.c
18
mapdata.c
|
@ -103,16 +103,18 @@ void initMaps() {
|
||||||
|
|
||||||
FILE *fileptr;
|
FILE *fileptr;
|
||||||
|
|
||||||
fileptr = fopen("mapdata.bin", "rb"); // Open the file in binary mode
|
fileptr = fopen("mapdata.bin", "rb"); // Open the file in binary mode
|
||||||
fseek(fileptr, 0, SEEK_END); // Jump to the end of the file
|
fseek(fileptr, 0, SEEK_END); // Jump to the end of the file
|
||||||
mapPoints_count = ftell(fileptr) / sizeof(float); // Get the current byte offset in the file
|
mapPoints_count = ftell(fileptr) / sizeof(float); // Get the current byte offset in the file
|
||||||
rewind(fileptr); // Jump back to the beginning of the file
|
|
||||||
|
|
||||||
mapPoints = (float *)malloc(mapPoints_count * sizeof(float)); // Enough memory for the file
|
rewind(fileptr); // Jump back to the beginning of the file
|
||||||
fread(mapPoints, sizeof(float), mapPoints_count, fileptr); // Read in the entire file
|
|
||||||
fclose(fileptr); // Close the fileptr
|
mapPoints = (float *)malloc(mapPoints_count * sizeof(float)); // Enough memory for the file
|
||||||
|
fread(mapPoints, sizeof(float), mapPoints_count, fileptr); // Read in the entire file
|
||||||
|
fclose(fileptr); // Close the fileptr
|
||||||
|
|
||||||
|
printf("Read %d map points.\n",mapPoints_count);
|
||||||
|
|
||||||
printf("%d points read\n",mapPoints_count);
|
|
||||||
|
|
||||||
//mapPoints_relative = (float *) malloc(sizeof(mapPoints));
|
//mapPoints_relative = (float *) malloc(sizeof(mapPoints));
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
7d25253c93eb99094372df3b61630599ce0cb4ff
|
|
|
@ -1 +0,0 @@
|
||||||
22b5fc5c241eb98e511019d0ffa249f80ba7a933
|
|
|
@ -521,12 +521,12 @@ void interactiveShowData(void) {
|
||||||
if (a->bFlags & MODES_ACFLAGS_LATLON_VALID) {
|
if (a->bFlags & MODES_ACFLAGS_LATLON_VALID) {
|
||||||
|
|
||||||
double dLon = a->lon+87.6651033;
|
double dLon = a->lon+87.6651033;
|
||||||
double dLat = a->lat-***REMOVED***;
|
double dLat = a->lat-41.9809263;
|
||||||
|
|
||||||
snprintf(strLat, 8,"%7.03f", dLat);
|
snprintf(strLat, 8,"%7.03f", dLat);
|
||||||
snprintf(strLon, 9,"%8.03f", dLon);
|
snprintf(strLon, 9,"%8.03f", dLon);
|
||||||
|
|
||||||
double x = dLon * M_PI / 180.0f * cos(((a->lat+***REMOVED***)/2.0f) * M_PI / 180.0f);
|
double x = dLon * M_PI / 180.0f * cos(((a->lat+41.9809263)/2.0f) * M_PI / 180.0f);
|
||||||
double y = dLat * M_PI / 180.0f;
|
double y = dLat * M_PI / 180.0f;
|
||||||
d = sqrt(x*x + y*y) * 6371.0;
|
d = sqrt(x*x + y*y) * 6371.0;
|
||||||
|
|
||||||
|
|
BIN
planeObj.o
BIN
planeObj.o
Binary file not shown.
|
@ -1,517 +0,0 @@
|
||||||
Flat profile:
|
|
||||||
|
|
||||||
Each sample counts as 0.01 seconds.
|
|
||||||
% cumulative self self total
|
|
||||||
time seconds seconds calls us/call us/call name
|
|
||||||
66.67 0.02 0.02 600 33.34 33.34 resolveLabelConflicts
|
|
||||||
33.34 0.03 0.01 2147 4.66 4.66 drawTrail
|
|
||||||
0.00 0.03 0.00 9666 0.00 0.00 screenDist
|
|
||||||
0.00 0.03 0.00 4935 0.00 0.00 mstime
|
|
||||||
0.00 0.03 0.00 4608 0.00 0.00 pxFromLonLat
|
|
||||||
0.00 0.03 0.00 4608 0.00 0.00 screenCoords
|
|
||||||
0.00 0.03 0.00 2831 0.00 0.00 outOfBounds
|
|
||||||
0.00 0.03 0.00 2147 0.00 0.00 findPlaneObj
|
|
||||||
0.00 0.03 0.00 1770 0.00 0.00 drawStringBG
|
|
||||||
0.00 0.03 0.00 1650 0.00 0.00 drawString
|
|
||||||
0.00 0.03 0.00 1598 0.00 0.00 CROSSVP
|
|
||||||
0.00 0.03 0.00 985 0.00 0.00 drawPlaneText
|
|
||||||
0.00 0.03 0.00 656 0.00 0.00 drawSignalMarks
|
|
||||||
0.00 0.03 0.00 656 0.00 0.00 setColor
|
|
||||||
0.00 0.03 0.00 656 0.00 0.00 signalToColor
|
|
||||||
0.00 0.03 0.00 600 0.00 0.00 drawStatusBox
|
|
||||||
0.00 0.03 0.00 528 0.00 0.00 drawPlaneHeading
|
|
||||||
0.00 0.03 0.00 493 0.00 0.00 modesChecksum
|
|
||||||
0.00 0.03 0.00 457 0.00 0.00 drawPlaneOffMap
|
|
||||||
0.00 0.03 0.00 387 0.00 0.00 ICAOCacheHashAddress
|
|
||||||
0.00 0.03 0.00 386 0.00 0.00 decodeBinMessage
|
|
||||||
0.00 0.03 0.00 386 0.00 0.00 decodeModesMessage
|
|
||||||
0.00 0.03 0.00 386 0.00 0.00 modesMessageLenByType
|
|
||||||
0.00 0.03 0.00 386 0.00 0.00 useModesMessage
|
|
||||||
0.00 0.03 0.00 373 0.00 0.00 interactiveFindAircraft
|
|
||||||
0.00 0.03 0.00 373 0.00 0.00 interactiveReceiveData
|
|
||||||
0.00 0.03 0.00 330 0.00 0.00 cprNLFunction
|
|
||||||
0.00 0.03 0.00 324 0.00 0.00 getInput
|
|
||||||
0.00 0.03 0.00 323 0.00 92.88 draw
|
|
||||||
0.00 0.03 0.00 323 0.00 0.00 interactiveRemoveStaleAircrafts
|
|
||||||
0.00 0.03 0.00 323 0.00 0.00 modesReadFromClient
|
|
||||||
0.00 0.03 0.00 206 0.00 0.00 addRecentlySeenICAOAddr
|
|
||||||
0.00 0.03 0.00 181 0.00 0.00 ICAOAddressWasRecentlySeen
|
|
||||||
0.00 0.03 0.00 172 0.00 0.00 sign
|
|
||||||
0.00 0.03 0.00 167 0.00 0.00 decodeAC13Field
|
|
||||||
0.00 0.03 0.00 165 0.00 0.00 cprModFunction
|
|
||||||
0.00 0.03 0.00 150 0.00 0.00 drawGrid
|
|
||||||
0.00 0.03 0.00 150 0.00 200.01 drawMap
|
|
||||||
0.00 0.03 0.00 150 0.00 0.00 drawStatus
|
|
||||||
0.00 0.03 0.00 150 0.00 0.00 updatePlanes
|
|
||||||
0.00 0.03 0.00 150 0.00 0.00 updateStatus
|
|
||||||
0.00 0.03 0.00 110 0.00 0.00 cprNFunction
|
|
||||||
0.00 0.03 0.00 108 0.00 0.00 mstime
|
|
||||||
0.00 0.03 0.00 72 0.00 0.00 decodeAC12Field
|
|
||||||
0.00 0.03 0.00 72 0.00 0.00 mstime
|
|
||||||
0.00 0.03 0.00 55 0.00 0.00 cprDlonFunction
|
|
||||||
0.00 0.03 0.00 55 0.00 0.00 decodeCPR
|
|
||||||
0.00 0.03 0.00 22 0.00 0.00 decodeID13Field
|
|
||||||
0.00 0.03 0.00 19 0.00 0.00 ModeAToModeC
|
|
||||||
0.00 0.03 0.00 17 0.00 0.00 createPlaneObj
|
|
||||||
0.00 0.03 0.00 17 0.00 0.00 decodeCPRrelative
|
|
||||||
0.00 0.03 0.00 17 0.00 0.00 interactiveCreateAircraft
|
|
||||||
0.00 0.03 0.00 6 0.00 0.00 interactiveRemoveStaleDF
|
|
||||||
0.00 0.03 0.00 5 0.00 0.00 closeFont
|
|
||||||
0.00 0.03 0.00 5 0.00 0.00 loadFont
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 anetCreateSocket
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 anetNonBlock
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 anetTcpConnect
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 anetTcpGenericConnect
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 init
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 initMaps
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 modesInitErrorInfo
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 setupConnection
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 view1090Init
|
|
||||||
0.00 0.03 0.00 1 0.00 0.00 view1090InitConfig
|
|
||||||
|
|
||||||
% the percentage of the total running time of the
|
|
||||||
time program used by this function.
|
|
||||||
|
|
||||||
cumulative a running sum of the number of seconds accounted
|
|
||||||
seconds for by this function and those listed above it.
|
|
||||||
|
|
||||||
self the number of seconds accounted for by this
|
|
||||||
seconds function alone. This is the major sort for this
|
|
||||||
listing.
|
|
||||||
|
|
||||||
calls the number of times this function was invoked, if
|
|
||||||
this function is profiled, else blank.
|
|
||||||
|
|
||||||
self the average number of milliseconds spent in this
|
|
||||||
ms/call function per call, if this function is profiled,
|
|
||||||
else blank.
|
|
||||||
|
|
||||||
total the average number of milliseconds spent in this
|
|
||||||
ms/call function and its descendents per call, if this
|
|
||||||
function is profiled, else blank.
|
|
||||||
|
|
||||||
name the name of the function. This is the minor sort
|
|
||||||
for this listing. The index shows the location of
|
|
||||||
the function in the gprof listing. If the index is
|
|
||||||
in parenthesis it shows where it would appear in
|
|
||||||
the gprof listing if it were to be printed.
|
|
||||||
|
|
||||||
Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved.
|
|
||||||
|
|
||||||
Call graph (explanation follows)
|
|
||||||
|
|
||||||
|
|
||||||
granularity: each sample hit covers 2 byte(s) for 33.33% of 0.03 seconds
|
|
||||||
|
|
||||||
index % time self children called name
|
|
||||||
0.00 0.03 323/323 main [3]
|
|
||||||
[1] 100.0 0.00 0.03 323 draw [1]
|
|
||||||
0.00 0.03 150/150 drawMap [2]
|
|
||||||
0.00 0.00 473/4935 mstime [7]
|
|
||||||
0.00 0.00 150/150 updatePlanes [41]
|
|
||||||
0.00 0.00 150/150 updateStatus [42]
|
|
||||||
0.00 0.00 150/150 drawStatus [40]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.03 150/150 draw [1]
|
|
||||||
[2] 100.0 0.00 0.03 150 drawMap [2]
|
|
||||||
0.02 0.00 600/600 resolveLabelConflicts [4]
|
|
||||||
0.01 0.00 2147/2147 drawTrail [5]
|
|
||||||
0.00 0.00 3150/4935 mstime [7]
|
|
||||||
0.00 0.00 2152/4608 pxFromLonLat [8]
|
|
||||||
0.00 0.00 2152/4608 screenCoords [9]
|
|
||||||
0.00 0.00 985/2831 outOfBounds [10]
|
|
||||||
0.00 0.00 985/985 drawPlaneText [15]
|
|
||||||
0.00 0.00 528/528 drawPlaneHeading [20]
|
|
||||||
0.00 0.00 457/457 drawPlaneOffMap [22]
|
|
||||||
0.00 0.00 150/150 drawGrid [39]
|
|
||||||
-----------------------------------------------
|
|
||||||
<spontaneous>
|
|
||||||
[3] 100.0 0.00 0.03 main [3]
|
|
||||||
0.00 0.03 323/323 draw [1]
|
|
||||||
0.00 0.00 324/324 getInput [31]
|
|
||||||
0.00 0.00 323/323 interactiveRemoveStaleAircrafts [32]
|
|
||||||
0.00 0.00 323/323 modesReadFromClient [33]
|
|
||||||
0.00 0.00 1/1 view1090InitConfig [66]
|
|
||||||
0.00 0.00 1/1 view1090Init [65]
|
|
||||||
0.00 0.00 1/1 setupConnection [64]
|
|
||||||
0.00 0.00 1/1 init [61]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.02 0.00 600/600 drawMap [2]
|
|
||||||
[4] 66.7 0.02 0.00 600 resolveLabelConflicts [4]
|
|
||||||
0.00 0.00 172/172 sign [36]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.01 0.00 2147/2147 drawMap [2]
|
|
||||||
[5] 33.3 0.01 0.00 2147 drawTrail [5]
|
|
||||||
0.00 0.00 2456/4608 pxFromLonLat [8]
|
|
||||||
0.00 0.00 2456/4608 screenCoords [9]
|
|
||||||
0.00 0.00 1846/2831 outOfBounds [10]
|
|
||||||
0.00 0.00 613/1598 CROSSVP [14]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 450/9666 drawGrid [39]
|
|
||||||
0.00 0.00 9216/9666 screenCoords [9]
|
|
||||||
[6] 0.0 0.00 0.00 9666 screenDist [6]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 473/4935 draw [1]
|
|
||||||
0.00 0.00 1312/4935 drawSignalMarks [16]
|
|
||||||
0.00 0.00 3150/4935 drawMap [2]
|
|
||||||
[7] 0.0 0.00 0.00 4935 mstime [7]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 2152/4608 drawMap [2]
|
|
||||||
0.00 0.00 2456/4608 drawTrail [5]
|
|
||||||
[8] 0.0 0.00 0.00 4608 pxFromLonLat [8]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 2152/4608 drawMap [2]
|
|
||||||
0.00 0.00 2456/4608 drawTrail [5]
|
|
||||||
[9] 0.0 0.00 0.00 4608 screenCoords [9]
|
|
||||||
0.00 0.00 9216/9666 screenDist [6]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 985/2831 drawMap [2]
|
|
||||||
0.00 0.00 1846/2831 drawTrail [5]
|
|
||||||
[10] 0.0 0.00 0.00 2831 outOfBounds [10]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 2147/2147 updatePlanes [41]
|
|
||||||
[11] 0.0 0.00 0.00 2147 findPlaneObj [11]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1770/1770 drawPlaneText [15]
|
|
||||||
[12] 0.0 0.00 0.00 1770 drawStringBG [12]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 450/1650 drawGrid [39]
|
|
||||||
0.00 0.00 1200/1650 drawStatusBox [19]
|
|
||||||
[13] 0.0 0.00 0.00 1650 drawString [13]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 457/1598 drawPlaneOffMap [22]
|
|
||||||
0.00 0.00 528/1598 drawPlaneHeading [20]
|
|
||||||
0.00 0.00 613/1598 drawTrail [5]
|
|
||||||
[14] 0.0 0.00 0.00 1598 CROSSVP [14]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 985/985 drawMap [2]
|
|
||||||
[15] 0.0 0.00 0.00 985 drawPlaneText [15]
|
|
||||||
0.00 0.00 1770/1770 drawStringBG [12]
|
|
||||||
0.00 0.00 656/656 drawSignalMarks [16]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 656/656 drawPlaneText [15]
|
|
||||||
[16] 0.0 0.00 0.00 656 drawSignalMarks [16]
|
|
||||||
0.00 0.00 1312/4935 mstime [7]
|
|
||||||
0.00 0.00 656/656 signalToColor [18]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 656/656 signalToColor [18]
|
|
||||||
[17] 0.0 0.00 0.00 656 setColor [17]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 656/656 drawSignalMarks [16]
|
|
||||||
[18] 0.0 0.00 0.00 656 signalToColor [18]
|
|
||||||
0.00 0.00 656/656 setColor [17]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 600/600 drawStatus [40]
|
|
||||||
[19] 0.0 0.00 0.00 600 drawStatusBox [19]
|
|
||||||
0.00 0.00 1200/1650 drawString [13]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 528/528 drawMap [2]
|
|
||||||
[20] 0.0 0.00 0.00 528 drawPlaneHeading [20]
|
|
||||||
0.00 0.00 528/1598 CROSSVP [14]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 107/493 modesInitErrorInfo [63]
|
|
||||||
0.00 0.00 386/493 decodeModesMessage [25]
|
|
||||||
[21] 0.0 0.00 0.00 493 modesChecksum [21]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 457/457 drawMap [2]
|
|
||||||
[22] 0.0 0.00 0.00 457 drawPlaneOffMap [22]
|
|
||||||
0.00 0.00 457/1598 CROSSVP [14]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 181/387 ICAOAddressWasRecentlySeen [35]
|
|
||||||
0.00 0.00 206/387 addRecentlySeenICAOAddr [34]
|
|
||||||
[23] 0.0 0.00 0.00 387 ICAOCacheHashAddress [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 386/386 modesReadFromClient [33]
|
|
||||||
[24] 0.0 0.00 0.00 386 decodeBinMessage [24]
|
|
||||||
0.00 0.00 386/386 decodeModesMessage [25]
|
|
||||||
0.00 0.00 386/386 useModesMessage [27]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 386/386 decodeBinMessage [24]
|
|
||||||
[25] 0.0 0.00 0.00 386 decodeModesMessage [25]
|
|
||||||
0.00 0.00 386/386 modesMessageLenByType [26]
|
|
||||||
0.00 0.00 386/493 modesChecksum [21]
|
|
||||||
0.00 0.00 206/206 addRecentlySeenICAOAddr [34]
|
|
||||||
0.00 0.00 181/181 ICAOAddressWasRecentlySeen [35]
|
|
||||||
0.00 0.00 167/167 decodeAC13Field [37]
|
|
||||||
0.00 0.00 72/72 decodeAC12Field [45]
|
|
||||||
0.00 0.00 3/22 decodeID13Field [49]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 386/386 decodeModesMessage [25]
|
|
||||||
[26] 0.0 0.00 0.00 386 modesMessageLenByType [26]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 386/386 decodeBinMessage [24]
|
|
||||||
[27] 0.0 0.00 0.00 386 useModesMessage [27]
|
|
||||||
0.00 0.00 373/373 interactiveReceiveData [29]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 373/373 interactiveReceiveData [29]
|
|
||||||
[28] 0.0 0.00 0.00 373 interactiveFindAircraft [28]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 373/373 useModesMessage [27]
|
|
||||||
[29] 0.0 0.00 0.00 373 interactiveReceiveData [29]
|
|
||||||
0.00 0.00 373/373 interactiveFindAircraft [28]
|
|
||||||
0.00 0.00 72/72 mstime [46]
|
|
||||||
0.00 0.00 55/55 decodeCPR [48]
|
|
||||||
0.00 0.00 17/17 interactiveCreateAircraft [53]
|
|
||||||
0.00 0.00 17/17 decodeCPRrelative [52]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 110/330 cprNFunction [43]
|
|
||||||
0.00 0.00 220/330 decodeCPR [48]
|
|
||||||
[30] 0.0 0.00 0.00 330 cprNLFunction [30]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 324/324 main [3]
|
|
||||||
[31] 0.0 0.00 0.00 324 getInput [31]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 323/323 main [3]
|
|
||||||
[32] 0.0 0.00 0.00 323 interactiveRemoveStaleAircrafts [32]
|
|
||||||
0.00 0.00 6/6 interactiveRemoveStaleDF [54]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 323/323 main [3]
|
|
||||||
[33] 0.0 0.00 0.00 323 modesReadFromClient [33]
|
|
||||||
0.00 0.00 386/386 decodeBinMessage [24]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 206/206 decodeModesMessage [25]
|
|
||||||
[34] 0.0 0.00 0.00 206 addRecentlySeenICAOAddr [34]
|
|
||||||
0.00 0.00 206/387 ICAOCacheHashAddress [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 181/181 decodeModesMessage [25]
|
|
||||||
[35] 0.0 0.00 0.00 181 ICAOAddressWasRecentlySeen [35]
|
|
||||||
0.00 0.00 181/387 ICAOCacheHashAddress [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 172/172 resolveLabelConflicts [4]
|
|
||||||
[36] 0.0 0.00 0.00 172 sign [36]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 167/167 decodeModesMessage [25]
|
|
||||||
[37] 0.0 0.00 0.00 167 decodeAC13Field [37]
|
|
||||||
0.00 0.00 10/22 decodeID13Field [49]
|
|
||||||
0.00 0.00 10/19 ModeAToModeC [50]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 165/165 decodeCPR [48]
|
|
||||||
[38] 0.0 0.00 0.00 165 cprModFunction [38]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 150/150 drawMap [2]
|
|
||||||
[39] 0.0 0.00 0.00 150 drawGrid [39]
|
|
||||||
0.00 0.00 450/9666 screenDist [6]
|
|
||||||
0.00 0.00 450/1650 drawString [13]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 150/150 draw [1]
|
|
||||||
[40] 0.0 0.00 0.00 150 drawStatus [40]
|
|
||||||
0.00 0.00 600/600 drawStatusBox [19]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 150/150 draw [1]
|
|
||||||
[41] 0.0 0.00 0.00 150 updatePlanes [41]
|
|
||||||
0.00 0.00 2147/2147 findPlaneObj [11]
|
|
||||||
0.00 0.00 108/108 mstime [44]
|
|
||||||
0.00 0.00 17/17 createPlaneObj [51]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 150/150 draw [1]
|
|
||||||
[42] 0.0 0.00 0.00 150 updateStatus [42]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 55/110 cprDlonFunction [47]
|
|
||||||
0.00 0.00 55/110 decodeCPR [48]
|
|
||||||
[43] 0.0 0.00 0.00 110 cprNFunction [43]
|
|
||||||
0.00 0.00 110/330 cprNLFunction [30]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 108/108 updatePlanes [41]
|
|
||||||
[44] 0.0 0.00 0.00 108 mstime [44]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 72/72 decodeModesMessage [25]
|
|
||||||
[45] 0.0 0.00 0.00 72 decodeAC12Field [45]
|
|
||||||
0.00 0.00 9/22 decodeID13Field [49]
|
|
||||||
0.00 0.00 9/19 ModeAToModeC [50]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 72/72 interactiveReceiveData [29]
|
|
||||||
[46] 0.0 0.00 0.00 72 mstime [46]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 55/55 decodeCPR [48]
|
|
||||||
[47] 0.0 0.00 0.00 55 cprDlonFunction [47]
|
|
||||||
0.00 0.00 55/110 cprNFunction [43]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 55/55 interactiveReceiveData [29]
|
|
||||||
[48] 0.0 0.00 0.00 55 decodeCPR [48]
|
|
||||||
0.00 0.00 220/330 cprNLFunction [30]
|
|
||||||
0.00 0.00 165/165 cprModFunction [38]
|
|
||||||
0.00 0.00 55/110 cprNFunction [43]
|
|
||||||
0.00 0.00 55/55 cprDlonFunction [47]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 3/22 decodeModesMessage [25]
|
|
||||||
0.00 0.00 9/22 decodeAC12Field [45]
|
|
||||||
0.00 0.00 10/22 decodeAC13Field [37]
|
|
||||||
[49] 0.0 0.00 0.00 22 decodeID13Field [49]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 9/19 decodeAC12Field [45]
|
|
||||||
0.00 0.00 10/19 decodeAC13Field [37]
|
|
||||||
[50] 0.0 0.00 0.00 19 ModeAToModeC [50]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 17/17 updatePlanes [41]
|
|
||||||
[51] 0.0 0.00 0.00 17 createPlaneObj [51]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 17/17 interactiveReceiveData [29]
|
|
||||||
[52] 0.0 0.00 0.00 17 decodeCPRrelative [52]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 17/17 interactiveReceiveData [29]
|
|
||||||
[53] 0.0 0.00 0.00 17 interactiveCreateAircraft [53]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 6/6 interactiveRemoveStaleAircrafts [32]
|
|
||||||
[54] 0.0 0.00 0.00 6 interactiveRemoveStaleDF [54]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 5/5 cleanup [85]
|
|
||||||
[55] 0.0 0.00 0.00 5 closeFont [55]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 5/5 init [61]
|
|
||||||
[56] 0.0 0.00 0.00 5 loadFont [56]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 anetTcpGenericConnect [60]
|
|
||||||
[57] 0.0 0.00 0.00 1 anetCreateSocket [57]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 setupConnection [64]
|
|
||||||
[58] 0.0 0.00 0.00 1 anetNonBlock [58]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 setupConnection [64]
|
|
||||||
[59] 0.0 0.00 0.00 1 anetTcpConnect [59]
|
|
||||||
0.00 0.00 1/1 anetTcpGenericConnect [60]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 anetTcpConnect [59]
|
|
||||||
[60] 0.0 0.00 0.00 1 anetTcpGenericConnect [60]
|
|
||||||
0.00 0.00 1/1 anetCreateSocket [57]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[61] 0.0 0.00 0.00 1 init [61]
|
|
||||||
0.00 0.00 5/5 loadFont [56]
|
|
||||||
0.00 0.00 1/1 initMaps [62]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 init [61]
|
|
||||||
[62] 0.0 0.00 0.00 1 initMaps [62]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 view1090Init [65]
|
|
||||||
[63] 0.0 0.00 0.00 1 modesInitErrorInfo [63]
|
|
||||||
0.00 0.00 107/493 modesChecksum [21]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[64] 0.0 0.00 0.00 1 setupConnection [64]
|
|
||||||
0.00 0.00 1/1 anetTcpConnect [59]
|
|
||||||
0.00 0.00 1/1 anetNonBlock [58]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[65] 0.0 0.00 0.00 1 view1090Init [65]
|
|
||||||
0.00 0.00 1/1 modesInitErrorInfo [63]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[66] 0.0 0.00 0.00 1 view1090InitConfig [66]
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
This table describes the call tree of the program, and was sorted by
|
|
||||||
the total amount of time spent in each function and its children.
|
|
||||||
|
|
||||||
Each entry in this table consists of several lines. The line with the
|
|
||||||
index number at the left hand margin lists the current function.
|
|
||||||
The lines above it list the functions that called this function,
|
|
||||||
and the lines below it list the functions this one called.
|
|
||||||
This line lists:
|
|
||||||
index A unique number given to each element of the table.
|
|
||||||
Index numbers are sorted numerically.
|
|
||||||
The index number is printed next to every function name so
|
|
||||||
it is easier to look up where the function is in the table.
|
|
||||||
|
|
||||||
% time This is the percentage of the `total' time that was spent
|
|
||||||
in this function and its children. Note that due to
|
|
||||||
different viewpoints, functions excluded by options, etc,
|
|
||||||
these numbers will NOT add up to 100%.
|
|
||||||
|
|
||||||
self This is the total amount of time spent in this function.
|
|
||||||
|
|
||||||
children This is the total amount of time propagated into this
|
|
||||||
function by its children.
|
|
||||||
|
|
||||||
called This is the number of times the function was called.
|
|
||||||
If the function called itself recursively, the number
|
|
||||||
only includes non-recursive calls, and is followed by
|
|
||||||
a `+' and the number of recursive calls.
|
|
||||||
|
|
||||||
name The name of the current function. The index number is
|
|
||||||
printed after it. If the function is a member of a
|
|
||||||
cycle, the cycle number is printed between the
|
|
||||||
function's name and the index number.
|
|
||||||
|
|
||||||
|
|
||||||
For the function's parents, the fields have the following meanings:
|
|
||||||
|
|
||||||
self This is the amount of time that was propagated directly
|
|
||||||
from the function into this parent.
|
|
||||||
|
|
||||||
children This is the amount of time that was propagated from
|
|
||||||
the function's children into this parent.
|
|
||||||
|
|
||||||
called This is the number of times this parent called the
|
|
||||||
function `/' the total number of times the function
|
|
||||||
was called. Recursive calls to the function are not
|
|
||||||
included in the number after the `/'.
|
|
||||||
|
|
||||||
name This is the name of the parent. The parent's index
|
|
||||||
number is printed after it. If the parent is a
|
|
||||||
member of a cycle, the cycle number is printed between
|
|
||||||
the name and the index number.
|
|
||||||
|
|
||||||
If the parents of the function cannot be determined, the word
|
|
||||||
`<spontaneous>' is printed in the `name' field, and all the other
|
|
||||||
fields are blank.
|
|
||||||
|
|
||||||
For the function's children, the fields have the following meanings:
|
|
||||||
|
|
||||||
self This is the amount of time that was propagated directly
|
|
||||||
from the child into the function.
|
|
||||||
|
|
||||||
children This is the amount of time that was propagated from the
|
|
||||||
child's children to the function.
|
|
||||||
|
|
||||||
called This is the number of times the function called
|
|
||||||
this child `/' the total number of times the child
|
|
||||||
was called. Recursive calls by the child are not
|
|
||||||
listed in the number after the `/'.
|
|
||||||
|
|
||||||
name This is the name of the child. The child's index
|
|
||||||
number is printed after it. If the child is a
|
|
||||||
member of a cycle, the cycle number is printed
|
|
||||||
between the name and the index number.
|
|
||||||
|
|
||||||
If there are any cycles (circles) in the call graph, there is an
|
|
||||||
entry for the cycle-as-a-whole. This entry shows who called the
|
|
||||||
cycle (as parents) and the members of the cycle (as children.)
|
|
||||||
The `+' recursive calls entry shows the number of function calls that
|
|
||||||
were internal to the cycle, and the calls entry for each member shows,
|
|
||||||
for that member, how many times it was called from other members of
|
|
||||||
the cycle.
|
|
||||||
|
|
||||||
Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved.
|
|
||||||
|
|
||||||
Index by function name
|
|
||||||
|
|
||||||
[14] CROSSVP [1] draw [21] modesChecksum
|
|
||||||
[35] ICAOAddressWasRecentlySeen [39] drawGrid [63] modesInitErrorInfo
|
|
||||||
[23] ICAOCacheHashAddress [2] drawMap [26] modesMessageLenByType
|
|
||||||
[50] ModeAToModeC [20] drawPlaneHeading [33] modesReadFromClient
|
|
||||||
[34] addRecentlySeenICAOAddr [22] drawPlaneOffMap [46] mstime
|
|
||||||
[57] anetCreateSocket [15] drawPlaneText [44] mstime
|
|
||||||
[58] anetNonBlock [16] drawSignalMarks [7] mstime
|
|
||||||
[59] anetTcpConnect [40] drawStatus [10] outOfBounds
|
|
||||||
[60] anetTcpGenericConnect [19] drawStatusBox [8] pxFromLonLat
|
|
||||||
[55] closeFont [13] drawString [4] resolveLabelConflicts
|
|
||||||
[47] cprDlonFunction [12] drawStringBG [9] screenCoords
|
|
||||||
[38] cprModFunction [5] drawTrail [6] screenDist
|
|
||||||
[43] cprNFunction [11] findPlaneObj [17] setColor
|
|
||||||
[30] cprNLFunction [31] getInput [64] setupConnection
|
|
||||||
[51] createPlaneObj [61] init [36] sign
|
|
||||||
[45] decodeAC12Field [62] initMaps [18] signalToColor
|
|
||||||
[37] decodeAC13Field [53] interactiveCreateAircraft [41] updatePlanes
|
|
||||||
[24] decodeBinMessage [28] interactiveFindAircraft [42] updateStatus
|
|
||||||
[48] decodeCPR [29] interactiveReceiveData [27] useModesMessage
|
|
||||||
[52] decodeCPRrelative [32] interactiveRemoveStaleAircrafts [65] view1090Init
|
|
||||||
[49] decodeID13Field [54] interactiveRemoveStaleDF [66] view1090InitConfig
|
|
||||||
[25] decodeModesMessage [56] loadFont
|
|
|
@ -1,517 +0,0 @@
|
||||||
Flat profile:
|
|
||||||
|
|
||||||
Each sample counts as 0.01 seconds.
|
|
||||||
% cumulative self self total
|
|
||||||
time seconds seconds calls ms/call ms/call name
|
|
||||||
38.46 0.05 0.05 62 0.81 2.10 drawGeography
|
|
||||||
23.08 0.08 0.03 7006834 0.00 0.00 screenDist
|
|
||||||
23.08 0.11 0.03 3503324 0.00 0.00 screenCoords
|
|
||||||
15.39 0.13 0.02 3508939 0.00 0.00 pxFromLonLat
|
|
||||||
0.00 0.13 0.00 3502994 0.00 0.00 outOfBounds
|
|
||||||
0.00 0.13 0.00 1057 0.00 0.00 mstime
|
|
||||||
0.00 0.13 0.00 698 0.00 0.00 drawTrail
|
|
||||||
0.00 0.13 0.00 698 0.00 0.00 findPlaneObj
|
|
||||||
0.00 0.13 0.00 682 0.00 0.00 drawString
|
|
||||||
0.00 0.13 0.00 510 0.00 0.00 drawStringBG
|
|
||||||
0.00 0.13 0.00 478 0.00 0.00 modesChecksum
|
|
||||||
0.00 0.13 0.00 372 0.00 0.00 ICAOCacheHashAddress
|
|
||||||
0.00 0.13 0.00 371 0.00 0.00 decodeBinMessage
|
|
||||||
0.00 0.13 0.00 371 0.00 0.00 decodeModesMessage
|
|
||||||
0.00 0.13 0.00 371 0.00 0.00 modesMessageLenByType
|
|
||||||
0.00 0.13 0.00 371 0.00 0.00 useModesMessage
|
|
||||||
0.00 0.13 0.00 351 0.00 0.00 interactiveFindAircraft
|
|
||||||
0.00 0.13 0.00 351 0.00 0.00 interactiveReceiveData
|
|
||||||
0.00 0.13 0.00 251 0.00 0.00 CROSSVP
|
|
||||||
0.00 0.13 0.00 248 0.00 0.00 drawStatusBox
|
|
||||||
0.00 0.13 0.00 248 0.00 0.00 resolveLabelConflicts
|
|
||||||
0.00 0.13 0.00 234 0.00 0.00 cprNLFunction
|
|
||||||
0.00 0.13 0.00 199 0.00 0.00 ICAOAddressWasRecentlySeen
|
|
||||||
0.00 0.13 0.00 178 0.00 0.00 drawPlaneText
|
|
||||||
0.00 0.13 0.00 175 0.00 0.00 decodeAC13Field
|
|
||||||
0.00 0.13 0.00 173 0.00 0.00 addRecentlySeenICAOAddr
|
|
||||||
0.00 0.13 0.00 172 0.00 0.00 sign
|
|
||||||
0.00 0.13 0.00 170 0.00 0.00 drawSignalMarks
|
|
||||||
0.00 0.13 0.00 170 0.00 0.00 setColor
|
|
||||||
0.00 0.13 0.00 170 0.00 0.00 signalToColor
|
|
||||||
0.00 0.13 0.00 117 0.00 0.00 cprModFunction
|
|
||||||
0.00 0.13 0.00 89 0.00 0.00 drawPlaneHeading
|
|
||||||
0.00 0.13 0.00 89 0.00 0.00 drawPlaneOffMap
|
|
||||||
0.00 0.13 0.00 82 0.00 0.00 mstime
|
|
||||||
0.00 0.13 0.00 78 0.00 0.00 cprNFunction
|
|
||||||
0.00 0.13 0.00 63 0.00 0.00 getInput
|
|
||||||
0.00 0.13 0.00 62 0.00 2.10 draw
|
|
||||||
0.00 0.13 0.00 62 0.00 0.00 drawGrid
|
|
||||||
0.00 0.13 0.00 62 0.00 2.10 drawMap
|
|
||||||
0.00 0.13 0.00 62 0.00 0.00 drawStatus
|
|
||||||
0.00 0.13 0.00 62 0.00 0.00 interactiveRemoveStaleAircrafts
|
|
||||||
0.00 0.13 0.00 62 0.00 0.00 modesReadFromClient
|
|
||||||
0.00 0.13 0.00 62 0.00 0.00 updatePlanes
|
|
||||||
0.00 0.13 0.00 62 0.00 0.00 updateStatus
|
|
||||||
0.00 0.13 0.00 57 0.00 0.00 decodeAC12Field
|
|
||||||
0.00 0.13 0.00 57 0.00 0.00 mstime
|
|
||||||
0.00 0.13 0.00 39 0.00 0.00 cprDlonFunction
|
|
||||||
0.00 0.13 0.00 39 0.00 0.00 decodeCPR
|
|
||||||
0.00 0.13 0.00 18 0.00 0.00 decodeCPRrelative
|
|
||||||
0.00 0.13 0.00 13 0.00 0.00 createPlaneObj
|
|
||||||
0.00 0.13 0.00 13 0.00 0.00 interactiveCreateAircraft
|
|
||||||
0.00 0.13 0.00 7 0.00 0.00 decodeID13Field
|
|
||||||
0.00 0.13 0.00 6 0.00 0.00 interactiveRemoveStaleDF
|
|
||||||
0.00 0.13 0.00 5 0.00 0.00 closeFont
|
|
||||||
0.00 0.13 0.00 5 0.00 0.00 loadFont
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 anetCreateSocket
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 anetNonBlock
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 anetTcpConnect
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 anetTcpGenericConnect
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 init
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 initMaps
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 modesInitErrorInfo
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 setupConnection
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 view1090Init
|
|
||||||
0.00 0.13 0.00 1 0.00 0.00 view1090InitConfig
|
|
||||||
|
|
||||||
% the percentage of the total running time of the
|
|
||||||
time program used by this function.
|
|
||||||
|
|
||||||
cumulative a running sum of the number of seconds accounted
|
|
||||||
seconds for by this function and those listed above it.
|
|
||||||
|
|
||||||
self the number of seconds accounted for by this
|
|
||||||
seconds function alone. This is the major sort for this
|
|
||||||
listing.
|
|
||||||
|
|
||||||
calls the number of times this function was invoked, if
|
|
||||||
this function is profiled, else blank.
|
|
||||||
|
|
||||||
self the average number of milliseconds spent in this
|
|
||||||
ms/call function per call, if this function is profiled,
|
|
||||||
else blank.
|
|
||||||
|
|
||||||
total the average number of milliseconds spent in this
|
|
||||||
ms/call function and its descendents per call, if this
|
|
||||||
function is profiled, else blank.
|
|
||||||
|
|
||||||
name the name of the function. This is the minor sort
|
|
||||||
for this listing. The index shows the location of
|
|
||||||
the function in the gprof listing. If the index is
|
|
||||||
in parenthesis it shows where it would appear in
|
|
||||||
the gprof listing if it were to be printed.
|
|
||||||
|
|
||||||
Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved.
|
|
||||||
|
|
||||||
Call graph (explanation follows)
|
|
||||||
|
|
||||||
|
|
||||||
granularity: each sample hit covers 2 byte(s) for 7.69% of 0.13 seconds
|
|
||||||
|
|
||||||
index % time self children called name
|
|
||||||
0.00 0.13 62/62 main [3]
|
|
||||||
[1] 100.0 0.00 0.13 62 draw [1]
|
|
||||||
0.00 0.13 62/62 drawMap [2]
|
|
||||||
0.00 0.00 124/1057 mstime [11]
|
|
||||||
0.00 0.00 62/62 updatePlanes [44]
|
|
||||||
0.00 0.00 62/62 updateStatus [45]
|
|
||||||
0.00 0.00 62/62 drawStatus [41]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.13 62/62 draw [1]
|
|
||||||
[2] 100.0 0.00 0.13 62 drawMap [2]
|
|
||||||
0.05 0.08 62/62 drawGeography [4]
|
|
||||||
0.00 0.00 698/698 drawTrail [8]
|
|
||||||
0.00 0.00 406/3503324 screenCoords [5]
|
|
||||||
0.00 0.00 406/3508939 pxFromLonLat [7]
|
|
||||||
0.00 0.00 62/62 drawGrid [9]
|
|
||||||
0.00 0.00 593/1057 mstime [11]
|
|
||||||
0.00 0.00 248/248 resolveLabelConflicts [25]
|
|
||||||
0.00 0.00 178/3502994 outOfBounds [10]
|
|
||||||
0.00 0.00 178/178 drawPlaneText [28]
|
|
||||||
0.00 0.00 89/89 drawPlaneOffMap [37]
|
|
||||||
0.00 0.00 89/89 drawPlaneHeading [36]
|
|
||||||
-----------------------------------------------
|
|
||||||
<spontaneous>
|
|
||||||
[3] 100.0 0.00 0.13 main [3]
|
|
||||||
0.00 0.13 62/62 draw [1]
|
|
||||||
0.00 0.00 63/63 getInput [40]
|
|
||||||
0.00 0.00 62/62 interactiveRemoveStaleAircrafts [42]
|
|
||||||
0.00 0.00 62/62 modesReadFromClient [43]
|
|
||||||
0.00 0.00 1/1 view1090InitConfig [66]
|
|
||||||
0.00 0.00 1/1 view1090Init [65]
|
|
||||||
0.00 0.00 1/1 setupConnection [64]
|
|
||||||
0.00 0.00 1/1 init [61]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.05 0.08 62/62 drawMap [2]
|
|
||||||
[4] 100.0 0.05 0.08 62 drawGeography [4]
|
|
||||||
0.03 0.03 3502560/3503324 screenCoords [5]
|
|
||||||
0.02 0.00 3508175/3508939 pxFromLonLat [7]
|
|
||||||
0.00 0.00 3502560/3502994 outOfBounds [10]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 358/3503324 drawTrail [8]
|
|
||||||
0.00 0.00 406/3503324 drawMap [2]
|
|
||||||
0.03 0.03 3502560/3503324 drawGeography [4]
|
|
||||||
[5] 46.2 0.03 0.03 3503324 screenCoords [5]
|
|
||||||
0.03 0.00 7006648/7006834 screenDist [6]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 186/7006834 drawGrid [9]
|
|
||||||
0.03 0.00 7006648/7006834 screenCoords [5]
|
|
||||||
[6] 23.1 0.03 0.00 7006834 screenDist [6]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 358/3508939 drawTrail [8]
|
|
||||||
0.00 0.00 406/3508939 drawMap [2]
|
|
||||||
0.02 0.00 3508175/3508939 drawGeography [4]
|
|
||||||
[7] 15.4 0.02 0.00 3508939 pxFromLonLat [7]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 698/698 drawMap [2]
|
|
||||||
[8] 0.0 0.00 0.00 698 drawTrail [8]
|
|
||||||
0.00 0.00 358/3503324 screenCoords [5]
|
|
||||||
0.00 0.00 358/3508939 pxFromLonLat [7]
|
|
||||||
0.00 0.00 256/3502994 outOfBounds [10]
|
|
||||||
0.00 0.00 73/251 CROSSVP [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 62/62 drawMap [2]
|
|
||||||
[9] 0.0 0.00 0.00 62 drawGrid [9]
|
|
||||||
0.00 0.00 186/7006834 screenDist [6]
|
|
||||||
0.00 0.00 186/682 drawString [13]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 178/3502994 drawMap [2]
|
|
||||||
0.00 0.00 256/3502994 drawTrail [8]
|
|
||||||
0.00 0.00 3502560/3502994 drawGeography [4]
|
|
||||||
[10] 0.0 0.00 0.00 3502994 outOfBounds [10]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 124/1057 draw [1]
|
|
||||||
0.00 0.00 340/1057 drawSignalMarks [32]
|
|
||||||
0.00 0.00 593/1057 drawMap [2]
|
|
||||||
[11] 0.0 0.00 0.00 1057 mstime [11]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 698/698 updatePlanes [44]
|
|
||||||
[12] 0.0 0.00 0.00 698 findPlaneObj [12]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 186/682 drawGrid [9]
|
|
||||||
0.00 0.00 496/682 drawStatusBox [24]
|
|
||||||
[13] 0.0 0.00 0.00 682 drawString [13]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 510/510 drawPlaneText [28]
|
|
||||||
[14] 0.0 0.00 0.00 510 drawStringBG [14]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 107/478 modesInitErrorInfo [63]
|
|
||||||
0.00 0.00 371/478 decodeModesMessage [18]
|
|
||||||
[15] 0.0 0.00 0.00 478 modesChecksum [15]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 173/372 addRecentlySeenICAOAddr [30]
|
|
||||||
0.00 0.00 199/372 ICAOAddressWasRecentlySeen [27]
|
|
||||||
[16] 0.0 0.00 0.00 372 ICAOCacheHashAddress [16]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 371/371 modesReadFromClient [43]
|
|
||||||
[17] 0.0 0.00 0.00 371 decodeBinMessage [17]
|
|
||||||
0.00 0.00 371/371 decodeModesMessage [18]
|
|
||||||
0.00 0.00 371/371 useModesMessage [20]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 371/371 decodeBinMessage [17]
|
|
||||||
[18] 0.0 0.00 0.00 371 decodeModesMessage [18]
|
|
||||||
0.00 0.00 371/371 modesMessageLenByType [19]
|
|
||||||
0.00 0.00 371/478 modesChecksum [15]
|
|
||||||
0.00 0.00 199/199 ICAOAddressWasRecentlySeen [27]
|
|
||||||
0.00 0.00 175/175 decodeAC13Field [29]
|
|
||||||
0.00 0.00 173/173 addRecentlySeenICAOAddr [30]
|
|
||||||
0.00 0.00 57/57 decodeAC12Field [46]
|
|
||||||
0.00 0.00 7/7 decodeID13Field [53]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 371/371 decodeModesMessage [18]
|
|
||||||
[19] 0.0 0.00 0.00 371 modesMessageLenByType [19]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 371/371 decodeBinMessage [17]
|
|
||||||
[20] 0.0 0.00 0.00 371 useModesMessage [20]
|
|
||||||
0.00 0.00 351/351 interactiveReceiveData [22]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 351/351 interactiveReceiveData [22]
|
|
||||||
[21] 0.0 0.00 0.00 351 interactiveFindAircraft [21]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 351/351 useModesMessage [20]
|
|
||||||
[22] 0.0 0.00 0.00 351 interactiveReceiveData [22]
|
|
||||||
0.00 0.00 351/351 interactiveFindAircraft [21]
|
|
||||||
0.00 0.00 57/57 mstime [47]
|
|
||||||
0.00 0.00 39/39 decodeCPR [49]
|
|
||||||
0.00 0.00 18/18 decodeCPRrelative [50]
|
|
||||||
0.00 0.00 13/13 interactiveCreateAircraft [52]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 73/251 drawTrail [8]
|
|
||||||
0.00 0.00 89/251 drawPlaneOffMap [37]
|
|
||||||
0.00 0.00 89/251 drawPlaneHeading [36]
|
|
||||||
[23] 0.0 0.00 0.00 251 CROSSVP [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 248/248 drawStatus [41]
|
|
||||||
[24] 0.0 0.00 0.00 248 drawStatusBox [24]
|
|
||||||
0.00 0.00 496/682 drawString [13]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 248/248 drawMap [2]
|
|
||||||
[25] 0.0 0.00 0.00 248 resolveLabelConflicts [25]
|
|
||||||
0.00 0.00 172/172 sign [31]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 78/234 cprNFunction [39]
|
|
||||||
0.00 0.00 156/234 decodeCPR [49]
|
|
||||||
[26] 0.0 0.00 0.00 234 cprNLFunction [26]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 199/199 decodeModesMessage [18]
|
|
||||||
[27] 0.0 0.00 0.00 199 ICAOAddressWasRecentlySeen [27]
|
|
||||||
0.00 0.00 199/372 ICAOCacheHashAddress [16]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 178/178 drawMap [2]
|
|
||||||
[28] 0.0 0.00 0.00 178 drawPlaneText [28]
|
|
||||||
0.00 0.00 510/510 drawStringBG [14]
|
|
||||||
0.00 0.00 170/170 drawSignalMarks [32]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 175/175 decodeModesMessage [18]
|
|
||||||
[29] 0.0 0.00 0.00 175 decodeAC13Field [29]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 173/173 decodeModesMessage [18]
|
|
||||||
[30] 0.0 0.00 0.00 173 addRecentlySeenICAOAddr [30]
|
|
||||||
0.00 0.00 173/372 ICAOCacheHashAddress [16]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 172/172 resolveLabelConflicts [25]
|
|
||||||
[31] 0.0 0.00 0.00 172 sign [31]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 170/170 drawPlaneText [28]
|
|
||||||
[32] 0.0 0.00 0.00 170 drawSignalMarks [32]
|
|
||||||
0.00 0.00 340/1057 mstime [11]
|
|
||||||
0.00 0.00 170/170 signalToColor [34]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 170/170 signalToColor [34]
|
|
||||||
[33] 0.0 0.00 0.00 170 setColor [33]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 170/170 drawSignalMarks [32]
|
|
||||||
[34] 0.0 0.00 0.00 170 signalToColor [34]
|
|
||||||
0.00 0.00 170/170 setColor [33]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 117/117 decodeCPR [49]
|
|
||||||
[35] 0.0 0.00 0.00 117 cprModFunction [35]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 89/89 drawMap [2]
|
|
||||||
[36] 0.0 0.00 0.00 89 drawPlaneHeading [36]
|
|
||||||
0.00 0.00 89/251 CROSSVP [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 89/89 drawMap [2]
|
|
||||||
[37] 0.0 0.00 0.00 89 drawPlaneOffMap [37]
|
|
||||||
0.00 0.00 89/251 CROSSVP [23]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 82/82 updatePlanes [44]
|
|
||||||
[38] 0.0 0.00 0.00 82 mstime [38]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 39/78 cprDlonFunction [48]
|
|
||||||
0.00 0.00 39/78 decodeCPR [49]
|
|
||||||
[39] 0.0 0.00 0.00 78 cprNFunction [39]
|
|
||||||
0.00 0.00 78/234 cprNLFunction [26]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 63/63 main [3]
|
|
||||||
[40] 0.0 0.00 0.00 63 getInput [40]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 62/62 draw [1]
|
|
||||||
[41] 0.0 0.00 0.00 62 drawStatus [41]
|
|
||||||
0.00 0.00 248/248 drawStatusBox [24]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 62/62 main [3]
|
|
||||||
[42] 0.0 0.00 0.00 62 interactiveRemoveStaleAircrafts [42]
|
|
||||||
0.00 0.00 6/6 interactiveRemoveStaleDF [54]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 62/62 main [3]
|
|
||||||
[43] 0.0 0.00 0.00 62 modesReadFromClient [43]
|
|
||||||
0.00 0.00 371/371 decodeBinMessage [17]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 62/62 draw [1]
|
|
||||||
[44] 0.0 0.00 0.00 62 updatePlanes [44]
|
|
||||||
0.00 0.00 698/698 findPlaneObj [12]
|
|
||||||
0.00 0.00 82/82 mstime [38]
|
|
||||||
0.00 0.00 13/13 createPlaneObj [51]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 62/62 draw [1]
|
|
||||||
[45] 0.0 0.00 0.00 62 updateStatus [45]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 57/57 decodeModesMessage [18]
|
|
||||||
[46] 0.0 0.00 0.00 57 decodeAC12Field [46]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 57/57 interactiveReceiveData [22]
|
|
||||||
[47] 0.0 0.00 0.00 57 mstime [47]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 39/39 decodeCPR [49]
|
|
||||||
[48] 0.0 0.00 0.00 39 cprDlonFunction [48]
|
|
||||||
0.00 0.00 39/78 cprNFunction [39]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 39/39 interactiveReceiveData [22]
|
|
||||||
[49] 0.0 0.00 0.00 39 decodeCPR [49]
|
|
||||||
0.00 0.00 156/234 cprNLFunction [26]
|
|
||||||
0.00 0.00 117/117 cprModFunction [35]
|
|
||||||
0.00 0.00 39/78 cprNFunction [39]
|
|
||||||
0.00 0.00 39/39 cprDlonFunction [48]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 18/18 interactiveReceiveData [22]
|
|
||||||
[50] 0.0 0.00 0.00 18 decodeCPRrelative [50]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 13/13 updatePlanes [44]
|
|
||||||
[51] 0.0 0.00 0.00 13 createPlaneObj [51]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 13/13 interactiveReceiveData [22]
|
|
||||||
[52] 0.0 0.00 0.00 13 interactiveCreateAircraft [52]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 7/7 decodeModesMessage [18]
|
|
||||||
[53] 0.0 0.00 0.00 7 decodeID13Field [53]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 6/6 interactiveRemoveStaleAircrafts [42]
|
|
||||||
[54] 0.0 0.00 0.00 6 interactiveRemoveStaleDF [54]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 5/5 cleanup [86]
|
|
||||||
[55] 0.0 0.00 0.00 5 closeFont [55]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 5/5 init [61]
|
|
||||||
[56] 0.0 0.00 0.00 5 loadFont [56]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 anetTcpGenericConnect [60]
|
|
||||||
[57] 0.0 0.00 0.00 1 anetCreateSocket [57]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 setupConnection [64]
|
|
||||||
[58] 0.0 0.00 0.00 1 anetNonBlock [58]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 setupConnection [64]
|
|
||||||
[59] 0.0 0.00 0.00 1 anetTcpConnect [59]
|
|
||||||
0.00 0.00 1/1 anetTcpGenericConnect [60]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 anetTcpConnect [59]
|
|
||||||
[60] 0.0 0.00 0.00 1 anetTcpGenericConnect [60]
|
|
||||||
0.00 0.00 1/1 anetCreateSocket [57]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[61] 0.0 0.00 0.00 1 init [61]
|
|
||||||
0.00 0.00 5/5 loadFont [56]
|
|
||||||
0.00 0.00 1/1 initMaps [62]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 init [61]
|
|
||||||
[62] 0.0 0.00 0.00 1 initMaps [62]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 view1090Init [65]
|
|
||||||
[63] 0.0 0.00 0.00 1 modesInitErrorInfo [63]
|
|
||||||
0.00 0.00 107/478 modesChecksum [15]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[64] 0.0 0.00 0.00 1 setupConnection [64]
|
|
||||||
0.00 0.00 1/1 anetTcpConnect [59]
|
|
||||||
0.00 0.00 1/1 anetNonBlock [58]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[65] 0.0 0.00 0.00 1 view1090Init [65]
|
|
||||||
0.00 0.00 1/1 modesInitErrorInfo [63]
|
|
||||||
-----------------------------------------------
|
|
||||||
0.00 0.00 1/1 main [3]
|
|
||||||
[66] 0.0 0.00 0.00 1 view1090InitConfig [66]
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
This table describes the call tree of the program, and was sorted by
|
|
||||||
the total amount of time spent in each function and its children.
|
|
||||||
|
|
||||||
Each entry in this table consists of several lines. The line with the
|
|
||||||
index number at the left hand margin lists the current function.
|
|
||||||
The lines above it list the functions that called this function,
|
|
||||||
and the lines below it list the functions this one called.
|
|
||||||
This line lists:
|
|
||||||
index A unique number given to each element of the table.
|
|
||||||
Index numbers are sorted numerically.
|
|
||||||
The index number is printed next to every function name so
|
|
||||||
it is easier to look up where the function is in the table.
|
|
||||||
|
|
||||||
% time This is the percentage of the `total' time that was spent
|
|
||||||
in this function and its children. Note that due to
|
|
||||||
different viewpoints, functions excluded by options, etc,
|
|
||||||
these numbers will NOT add up to 100%.
|
|
||||||
|
|
||||||
self This is the total amount of time spent in this function.
|
|
||||||
|
|
||||||
children This is the total amount of time propagated into this
|
|
||||||
function by its children.
|
|
||||||
|
|
||||||
called This is the number of times the function was called.
|
|
||||||
If the function called itself recursively, the number
|
|
||||||
only includes non-recursive calls, and is followed by
|
|
||||||
a `+' and the number of recursive calls.
|
|
||||||
|
|
||||||
name The name of the current function. The index number is
|
|
||||||
printed after it. If the function is a member of a
|
|
||||||
cycle, the cycle number is printed between the
|
|
||||||
function's name and the index number.
|
|
||||||
|
|
||||||
|
|
||||||
For the function's parents, the fields have the following meanings:
|
|
||||||
|
|
||||||
self This is the amount of time that was propagated directly
|
|
||||||
from the function into this parent.
|
|
||||||
|
|
||||||
children This is the amount of time that was propagated from
|
|
||||||
the function's children into this parent.
|
|
||||||
|
|
||||||
called This is the number of times this parent called the
|
|
||||||
function `/' the total number of times the function
|
|
||||||
was called. Recursive calls to the function are not
|
|
||||||
included in the number after the `/'.
|
|
||||||
|
|
||||||
name This is the name of the parent. The parent's index
|
|
||||||
number is printed after it. If the parent is a
|
|
||||||
member of a cycle, the cycle number is printed between
|
|
||||||
the name and the index number.
|
|
||||||
|
|
||||||
If the parents of the function cannot be determined, the word
|
|
||||||
`<spontaneous>' is printed in the `name' field, and all the other
|
|
||||||
fields are blank.
|
|
||||||
|
|
||||||
For the function's children, the fields have the following meanings:
|
|
||||||
|
|
||||||
self This is the amount of time that was propagated directly
|
|
||||||
from the child into the function.
|
|
||||||
|
|
||||||
children This is the amount of time that was propagated from the
|
|
||||||
child's children to the function.
|
|
||||||
|
|
||||||
called This is the number of times the function called
|
|
||||||
this child `/' the total number of times the child
|
|
||||||
was called. Recursive calls by the child are not
|
|
||||||
listed in the number after the `/'.
|
|
||||||
|
|
||||||
name This is the name of the child. The child's index
|
|
||||||
number is printed after it. If the child is a
|
|
||||||
member of a cycle, the cycle number is printed
|
|
||||||
between the name and the index number.
|
|
||||||
|
|
||||||
If there are any cycles (circles) in the call graph, there is an
|
|
||||||
entry for the cycle-as-a-whole. This entry shows who called the
|
|
||||||
cycle (as parents) and the members of the cycle (as children.)
|
|
||||||
The `+' recursive calls entry shows the number of function calls that
|
|
||||||
were internal to the cycle, and the calls entry for each member shows,
|
|
||||||
for that member, how many times it was called from other members of
|
|
||||||
the cycle.
|
|
||||||
|
|
||||||
Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved.
|
|
||||||
|
|
||||||
Index by function name
|
|
||||||
|
|
||||||
[23] CROSSVP [4] drawGeography [15] modesChecksum
|
|
||||||
[27] ICAOAddressWasRecentlySeen [9] drawGrid [63] modesInitErrorInfo
|
|
||||||
[16] ICAOCacheHashAddress [2] drawMap [19] modesMessageLenByType
|
|
||||||
[30] addRecentlySeenICAOAddr [36] drawPlaneHeading [43] modesReadFromClient
|
|
||||||
[57] anetCreateSocket [37] drawPlaneOffMap [47] mstime
|
|
||||||
[58] anetNonBlock [28] drawPlaneText [38] mstime
|
|
||||||
[59] anetTcpConnect [32] drawSignalMarks [11] mstime
|
|
||||||
[60] anetTcpGenericConnect [41] drawStatus [10] outOfBounds
|
|
||||||
[55] closeFont [24] drawStatusBox [7] pxFromLonLat
|
|
||||||
[48] cprDlonFunction [13] drawString [25] resolveLabelConflicts
|
|
||||||
[35] cprModFunction [14] drawStringBG [5] screenCoords
|
|
||||||
[39] cprNFunction [8] drawTrail [6] screenDist
|
|
||||||
[26] cprNLFunction [12] findPlaneObj [33] setColor
|
|
||||||
[51] createPlaneObj [40] getInput [64] setupConnection
|
|
||||||
[46] decodeAC12Field [61] init [31] sign
|
|
||||||
[29] decodeAC13Field [62] initMaps [34] signalToColor
|
|
||||||
[17] decodeBinMessage [52] interactiveCreateAircraft [44] updatePlanes
|
|
||||||
[49] decodeCPR [21] interactiveFindAircraft [45] updateStatus
|
|
||||||
[50] decodeCPRrelative [22] interactiveReceiveData [20] useModesMessage
|
|
||||||
[53] decodeID13Field [42] interactiveRemoveStaleAircrafts [65] view1090Init
|
|
||||||
[18] decodeModesMessage [54] interactiveRemoveStaleDF [66] view1090InitConfig
|
|
||||||
[1] draw [56] loadFont
|
|
|
@ -1 +0,0 @@
|
||||||
e0401e269cca0eea688090bd3b3254ca87db9834
|
|
|
@ -1 +0,0 @@
|
||||||
bf0a21d45c74ca1ec5086a28d3c765f51ca09193
|
|
|
@ -1 +0,0 @@
|
||||||
62f7f97e41c0ad19d03f7bfd16da920c9b6b096b
|
|
19
testing.svg
19
testing.svg
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 6.7 KiB |
193
tools/debug.html
193
tools/debug.html
|
@ -1,193 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<head>
|
|
||||||
<script>
|
|
||||||
var frames = [];
|
|
||||||
var currentFrame = 0;
|
|
||||||
|
|
||||||
var modes_checksum_table = [
|
|
||||||
0x3935ea, 0x1c9af5, 0xf1b77e, 0x78dbbf, 0xc397db, 0x9e31e9, 0xb0e2f0, 0x587178,
|
|
||||||
0x2c38bc, 0x161c5e, 0x0b0e2f, 0xfa7d13, 0x82c48d, 0xbe9842, 0x5f4c21, 0xd05c14,
|
|
||||||
0x682e0a, 0x341705, 0xe5f186, 0x72f8c3, 0xc68665, 0x9cb936, 0x4e5c9b, 0xd8d449,
|
|
||||||
0x939020, 0x49c810, 0x24e408, 0x127204, 0x093902, 0x049c81, 0xfdb444, 0x7eda22,
|
|
||||||
0x3f6d11, 0xe04c8c, 0x702646, 0x381323, 0xe3f395, 0x8e03ce, 0x4701e7, 0xdc7af7,
|
|
||||||
0x91c77f, 0xb719bb, 0xa476d9, 0xadc168, 0x56e0b4, 0x2b705a, 0x15b82d, 0xf52612,
|
|
||||||
0x7a9309, 0xc2b380, 0x6159c0, 0x30ace0, 0x185670, 0x0c2b38, 0x06159c, 0x030ace,
|
|
||||||
0x018567, 0xff38b7, 0x80665f, 0xbfc92b, 0xa01e91, 0xaff54c, 0x57faa6, 0x2bfd53,
|
|
||||||
0xea04ad, 0x8af852, 0x457c29, 0xdd4410, 0x6ea208, 0x375104, 0x1ba882, 0x0dd441,
|
|
||||||
0xf91024, 0x7c8812, 0x3e4409, 0xe0d800, 0x706c00, 0x383600, 0x1c1b00, 0x0e0d80,
|
|
||||||
0x0706c0, 0x038360, 0x01c1b0, 0x00e0d8, 0x00706c, 0x003836, 0x001c1b, 0xfff409,
|
|
||||||
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
|
|
||||||
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
|
|
||||||
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000
|
|
||||||
];
|
|
||||||
|
|
||||||
function modesChecksum(frame) {
|
|
||||||
var crc = 0;
|
|
||||||
var bits = frame.bits;
|
|
||||||
var offset = (bits == 112) ? 0 : (112-56);
|
|
||||||
|
|
||||||
for(var j = 0; j < bits; j++) {
|
|
||||||
var byte = j/8;
|
|
||||||
var bit = j%8;
|
|
||||||
var bitmask = 1 << (7-bit);
|
|
||||||
|
|
||||||
/* If bit is set, xor with corresponding table entry. */
|
|
||||||
if (frame.hex.charCodeAt(byte) & bitmask)
|
|
||||||
crc ^= modes_checksum_table[j+offset];
|
|
||||||
}
|
|
||||||
return crc; /* 24 bit checksum. */
|
|
||||||
}
|
|
||||||
|
|
||||||
function getFrameChecksum(frame) {
|
|
||||||
var res = "";
|
|
||||||
for (j = 0; j < frame.hex.length; j++) {
|
|
||||||
var val = frame.hex.charCodeAt(j);
|
|
||||||
var h = val.toString(16);
|
|
||||||
if (h.length == 1) h = "0"+h;
|
|
||||||
res += h;
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
function displayFrame(i) {
|
|
||||||
var div = document.getElementById("frame");
|
|
||||||
var msgbits = 8+112;
|
|
||||||
var frame = frames[i];
|
|
||||||
var padding = frame.mag.length - msgbits*2;
|
|
||||||
|
|
||||||
/* Remove the old representation. */
|
|
||||||
var nodes = div.childNodes.length;
|
|
||||||
for(var j = 0; j < nodes; j++) {
|
|
||||||
div.removeChild(div.firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Display the new one. */
|
|
||||||
for (var j = -padding; j < msgbits*2+padding; j++) {
|
|
||||||
var m = frame.mag[j+padding];
|
|
||||||
var type;
|
|
||||||
|
|
||||||
if (j < 0) type = "noise";
|
|
||||||
if (j >= 0 && j < 16) type = "pre";
|
|
||||||
if (j >= 16) {
|
|
||||||
if (!(j % 2)) {
|
|
||||||
var next = frame.mag[j+padding+1];
|
|
||||||
if (m > next)
|
|
||||||
type = "one";
|
|
||||||
else
|
|
||||||
type = "zero";
|
|
||||||
}
|
|
||||||
var bit = (j-16)/2;
|
|
||||||
if (bit == frame.fix1 ||
|
|
||||||
bit == frame.fix2)
|
|
||||||
type = "err";
|
|
||||||
}
|
|
||||||
var sample = document.createElement("div");
|
|
||||||
sample.setAttribute("class","sample "+type);
|
|
||||||
sample.setAttribute("title","sample "+j+" ("+m+")");
|
|
||||||
sample.style.left = ""+((j+padding)*4)+"px";
|
|
||||||
sample.style.height = ""+(m/256)+"px";
|
|
||||||
div.appendChild(sample);
|
|
||||||
}
|
|
||||||
document.getElementById("info").innerHTML =
|
|
||||||
"#"+currentFrame+" "+frame.descr+"<br>"+
|
|
||||||
"Bits:"+frame.bits+"<br>"+
|
|
||||||
"DF : "+(frame.hex.charCodeAt(0) >> 3)+"<br>"+
|
|
||||||
"fix1: "+frame.fix1+"<br>"+
|
|
||||||
"fix2: "+frame.fix2+"<br>"+
|
|
||||||
"hex : "+getFrameChecksum(frame)+"<br>"+
|
|
||||||
"crc (computed): "+modesChecksum(frame).toString(16)+"<br>";
|
|
||||||
}
|
|
||||||
|
|
||||||
function recomputeHex(frame) {
|
|
||||||
var padding = frame.mag.length - (112+8)*2;
|
|
||||||
var b = [];
|
|
||||||
var hex = "";
|
|
||||||
|
|
||||||
/* Get bits */
|
|
||||||
for (var j = 0; j < frame.bits*2; j += 2) {
|
|
||||||
var bit;
|
|
||||||
var l = frame.mag[padding+j+16];
|
|
||||||
var r = frame.mag[padding+j+1+16];
|
|
||||||
if (l > r)
|
|
||||||
bit = 1;
|
|
||||||
else
|
|
||||||
bit = 0;
|
|
||||||
b.push(bit);
|
|
||||||
}
|
|
||||||
/* Pack into bytes */
|
|
||||||
for (j = 0; j < frame.bits; j+= 8) {
|
|
||||||
hex += String.fromCharCode(
|
|
||||||
b[j]<<7 |
|
|
||||||
b[j+1]<<6 |
|
|
||||||
b[j+2]<<5 |
|
|
||||||
b[j+3]<<4 |
|
|
||||||
b[j+4]<<3 |
|
|
||||||
b[j+5]<<2 |
|
|
||||||
b[j+6]<<1 |
|
|
||||||
b[j+7]);
|
|
||||||
}
|
|
||||||
frame.hex = hex;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.onload = function() {
|
|
||||||
document.getElementById("next").onclick = function() {
|
|
||||||
if (currentFrame != frames.length-1) currentFrame++;
|
|
||||||
displayFrame(currentFrame);
|
|
||||||
}
|
|
||||||
document.getElementById("prev").onclick = function() {
|
|
||||||
if (currentFrame != 0) currentFrame--;
|
|
||||||
displayFrame(currentFrame);
|
|
||||||
}
|
|
||||||
document.getElementById("re").onclick = function() {
|
|
||||||
recomputeHex(frames[currentFrame]);
|
|
||||||
displayFrame(currentFrame);
|
|
||||||
}
|
|
||||||
displayFrame(currentFrame);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script src="frames.js"></script>
|
|
||||||
<style>
|
|
||||||
#frame {
|
|
||||||
width: 1024px;
|
|
||||||
height: 255px;
|
|
||||||
border: 1px #aaa solid;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.sample {
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0px;
|
|
||||||
}
|
|
||||||
.pre {
|
|
||||||
width:4px;
|
|
||||||
background-color: orange;
|
|
||||||
}
|
|
||||||
.one {
|
|
||||||
width:4px;
|
|
||||||
background-color: #0000cc;
|
|
||||||
}
|
|
||||||
.zero {
|
|
||||||
width:4px;
|
|
||||||
background-color: #aaaaaa;
|
|
||||||
}
|
|
||||||
.err {
|
|
||||||
width:4px;
|
|
||||||
background-color: #cc6666;
|
|
||||||
}
|
|
||||||
.noise {
|
|
||||||
width:2px;
|
|
||||||
background-color: #ffffff;
|
|
||||||
border: 1px #aaa dotted;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<div id="frame">
|
|
||||||
</div>
|
|
||||||
<pre id="info">
|
|
||||||
</pre>
|
|
||||||
<input type="button" id="prev" value="Prev frame">
|
|
||||||
<input type="button" id="next" value="Next frame">
|
|
||||||
<input type="button" id="re" value="Recompute Hex">
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1 +1 @@
|
||||||
57081b3b8e95e553e4b5ef8d741befabb4cbbcdd
|
9ff39d15cbd3fab99fcdbff1a18051b256c66b1a
|
|
@ -163,8 +163,8 @@ int setupConnection(struct client *c) {
|
||||||
Modes.clients = c;
|
Modes.clients = c;
|
||||||
|
|
||||||
// replace with gps
|
// replace with gps
|
||||||
Modes.fUserLat = ***REMOVED***;
|
Modes.fUserLat = 47.6611754;
|
||||||
Modes.fUserLon = ***REMOVED***;
|
Modes.fUserLon = -122.3562983;
|
||||||
appData.centerLon = Modes.fUserLon;
|
appData.centerLon = Modes.fUserLon;
|
||||||
appData.centerLat = Modes.fUserLat;
|
appData.centerLat = Modes.fUserLat;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.apple.xcode.dsym.view1090</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>dSYM</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
|
@ -1 +0,0 @@
|
||||||
8090a053ba2c7c31e5b2cfc5870918d933a99849
|
|
|
@ -1 +0,0 @@
|
||||||
14bceef428bd087e58e4552f6ee11d3afc8586ed
|
|
Loading…
Reference in a new issue