├── debian ├── compat ├── source │ └── format ├── dump1090-fa.docs ├── lighttpd │ └── 88-dump1090-fa-statcache.conf ├── dump1090-fa.install ├── dump1090-fa.service ├── generate-wisdom ├── README.librtlsdr ├── control ├── dump1090-fa.postrm └── rules ├── public_html ├── db │ ├── 9.json │ ├── B.json │ ├── D.json │ ├── F.json │ ├── 2.json │ ├── aircraft_types │ │ └── README │ └── README ├── favicon.ico ├── spinny.gif ├── flags-tiny │ ├── Chad.png │ ├── Cuba.png │ ├── Fiji.png │ ├── Guam.png │ ├── Iran.png │ ├── Iraq.png │ ├── Laos.png │ ├── Mali.png │ ├── Niue.png │ ├── Oman.png │ ├── Peru.png │ ├── Togo.png │ ├── UAE.png │ ├── Angola.png │ ├── Aruba.png │ ├── Belize.png │ ├── Benin.png │ ├── Bhutan.png │ ├── Bosnia.png │ ├── Brazil.png │ ├── Brunei.png │ ├── Canada.png │ ├── Chile.png │ ├── China.png │ ├── Cyprus.png │ ├── Egypt.png │ ├── France.png │ ├── Gabon.png │ ├── Gambia.png │ ├── Ghana.png │ ├── Greece.png │ ├── Guinea.png │ ├── Guyana.png │ ├── Haiti.png │ ├── India.png │ ├── Israel.png │ ├── Italy.png │ ├── Japan.png │ ├── Jordan.png │ ├── Kenya.png │ ├── Kuwait.png │ ├── Latvia.png │ ├── Libya.png │ ├── Macao.png │ ├── Malawi.png │ ├── Malta.png │ ├── Mexico.png │ ├── Monaco.png │ ├── Nauru.png │ ├── Nepal.png │ ├── Niger.png │ ├── Norway.png │ ├── Palau.png │ ├── Panama.png │ ├── Poland.png │ ├── Qatar.png │ ├── Rwanda.png │ ├── Samoa.png │ ├── Serbia.png │ ├── Spain.png │ ├── Sudan.png │ ├── Sweden.png │ ├── Syria.png │ ├── Taiwan.png │ ├── Tibet.png │ ├── Tonga.png │ ├── Turkey.png │ ├── Tuvalu.png │ ├── Uganda.png │ ├── Yemen.png │ ├── Zambia.png │ ├── blank.png │ ├── Albania.png │ ├── Algeria.png │ ├── Andorra.png │ ├── Anguilla.png │ ├── Argentina.png │ ├── Armenia.png │ ├── Australia.png │ ├── Austria.png │ ├── Bahamas.png │ ├── Bahrain.png │ ├── Barbados.png │ ├── Belarus.png │ ├── Belgium.png │ ├── Bermuda.png │ ├── Bolivia.png │ ├── Botswana.png │ ├── Bulgaria.png │ ├── Burundi.png │ ├── Cambodia.png │ ├── Cameroon.png │ ├── Colombia.png │ ├── Comoros.png │ ├── Croatia.png │ ├── Denmark.png │ ├── Djibouti.png │ ├── Dominica.png │ ├── Ecuador.png │ ├── Eritrea.png │ ├── Estonia.png │ ├── Ethiopia.png │ ├── Finland.png │ ├── Georgia.png │ ├── Germany.png │ ├── Gibraltar.png │ ├── Greenland.png │ ├── Grenada.png │ ├── Guatemala.png │ ├── Honduras.png │ ├── Hong_Kong.png │ ├── Hungary.png │ ├── Iceland.png │ ├── Indonesia.png │ ├── Ireland.png │ ├── Jamaica.png │ ├── Kiribati.png │ ├── Lebanon.png │ ├── Lesotho.png │ ├── Liberia.png │ ├── Lithuania.png │ ├── Macedonia.png │ ├── Malaysia.png │ ├── Maldives.png │ ├── Mauritius.png │ ├── Moldova.png │ ├── Mongolia.png │ ├── Morocco.png │ ├── Myanmar.png │ ├── Namibia.png │ ├── Nicaragua.png │ ├── Nigeria.png │ ├── Pakistan.png │ ├── Paraguay.png │ ├── Portugal.png │ ├── Romania.png │ ├── Senegal.png │ ├── Singapore.png │ ├── Slovakia.png │ ├── Slovenia.png │ ├── Somalia.png │ ├── Sri_Lanka.png │ ├── Suriname.png │ ├── Swaziland.png │ ├── Tanzania.png │ ├── Thailand.png │ ├── Tunisia.png │ ├── Ukraine.png │ ├── Uruguay.png │ ├── Vanuatu.png │ ├── Venezuela.png │ ├── Vietnam.png │ ├── Zimbabwe.png │ ├── Afghanistan.png │ ├── Azerbaijan.png │ ├── Bangladesh.png │ ├── Cape_Verde.png │ ├── Costa_Rica.png │ ├── El_Salvador.png │ ├── Kazakhstan.png │ ├── Kyrgyzstan.png │ ├── Luxembourg.png │ ├── Madagascar.png │ ├── Martinique.png │ ├── Mauritania.png │ ├── Micronesia.png │ ├── Montenegro.png │ ├── Montserrat.png │ ├── Mozambique.png │ ├── Netherlands.png │ ├── New_Zealand.png │ ├── North_Korea.png │ ├── Philippines.png │ ├── Puerto_Rico.png │ ├── Saint_Lucia.png │ ├── San_Marino.png │ ├── Seychelles.png │ ├── South_Korea.png │ ├── Switzerland.png │ ├── Tajikistan.png │ ├── Timor-Leste.png │ ├── Uzbekistan.png │ ├── Yugoslavia.png │ ├── American_Samoa.png │ ├── Burkina_Faso.png │ ├── Cayman_Islands.png │ ├── Cook_Islands.png │ ├── Cote_d_Ivoire.png │ ├── Czech_Republic.png │ ├── Faroe_Islands.png │ ├── Guinea_Bissau.png │ ├── Liechtenstein.png │ ├── Norfolk_Island.png │ ├── Saint_Pierre.png │ ├── Saudi_Arabia.png │ ├── Sierra_Leone.png │ ├── South_Africa.png │ ├── South_Georgia.png │ ├── Soviet_Union.png │ ├── Turkmenistan.png │ ├── United_Kingdom.png │ ├── Vatican_City.png │ ├── Christmas_Island.png │ ├── Cyprus_Northern.png │ ├── Falkland_Islands.png │ ├── French_Polynesia.png │ ├── Marshall_Islands.png │ ├── Papua_New_Guinea.png │ ├── Pitcairn_Islands.png │ ├── Soloman_Islands.png │ ├── Antigua_and_Barbuda.png │ ├── Dominican_Republic.png │ ├── Equatorial_Guinea.png │ ├── Russian_Federation.png │ ├── Trinidad_and_Tobago.png │ ├── US_Virgin_Islands.png │ ├── Wallis_and_Futuna.png │ ├── Netherlands_Antilles.png │ ├── Republic_of_the_Congo.png │ ├── Saint_Kitts_and_Nevis.png │ ├── Sao_Tome_and_Principe.png │ ├── British_Virgin_Islands.png │ ├── Central_African_Republic.png │ ├── Turks_and_Caicos_Islands.png │ ├── United_States_of_America.png │ ├── Saint_Vicent_and_the_Grenadines.png │ ├── Democratic_Republic_of_the_Congo.png │ └── README.txt ├── images │ ├── map-icon.png │ ├── zoom-in.png │ ├── zoom-out.png │ ├── box-empty.png │ ├── ff-sa-logo.png │ ├── ff-sv-logo.png │ ├── pa-sa-logo.png │ ├── pa-sv-logo.png │ ├── table-icon.png │ ├── zoom-in@2x.png │ ├── zoom-in@3x.png │ ├── box-checked.png │ ├── box-empty@2x.png │ ├── box-empty@3x.png │ ├── column-adjust.png │ ├── fa_logo_color.png │ ├── ff-sa-logo@2x.png │ ├── ff-sa-logo@3x.png │ ├── ff-sv-logo@2x.png │ ├── ff-sv-logo@3x.png │ ├── map-icon@2x.png │ ├── map-icon@3x.png │ ├── pa-sa-logo@2x.png │ ├── pa-sa-logo@3x.png │ ├── pa-sv-logo@2x.png │ ├── pa-sv-logo@3x.png │ ├── settings-icon.png │ ├── table-icon@2x.png │ ├── table-icon@3x.png │ ├── zoom-out@2x.png │ ├── zoom-out@3x.png │ ├── box-checked@2x.png │ ├── box-checked@3x.png │ ├── close-settings.png │ ├── toggle-width@2x.png │ ├── close-settings@2x.png │ ├── close-settings@3x.png │ ├── column-adjust@2x.png │ ├── column-adjust@3x.png │ ├── fa_logo_color@2x.png │ ├── fa_logo_color@3x.png │ ├── settings-icon@2x.png │ ├── settings-icon@3x.png │ ├── toggle-height@2x.png │ ├── icon-information@2x.png │ ├── hide_sidebar_active_48x40.png │ ├── show_sidebar_active_48x40.png │ ├── hide_sidebar_inactive_48x40.png │ └── show_sidebar_inactive_48x40.png ├── geojson │ ├── README.md │ └── L3Harris │ │ ├── Training_Areas_Labels.geojson │ │ ├── Route_Name_Labels.geojson │ │ ├── Area_Labels_Green.geojson │ │ ├── Den_Apch_Inbound_Call_Points_Visual.geojson │ │ ├── USAFA_Area_Labels.geojson │ │ └── Den_Apch_Inbound_Call_Points_GPS.geojson ├── jquery │ └── README ├── test │ └── markers_test.html ├── noUiSlider │ ├── LICENSE.md │ ├── CONTRIBUTING.md │ └── README.md └── README.md ├── starch ├── example │ ├── generated │ │ ├── .keep │ │ ├── flavor.generic.c │ │ ├── flavor.x86_64_avx.c │ │ ├── flavor.x86_64_avx2.c │ │ ├── flavor.armv7a_vfpv3.c │ │ ├── flavor.armv7a_vfpv4.c │ │ ├── makefile.generic │ │ ├── makefile.x86_64 │ │ └── makefile.arm │ ├── Makefile │ ├── benchmark │ │ └── subtract_n_benchmark.c │ └── support.c ├── stubs │ └── mako │ │ ├── __init__.pyi │ │ ├── template.pyi │ │ └── lookup.pyi ├── Makefile ├── .gitignore ├── LICENSE └── templates │ ├── flavor.c.template │ └── starch.h.template ├── cpu_features ├── .gitignore ├── .clang-format ├── cmake │ ├── CpuFeaturesConfig.cmake.in │ ├── CpuFeaturesNdkCompatConfig.cmake.in │ ├── googletest.CMakeLists.txt.in │ └── README.md ├── WORKSPACE ├── ndk_compat │ ├── README.md │ ├── ndk-compat-test.c │ └── CMakeLists.txt ├── appveyor.yml ├── CONTRIBUTING.md ├── test │ ├── hwcaps_for_testing.h │ ├── bit_utils_test.cc │ ├── hwcaps_for_testing.cc │ └── filesystem_for_testing.h ├── include │ ├── internal │ │ ├── cpuid_x86.h │ │ ├── bit_utils.h │ │ ├── filesystem.h │ │ └── stack_line_reader.h │ ├── cpu_features_cache_info.h │ └── cpuinfo_mips.h └── src │ └── filesystem.c ├── tools ├── vrs.csv.xz ├── flightaware-20250514.csv.xz ├── vrs-to-csv.py ├── df-correction-arrays.py ├── extract-icao-ranges.py └── README.aircraft-db.md ├── bladerf ├── decimate8-x40.rbf └── README ├── ais_charset.h ├── ais_charset.c ├── .gitattributes ├── compat ├── clock_gettime │ ├── clock_gettime.h │ └── LICENSE ├── clock_nanosleep │ ├── clock_nanosleep.h │ └── LICENSE └── compat.h ├── debian-bullseye └── dump1090-fa.preinst ├── debian-buster └── dump1090-fa.preinst ├── dsp ├── helpers │ └── tables.h ├── generated │ ├── flavor.generic.c │ ├── flavor.armv8_a.c │ ├── flavor.x86_avx2.c │ ├── flavor.armv8_neon_simd.c │ └── flavor.armv7a_neon_vfpv4.c ├── benchmark │ ├── count_above_u16_benchmark.c │ └── mean_power_u16_benchmark.c └── impl │ └── count_above_u16.c ├── cpu.h ├── .gitignore ├── dsp-types.h ├── oneoff └── extract-comm-b.py ├── wisdom.generic ├── .travis.yml ├── comm_b.h ├── adaptive.h ├── sdr_hackrf.h ├── demod_2400.h ├── sdr_limesdr.h ├── sdr_bladerf.h ├── sdr_ifile.h ├── sdr_soapy.h ├── sdr_rtlsdr.h ├── crc.h ├── Makefile.cpufeatures ├── icao_filter.h ├── cpr.h ├── convert.h ├── prepare-build.sh ├── sdr.h ├── sdr_stub.c ├── cpu.c ├── LICENSE ├── wisdom.aarch64 └── wisdom.x86 /debian/compat: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /public_html/db/9.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /public_html/db/B.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /public_html/db/D.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /starch/example/generated/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /debian/dump1090-fa.docs: -------------------------------------------------------------------------------- 1 | debian/README.librtlsdr 2 | -------------------------------------------------------------------------------- /public_html/db/F.json: -------------------------------------------------------------------------------- 1 | {"A0001":{"r":"FAV0001","t":"A319"}} -------------------------------------------------------------------------------- /cpu_features/.gitignore: -------------------------------------------------------------------------------- 1 | cmake_build/ 2 | build/ 3 | 4 | *.swp 5 | -------------------------------------------------------------------------------- /tools/vrs.csv.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/tools/vrs.csv.xz -------------------------------------------------------------------------------- /cpu_features/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | Language: Cpp 3 | BasedOnStyle: Google 4 | ... 5 | -------------------------------------------------------------------------------- /starch/stubs/mako/__init__.pyi: -------------------------------------------------------------------------------- 1 | # -*- python -*- 2 | 3 | # typing stubs for mako 4 | 5 | -------------------------------------------------------------------------------- /public_html/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/favicon.ico -------------------------------------------------------------------------------- /public_html/spinny.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/spinny.gif -------------------------------------------------------------------------------- /bladerf/decimate8-x40.rbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/bladerf/decimate8-x40.rbf -------------------------------------------------------------------------------- /starch/Makefile: -------------------------------------------------------------------------------- 1 | all: mypy 2 | 3 | mypy: 4 | MYPYPATH=$(CURDIR)/stubs mypy --show-error-codes starch.py 5 | -------------------------------------------------------------------------------- /starch/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | example/mako/ 3 | example/starch-benchmark 4 | *.o 5 | *~ 6 | .mypy_cache 7 | -------------------------------------------------------------------------------- /public_html/flags-tiny/Chad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Chad.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cuba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cuba.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Fiji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Fiji.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Guam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Guam.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Iran.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Iran.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Iraq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Iraq.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Laos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Laos.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Mali.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Mali.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Niue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Niue.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Oman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Oman.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Peru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Peru.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Togo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Togo.png -------------------------------------------------------------------------------- /public_html/flags-tiny/UAE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/UAE.png -------------------------------------------------------------------------------- /public_html/images/map-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/map-icon.png -------------------------------------------------------------------------------- /public_html/images/zoom-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/zoom-in.png -------------------------------------------------------------------------------- /public_html/images/zoom-out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/zoom-out.png -------------------------------------------------------------------------------- /ais_charset.h: -------------------------------------------------------------------------------- 1 | #ifndef AIS_CHARSET_H 2 | #define AIS_CHARSET_H 3 | 4 | extern char ais_charset[64]; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /public_html/flags-tiny/Angola.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Angola.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Aruba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Aruba.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Belize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Belize.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Benin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Benin.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bhutan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bhutan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bosnia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bosnia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Brazil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Brazil.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Brunei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Brunei.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Canada.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Chile.png -------------------------------------------------------------------------------- /public_html/flags-tiny/China.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/China.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cyprus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cyprus.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Egypt.png -------------------------------------------------------------------------------- /public_html/flags-tiny/France.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/France.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Gabon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Gabon.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Gambia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Gambia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Ghana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Ghana.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Greece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Greece.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Guinea.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Guyana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Guyana.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Haiti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Haiti.png -------------------------------------------------------------------------------- /public_html/flags-tiny/India.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/India.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Israel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Israel.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Italy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Italy.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Japan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Jordan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Jordan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Kenya.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Kenya.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Kuwait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Kuwait.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Latvia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Latvia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Libya.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Libya.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Macao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Macao.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Malawi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Malawi.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Malta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Malta.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Mexico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Mexico.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Monaco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Monaco.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Nauru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Nauru.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Nepal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Nepal.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Niger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Niger.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Norway.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Palau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Palau.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Panama.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Panama.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Poland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Poland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Qatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Qatar.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Rwanda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Rwanda.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Samoa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Samoa.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Serbia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Serbia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Spain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Spain.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Sudan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Sudan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Sweden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Sweden.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Syria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Syria.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Taiwan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Taiwan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Tibet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Tibet.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Tonga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Tonga.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Turkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Turkey.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Tuvalu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Tuvalu.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Uganda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Uganda.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Yemen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Yemen.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Zambia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Zambia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/blank.png -------------------------------------------------------------------------------- /public_html/images/box-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/box-empty.png -------------------------------------------------------------------------------- /public_html/images/ff-sa-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/ff-sa-logo.png -------------------------------------------------------------------------------- /public_html/images/ff-sv-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/ff-sv-logo.png -------------------------------------------------------------------------------- /public_html/images/pa-sa-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/pa-sa-logo.png -------------------------------------------------------------------------------- /public_html/images/pa-sv-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/pa-sv-logo.png -------------------------------------------------------------------------------- /public_html/images/table-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/table-icon.png -------------------------------------------------------------------------------- /public_html/images/zoom-in@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/zoom-in@2x.png -------------------------------------------------------------------------------- /public_html/images/zoom-in@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/zoom-in@3x.png -------------------------------------------------------------------------------- /tools/flightaware-20250514.csv.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/tools/flightaware-20250514.csv.xz -------------------------------------------------------------------------------- /public_html/flags-tiny/Albania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Albania.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Algeria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Algeria.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Andorra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Andorra.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Anguilla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Anguilla.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Argentina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Argentina.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Armenia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Armenia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Australia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Australia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Austria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Austria.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bahamas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bahamas.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bahrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bahrain.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Barbados.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Barbados.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Belarus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Belarus.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Belgium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Belgium.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bermuda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bermuda.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bolivia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bolivia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Botswana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Botswana.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bulgaria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bulgaria.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Burundi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Burundi.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cambodia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cambodia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cameroon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cameroon.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Colombia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Colombia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Comoros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Comoros.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Croatia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Croatia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Denmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Denmark.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Djibouti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Djibouti.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Dominica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Dominica.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Ecuador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Ecuador.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Eritrea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Eritrea.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Estonia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Estonia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Ethiopia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Ethiopia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Finland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Finland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Georgia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Georgia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Germany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Germany.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Gibraltar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Gibraltar.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Greenland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Greenland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Grenada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Grenada.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Guatemala.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Guatemala.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Honduras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Honduras.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Hong_Kong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Hong_Kong.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Hungary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Hungary.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Iceland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Iceland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Indonesia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Indonesia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Ireland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Ireland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Jamaica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Jamaica.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Kiribati.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Kiribati.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Lebanon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Lebanon.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Lesotho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Lesotho.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Liberia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Liberia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Lithuania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Lithuania.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Macedonia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Macedonia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Malaysia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Malaysia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Maldives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Maldives.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Mauritius.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Mauritius.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Moldova.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Moldova.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Mongolia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Mongolia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Morocco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Morocco.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Myanmar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Myanmar.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Namibia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Namibia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Nicaragua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Nicaragua.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Nigeria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Nigeria.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Pakistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Pakistan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Paraguay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Paraguay.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Portugal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Portugal.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Romania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Romania.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Senegal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Senegal.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Singapore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Singapore.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Slovakia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Slovakia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Slovenia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Slovenia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Somalia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Somalia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Sri_Lanka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Sri_Lanka.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Suriname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Suriname.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Swaziland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Swaziland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Tanzania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Tanzania.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Thailand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Thailand.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Tunisia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Tunisia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Ukraine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Ukraine.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Uruguay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Uruguay.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Vanuatu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Vanuatu.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Venezuela.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Venezuela.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Vietnam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Vietnam.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Zimbabwe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Zimbabwe.png -------------------------------------------------------------------------------- /public_html/images/box-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/box-checked.png -------------------------------------------------------------------------------- /public_html/images/box-empty@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/box-empty@2x.png -------------------------------------------------------------------------------- /public_html/images/box-empty@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/box-empty@3x.png -------------------------------------------------------------------------------- /public_html/images/column-adjust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/column-adjust.png -------------------------------------------------------------------------------- /public_html/images/fa_logo_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/fa_logo_color.png -------------------------------------------------------------------------------- /public_html/images/ff-sa-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/ff-sa-logo@2x.png -------------------------------------------------------------------------------- /public_html/images/ff-sa-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/ff-sa-logo@3x.png -------------------------------------------------------------------------------- /public_html/images/ff-sv-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/ff-sv-logo@2x.png -------------------------------------------------------------------------------- /public_html/images/ff-sv-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/ff-sv-logo@3x.png -------------------------------------------------------------------------------- /public_html/images/map-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/map-icon@2x.png -------------------------------------------------------------------------------- /public_html/images/map-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/map-icon@3x.png -------------------------------------------------------------------------------- /public_html/images/pa-sa-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/pa-sa-logo@2x.png -------------------------------------------------------------------------------- /public_html/images/pa-sa-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/pa-sa-logo@3x.png -------------------------------------------------------------------------------- /public_html/images/pa-sv-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/pa-sv-logo@2x.png -------------------------------------------------------------------------------- /public_html/images/pa-sv-logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/pa-sv-logo@3x.png -------------------------------------------------------------------------------- /public_html/images/settings-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/settings-icon.png -------------------------------------------------------------------------------- /public_html/images/table-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/table-icon@2x.png -------------------------------------------------------------------------------- /public_html/images/table-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/table-icon@3x.png -------------------------------------------------------------------------------- /public_html/images/zoom-out@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/zoom-out@2x.png -------------------------------------------------------------------------------- /public_html/images/zoom-out@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/zoom-out@3x.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Afghanistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Afghanistan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Azerbaijan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Azerbaijan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Bangladesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Bangladesh.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cape_Verde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cape_Verde.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Costa_Rica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Costa_Rica.png -------------------------------------------------------------------------------- /public_html/flags-tiny/El_Salvador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/El_Salvador.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Kazakhstan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Kazakhstan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Kyrgyzstan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Kyrgyzstan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Luxembourg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Luxembourg.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Madagascar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Madagascar.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Martinique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Martinique.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Mauritania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Mauritania.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Micronesia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Micronesia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Montenegro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Montenegro.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Montserrat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Montserrat.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Mozambique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Mozambique.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Netherlands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Netherlands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/New_Zealand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/New_Zealand.png -------------------------------------------------------------------------------- /public_html/flags-tiny/North_Korea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/North_Korea.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Philippines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Philippines.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Puerto_Rico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Puerto_Rico.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Saint_Lucia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Saint_Lucia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/San_Marino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/San_Marino.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Seychelles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Seychelles.png -------------------------------------------------------------------------------- /public_html/flags-tiny/South_Korea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/South_Korea.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Switzerland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Switzerland.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Tajikistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Tajikistan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Timor-Leste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Timor-Leste.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Uzbekistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Uzbekistan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Yugoslavia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Yugoslavia.png -------------------------------------------------------------------------------- /public_html/images/box-checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/box-checked@2x.png -------------------------------------------------------------------------------- /public_html/images/box-checked@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/box-checked@3x.png -------------------------------------------------------------------------------- /public_html/images/close-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/close-settings.png -------------------------------------------------------------------------------- /public_html/images/toggle-width@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/toggle-width@2x.png -------------------------------------------------------------------------------- /public_html/flags-tiny/American_Samoa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/American_Samoa.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Burkina_Faso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Burkina_Faso.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cayman_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cayman_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cook_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cook_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cote_d_Ivoire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cote_d_Ivoire.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Czech_Republic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Czech_Republic.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Faroe_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Faroe_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Guinea_Bissau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Guinea_Bissau.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Liechtenstein.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Liechtenstein.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Norfolk_Island.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Norfolk_Island.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Saint_Pierre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Saint_Pierre.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Saudi_Arabia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Saudi_Arabia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Sierra_Leone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Sierra_Leone.png -------------------------------------------------------------------------------- /public_html/flags-tiny/South_Africa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/South_Africa.png -------------------------------------------------------------------------------- /public_html/flags-tiny/South_Georgia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/South_Georgia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Soviet_Union.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Soviet_Union.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Turkmenistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Turkmenistan.png -------------------------------------------------------------------------------- /public_html/flags-tiny/United_Kingdom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/United_Kingdom.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Vatican_City.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Vatican_City.png -------------------------------------------------------------------------------- /public_html/images/close-settings@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/close-settings@2x.png -------------------------------------------------------------------------------- /public_html/images/close-settings@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/close-settings@3x.png -------------------------------------------------------------------------------- /public_html/images/column-adjust@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/column-adjust@2x.png -------------------------------------------------------------------------------- /public_html/images/column-adjust@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/column-adjust@3x.png -------------------------------------------------------------------------------- /public_html/images/fa_logo_color@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/fa_logo_color@2x.png -------------------------------------------------------------------------------- /public_html/images/fa_logo_color@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/fa_logo_color@3x.png -------------------------------------------------------------------------------- /public_html/images/settings-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/settings-icon@2x.png -------------------------------------------------------------------------------- /public_html/images/settings-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/settings-icon@3x.png -------------------------------------------------------------------------------- /public_html/images/toggle-height@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/toggle-height@2x.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Christmas_Island.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Christmas_Island.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Cyprus_Northern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Cyprus_Northern.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Falkland_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Falkland_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/French_Polynesia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/French_Polynesia.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Marshall_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Marshall_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Papua_New_Guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Papua_New_Guinea.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Pitcairn_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Pitcairn_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Soloman_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Soloman_Islands.png -------------------------------------------------------------------------------- /public_html/images/icon-information@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/icon-information@2x.png -------------------------------------------------------------------------------- /ais_charset.c: -------------------------------------------------------------------------------- 1 | #include "ais_charset.h" 2 | 3 | char ais_charset[64] = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_ !\"#$%&'()*+,-./0123456789:;<=>?"; 4 | -------------------------------------------------------------------------------- /public_html/flags-tiny/Antigua_and_Barbuda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Antigua_and_Barbuda.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Dominican_Republic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Dominican_Republic.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Equatorial_Guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Equatorial_Guinea.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Russian_Federation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Russian_Federation.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Trinidad_and_Tobago.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Trinidad_and_Tobago.png -------------------------------------------------------------------------------- /public_html/flags-tiny/US_Virgin_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/US_Virgin_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Wallis_and_Futuna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Wallis_and_Futuna.png -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.xz binary 2 | dsp/generated/* merge=binary linguist-generated 3 | cpu_features/** linguist-vendored 4 | starch/** linguist-vendored 5 | -------------------------------------------------------------------------------- /public_html/flags-tiny/Netherlands_Antilles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Netherlands_Antilles.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Republic_of_the_Congo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Republic_of_the_Congo.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Saint_Kitts_and_Nevis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Saint_Kitts_and_Nevis.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Sao_Tome_and_Principe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Sao_Tome_and_Principe.png -------------------------------------------------------------------------------- /public_html/images/hide_sidebar_active_48x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/hide_sidebar_active_48x40.png -------------------------------------------------------------------------------- /public_html/images/show_sidebar_active_48x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/show_sidebar_active_48x40.png -------------------------------------------------------------------------------- /public_html/flags-tiny/British_Virgin_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/British_Virgin_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Central_African_Republic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Central_African_Republic.png -------------------------------------------------------------------------------- /public_html/flags-tiny/Turks_and_Caicos_Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Turks_and_Caicos_Islands.png -------------------------------------------------------------------------------- /public_html/flags-tiny/United_States_of_America.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/United_States_of_America.png -------------------------------------------------------------------------------- /public_html/images/hide_sidebar_inactive_48x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/hide_sidebar_inactive_48x40.png -------------------------------------------------------------------------------- /public_html/images/show_sidebar_inactive_48x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/images/show_sidebar_inactive_48x40.png -------------------------------------------------------------------------------- /cpu_features/cmake/CpuFeaturesConfig.cmake.in: -------------------------------------------------------------------------------- 1 | # CpuFeatures CMake configuration file 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/CpuFeaturesTargets.cmake") 4 | -------------------------------------------------------------------------------- /public_html/geojson/README.md: -------------------------------------------------------------------------------- 1 | # Sources 2 | 3 | Layers attributed to alkissack's Dump1090-OpenLayers3-html (https://github.com/alkissack/Dump1090-OpenLayers3-html) 4 | -------------------------------------------------------------------------------- /public_html/flags-tiny/Saint_Vicent_and_the_Grenadines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Saint_Vicent_and_the_Grenadines.png -------------------------------------------------------------------------------- /starch/stubs/mako/template.pyi: -------------------------------------------------------------------------------- 1 | # -*- python -*- 2 | 3 | # typing stubs for mako 4 | 5 | class Template(object): 6 | def render(self, *args, **kwargs) -> str: ... 7 | -------------------------------------------------------------------------------- /public_html/flags-tiny/Democratic_Republic_of_the_Congo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flightaware/dump1090/HEAD/public_html/flags-tiny/Democratic_Republic_of_the_Congo.png -------------------------------------------------------------------------------- /public_html/jquery/README: -------------------------------------------------------------------------------- 1 | This directory contains local copies of jQuery / jQuery UI; 2 | the original versions are available from jquery.com under 3 | a MIT-style license. 4 | -------------------------------------------------------------------------------- /public_html/db/2.json: -------------------------------------------------------------------------------- 1 | {"01001":{"r":"V5-NAM","t":"F900"},"01028":{"r":"V5-NMF","t":"A343"},"01029":{"r":"V5-NME","t":"A343"},"0103F":{"r":"V5-GON"},"02031":{"r":"E3-AAQ","t":"B762"}} -------------------------------------------------------------------------------- /cpu_features/cmake/CpuFeaturesNdkCompatConfig.cmake.in: -------------------------------------------------------------------------------- 1 | # CpuFeaturesNdkCompat CMake configuration file 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/CpuFeaturesNdkCompatTargets.cmake") 4 | -------------------------------------------------------------------------------- /compat/clock_gettime/clock_gettime.h: -------------------------------------------------------------------------------- 1 | #ifndef CLOCK_GETTIME_H 2 | #define CLOCK_GETTIME_H 3 | 4 | int clock_gettime(clockid_t clk_id, struct timespec *tp); 5 | 6 | #endif // CLOCK_GETTIME_H 7 | -------------------------------------------------------------------------------- /public_html/db/aircraft_types/README: -------------------------------------------------------------------------------- 1 | Aircraft type data was retrieved from http://www.icao.int/publications/DOC8643/ and converted to JSON format. 2 | 3 | Data was last updated on 2016-03-23 and retrieved on 2016-08-25. 4 | -------------------------------------------------------------------------------- /debian-bullseye/dump1090-fa.preinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | # Work around Debian bug #989155 5 | if [ "$1" = upgrade ] && [ -d /run/systemd/system ] ; then 6 | deb-systemd-invoke stop 'dump1090-fa.service' >/dev/null || true 7 | fi 8 | -------------------------------------------------------------------------------- /debian-buster/dump1090-fa.preinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | # Work around Debian bug #989155 5 | if [ "$1" = upgrade ] && [ -d /run/systemd/system ] ; then 6 | deb-systemd-invoke stop 'dump1090-fa.service' >/dev/null || true 7 | fi 8 | -------------------------------------------------------------------------------- /cpu_features/WORKSPACE: -------------------------------------------------------------------------------- 1 | # ===== googletest ===== 2 | 3 | git_repository( 4 | name = "com_google_googletest", 5 | remote = "https://github.com/google/googletest.git", 6 | commit = "c3f65335b79f47b05629e79a54685d899bc53b93", 7 | ) 8 | -------------------------------------------------------------------------------- /debian/lighttpd/88-dump1090-fa-statcache.conf: -------------------------------------------------------------------------------- 1 | # The stat cache must be disabled, as aircraft.json changes 2 | # frequently and lighttpd's stat cache often ends up with the 3 | # wrong content length. 4 | server.stat-cache-engine = "disable" 5 | -------------------------------------------------------------------------------- /public_html/geojson/L3Harris/Training_Areas_Labels.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "Training Areas Labels", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /compat/clock_nanosleep/clock_nanosleep.h: -------------------------------------------------------------------------------- 1 | #ifndef CLOCK_NANOSLEEP_H 2 | #define CLOCK_NANOSLEEP_H 3 | 4 | int clock_nanosleep (clockid_t id, int flags, const struct timespec *ts, 5 | struct timespec *ots); 6 | 7 | #endif //CLOCK_NANOSLEEP_H 8 | -------------------------------------------------------------------------------- /dsp/helpers/tables.h: -------------------------------------------------------------------------------- 1 | #ifndef DSP_TABLES_H 2 | #define DSP_TABLES_H 3 | 4 | #include 5 | 6 | const uint16_t * get_uc8_mag_table(); 7 | const uint16_t * get_sc16q11_mag_11bit_table(); 8 | const uint16_t * get_sc16q11_mag_12bit_table(); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /cpu.h: -------------------------------------------------------------------------------- 1 | #ifndef DUMP1090_CPU_H 2 | #define DUMP1090_CPU_H 3 | 4 | // x86 5 | int cpu_supports_avx(void); 6 | int cpu_supports_avx2(void); 7 | 8 | // ARM 9 | int cpu_supports_armv7_neon_vfpv4(void); 10 | 11 | // AARCH64 12 | int cpu_supports_armv8_simd(void); 13 | int cpu_supports_armv8_simd_sve(void); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /public_html/db/README: -------------------------------------------------------------------------------- 1 | This directory contains static data on some aircraft (registrations, etc) 2 | originally derived from Virtual Radar Server's BasicAircraftLookup.sqb 3 | (see tools/vrs-basicaircraft-to-json.py). As that database is no longer being 4 | updated, the data is directly included here rather than periodically refreshing 5 | from the online copy. 6 | -------------------------------------------------------------------------------- /cpu_features/ndk_compat/README.md: -------------------------------------------------------------------------------- 1 | Provides a header compatible with [android's NDK cpu-features.h](https://android.googlesource.com/platform/ndk/+/master/sources/android/cpufeatures/cpu-features.h). 2 | 3 | It is intended to be a drop in replacement for this header and help users 4 | transition from the NDK to [Google's cpu_features library](https://github.com/google/cpu_features). 5 | -------------------------------------------------------------------------------- /debian/dump1090-fa.install: -------------------------------------------------------------------------------- 1 | public_html/* usr/share/skyaware/html 2 | debian/lighttpd/* etc/lighttpd/conf-available 3 | bladerf/* usr/share/dump1090-fa/bladerf 4 | debian/start-dump1090-fa usr/share/dump1090-fa/ 5 | debian/generate-wisdom usr/share/dump1090-fa/ 6 | debian/upgrade-config usr/share/dump1090-fa/ 7 | debian/dump1090-fa.default usr/share/dump1090-fa/ 8 | starch-benchmark /usr/lib/dump1090-fa/ 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | dump1090 3 | testfiles/*.bin 4 | misc 5 | frames.js 6 | .*.swp 7 | *~ 8 | *.rej 9 | *.orig 10 | untrackedDeveloperSettings.js 11 | view1090 12 | faup1090 13 | package-wheezy 14 | oneoff/convert_benchmark 15 | oneoff/uc8_capture_stats 16 | oneoff/dsp_error_measurement 17 | oneoff/decode_comm_b 18 | starch-benchmark 19 | wisdom.local 20 | debian/.debhelper 21 | debian/dump1090-fa* 22 | debian/debhelper-build-stamp 23 | debian/files 24 | -------------------------------------------------------------------------------- /cpu_features/ndk_compat/ndk-compat-test.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "cpu-features.h" 4 | 5 | int main() { 6 | printf("android_getCpuFamily()=%d\n", android_getCpuFamily()); 7 | printf("android_getCpuFeatures()=0x%08llx\n", android_getCpuFeatures()); 8 | printf("android_getCpuCount()=%d\n", android_getCpuCount()); 9 | #ifdef __arm__ 10 | printf("android_getCpuIdArm()=0x%04x\n", android_getCpuIdArm()); 11 | #endif //__arm__ 12 | } 13 | -------------------------------------------------------------------------------- /dsp-types.h: -------------------------------------------------------------------------------- 1 | #ifndef DUMP1090_DSP_TYPES_H 2 | #define DUMP1090_DSP_TYPES_H 3 | 4 | #include 5 | 6 | typedef struct { 7 | uint8_t I; 8 | uint8_t Q; 9 | } __attribute__((__packed__, __aligned__(2))) uc8_t; 10 | 11 | typedef union { 12 | uc8_t uc8; 13 | uint16_t u16; 14 | } uc8_u16_t; 15 | 16 | typedef struct { 17 | int16_t I; 18 | int16_t Q; 19 | } __attribute__((__packed__, __aligned__(2))) sc16_t; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /cpu_features/cmake/googletest.CMakeLists.txt.in: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.2) 2 | 3 | project(googletest-download NONE) 4 | 5 | include(ExternalProject) 6 | ExternalProject_Add(googletest 7 | GIT_REPOSITORY https://github.com/google/googletest.git 8 | GIT_TAG master 9 | SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src" 10 | BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build" 11 | CONFIGURE_COMMAND "" 12 | BUILD_COMMAND "" 13 | INSTALL_COMMAND "" 14 | TEST_COMMAND "" 15 | ) -------------------------------------------------------------------------------- /starch/stubs/mako/lookup.pyi: -------------------------------------------------------------------------------- 1 | # -*- python -*- 2 | 3 | # typing stubs for mako 4 | 5 | from mako.template import Template 6 | from typing import List, Optional 7 | 8 | class TemplateCollection(object): 9 | def get_template(self, uri: str, relativeto: Optional[str] = None) -> Template: ... 10 | 11 | class TemplateLookup(TemplateCollection): 12 | def __init__(self,directories: Optional[List[str]] = None, 13 | module_directory: Optional[str] = None, 14 | imports: Optional[List[str]] = None): ... 15 | 16 | 17 | -------------------------------------------------------------------------------- /public_html/flags-tiny/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains flag icons for use to display country flags in the DUMP1090 web interface. 2 | 3 | Country flag functionality submitted by Dino Moriello 4 | 5 | The flags are supplied by 6 | Free Country Flags by Gang of the Coconuts and is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. 7 | 8 | Free Country Flags: 9 | http://www.free-country-flags.com/ 10 | 11 | Creative Commons Attribution-ShareAlike 3.0 Unported License 12 | http://creativecommons.org/licenses/by-sa/3.0/ 13 | -------------------------------------------------------------------------------- /starch/example/generated/flavor.generic.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_GENERIC 5 | 6 | #include "starch.h" 7 | 8 | #undef STARCH_ALIGNMENT 9 | 10 | #define STARCH_ALIGNMENT 1 11 | #define STARCH_ALIGNED(_ptr) (_ptr) 12 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## generic 13 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## generic 14 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 15 | 16 | #include "../impl/subtract_n.c" 17 | 18 | -------------------------------------------------------------------------------- /public_html/test/markers_test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | DUMP1090 MARKERS TEST 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /oneoff/extract-comm-b.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # Run me like this: 4 | # view1090 --no-interactive | ./extract-comm-b.py 5 | 6 | import re, sys, time 7 | from contextlib import closing 8 | 9 | commb_match = re.compile(r'^DF:\d+ addr:([a-zA-Z0-9]{6}) FS:\d+ DR:\d+ UM:\d+ (?:ID|AC):\d+ MB:([a-zA-Z0-9]{14})$') 10 | 11 | for line in sys.stdin: 12 | match = commb_match.match(line) 13 | if match: 14 | addr, mb = match.groups() 15 | 16 | with closing(open('commb/' + addr.upper() + '.txt', 'a')) as f: 17 | print('%.3f %s' % (time.time(), mb), file=f) 18 | -------------------------------------------------------------------------------- /debian/dump1090-fa.service: -------------------------------------------------------------------------------- 1 | # dump1090-fa service for systemd 2 | 3 | [Unit] 4 | Description=dump1090 ADS-B receiver (FlightAware customization) 5 | Documentation=https://flightaware.com/adsb/piaware/ 6 | Wants=network.target 7 | After=network.target 8 | 9 | [Service] 10 | User=dump1090 11 | RuntimeDirectory=dump1090-fa 12 | RuntimeDirectoryMode=0755 13 | ExecStart=/usr/share/dump1090-fa/start-dump1090-fa --write-json %t/dump1090-fa 14 | SyslogIdentifier=dump1090-fa 15 | Type=simple 16 | Restart=on-failure 17 | RestartSec=30 18 | RestartPreventExitStatus=64 19 | Nice=-5 20 | 21 | [Install] 22 | WantedBy=default.target 23 | -------------------------------------------------------------------------------- /cpu_features/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: '{build}' 2 | shallow_clone: true 3 | 4 | platform: x64 5 | 6 | environment: 7 | matrix: 8 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 9 | CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" 10 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 11 | CMAKE_GENERATOR: "Visual Studio 14 2015 Win64" 12 | 13 | matrix: 14 | fast_finish: true 15 | 16 | before_build: 17 | - cmake --version 18 | - cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -H. -Bcmake_build -G "%CMAKE_GENERATOR%" 19 | 20 | build_script: 21 | - cmake --build cmake_build --config Debug --target ALL_BUILD 22 | 23 | test_script: 24 | - cmake --build cmake_build --config Debug --target RUN_TESTS 25 | -------------------------------------------------------------------------------- /starch/example/Makefile: -------------------------------------------------------------------------------- 1 | CC ?= gcc 2 | CFLAGS = -O3 -Wall -g 3 | 4 | STARCH_COMPILE := $(CC) $(CFLAGS) -c 5 | 6 | ARCH := $(shell uname -m) 7 | 8 | all: generate starch-benchmark 9 | 10 | ifneq (,$(findstring arm,$(ARCH))) 11 | -include generated/makefile.arm 12 | else ifneq (,$(findstring x86_64,$(ARCH))) 13 | -include generated/makefile.x86_64 14 | else 15 | -include generated/makefile.generic 16 | endif 17 | 18 | support.o: support.c 19 | $(CC) $(CFLAGS) -c -o $@ $^ 20 | 21 | starch-benchmark: $(STARCH_OBJS) $(STARCH_BENCHMARK_OBJ) support.o 22 | $(CC) $(CFLAGS) -o $@ $^ 23 | 24 | generate: 25 | ./starchgen.py 26 | 27 | clean: 28 | rm -f $(STARCH_OBJS) $(STARCH_BENCHMARK_OBJ) support.o starch-benchmark 29 | -------------------------------------------------------------------------------- /dsp/generated/flavor.generic.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_GENERIC 5 | 6 | #include "starch.h" 7 | 8 | #undef STARCH_ALIGNMENT 9 | 10 | #define STARCH_ALIGNMENT 1 11 | #define STARCH_ALIGNED(_ptr) (_ptr) 12 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## generic 13 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## generic 14 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 15 | 16 | #include "../impl/count_above_u16.c" 17 | #include "../impl/magnitude_power_uc8.c" 18 | #include "../impl/magnitude_sc16.c" 19 | #include "../impl/magnitude_sc16q11.c" 20 | #include "../impl/magnitude_uc8.c" 21 | #include "../impl/mean_power_u16.c" 22 | 23 | -------------------------------------------------------------------------------- /wisdom.generic: -------------------------------------------------------------------------------- 1 | # some fairly arbitrary defaults for when we don't know the target architecture 2 | 3 | magnitude_power_uc8 twopass_generic 4 | magnitude_power_uc8_aligned twopass_generic 5 | 6 | magnitude_sc16 exact_float_generic 7 | magnitude_sc16_aligned exact_float_generic 8 | 9 | magnitude_sc16q11 exact_float_generic 10 | magnitude_sc16q11_aligned exact_float_generic 11 | 12 | magnitude_uc8 lookup_unroll_4_generic 13 | magnitude_uc8_aligned lookup_unroll_4_generic 14 | 15 | mean_power_u16 u32_generic 16 | mean_power_u16_aligned u32_generic 17 | 18 | count_above_u16 generic_generic 19 | count_above_u16_aligned generic_generic 20 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | 3 | sudo: required 4 | 5 | matrix: 6 | include: 7 | - os: linux 8 | dist: trusty 9 | - os: osx 10 | osx_image: xcode7.3 11 | - os: osx 12 | osx_image: xcode7.1 13 | - os: osx 14 | osx_image: beta-xcode6.2 15 | 16 | before_install: 17 | - if [ `uname` = "Linux" ]; then 18 | sudo apt-get update -qq; 19 | sudo apt-get install -y build-essential debhelper librtlsdr-dev libusb-1.0-0-dev pkg-config fakeroot libbladerf-dev dh-systemd; 20 | elif [ `uname` = "Darwin" ]; then 21 | brew update; 22 | brew install -v librtlsdr; 23 | fi 24 | 25 | script: 26 | - if [ `uname` = "Linux" ]; then 27 | dpkg-buildpackage -b -us -uc; 28 | elif [ `uname` = "Darwin" ]; then 29 | make; 30 | make test; 31 | fi 32 | -------------------------------------------------------------------------------- /debian/generate-wisdom: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | # This script generates a machine-specific wisdom file for dump1090-fa 4 | # (containing information about which DSP implementations are fastest) 5 | 6 | WORKDIR=$(mktemp -t -d wisdom.XXXXXX) 7 | 8 | echo "Benchmarking .. this will take a while." >&2 9 | 10 | # generate initial wisdom so that twopass implementations have something to work with 11 | echo "First pass: generating $WORKDIR/wisdom.initial" >&2 12 | /usr/lib/dump1090-fa/starch-benchmark -i 5 -o $WORKDIR/wisdom.initial magnitude_uc8 magnitude_uc8_aligned mean_power_u16 mean_power_u16_aligned 13 | 14 | # generate the real wisdom 15 | echo "Second pass: generating $WORKDIR/wisdom.local" >&2 16 | /usr/lib/dump1090-fa/starch-benchmark -i 5 -r $WORKDIR/wisdom.initial -o $WORKDIR/wisdom.local 17 | 18 | echo "Wisdom written to $WORKDIR/wisdom.local" >&2 19 | echo "Copy this file to /etc/dump1090-fa/wisdom.local" >&2 20 | echo "(and restart dump1090-fa) to start using it." >&2 21 | -------------------------------------------------------------------------------- /debian/README.librtlsdr: -------------------------------------------------------------------------------- 1 | This package includes binaries that are statically linked against librtlsdr, 2 | which is licensed under the GPL: 3 | 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; either version 2 of the License, or 7 | (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License along 15 | with this program; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | 18 | The upstream source is available at https://github.com/steve-m/librtlsdr 19 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: dump1090-fa 2 | Section: embedded 3 | Priority: extra 4 | Maintainer: Oliver Jowett 5 | Build-Depends: debhelper(>=12), 6 | librtlsdr-dev , 7 | libbladerf-dev , 8 | libhackrf-dev , 9 | liblimesuite-dev , 10 | libsoapysdr-dev , 11 | libusb-1.0-0-dev , 12 | pkg-config, libncurses5-dev 13 | Standards-Version: 3.9.3 14 | Homepage: http://www.flightaware.com/ 15 | Vcs-Git: https://github.com/flightaware/dump1090.git 16 | 17 | Package: dump1090-fa 18 | Architecture: any 19 | Pre-Depends: ${misc:Pre-Depends} 20 | Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, lighttpd 21 | Description: FlightAware ADS-B Ground Station System for SDRs 22 | Networked Aviation Mode S / ADS-B decoder/translator with support 23 | for RTL-SDR, BladeRF, HackRF, and LimeSDR software defined radio USB 24 | device support. 25 | -------------------------------------------------------------------------------- /starch/example/benchmark/subtract_n_benchmark.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void STARCH_BENCHMARK(subtract_n) (void) 4 | { 5 | uint16_t *in = NULL, *out = NULL; 6 | const unsigned len = 65536; 7 | const unsigned n = 42; 8 | 9 | if (!(in = STARCH_BENCHMARK_ALLOC(len, uint16_t)) || !(out = STARCH_BENCHMARK_ALLOC(len, uint16_t))) { 10 | goto done; 11 | } 12 | 13 | STARCH_BENCHMARK_RUN( subtract_n, in, len, n, out ); 14 | 15 | done: 16 | STARCH_BENCHMARK_FREE(in); 17 | STARCH_BENCHMARK_FREE(out); 18 | } 19 | 20 | bool STARCH_BENCHMARK_VERIFY(subtract_n)(const uint16_t *in, unsigned len, uint16_t n, uint16_t *out) 21 | { 22 | bool okay = true; 23 | 24 | for (unsigned i = 0; i < len; ++i) { 25 | uint16_t expected = in[i] - n; 26 | if (out[i] != expected) { 27 | fprintf(stderr, "verification failed: in[%u]=%u n=%u out[%u]=%u expected=%u\n", i, in[i], n, i, out[i], expected); 28 | okay = false; 29 | } 30 | } 31 | 32 | return okay; 33 | } 34 | -------------------------------------------------------------------------------- /comm_b.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // comm_b.h: Comm-B message decoding (prototypes) 4 | // 5 | // Copyright (c) 2017 FlightAware, LLC 6 | // Copyright (c) 2017 Oliver Jowett 7 | // 8 | // This file is free software: you may copy, redistribute and/or modify it 9 | // under the terms of the GNU General Public License as published by the 10 | // Free Software Foundation, either version 2 of the License, or (at your 11 | // option) any later version. 12 | // 13 | // This file is distributed in the hope that it will be useful, but 14 | // WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | 21 | #ifndef COMM_B_H 22 | #define COMM_B_H 23 | 24 | void decodeCommB(struct modesMessage *mm); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /cpu_features/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to Contribute 2 | 3 | We'd love to accept your patches and contributions to this project. There are 4 | just a few small guidelines you need to follow. 5 | 6 | ## Contributor License Agreement 7 | 8 | Contributions to this project must be accompanied by a Contributor License 9 | Agreement. You (or your employer) retain the copyright to your contribution; 10 | this simply gives us permission to use and redistribute your contributions as 11 | part of the project. Head over to to see 12 | your current agreements on file or to sign a new one. 13 | 14 | You generally only need to submit a CLA once, so if you've already submitted one 15 | (even if it was for a different project), you probably don't need to do it 16 | again. 17 | 18 | ## Code reviews 19 | 20 | All submissions, including submissions by project members, require review. We 21 | use GitHub pull requests for this purpose. Consult 22 | [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more 23 | information on using pull requests. 24 | -------------------------------------------------------------------------------- /cpu_features/test/hwcaps_for_testing.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef CPU_FEATURES_TEST_HWCAPS_FOR_TESTING_H_ 16 | #define CPU_FEATURES_TEST_HWCAPS_FOR_TESTING_H_ 17 | 18 | #include "internal/hwcaps.h" 19 | 20 | namespace cpu_features { 21 | 22 | void SetHardwareCapabilities(uint32_t hwcaps, uint32_t hwcaps2); 23 | void SetPlatformTypes(const char *platform, const char *base_platform); 24 | 25 | } // namespace cpu_features 26 | 27 | #endif // CPU_FEATURES_TEST_HWCAPS_FOR_TESTING_H_ 28 | -------------------------------------------------------------------------------- /adaptive.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // adaptive.h: adaptive gain control prototypes 4 | // 5 | // Copyright (c) 2021 FlightAware, LLC 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef ADAPTIVE_H 21 | #define ADAPTIVE_H 22 | 23 | #include 24 | 25 | struct modesMessage; 26 | 27 | void adaptive_init(); 28 | void adaptive_update(uint16_t *buf, unsigned length, struct modesMessage *decoded); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /sdr_hackrf.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_hackrf.h: HackRF One support (header) 4 | // 5 | // Copyright (c) 2019 FlightAware LLC 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef HACKRF_H 21 | #define HACKRF_H 22 | 23 | void hackRFInitConfig(); 24 | void hackRFShowHelp(); 25 | bool hackRFHandleOption(int argc, char **argv, int *jptr); 26 | bool hackRFOpen(); 27 | void hackRFRun(); 28 | void hackRFClose(); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /demod_2400.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // demod_2400.h: 2.4MHz Mode S demodulator prototypes. 4 | // 5 | // Copyright (c) 2014,2015 Oliver Jowett 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef DUMP1090_DEMOD_2400_H 21 | #define DUMP1090_DEMOD_2400_H 22 | 23 | #include 24 | 25 | struct mag_buf; 26 | 27 | void demodulate2400(struct mag_buf *mag); 28 | void demodulate2400AC(struct mag_buf *mag); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /public_html/noUiSlider/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Léon Gersen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /sdr_limesdr.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_limesdr.h: LimeSDR dongle support (header) 4 | // 5 | // Copyright (c) 2020 Gluttton 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef SDR_LIMESDR_H 21 | #define SDR_LIMESDR_H 22 | 23 | void limesdrInitConfig(); 24 | void limesdrShowHelp(); 25 | bool limesdrOpen(); 26 | void limesdrRun(); 27 | void limesdrClose(); 28 | bool limesdrHandleOption(int argc, char **argv, int *jptr); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /starch/example/generated/flavor.x86_64_avx.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_X86_64_AVX 5 | 6 | #include "starch.h" 7 | 8 | #undef STARCH_ALIGNMENT 9 | 10 | #define STARCH_ALIGNMENT 1 11 | #define STARCH_ALIGNED(_ptr) (_ptr) 12 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## x86_64_avx 13 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## x86_64_avx 14 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 15 | 16 | #include "../impl/subtract_n.c" 17 | 18 | 19 | #undef STARCH_ALIGNMENT 20 | #undef STARCH_ALIGNED 21 | #undef STARCH_SYMBOL 22 | #undef STARCH_IMPL 23 | #undef STARCH_IMPL_REQUIRES 24 | 25 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 26 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 27 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## x86_64_avx 28 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## x86_64_avx 29 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 30 | 31 | #include "../impl/subtract_n.c" 32 | 33 | -------------------------------------------------------------------------------- /starch/example/generated/flavor.x86_64_avx2.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_X86_64_AVX2 5 | 6 | #include "starch.h" 7 | 8 | #undef STARCH_ALIGNMENT 9 | 10 | #define STARCH_ALIGNMENT 1 11 | #define STARCH_ALIGNED(_ptr) (_ptr) 12 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## x86_64_avx2 13 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## x86_64_avx2 14 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 15 | 16 | #include "../impl/subtract_n.c" 17 | 18 | 19 | #undef STARCH_ALIGNMENT 20 | #undef STARCH_ALIGNED 21 | #undef STARCH_SYMBOL 22 | #undef STARCH_IMPL 23 | #undef STARCH_IMPL_REQUIRES 24 | 25 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 26 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 27 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## x86_64_avx2 28 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## x86_64_avx2 29 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 30 | 31 | #include "../impl/subtract_n.c" 32 | 33 | -------------------------------------------------------------------------------- /tools/vrs-to-csv.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2 2 | 3 | # 4 | # Converts a Virtual Radar Server BasicAircraftLookup.sqb database 5 | # to a CSV file suitable for feeding to csv-to-json.py 6 | # 7 | 8 | import sqlite3, csv, sys 9 | from contextlib import closing 10 | 11 | def extract(dbfile): 12 | writer = csv.DictWriter(sys.stdout, 13 | fieldnames=['icao24', 'r', 't']) 14 | writer.writeheader() 15 | with closing(sqlite3.connect(dbfile)) as db: 16 | with closing(db.execute('SELECT a.Icao, a.Registration, m.Icao FROM Aircraft a, Model m WHERE a.ModelID = m.ModelID')) as c: 17 | for icao24, reg, icaotype in c: 18 | writer.writerow({ 19 | 'icao24': icao24, 20 | 'r': reg, 21 | 't': icaotype 22 | }) 23 | 24 | if __name__ == '__main__': 25 | if len(sys.argv) < 2: 26 | print >>sys.stderr, 'Reads a VRS sqlite database and writes a CSV to stdout' 27 | print >>sys.stderr, 'Syntax: %s ' % sys.argv[0] 28 | sys.exit(1) 29 | else: 30 | extract(sys.argv[1]) 31 | sys.exit(0) 32 | -------------------------------------------------------------------------------- /dsp/benchmark/count_above_u16_benchmark.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void STARCH_BENCHMARK(count_above_u16) (void) 4 | { 5 | uint16_t *in = NULL; 6 | const unsigned len = 96; /* Typical use is with short burst windows (40us) */ 7 | const unsigned threshold = 46395; /* -3dBFS */ 8 | 9 | if (!(in = STARCH_BENCHMARK_ALLOC(len, uint16_t))) { 10 | goto done; 11 | } 12 | 13 | srand(1); 14 | for (unsigned i = 0; i < len; ++i) { 15 | in[i] = rand() % 65536; 16 | } 17 | 18 | unsigned count; 19 | STARCH_BENCHMARK_RUN( count_above_u16, in, len, threshold, &count ); 20 | 21 | done: 22 | STARCH_BENCHMARK_FREE(in); 23 | } 24 | 25 | bool STARCH_BENCHMARK_VERIFY(count_above_u16) (const uint16_t *in, unsigned len, uint16_t threshold, unsigned *out_count) 26 | { 27 | unsigned expected = 0; 28 | for (unsigned i = 0; i < len; ++i) { 29 | if (in[i] >= threshold) 30 | ++expected; 31 | } 32 | 33 | if (expected != *out_count) { 34 | fprintf(stderr, "verification failed: expected count %u, got count %u\n", expected, *out_count); 35 | return false; 36 | } 37 | 38 | return true; 39 | } 40 | -------------------------------------------------------------------------------- /sdr_bladerf.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_bladerf.h: bladeRF support (header) 4 | // 5 | // Copyright (c) 2017 FlightAware LLC 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef BLADERF_H 21 | #define BLADERF_H 22 | 23 | // Support for the Nuand bladeRF SDR 24 | 25 | void bladeRFInitConfig(); 26 | void bladeRFShowHelp(); 27 | bool bladeRFHandleOption(int argc, char **argv, int *jptr); 28 | bool bladeRFOpen(); 29 | void bladeRFRun(); 30 | void bladeRFClose(); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /starch/example/support.c: -------------------------------------------------------------------------------- 1 | #ifdef __arm__ 2 | 3 | #include 4 | #include 5 | 6 | int supports_neon_vfpv3(void) 7 | { 8 | long hwcaps = getauxval(AT_HWCAP); 9 | return (hwcaps & HWCAP_ARM_NEON) && (hwcaps & HWCAP_ARM_VFPv3); 10 | } 11 | 12 | int supports_neon_vfpv4(void) 13 | { 14 | long hwcaps = getauxval(AT_HWCAP); 15 | return (hwcaps & HWCAP_ARM_NEON) && (hwcaps & HWCAP_ARM_VFPv4); 16 | } 17 | 18 | #endif /* __arm__ */ 19 | 20 | #ifdef __x86_64__ 21 | 22 | #include 23 | #include 24 | 25 | int supports_x86_avx(void) 26 | { 27 | unsigned int maxlevel = __get_cpuid_max (0, 0); 28 | if (maxlevel < 1) 29 | return 0; 30 | 31 | unsigned eax, ebx, ecx, edx; 32 | __cpuid(1, eax, ebx, ecx, edx); 33 | if (!(ecx & bit_AVX)) 34 | return 0; 35 | 36 | return 1; 37 | } 38 | 39 | int supports_x86_avx2(void) 40 | { 41 | unsigned int maxlevel = __get_cpuid_max (0, 0); 42 | if (maxlevel < 7) 43 | return 0; 44 | 45 | unsigned eax, ebx, ecx, edx; 46 | __cpuid_count(7, 0, eax, ebx, ecx, edx); 47 | if (!(ebx & bit_AVX2)) 48 | return 0; 49 | 50 | return 1; 51 | } 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /starch/example/generated/flavor.armv7a_vfpv3.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_ARMV7A_VFPV3 5 | #define STARCH_FEATURE_NEON 6 | 7 | #include "starch.h" 8 | 9 | #undef STARCH_ALIGNMENT 10 | 11 | #define STARCH_ALIGNMENT 1 12 | #define STARCH_ALIGNED(_ptr) (_ptr) 13 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## armv7a_vfpv3 14 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## armv7a_vfpv3 15 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 16 | 17 | #include "../impl/subtract_n.c" 18 | 19 | 20 | #undef STARCH_ALIGNMENT 21 | #undef STARCH_ALIGNED 22 | #undef STARCH_SYMBOL 23 | #undef STARCH_IMPL 24 | #undef STARCH_IMPL_REQUIRES 25 | 26 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 27 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 28 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## armv7a_vfpv3 29 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## armv7a_vfpv3 30 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 31 | 32 | #include "../impl/subtract_n.c" 33 | 34 | -------------------------------------------------------------------------------- /starch/example/generated/flavor.armv7a_vfpv4.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_ARMV7A_VFPV4 5 | #define STARCH_FEATURE_NEON 6 | 7 | #include "starch.h" 8 | 9 | #undef STARCH_ALIGNMENT 10 | 11 | #define STARCH_ALIGNMENT 1 12 | #define STARCH_ALIGNED(_ptr) (_ptr) 13 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## armv7a_vfpv4 14 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## armv7a_vfpv4 15 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 16 | 17 | #include "../impl/subtract_n.c" 18 | 19 | 20 | #undef STARCH_ALIGNMENT 21 | #undef STARCH_ALIGNED 22 | #undef STARCH_SYMBOL 23 | #undef STARCH_IMPL 24 | #undef STARCH_IMPL_REQUIRES 25 | 26 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 27 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 28 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## armv7a_vfpv4 29 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## armv7a_vfpv4 30 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 31 | 32 | #include "../impl/subtract_n.c" 33 | 34 | -------------------------------------------------------------------------------- /compat/clock_nanosleep/LICENSE: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | * Copyright © 2006 Rémi Denis-Courmont. * 3 | * This program is free software; you can redistribute and/or modify * 4 | * it under the terms of the GNU General Public License as published * 5 | * by the Free Software Foundation; version 2 of the license, or (at * 6 | * your option) any later version. * 7 | * * 8 | * This program is distributed in the hope that it will be useful, * 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * 11 | * See the GNU General Public License for more details. * 12 | * * 13 | * You should have received a copy of the GNU General Public License * 14 | * along with this program; if not, you can get it from: * 15 | * http://www.gnu.org/copyleft/gpl.html * 16 | ***********************************************************************/ -------------------------------------------------------------------------------- /cpu_features/cmake/README.md: -------------------------------------------------------------------------------- 1 | # CMake build instructions 2 | 3 | ## Recommended usage : Incorporating cpu_features into a CMake project 4 | 5 | For API / ABI compatibility reasons, it is recommended to build and use 6 | cpu_features in a subdirectory of your project or as an embedded dependency. 7 | 8 | This is similar to the recommended usage of the googletest framework 9 | ( https://github.com/google/googletest/blob/master/googletest/README.md ) 10 | 11 | Build and use step-by-step 12 | 13 | 14 | 1- Download cpu_features and copy it in a sub-directory in your project. 15 | or add cpu_features as a git-submodule in your project 16 | 17 | 2- You can then use the cmake command `add_subdirectory()` to include 18 | cpu_features directly and use the `cpu_features` target in your project. 19 | 20 | 3- Add the `cpu_features` target to the `target_link_libraries()` section of 21 | your executable or of your library. 22 | 23 | ## Enabling tests 24 | 25 | CMake default options for cpu_features is Release built type with tests 26 | disabled. To enable testing set cmake `BUILD_TESTING` variable to `ON`, 27 | [.travis.yml](../.travis.yml) and [appveyor.yml](../appveyor.yml) have up to 28 | date examples. 29 | -------------------------------------------------------------------------------- /sdr_ifile.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_ifile.c: "file" SDR support (header) 4 | // 5 | // Copyright (c) 2016-2017 Oliver Jowett 6 | // Copyright (c) 2017 FlightAware LLC 7 | // 8 | // This file is free software: you may copy, redistribute and/or modify it 9 | // under the terms of the GNU General Public License as published by the 10 | // Free Software Foundation, either version 2 of the License, or (at your 11 | // option) any later version. 12 | // 13 | // This file is distributed in the hope that it will be useful, but 14 | // WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | 21 | #ifndef SDR_IFILE_H 22 | #define SDR_IFILE_H 23 | 24 | // Pseudo-SDR that reads from a sample file 25 | 26 | void ifileInitConfig(); 27 | void ifileShowHelp(); 28 | bool ifileHandleOption(int argc, char **argv, int *jptr); 29 | bool ifileOpen(); 30 | void ifileRun(); 31 | void ifileClose(); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /public_html/geojson/L3Harris/Route_Name_Labels.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "Route Name Labels", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | { "type": "Feature", "properties": { "Name": "ZAMFIR VNAV", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.778016666666701, 38.225316666666657 ] } }, 7 | { "type": "Feature", "properties": { "Name": "DAYGO VNAV", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.516666666666694, 37.815696927050809 ] } }, 8 | { "type": "Feature", "properties": { "Name": "MONTY VNAV", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.224276586928397, 37.711888564308083 ] } }, 9 | { "type": "Feature", "properties": { "Name": "YAK VNAV", "description": null }, "geometry": { "type": "Point", "coordinates": [ -103.90945, 37.940933333333327 ] } }, 10 | { "type": "Feature", "properties": { "Name": "NAVE VNAV", "description": null }, "geometry": { "type": "Point", "coordinates": [ -103.671376977254795, 38.363625562215823 ] } }, 11 | { "type": "Feature", "properties": { "Name": "FUENTES VNAV", "description": null }, "geometry": { "type": "Point", "coordinates": [ -103.815191725505898, 38.601790885868098 ] } } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /public_html/noUiSlider/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Issues 2 | Please, only use the issue tracker for **problems, bugs and feature requests**. 3 | 4 | For help with _implementing_ noUiSlider, please ask your question on [stackoverflow](https://stackoverflow.com/questions/tagged/nouislider). I try to look at questions posted there daily, and you will get you an answer much faster. Make sure to follow the [guidelines](https://stackoverflow.com/help/how-to-ask) of the platform. 5 | 6 | While I'm happy to help if you can't figure something out, please note that I: 7 | - Can't go and debug problems just based on screenshots; 8 | - Can't help with issues that do not include **an example with code** that reproduces it; 9 | - Won't dig through your production site or huge chunks of unrelated code; 10 | - Won't implement your business requirements for you; 11 | 12 | # Tooling 13 | 14 | Please run the following tooling before submitting a pull request: 15 | 16 | ```bash 17 | npm run lint 18 | npm run format 19 | ``` 20 | 21 | # Pull requests 22 | - Detail (in the pull request comment) what your changes do. 23 | - When applicable, include new unit tests, and make sure existing ones pass. 24 | - If you are introducing a new feature, update the **documentation**. 25 | - Please don't commit `/distribute/*` files, I'll do that upon release. 26 | -------------------------------------------------------------------------------- /sdr_soapy.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_soapy.h: SoapySDR dongle support (header) 4 | // 5 | // Copyright (c) 2016-2017 Oliver Jowett 6 | // Copyright (c) 2017 FlightAware LLC 7 | // 8 | // This file is free software: you may copy, redistribute and/or modify it 9 | // under the terms of the GNU General Public License as published by the 10 | // Free Software Foundation, either version 2 of the License, or (at your 11 | // option) any later version. 12 | // 13 | // This file is distributed in the hope that it will be useful, but 14 | // WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | 21 | #ifndef SDR_SOAPY_H 22 | #define SDR_SOAPY_H 23 | 24 | void soapyInitConfig(); 25 | void soapyShowHelp(); 26 | bool soapyOpen(); 27 | void soapyRun(); 28 | void soapyClose(); 29 | bool soapyHandleOption(int argc, char **argv, int *jptr); 30 | int soapyGetGain(); 31 | int soapyGetMaxGain(); 32 | double soapyGetGainDb(int step); 33 | int soapySetGain(int step); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /cpu_features/include/internal/cpuid_x86.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef CPU_FEATURES_INCLUDE_INTERNAL_CPUID_X86_H_ 16 | #define CPU_FEATURES_INCLUDE_INTERNAL_CPUID_X86_H_ 17 | 18 | #include 19 | 20 | #include "cpu_features_macros.h" 21 | 22 | CPU_FEATURES_START_CPP_NAMESPACE 23 | 24 | // A struct to hold the result of a call to cpuid. 25 | typedef struct { 26 | uint32_t eax, ebx, ecx, edx; 27 | } Leaf; 28 | 29 | // Returns the result of a call to the cpuid instruction. 30 | Leaf GetCpuidLeaf(uint32_t leaf_id, int ecx); 31 | 32 | // Returns the eax value of the XCR0 register. 33 | uint32_t GetXCR0Eax(void); 34 | 35 | CPU_FEATURES_END_CPP_NAMESPACE 36 | 37 | #endif // CPU_FEATURES_INCLUDE_INTERNAL_CPUID_X86_H_ 38 | -------------------------------------------------------------------------------- /public_html/README.md: -------------------------------------------------------------------------------- 1 | # SkyAware Features 2 | 3 | ## Customize display via URL query strings 4 | 5 | Syntax: /skyaware/?parameter=value 6 | 7 | Examples: 8 | 9 | http:///skyaware/?sidebar=hide 10 | 11 | http:///skyaware/?altitudeChart=hide 12 | 13 | http:///skyaware/?rangeRings=hide 14 | 15 | http:///skyaware/?ringCount=3&ringBaseDistance=100&ringInterval=50 16 | 17 | | Parameter | Possible Values | 18 | | :---------: | :---------: | 19 | | banner | show/hide | 20 | | altitudeChart | show/hide | 21 | | aircraftTrails | show/hide | 22 | | map | show/hide | 23 | | sidebar | show/hide | 24 | | zoomOut | 0 - 5 | 25 | | zoomIn | 0 - 5 | 26 | | moveNorth | 0 - 5 | 27 | | moveSouth | 0 - 5 | 28 | | moveWest | 0 - 5 | 29 | | moveEast | 0 - 5 | 30 | | displayUnits | nautical/imperial/metric | 31 | | rangeRings | show/hide | 32 | | ringCount | integer | 33 | | ringBaseDistance | integer | 34 | | ringInterval | integer | 35 | 36 | 37 | 38 | ## New World/US/Europe Basemaps and Overlays 39 | 40 | Click the OpenLayers icon on the bottom right of the map to select baselayers and overlays 41 | 42 | ## Ability to show/hide columns in the aircraft table 43 | 44 | The "Select Columns" button on the aircraft table allows you to choose which columns to show for your preferred display 45 | -------------------------------------------------------------------------------- /sdr_rtlsdr.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_rtlsdr.h: rtlsdr dongle support (header) 4 | // 5 | // Copyright (c) 2016-2017 Oliver Jowett 6 | // Copyright (c) 2017 FlightAware LLC 7 | // 8 | // This file is free software: you may copy, redistribute and/or modify it 9 | // under the terms of the GNU General Public License as published by the 10 | // Free Software Foundation, either version 2 of the License, or (at your 11 | // option) any later version. 12 | // 13 | // This file is distributed in the hope that it will be useful, but 14 | // WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | 21 | #ifndef SDR_RTLSDR_H 22 | #define SDR_RTLSDR_H 23 | 24 | void rtlsdrInitConfig(); 25 | void rtlsdrShowHelp(); 26 | bool rtlsdrOpen(); 27 | void rtlsdrRun(); 28 | void rtlsdrStop(); 29 | void rtlsdrClose(); 30 | bool rtlsdrHandleOption(int argc, char **argv, int *jptr); 31 | int rtlsdrGetGain(); 32 | int rtlsdrGetMaxGain(); 33 | double rtlsdrGetGainDb(int step); 34 | int rtlsdrSetGain(int step); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /compat/compat.h: -------------------------------------------------------------------------------- 1 | #ifndef COMPAT_UTIL_H 2 | #define COMPAT_UTIL_H 3 | 4 | /* 5 | * Platform-specific bits 6 | */ 7 | 8 | #if defined(__APPLE__) 9 | 10 | /* 11 | * Mach endian conversion 12 | */ 13 | # include 14 | # define bswap_16 OSSwapInt16 15 | # define bswap_32 OSSwapInt32 16 | # define bswap_64 OSSwapInt64 17 | # include 18 | # define le16toh(x) OSSwapLittleToHostInt16(x) 19 | # define le32toh(x) OSSwapLittleToHostInt32(x) 20 | # define le64toh(x) OSSwapLittleToHostInt64(x) 21 | 22 | #elif defined(__FreeBSD__) 23 | #include 24 | 25 | #else // other platforms 26 | 27 | # include 28 | 29 | #endif 30 | 31 | /* clock_* and time-related types */ 32 | 33 | #include 34 | 35 | #if defined(CLOCK_REALTIME) 36 | # define HAVE_CLOCKID_T 37 | #endif 38 | 39 | #ifndef HAVE_CLOCKID_T 40 | typedef enum 41 | { 42 | CLOCK_REALTIME, 43 | CLOCK_MONOTONIC, 44 | CLOCK_PROCESS_CPUTIME_ID, 45 | CLOCK_THREAD_CPUTIME_ID 46 | } clockid_t; 47 | #endif // !HAVE_CLOCKID_T 48 | 49 | #ifndef TIMER_ABSTIME 50 | #define TIMER_ABSTIME 1 51 | #endif // !TIMER_ABSTIME 52 | 53 | struct timespec; 54 | 55 | #ifdef MISSING_NANOSLEEP 56 | #include "clock_nanosleep/clock_nanosleep.h" 57 | #endif 58 | 59 | #ifdef MISSING_GETTIME 60 | #include "clock_gettime/clock_gettime.h" 61 | #endif 62 | 63 | #endif //COMPAT_UTIL_H 64 | -------------------------------------------------------------------------------- /starch/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020, FlightAware LLC. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | -------------------------------------------------------------------------------- /public_html/geojson/L3Harris/Area_Labels_Green.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "Area Labels Green", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | { "type": "Feature", "properties": { "Name": "34", "description": null }, "geometry": { "type": "Point", "coordinates": [ -103.394989543345304, 38.221444984317912 ] } }, 7 | { "type": "Feature", "properties": { "Name": "20", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.108787191326698, 38.52897782724834 ] } }, 8 | { "type": "Feature", "properties": { "Name": "26", "description": null }, "geometry": { "type": "Point", "coordinates": [ -103.891422941734106, 38.381194924286987 ] } }, 9 | { "type": "Feature", "properties": { "Name": "24", "description": null }, "geometry": { "type": "Point", "coordinates": [ -103.899322273736502, 38.159323336034419 ] } }, 10 | { "type": "Feature", "properties": { "Name": "21", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.331009713334595, 37.865885913709697 ] } }, 11 | { "type": "Feature", "properties": { "Name": "12", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.467981333665605, 37.941096179848813 ] } }, 12 | { "type": "Feature", "properties": { "Name": "1", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.613590370470206, 38.083333333333343 ] } } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /cpu_features/include/internal/bit_utils.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef CPU_FEATURES_INCLUDE_INTERNAL_BIT_UTILS_H_ 16 | #define CPU_FEATURES_INCLUDE_INTERNAL_BIT_UTILS_H_ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | #include "cpu_features_macros.h" 23 | 24 | CPU_FEATURES_START_CPP_NAMESPACE 25 | 26 | inline static bool IsBitSet(uint32_t reg, uint32_t bit) { 27 | return (reg >> bit) & 0x1; 28 | } 29 | 30 | inline static uint32_t ExtractBitRange(uint32_t reg, uint32_t msb, 31 | uint32_t lsb) { 32 | const uint64_t bits = msb - lsb + 1ULL; 33 | const uint64_t mask = (1ULL << bits) - 1ULL; 34 | assert(msb >= lsb); 35 | return (reg >> lsb) & mask; 36 | } 37 | 38 | CPU_FEATURES_END_CPP_NAMESPACE 39 | 40 | #endif // CPU_FEATURES_INCLUDE_INTERNAL_BIT_UTILS_H_ 41 | -------------------------------------------------------------------------------- /public_html/geojson/L3Harris/Den_Apch_Inbound_Call_Points_Visual.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "Den Apch Inbound Call Points [Visual]", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | { "type": "Feature", "properties": { "Name": "CREEK", "description": "The intersection of Chicosa Creek and the Rocky Ford Highline Canal, located 4.5 nm west of CO80 (Fowler Airport). CREEK is located at the southern tip of a prominent peninsula of agricultural land bounded on the south side by this canal. CREEK is a Denver Approach inbound call point." }, "geometry": { "type": "Point", "coordinates": [ -104.113500018276994, 38.121166665835801 ] } }, 7 | { "type": "Feature", "properties": { "Name": "POND", "description": "A small reservoir located between Mineral Creek and Hardscrabble Creek, 2.5 miles southeast of the Federal Correctional Complex. POND is a Denver Approach inbound call point." }, "geometry": { "type": "Point", "coordinates": [ -105.073216699355001, 38.318049977253203 ] } }, 8 | { "type": "Feature", "properties": { "Name": "RANCH", "description": "A point on I-25 located 12 nm northwest of KPUB, and PUB 14 DME. RANCH is just south of Young Hollow Rd and can be visually identified by the ranch house on the east edge of the freeway. RANCH is a Denver Approach inbound call point." }, "geometry": { "type": "Point", "coordinates": [ -104.615000002806994, 38.475333304155001 ] } } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /dsp/generated/flavor.armv8_a.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_ARMV8_A 5 | 6 | #include "starch.h" 7 | 8 | #undef STARCH_ALIGNMENT 9 | 10 | #define STARCH_ALIGNMENT 1 11 | #define STARCH_ALIGNED(_ptr) (_ptr) 12 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## armv8_a 13 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## armv8_a 14 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 15 | 16 | #include "../impl/magnitude_power_uc8.c" 17 | #include "../impl/magnitude_sc16.c" 18 | #include "../impl/magnitude_sc16q11.c" 19 | #include "../impl/magnitude_uc8.c" 20 | #include "../impl/mean_power_u16.c" 21 | 22 | 23 | #undef STARCH_ALIGNMENT 24 | #undef STARCH_ALIGNED 25 | #undef STARCH_SYMBOL 26 | #undef STARCH_IMPL 27 | #undef STARCH_IMPL_REQUIRES 28 | 29 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 30 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 31 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## armv8_a 32 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## armv8_a 33 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 34 | 35 | #include "../impl/magnitude_power_uc8.c" 36 | #include "../impl/magnitude_sc16.c" 37 | #include "../impl/magnitude_sc16q11.c" 38 | #include "../impl/magnitude_uc8.c" 39 | #include "../impl/mean_power_u16.c" 40 | 41 | -------------------------------------------------------------------------------- /crc.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // crc.h: Mode S checksum prototypes. 4 | // 5 | // Copyright (c) 2014,2015 Oliver Jowett 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef DUMP1090_CRC_H 21 | #define DUMP1090_CRC_H 22 | 23 | #include 24 | 25 | // Global max for fixable bit erros 26 | #define MODES_MAX_BITERRORS 2 27 | 28 | struct errorinfo { 29 | uint32_t syndrome; // CRC syndrome 30 | int errors; // number of errors 31 | int8_t bit[MODES_MAX_BITERRORS]; // bit positions to fix (-1 = no bit) 32 | }; 33 | 34 | void modesChecksumInit(int fixBits); 35 | uint32_t modesChecksum(const uint8_t *msg, int bitlen); 36 | struct errorinfo *modesChecksumDiagnose(uint32_t syndrome, int bitlen); 37 | void modesChecksumFix(uint8_t *msg, struct errorinfo *info); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /cpu_features/include/internal/filesystem.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // An interface for the filesystem that allows mocking the filesystem in 16 | // unittests. 17 | #ifndef CPU_FEATURES_INCLUDE_INTERNAL_FILESYSTEM_H_ 18 | #define CPU_FEATURES_INCLUDE_INTERNAL_FILESYSTEM_H_ 19 | 20 | #include 21 | #include 22 | 23 | #include "cpu_features_macros.h" 24 | 25 | CPU_FEATURES_START_CPP_NAMESPACE 26 | 27 | // Same as linux "open(filename, O_RDONLY)", retries automatically on EINTR. 28 | int CpuFeatures_OpenFile(const char* filename); 29 | 30 | // Same as linux "read(file_descriptor, buffer, buffer_size)", retries 31 | // automatically on EINTR. 32 | int CpuFeatures_ReadFile(int file_descriptor, void* buffer, size_t buffer_size); 33 | 34 | // Same as linux "close(file_descriptor)". 35 | void CpuFeatures_CloseFile(int file_descriptor); 36 | 37 | CPU_FEATURES_END_CPP_NAMESPACE 38 | 39 | #endif // CPU_FEATURES_INCLUDE_INTERNAL_FILESYSTEM_H_ 40 | -------------------------------------------------------------------------------- /dsp/generated/flavor.x86_avx2.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_X86_AVX2 5 | 6 | #include "starch.h" 7 | 8 | #undef STARCH_ALIGNMENT 9 | 10 | #define STARCH_ALIGNMENT 1 11 | #define STARCH_ALIGNED(_ptr) (_ptr) 12 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## x86_avx2 13 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## x86_avx2 14 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 15 | 16 | #include "../impl/count_above_u16.c" 17 | #include "../impl/magnitude_power_uc8.c" 18 | #include "../impl/magnitude_sc16.c" 19 | #include "../impl/magnitude_sc16q11.c" 20 | #include "../impl/magnitude_uc8.c" 21 | #include "../impl/mean_power_u16.c" 22 | 23 | 24 | #undef STARCH_ALIGNMENT 25 | #undef STARCH_ALIGNED 26 | #undef STARCH_SYMBOL 27 | #undef STARCH_IMPL 28 | #undef STARCH_IMPL_REQUIRES 29 | 30 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 31 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 32 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## x86_avx2 33 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## x86_avx2 34 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 35 | 36 | #include "../impl/count_above_u16.c" 37 | #include "../impl/magnitude_power_uc8.c" 38 | #include "../impl/magnitude_sc16.c" 39 | #include "../impl/magnitude_sc16q11.c" 40 | #include "../impl/magnitude_uc8.c" 41 | #include "../impl/mean_power_u16.c" 42 | 43 | -------------------------------------------------------------------------------- /Makefile.cpufeatures: -------------------------------------------------------------------------------- 1 | # -*- makefile -*- 2 | 3 | # cmake integration is a little tricky, so let's do this by hand for now 4 | 5 | CPUFEATURES_UNAME ?= $(UNAME) 6 | CPUFEATURES_ARCH ?= $(ARCH) 7 | CPUFEATURES_CFLAGS ?= $(CFLAGS) 8 | 9 | CPUFEATURES_OBJS := cpu_features/src/filesystem.o cpu_features/src/stack_line_reader.o cpu_features/src/string_view.o 10 | CPUFEATURES_EXTRA_CFLAGS := -std=c99 11 | CPUFEATURES_EXTRA_CPPFLAGS := -DSTACK_LINE_READER_BUFFER_SIZE=1024 -DNDEBUG -Icpu_features/include 12 | 13 | ifeq ($(CPUFEATURES_UNAME),Linux) 14 | CPUFEATURES_OBJS += cpu_features/src/hwcaps.o 15 | CPUFEATURES_EXTRA_CPPFLAGS += -DHAVE_STRONG_GETAUXVAL 16 | else ifeq ($(CPUFEATURES_UNAME),Darwin) 17 | CPUFEATURES_EXTRA_CPPFLAGS += -DHAVE_SYSCTLBYNAME 18 | endif 19 | 20 | ifeq ($(CPUFEATURES_ARCH),x86_64) 21 | CPUFEATURES_OBJS += cpu_features/src/cpuinfo_x86.o 22 | else ifeq ($(CPUFEATURES_ARCH),amd64) 23 | CPUFEATURES_OBJS += cpu_features/src/cpuinfo_x86.o 24 | else ifneq (,$(filter i%86,$(CPUFEATURES_ARCH))) 25 | CPUFEATURES_OBJS += cpu_features/src/cpuinfo_x86.o 26 | else ifneq (,$(findstring aarch64,$(CPUFEATURES_ARCH))) 27 | CPUFEATURES_OBJS += cpu_features/src/cpuinfo_aarch64.o 28 | else ifneq (,$(findstring arm64,$(CPUFEATURES_ARCH))) 29 | CPUFEATURES_OBJS += cpu_features/src/cpuinfo_aarch64.o 30 | else ifneq (,$(findstring arm,$(CPUFEATURES_ARCH))) 31 | CPUFEATURES_OBJS += cpu_features/src/cpuinfo_arm.o 32 | endif 33 | 34 | $(CPUFEATURES_OBJS): override ALL_CCFLAGS := $(CPUFEATURES_CPPFLAGS) $(CPUFEATURES_EXTRA_CPPFLAGS) $(CPUFEATURES_CFLAGS) $(CPUFEATURES_EXTRA_CFLAGS) 35 | -------------------------------------------------------------------------------- /dsp/generated/flavor.armv8_neon_simd.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_ARMV8_NEON_SIMD 5 | #define STARCH_FEATURE_NEON 6 | 7 | #include "starch.h" 8 | 9 | #undef STARCH_ALIGNMENT 10 | 11 | #define STARCH_ALIGNMENT 1 12 | #define STARCH_ALIGNED(_ptr) (_ptr) 13 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## armv8_neon_simd 14 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## armv8_neon_simd 15 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 16 | 17 | #include "../impl/count_above_u16.c" 18 | #include "../impl/magnitude_power_uc8.c" 19 | #include "../impl/magnitude_sc16.c" 20 | #include "../impl/magnitude_sc16q11.c" 21 | #include "../impl/magnitude_uc8.c" 22 | #include "../impl/mean_power_u16.c" 23 | 24 | 25 | #undef STARCH_ALIGNMENT 26 | #undef STARCH_ALIGNED 27 | #undef STARCH_SYMBOL 28 | #undef STARCH_IMPL 29 | #undef STARCH_IMPL_REQUIRES 30 | 31 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 32 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 33 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## armv8_neon_simd 34 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## armv8_neon_simd 35 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 36 | 37 | #include "../impl/count_above_u16.c" 38 | #include "../impl/magnitude_power_uc8.c" 39 | #include "../impl/magnitude_sc16.c" 40 | #include "../impl/magnitude_sc16q11.c" 41 | #include "../impl/magnitude_uc8.c" 42 | #include "../impl/mean_power_u16.c" 43 | 44 | -------------------------------------------------------------------------------- /dsp/generated/flavor.armv7a_neon_vfpv4.c: -------------------------------------------------------------------------------- 1 | 2 | /* starch generated code. Do not edit. */ 3 | 4 | #define STARCH_FLAVOR_ARMV7A_NEON_VFPV4 5 | #define STARCH_FEATURE_NEON 6 | 7 | #include "starch.h" 8 | 9 | #undef STARCH_ALIGNMENT 10 | 11 | #define STARCH_ALIGNMENT 1 12 | #define STARCH_ALIGNED(_ptr) (_ptr) 13 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _ ## armv7a_neon_vfpv4 14 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _ ## _impl ## _ ## armv7a_neon_vfpv4 15 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 16 | 17 | #include "../impl/count_above_u16.c" 18 | #include "../impl/magnitude_power_uc8.c" 19 | #include "../impl/magnitude_sc16.c" 20 | #include "../impl/magnitude_sc16q11.c" 21 | #include "../impl/magnitude_uc8.c" 22 | #include "../impl/mean_power_u16.c" 23 | 24 | 25 | #undef STARCH_ALIGNMENT 26 | #undef STARCH_ALIGNED 27 | #undef STARCH_SYMBOL 28 | #undef STARCH_IMPL 29 | #undef STARCH_IMPL_REQUIRES 30 | 31 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 32 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 33 | #define STARCH_SYMBOL(_name) starch_ ## _name ## _aligned_ ## armv7a_neon_vfpv4 34 | #define STARCH_IMPL(_function,_impl) starch_ ## _function ## _aligned_ ## _impl ## _ ## armv7a_neon_vfpv4 35 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 36 | 37 | #include "../impl/count_above_u16.c" 38 | #include "../impl/magnitude_power_uc8.c" 39 | #include "../impl/magnitude_sc16.c" 40 | #include "../impl/magnitude_sc16q11.c" 41 | #include "../impl/magnitude_uc8.c" 42 | #include "../impl/mean_power_u16.c" 43 | 44 | -------------------------------------------------------------------------------- /icao_filter.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // icao_filter.c: prototypes for ICAO address hashtable 4 | // 5 | // Copyright (c) 2014,2015 Oliver Jowett 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef DUMP1090_ICAO_FILTER_H 21 | #define DUMP1090_ICAO_FILTER_H 22 | 23 | // Special address bit used to mark ADS-B (NT) emitters 24 | #define ICAO_FILTER_ADSB_NT (1 << 25) 25 | 26 | // Call once: 27 | void icaoFilterInit(); 28 | 29 | // Add an address to the filter 30 | void icaoFilterAdd(uint32_t addr); 31 | 32 | // Test if the given address matches the filter 33 | int icaoFilterTest(uint32_t addr); 34 | 35 | // Test if the top 16 bits match any previously added address. 36 | // If they do, returns an arbitrary one of the matched 37 | // addresses. Returns 0 on failure. 38 | uint32_t icaoFilterTestFuzzy(uint32_t partial); 39 | 40 | // Call this periodically to allow the filter to expire 41 | // old entries. 42 | void icaoFilterExpire(); 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /compat/clock_gettime/LICENSE: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c), MM Weiss 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without modification, 6 | * are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright notice, 12 | * this list of conditions and the following disclaimer in the documentation 13 | * and/or other materials provided with the distribution. 14 | * 15 | * 3. Neither the name of the MM Weiss nor the names of its contributors 16 | * may be used to endorse or promote products derived from this software without 17 | * specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 20 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 22 | * SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 24 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 26 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 27 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ -------------------------------------------------------------------------------- /cpr.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // cpr.h - Compact Position Reporting prototypes 4 | // 5 | // Copyright (c) 2014,2015 Oliver Jowett 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef DUMP1090_CPR_H 21 | #define DUMP1090_CPR_H 22 | 23 | int decodeCPRairborne(int even_cprlat, int even_cprlon, 24 | int odd_cprlat, int odd_cprlon, 25 | int fflag, 26 | double *out_lat, double *out_lon); 27 | 28 | int decodeCPRsurface(double reflat, double reflon, 29 | int even_cprlat, int even_cprlon, 30 | int odd_cprlat, int odd_cprlon, 31 | int fflag, 32 | double *out_lat, double *out_lon); 33 | 34 | int decodeCPRrelative(double reflat, double reflon, 35 | int cprlat, int cprlon, 36 | int fflag, int surface, 37 | double *out_lat, double *out_lon); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /public_html/noUiSlider/README.md: -------------------------------------------------------------------------------- 1 | # noUiSlider 2 | 3 | noUiSlider is a lightweight JavaScript range slider. 4 | 5 | - **No dependencies** 6 | - All modern browsers and IE > 9 are supported 7 | - Fully **responsive** 8 | - **Multi-touch support** on Android, iOS and Windows devices 9 | - Accessible with `aria` and keyboard support 10 | - Tons of [examples](https://refreshless.com/nouislider/examples) and answered [Stack Overflow questions](https://stackoverflow.com/questions/tagged/nouislider) 11 | 12 | License 13 | ------- 14 | noUiSlider is licensed [MIT](https://choosealicense.com/licenses/mit/). 15 | 16 | It can be used **for free** and **without any attribution**, in any personal or commercial project. 17 | 18 | [Documentation](https://refreshless.com/nouislider/) 19 | ------- 20 | An extensive documentation, including **examples**, **options** and **configuration details**, is available here: 21 | 22 | [noUiSlider documentation](https://refreshless.com/nouislider/). 23 | 24 | Contributing 25 | ------------ 26 | 27 | See [Contributing](CONTRIBUTING.md). 28 | 29 | Sponsorship 30 | ----------- 31 | 32 | noUiSlider is a stable project that still receives a lot of feature requests. A lot of these are interesting, but require a good amount of effort to implement, test and document. Sponsorship of this project will allow me to spend some more of my time on these feature requests. 33 | 34 | Please consider sponsoring the project by clicking the "❤ Sponsor" button above. Thanks! 35 | 36 | Tooling 37 | ------- 38 | 39 | Cross-browser testing kindly provided by BrowserStack. 40 | 41 | [![Tested with BrowserStack](documentation/assets/browserstack-logo-380x90.png)](http://browserstack.com/) 42 | -------------------------------------------------------------------------------- /convert.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // convert.h: support for various IQ -> magnitude conversions 4 | // 5 | // Copyright (c) 2015 Oliver Jowett 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #ifndef DUMP1090_CONVERT_H 21 | #define DUMP1090_CONVERT_H 22 | 23 | struct converter_state; 24 | typedef enum { INPUT_UC8=0, INPUT_SC16, INPUT_SC16Q11 } input_format_t; 25 | 26 | typedef void (*iq_convert_fn)(void *iq_data, 27 | uint16_t *mag_data, 28 | unsigned nsamples, 29 | struct converter_state *state, 30 | double *out_mean_level, 31 | double *out_mean_power); 32 | 33 | iq_convert_fn init_converter(input_format_t format, 34 | double sample_rate, 35 | int filter_dc, 36 | struct converter_state **out_state); 37 | 38 | void cleanup_converter(struct converter_state *state); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /dsp/benchmark/mean_power_u16_benchmark.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void STARCH_BENCHMARK(mean_power_u16) (void) 4 | { 5 | uint16_t *in = NULL; 6 | double mean_mag, mean_magsq; 7 | const unsigned len = 65536; 8 | 9 | if (!(in = STARCH_BENCHMARK_ALLOC(len, uint16_t))) { 10 | goto done; 11 | } 12 | 13 | for (unsigned i = 0; i < len; ++i) { 14 | in[i] = i; 15 | } 16 | 17 | STARCH_BENCHMARK_RUN( mean_power_u16, in, len, &mean_mag, &mean_magsq ); 18 | 19 | done: 20 | STARCH_BENCHMARK_FREE(in); 21 | } 22 | 23 | bool STARCH_BENCHMARK_VERIFY(mean_power_u16) (const uint16_t *in, unsigned len, double *out_mag, double *out_magsq) 24 | { 25 | const double max_error = 0.01; // tolerate 1% error 26 | 27 | double sum_mag = 0; 28 | double sum_magsq = 0; 29 | 30 | for (unsigned i = 0; i < len; ++i) { 31 | double mag = in[i] / 65536.0; 32 | sum_mag += mag; 33 | sum_magsq += mag * mag; 34 | } 35 | 36 | sum_mag /= len; 37 | sum_magsq /= len; 38 | 39 | bool okay = true; 40 | 41 | double mag_error = sum_mag - *out_mag; 42 | if (fabs(mag_error / sum_mag) > max_error) { 43 | fprintf(stderr, "verification failed: expected mean magnitude %.5f, got %.5f, error=%.2f%%\n", 44 | sum_mag, *out_mag, 100.0 * mag_error / sum_mag); 45 | okay = false; 46 | } 47 | 48 | 49 | double magsq_error = sum_magsq - *out_magsq; 50 | if (fabs(magsq_error / sum_magsq) > max_error) { 51 | fprintf(stderr, "verification failed: expected mean magnitude-squared %.5f, got %.5f, error=%.2f%%\n", 52 | sum_magsq, *out_magsq, 100.0 * magsq_error / sum_magsq); 53 | okay = false; 54 | } 55 | 56 | return okay; 57 | } 58 | -------------------------------------------------------------------------------- /public_html/geojson/L3Harris/USAFA_Area_Labels.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "USAFA Area Labels", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | { "type": "Feature", "properties": { "Name": "1", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.543043445285306, 39.166221962827521 ] } }, 7 | { "type": "Feature", "properties": { "Name": "2", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.505478284347504, 39.259706129988963 ] } }, 8 | { "type": "Feature", "properties": { "Name": "3", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.395612152654493, 39.080767911987287 ] } }, 9 | { "type": "Feature", "properties": { "Name": "4", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.295492848292596, 39.141579539503482 ] } }, 10 | { "type": "Feature", "properties": { "Name": "6", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.211329504925999, 38.992395314879637 ] } }, 11 | { "type": "Feature", "properties": { "Name": "7", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.313921035681602, 38.844955448520167 ] } }, 12 | { "type": "Feature", "properties": { "Name": "8", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.188957380887103, 38.806128190249588 ] } }, 13 | { "type": "Feature", "properties": { "Name": "9", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.394206408600894, 38.755605541567057 ] } }, 14 | { "type": "Feature", "properties": { "Name": "10", "description": null }, "geometry": { "type": "Point", "coordinates": [ -104.308655695004902, 38.686307261796898 ] } } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /bladerf/README: -------------------------------------------------------------------------------- 1 | bladeRF support 2 | --------------- 3 | 4 | There is basic support for the bladeRF included in dump1090-fa. 5 | It uses the same demodulator as the regular rtlsdr version and it does not 6 | take advantage of the bladeRF's improved sampling rate or FPGA (but see below) 7 | 8 | To use it: 9 | 10 | $ dump1090-fa --device-type bladerf --gain 66 (.. other options ..) 11 | 12 | The bladeRF has sensitivity problems when receiving ADS-B and will benefit 13 | from all the gain you can give it. 66dB is the maximum configurable gain on 14 | the board itself, you may want to add an external LNA too. 15 | 16 | 17 | bladeRF custom FPGA bitstream 18 | ----------------------------- 19 | 20 | The package includes a custom FPGA bitstream for the bladeRF which can 21 | improve ADS-B reception with dump1090. 22 | 23 | It adds a Fs/4 mixer step to avoid the DC offset of the bladeRF, and 24 | decimate-by-8 downsampling step to improve sensitivity. Some of the bladeRF 25 | parameters need to be adjusted so that it produces correctly tuned/downsampled 26 | data in the form that dump1090 is expecting. 27 | 28 | To use it: 29 | 30 | $ dump1090-fa --device-type bladerf --gain 66 \ 31 | --bladerf-fpga /usr/share/dump1090-fa/bladerf/decimate8-x40.rbf \ 32 | --bladerf-decimation 8 \ 33 | --bladerf-bandwidth 14000000 \ 34 | --freq 1085200000 \ 35 | (other options ...) 36 | 37 | The bladeRF will be configured for a 19.2MHz sampling rate and will tune to 38 | 1085.2MHz so that the 1090MHz signal appears around 4.8MHz in the baseband 39 | samples. The FPGA Fs/4 mixing step shifts the baseband signal so that it is centered 40 | around 0, and the FPGA downsampling step produces samples at 2.4MHz, which is what 41 | dump1090 is expecting. 42 | 43 | This FPGA bitstream is built for the 40kLE bladeRF. 44 | -------------------------------------------------------------------------------- /cpu_features/test/bit_utils_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "internal/bit_utils.h" 16 | 17 | #include "gtest/gtest.h" 18 | 19 | namespace cpu_features { 20 | namespace { 21 | 22 | TEST(UtilsTest, IsBitSet) { 23 | for (size_t bit_set = 0; bit_set < 32; ++bit_set) { 24 | const uint32_t value = 1UL << bit_set; 25 | for (uint32_t i = 0; i < 32; ++i) { 26 | EXPECT_EQ(IsBitSet(value, i), i == bit_set); 27 | } 28 | } 29 | 30 | // testing 0, all bits should be 0. 31 | for (uint32_t i = 0; i < 32; ++i) { 32 | EXPECT_FALSE(IsBitSet(0, i)); 33 | } 34 | 35 | // testing ~0, all bits should be 1. 36 | for (uint32_t i = 0; i < 32; ++i) { 37 | EXPECT_TRUE(IsBitSet(-1, i)); 38 | } 39 | } 40 | 41 | TEST(UtilsTest, ExtractBitRange) { 42 | // Extracting all bits gives the same number. 43 | EXPECT_EQ(ExtractBitRange(123, 31, 0), 123); 44 | // Extracting 1 bit gives parity. 45 | EXPECT_EQ(ExtractBitRange(123, 0, 0), 1); 46 | EXPECT_EQ(ExtractBitRange(122, 0, 0), 0); 47 | 48 | EXPECT_EQ(ExtractBitRange(0xF0, 7, 4), 0xF); 49 | EXPECT_EQ(ExtractBitRange(0x42 << 2, 10, 2), 0x42); 50 | } 51 | 52 | } // namespace 53 | } // namespace cpu_features 54 | -------------------------------------------------------------------------------- /tools/df-correction-arrays.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # For each error-correction level (0, 1, or 2-bit errors) 4 | # generate the set of possible DF values that could possibly be 5 | # corrected to DF11/17/18/19 messages, expressed as a bitset. 6 | 7 | def popcount(x): 8 | return bin(x).count('1') 9 | 10 | # is the Hamming distance between 'df' and a valid long-message DF no more than `max_errors`? 11 | def correctable_long(df, max_errors): 12 | if popcount(df ^ 17) <= max_errors: return True 13 | if popcount(df ^ 18) <= max_errors: return True 14 | #if popcount(df ^ 19) <= max_errors: return True 15 | return False 16 | 17 | # is the Hamming distance between 'df' and a valid short-message DF no more than `max_errors`? 18 | def correctable_short(df, max_errors): 19 | if popcount(df ^ 11) <= max_errors: return True 20 | return False 21 | 22 | # Generate a bitset value where bit N is set if predicate(N) is True 23 | def bitset(predicate): 24 | result = 0 25 | for i in range(32): 26 | if predicate(i): 27 | result |= 1 << i 28 | return result 29 | 30 | shorts = [ 31 | bitset(lambda x: correctable_short(x,0)), 32 | bitset(lambda x: correctable_short(x,1)), 33 | bitset(lambda x: correctable_short(x,1)) # deliberately not 2 34 | ] 35 | 36 | longs = [ 37 | bitset(lambda x: correctable_long(x,0)), 38 | bitset(lambda x: correctable_long(x,1)), 39 | bitset(lambda x: correctable_long(x,2)) 40 | ] 41 | 42 | print('static const uint32_t df_correctable_short[MODES_MAX_BITERRORS + 1] = {') 43 | print(' ' + ', '.join(f'0x{i:08x}' for i in shorts)) 44 | print('};') 45 | 46 | print('static const uint32_t df_correctable_long[MODES_MAX_BITERRORS + 1] = {') 47 | print(' ' + ', '.join(f'0x{i:08x}' for i in longs)) 48 | print('};') 49 | -------------------------------------------------------------------------------- /prepare-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script prepares a package tree for building on different target 4 | # distributions 5 | 6 | if [ $# -lt 1 ] 7 | then 8 | echo "Syntax: $0 [target]" >&2 9 | echo "" >&2 10 | echo "Prepares a package tree in (default package-) ready for building" >&2 11 | exit 1 12 | fi 13 | 14 | export DEBFULLNAME="${DEBFULLNAME:-FlightAware build automation}" 15 | export DEBEMAIL="${DEBEMAIL:-adsb-devs@flightaware.com}" 16 | 17 | TOP=`dirname $0` 18 | DIST=$1 19 | OUT=$2 20 | 21 | if [ -n "$OUT" ] 22 | then 23 | OUT=$(realpath $OUT) 24 | else 25 | OUT=$(realpath package-$DIST) 26 | fi 27 | 28 | if [ -e $OUT ] 29 | then 30 | echo "$OUT already exists, refusing to overwrite it" >&2 31 | exit 1 32 | fi 33 | 34 | FILES=$(find $TOP -mindepth 1 -maxdepth 1 -name .git -prune -o -name 'debian*' -prune -o -name 'package-*' -prune -o -print) 35 | mkdir -p $OUT 36 | cp -a $FILES $OUT 37 | cp -a $TOP/debian $OUT 38 | [ -d $TOP/debian-$DIST ] && cp -a $TOP/debian-$DIST/* $OUT/debian/ 39 | 40 | case "$DIST" in 41 | buster) 42 | echo "Updating changelog for buster backport build" >&2 43 | dch --changelog $OUT/debian/changelog --local ~bpo10+ --force-distribution --distribution buster-backports "Automated backport build for buster" 44 | ;; 45 | 46 | bullseye) 47 | echo "Updating changelog for bullseye backport build" >&2 48 | dch --changelog $OUT/debian/changelog --local ~bpo11+ --force-distribution --distribution bullseye-backports "Automated backport build for bullseye" 49 | ;; 50 | 51 | bookworm) 52 | ;; 53 | 54 | *) 55 | echo "Don't know how to build for a distribution named $DIST" >&2 56 | exit 1 57 | esac 58 | 59 | echo "Package tree prepared in $OUT" >&2 60 | -------------------------------------------------------------------------------- /starch/example/generated/makefile.generic: -------------------------------------------------------------------------------- 1 | # -*- makefile -*- 2 | 3 | 4 | # starch generated makefile fragment. do not edit. 5 | # 6 | # This makefile is designed to be included in a surrounding makefile. The including makefile 7 | # should set $(STARCH_COMPILE) to a (partial) command line that provides suitable cflags etc 8 | # and handles the following appended things: 9 | # * a C source filename to compile to the corresponding .o file 10 | # * a -o option to specify the output object file 11 | # * additional command-line arguments to set compile flags as defined in each flavor 12 | # 13 | # Including the makefile fragment provides these variables/rules: 14 | # 15 | # $(STARCH_CFLAGS): additional cflags that may be used when compiling other code that uses starch.h 16 | # (not required - if omitted, the only change is that flavor-specific prototypes are unavailable) 17 | # $(STARCH_OBJS): a list of object files to link to the main binary 18 | # $(STARCH_BENCHMARK_OBJ): object files providing a standalone benchmarking app (link all of $(STARCH_OBJS) too) 19 | # explicit build rules for each object file listed in $(STARCH_OBJS) 20 | 21 | STARCH_CFLAGS := -DSTARCH_MIX_GENERIC 22 | 23 | 24 | generated/flavor.generic.o: generated/flavor.generic.c impl/subtract_n.c 25 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/flavor.generic.c -o generated/flavor.generic.o 26 | 27 | generated/dispatcher.o: generated/dispatcher.c impl/subtract_n.c 28 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/dispatcher.c -o generated/dispatcher.o 29 | 30 | STARCH_OBJS := generated/flavor.generic.o generated/dispatcher.o 31 | 32 | 33 | generated/benchmark.o: generated/benchmark.c benchmark/subtract_n_benchmark.c 34 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/benchmark.c -o generated/benchmark.o 35 | 36 | STARCH_BENCHMARK_OBJ := generated/benchmark.o 37 | -------------------------------------------------------------------------------- /cpu_features/test/hwcaps_for_testing.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "hwcaps_for_testing.h" 16 | 17 | #include 18 | 19 | #include "internal/string_view.h" 20 | 21 | namespace cpu_features { 22 | 23 | namespace { 24 | static auto* const g_hardware_capabilities = new HardwareCapabilities(); 25 | static auto* const g_platform_types = new PlatformType(); 26 | } // namespace 27 | 28 | void SetHardwareCapabilities(uint32_t hwcaps, uint32_t hwcaps2) { 29 | g_hardware_capabilities->hwcaps = hwcaps; 30 | g_hardware_capabilities->hwcaps2 = hwcaps2; 31 | } 32 | 33 | HardwareCapabilities CpuFeatures_GetHardwareCapabilities(void) { 34 | return *g_hardware_capabilities; 35 | } 36 | 37 | void SetPlatformTypes(const char* platform, const char* base_platform) { 38 | CpuFeatures_StringView_CopyString(str(platform), g_platform_types->platform, 39 | sizeof(g_platform_types->platform)); 40 | CpuFeatures_StringView_CopyString(str(base_platform), 41 | g_platform_types->base_platform, 42 | sizeof(g_platform_types->base_platform)); 43 | } 44 | 45 | PlatformType CpuFeatures_GetPlatformType(void) { return *g_platform_types; } 46 | } // namespace cpu_features 47 | -------------------------------------------------------------------------------- /cpu_features/include/internal/stack_line_reader.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Reads a file line by line and stores the data on the stack. This allows 16 | // parsing files in one go without allocating. 17 | #ifndef CPU_FEATURES_INCLUDE_INTERNAL_STACK_LINE_READER_H_ 18 | #define CPU_FEATURES_INCLUDE_INTERNAL_STACK_LINE_READER_H_ 19 | 20 | #include 21 | 22 | #include "cpu_features_macros.h" 23 | #include "internal/string_view.h" 24 | 25 | CPU_FEATURES_START_CPP_NAMESPACE 26 | 27 | typedef struct { 28 | char buffer[STACK_LINE_READER_BUFFER_SIZE]; 29 | StringView view; 30 | int fd; 31 | bool skip_mode; 32 | } StackLineReader; 33 | 34 | // Initializes a StackLineReader. 35 | void StackLineReader_Initialize(StackLineReader* reader, int fd); 36 | 37 | typedef struct { 38 | StringView line; // A view of the line. 39 | bool eof; // Nothing more to read, we reached EOF. 40 | bool full_line; // If false the line was truncated to 41 | // STACK_LINE_READER_BUFFER_SIZE. 42 | } LineResult; 43 | 44 | // Reads the file pointed to by fd and tries to read a full line. 45 | LineResult StackLineReader_NextLine(StackLineReader* reader); 46 | 47 | CPU_FEATURES_END_CPP_NAMESPACE 48 | 49 | #endif // CPU_FEATURES_INCLUDE_INTERNAL_STACK_LINE_READER_H_ 50 | -------------------------------------------------------------------------------- /sdr.h: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr.h: generic SDR infrastructure (header) 4 | // 5 | // Copyright (c) 2016-2017 Oliver Jowett 6 | // Copyright (c) 2017 FlightAware LLC 7 | // 8 | // This file is free software: you may copy, redistribute and/or modify it 9 | // under the terms of the GNU General Public License as published by the 10 | // Free Software Foundation, either version 2 of the License, or (at your 11 | // option) any later version. 12 | // 13 | // This file is distributed in the hope that it will be useful, but 14 | // WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | // General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | 21 | #ifndef SDR_H 22 | #define SDR_H 23 | 24 | // Common interface to different SDR inputs. 25 | 26 | void sdrInitConfig(); 27 | void sdrShowHelp(); 28 | bool sdrHandleOption(int argc, char **argv, int *jptr); 29 | bool sdrOpen(); 30 | void sdrRun(); 31 | void sdrStop(); 32 | void sdrClose(); 33 | 34 | // Gain control 35 | int sdrGetGain(); // return current gain step 0..N, or -1 if gain control is not supported 36 | int sdrGetMaxGain(); // return maximum gain step, or -1 if gain control is not supported 37 | double sdrGetGainDb(int step); // return gain in dB for the given gain step, or 0.0 if gain control is not supported 38 | int sdrSetGain(int step); // set gain step; return actual gain step used, or -1 if gain control is not supported 39 | 40 | // Call periodically from the SDR read thread to update reader thread CPU stats: 41 | void sdrMonitor(); 42 | // Retrieve CPU stats and add new CPU time to *addTo 43 | void sdrUpdateCPUTime(struct timespec *addTo); 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /public_html/geojson/L3Harris/Den_Apch_Inbound_Call_Points_GPS.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "Den Apch Inbound Call Points [GPS]", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | { "type": "Feature", "properties": { "Name": "I", "description": "India is a Denver Approach inbound call point. PUB 199 radial at 18 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.601815661798994, 38.026535768136903 ] } }, 7 | { "type": "Feature", "properties": { "Name": "J", "description": "Juliette is a Denver Approach inbound call point. PUB 169 radial at 18 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.409584122793007, 37.994338151103001 ] } }, 8 | { "type": "Feature", "properties": { "Name": "K", "description": "Kilo is a Denver Approach inbound call point. PUB 139 radial at 18 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.222615308098995, 38.042198150436001 ] } }, 9 | { "type": "Feature", "properties": { "Name": "L", "description": "Lima is a Denver Approach inbound call point. PUB 091 radial at 18 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.053313801502995, 38.246671137676501 ] } }, 10 | { "type": "Feature", "properties": { "Name": "M", "description": "Mike is a Denver Approach inbound call point. PUB 061 radial at 18 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.073163188888998, 38.401337687382302 ] } }, 11 | { "type": "Feature", "properties": { "Name": "N", "description": "November is a Denver Approach inbound call point. PUB 031 radial at 18 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.188860625011003, 38.527395248508803 ] } }, 12 | { "type": "Feature", "properties": { "Name": "TRAX", "description": "TRAX is a Denver Approach inbound call point. PUB 007 radial at 12 DME." }, "geometry": { "type": "Point", "coordinates": [ -104.363519144010994, 38.487623459387599 ] } } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /cpu_features/include/cpu_features_cache_info.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef CPU_FEATURES_INCLUDE_CPUINFO_COMMON_H_ 16 | #define CPU_FEATURES_INCLUDE_CPUINFO_COMMON_H_ 17 | 18 | #include "cpu_features_macros.h" 19 | 20 | CPU_FEATURES_START_CPP_NAMESPACE 21 | 22 | typedef enum { 23 | CPU_FEATURE_CACHE_NULL = 0, 24 | CPU_FEATURE_CACHE_DATA = 1, 25 | CPU_FEATURE_CACHE_INSTRUCTION = 2, 26 | CPU_FEATURE_CACHE_UNIFIED = 3, 27 | CPU_FEATURE_CACHE_TLB = 4, 28 | CPU_FEATURE_CACHE_DTLB = 5, 29 | CPU_FEATURE_CACHE_STLB = 6, 30 | CPU_FEATURE_CACHE_PREFETCH = 7 31 | } CacheType; 32 | 33 | typedef struct { 34 | int level; 35 | CacheType cache_type; 36 | int cache_size; // Cache size in bytes 37 | int ways; // Associativity, 0 undefined, 0xFF fully associative 38 | int line_size; // Cache line size in bytes 39 | int tlb_entries; // number of entries for TLB 40 | int partitioning; // number of lines per sector 41 | } CacheLevelInfo; 42 | 43 | // Increase this value if more cache levels are needed. 44 | #ifndef CPU_FEATURES_MAX_CACHE_LEVEL 45 | #define CPU_FEATURES_MAX_CACHE_LEVEL 10 46 | #endif 47 | typedef struct { 48 | int size; 49 | CacheLevelInfo levels[CPU_FEATURES_MAX_CACHE_LEVEL]; 50 | } CacheInfo; 51 | 52 | CPU_FEATURES_END_CPP_NAMESPACE 53 | 54 | #endif // CPU_FEATURES_INCLUDE_CPUINFO_COMMON_H_ 55 | -------------------------------------------------------------------------------- /starch/templates/flavor.c.template: -------------------------------------------------------------------------------- 1 | ### Copyright (c) 2020, FlightAware LLC. 2 | ### All rights reserved. 3 | ### See the LICENSE file for licensing terms. 4 | 5 | /* starch generated code. Do not edit. */ 6 | 7 | #define ${flavor.macro} 8 | % for feature in flavor.features: 9 | #define ${feature.macro} 10 | % endfor 11 | 12 | #include "${os.path.relpath(gen.generated_include_path, current_dir)}" 13 | 14 | #undef STARCH_ALIGNMENT 15 | 16 | #define STARCH_ALIGNMENT 1 17 | #define STARCH_ALIGNED(_ptr) (_ptr) 18 | #define STARCH_SYMBOL(_name) ${gen.symbol_prefix} ## _name ## _ ## ${flavor.name} 19 | #define STARCH_IMPL(_function,_impl) ${gen.symbol_prefix} ## _function ## _ ## _impl ## _ ## ${flavor.name} 20 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 21 | 22 | % for source in sorted(gen.impl_files): 23 | % if any( ((impl.feature is None or impl.feature in flavor.features) and not impl.function.aligned) for impl in source.impls): 24 | #include "${os.path.relpath(source.path, current_dir)}" 25 | % endif 26 | % endfor 27 | 28 | % if flavor.alignment > 1: 29 | 30 | #undef STARCH_ALIGNMENT 31 | #undef STARCH_ALIGNED 32 | #undef STARCH_SYMBOL 33 | #undef STARCH_IMPL 34 | #undef STARCH_IMPL_REQUIRES 35 | 36 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 37 | #define STARCH_ALIGNED(_ptr) (__builtin_assume_aligned((_ptr), STARCH_MIX_ALIGNMENT)) 38 | #define STARCH_SYMBOL(_name) ${gen.symbol_prefix} ## _name ## _aligned_ ## ${flavor.name} 39 | #define STARCH_IMPL(_function,_impl) ${gen.symbol_prefix} ## _function ## _aligned_ ## _impl ## _ ## ${flavor.name} 40 | #define STARCH_IMPL_REQUIRES(_function,_impl,_feature) STARCH_IMPL(_function,_impl) 41 | 42 | % for source in sorted(gen.impl_files): 43 | % if any( ((impl.feature is None or impl.feature in flavor.features) and impl.function.aligned) for impl in source.impls): 44 | #include "${os.path.relpath(source.path, current_dir)}" 45 | % endif 46 | % endfor 47 | 48 | % endif 49 | -------------------------------------------------------------------------------- /debian/dump1090-fa.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postrm script for #PACKAGE# 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `remove' 10 | # * `purge' 11 | # * `upgrade' 12 | # * `failed-upgrade' 13 | # * `abort-install' 14 | # * `abort-install' 15 | # * `abort-upgrade' 16 | # * `disappear' 17 | # 18 | # for details, see http://www.debian.org/doc/debian-policy/ or 19 | # the debian-policy package 20 | 21 | 22 | case "$1" in 23 | purge) 24 | rm -f /etc/default/dump1090-fa 25 | ;; 26 | 27 | remove) 28 | changed=false 29 | if [ -e /etc/lighttpd/conf-enabled/89-dump1090-fa.conf ] 30 | then 31 | echo "Disabling lighttpd integration.." >&2 32 | lighty-disable-mod dump1090-fa || true 33 | changed=true 34 | fi 35 | 36 | if [ -e /etc/lighttpd/conf-enabled/88-dump1090-fa-statcache.conf ] 37 | then 38 | echo "Disabling lighttpd integration (stat cache).." >&2 39 | lighty-disable-mod dump1090-fa-statcache || true 40 | changed=true 41 | fi 42 | 43 | if $changed 44 | then 45 | echo "Restarting lighttpd.." >&2 46 | invoke-rc.d lighttpd restart || echo "Warning: lighttpd failed to restart." >&2 47 | fi 48 | ;; 49 | 50 | upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) 51 | ;; 52 | 53 | *) 54 | echo "postrm called with unknown argument \`$1'" >&2 55 | exit 1 56 | ;; 57 | esac 58 | 59 | # dh_installdeb will replace this with shell code automatically 60 | # generated by other debhelper scripts. 61 | 62 | #DEBHELPER# 63 | 64 | exit 0 65 | -------------------------------------------------------------------------------- /sdr_stub.c: -------------------------------------------------------------------------------- 1 | // Part of dump1090, a Mode S message decoder for RTLSDR devices. 2 | // 3 | // sdr_stub.c: generic SDR infrastructure, stubbed out to do nothing 4 | // 5 | // Copyright (c) 2021 FlightAware LLC 6 | // 7 | // This file is free software: you may copy, redistribute and/or modify it 8 | // under the terms of the GNU General Public License as published by the 9 | // Free Software Foundation, either version 2 of the License, or (at your 10 | // option) any later version. 11 | // 12 | // This file is distributed in the hope that it will be useful, but 13 | // WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | // General Public License for more details. 16 | // 17 | // You should have received a copy of the GNU General Public License 18 | // along with this program. If not, see . 19 | 20 | #include "dump1090.h" 21 | 22 | void sdrInitConfig() 23 | { 24 | /* nothing */ 25 | } 26 | 27 | void sdrShowHelp() 28 | { 29 | /* nothing */ 30 | } 31 | 32 | bool sdrHandleOption(int argc, char **argv, int *jptr) 33 | { 34 | MODES_NOTUSED(argc); 35 | MODES_NOTUSED(argv); 36 | MODES_NOTUSED(jptr); 37 | return false; 38 | } 39 | 40 | bool sdrOpen() 41 | { 42 | return false; 43 | } 44 | 45 | void sdrRun() 46 | { 47 | /* nothing */ 48 | } 49 | 50 | void sdrStop() 51 | { 52 | /* nothing */ 53 | } 54 | 55 | void sdrClose() 56 | { 57 | /* nothing */ 58 | } 59 | 60 | void sdrMonitor() 61 | { 62 | /* nothing */ 63 | } 64 | 65 | void sdrUpdateCPUTime(struct timespec *addTo) 66 | { 67 | MODES_NOTUSED(addTo); 68 | } 69 | 70 | int sdrGetGain() 71 | { 72 | return -1; 73 | } 74 | 75 | int sdrGetMaxGain() 76 | { 77 | return -1; 78 | } 79 | 80 | double sdrGetGainDb(int step) 81 | { 82 | MODES_NOTUSED(step); 83 | return 0.0; 84 | } 85 | 86 | int sdrSetGain(int step) 87 | { 88 | MODES_NOTUSED(step); 89 | return -1; 90 | } 91 | 92 | 93 | -------------------------------------------------------------------------------- /cpu_features/test/filesystem_for_testing.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Implements a fake filesystem, useful for tests. 16 | #ifndef CPU_FEATURES_TEST_FILESYSTEM_FOR_TESTING_H_ 17 | #define CPU_FEATURES_TEST_FILESYSTEM_FOR_TESTING_H_ 18 | 19 | #include 20 | #include 21 | #include 22 | 23 | #include "internal/filesystem.h" 24 | 25 | namespace cpu_features { 26 | 27 | class FakeFile { 28 | public: 29 | explicit FakeFile(int file_descriptor, const char* content); 30 | ~FakeFile(); 31 | 32 | void Open(); 33 | void Close(); 34 | int Read(int fd, void* buf, size_t count); 35 | 36 | int GetFileDescriptor() const { return file_descriptor_; } 37 | 38 | private: 39 | const int file_descriptor_; 40 | const std::string content_; 41 | bool opened_ = false; 42 | size_t head_index_ = 0; 43 | }; 44 | 45 | class FakeFilesystem { 46 | public: 47 | void Reset(); 48 | FakeFile* CreateFile(const std::string& filename, const char* content); 49 | FakeFile* FindFileOrDie(const int file_descriptor) const; 50 | FakeFile* FindFileOrNull(const std::string& filename) const; 51 | 52 | private: 53 | int next_file_descriptor_ = 0; 54 | std::unordered_map> files_; 55 | }; 56 | 57 | FakeFilesystem& GetEmptyFilesystem(); 58 | 59 | } // namespace cpu_features 60 | 61 | #endif // CPU_FEATURES_TEST_FILESYSTEM_FOR_TESTING_H_ 62 | -------------------------------------------------------------------------------- /dsp/impl/count_above_u16.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Count the number of samples in a uint16_t buffer that are >= a threshold. 3 | */ 4 | void STARCH_IMPL(count_above_u16, generic) (const uint16_t *in, unsigned len, uint16_t threshold, unsigned *out_count) 5 | { 6 | const uint16_t * restrict in_align = STARCH_ALIGNED(in); 7 | 8 | unsigned count = 0; 9 | while (len--) { 10 | if (in_align[0] >= threshold) 11 | ++count; 12 | ++in_align; 13 | } 14 | 15 | *out_count = count; 16 | } 17 | 18 | #ifdef STARCH_FEATURE_NEON 19 | 20 | #include 21 | 22 | void STARCH_IMPL_REQUIRES(count_above_u16, neon, STARCH_FEATURE_NEON) (const uint16_t *in, unsigned len, uint16_t threshold, unsigned *out_count) 23 | { 24 | const uint16_t * restrict in_align = STARCH_ALIGNED(in); 25 | const uint16x8_t threshold_x8 = vdupq_n_u16(threshold); 26 | 27 | int32x4_t accumulator0 = vdupq_n_s32(0); 28 | int32x4_t accumulator1 = vdupq_n_s32(0); 29 | 30 | unsigned len8 = len >> 3; 31 | while (len8--) { 32 | uint16x8_t mag = vld1q_u16(in_align); 33 | int16x8_t compare = vreinterpretq_s16_u16(vcgeq_u16(mag, threshold_x8)); 34 | accumulator0 = vsubw_s16(accumulator0, vget_low_s16(compare)); 35 | accumulator1 = vsubw_s16(accumulator1, vget_high_s16(compare)); 36 | 37 | in_align += 8; 38 | } 39 | 40 | // sum accumulators across all lanes 41 | int32x4_t sum2 = vaddq_s32(accumulator0, accumulator1); 42 | int32x2_t sum4 = vadd_s32(vget_low_s32(sum2), vget_high_s32(sum2)); 43 | int32x2_t sum8 = vpadd_s32(sum4, sum4); 44 | int32x4_t sum8_x2 = vcombine_s32(sum8, sum8); 45 | 46 | unsigned len1 = len & 7; 47 | while (len1--) { 48 | uint16x4_t mag = vld1_dup_u16(in_align); 49 | int16x4_t compare = vreinterpret_s16_u16(vcge_u16(mag, vget_low_u16(threshold_x8))); 50 | sum8_x2 = vsubw_s16(sum8_x2, compare); 51 | 52 | in_align += 1; 53 | } 54 | 55 | *out_count = vgetq_lane_s32(sum8_x2, 0); 56 | } 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | export DH_VERBOSE=1 11 | 12 | export DEB_BUILD_MAINT_OPTIONS = hardening=+all 13 | 14 | DPKG_EXPORT_BUILDFLAGS = 1 15 | include /usr/share/dpkg/default.mk 16 | 17 | ifeq (,$(filter custom,$(DEB_BUILD_PROFILES))) 18 | # Standard build 19 | RTLSDR = yes 20 | BLADERF = yes 21 | HACKRF = yes 22 | LIMESDR = yes 23 | SOAPYSDR = yes 24 | else 25 | # Custom build 26 | ifneq (,$(filter rtlsdr,$(DEB_BUILD_PROFILES))) 27 | RTLSDR = yes 28 | else 29 | RTLSDR = no 30 | endif 31 | ifneq (,$(filter bladerf,$(DEB_BUILD_PROFILES))) 32 | BLADERF = yes 33 | else 34 | BLADERF = no 35 | endif 36 | ifneq (,$(filter hackrf,$(DEB_BUILD_PROFILES))) 37 | HACKRF = yes 38 | else 39 | HACKRF = no 40 | endif 41 | ifneq (,$(filter limesdr,$(DEB_BUILD_PROFILES))) 42 | LIMESDR = yes 43 | else 44 | LIMESDR = no 45 | endif 46 | ifneq (,$(filter soapysdr,$(DEB_BUILD_PROFILES))) 47 | SOAPYSDR = yes 48 | else 49 | SOAPYSDR = no 50 | endif 51 | endif 52 | 53 | override_dh_auto_build: 54 | dh_auto_build -- ARCH=$(DEB_HOST_ARCH) RTLSDR=$(RTLSDR) BLADERF=$(BLADERF) HACKRF=$(HACKRF) LIMESDR=$(LIMESDR) SOAPYSDR=$(SOAPYSDR) DUMP1090_VERSION=$(DEB_VERSION) 55 | 56 | override_dh_install: 57 | dh_install 58 | install -d debian/dump1090-fa/usr/bin 59 | cp -a dump1090 debian/dump1090-fa/usr/bin/dump1090-fa 60 | cp -a view1090 debian/dump1090-fa/usr/bin/view1090-fa 61 | 62 | override_dh_installinit: 63 | dh_installinit --no-restart-after-upgrade 64 | 65 | override_dh_installsystemd: 66 | dh_installsystemd --no-restart-after-upgrade 67 | 68 | %: 69 | dh $@ 70 | -------------------------------------------------------------------------------- /cpu_features/src/filesystem.c: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "internal/filesystem.h" 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #if defined(CPU_FEATURES_MOCK_FILESYSTEM) 24 | // Implementation will be provided by test/filesystem_for_testing.cc. 25 | #elif defined(_MSC_VER) 26 | #include 27 | int CpuFeatures_OpenFile(const char* filename) { 28 | int fd = -1; 29 | _sopen_s(&fd, filename, _O_RDONLY, _SH_DENYWR, _S_IREAD); 30 | return fd; 31 | } 32 | 33 | void CpuFeatures_CloseFile(int file_descriptor) { _close(file_descriptor); } 34 | 35 | int CpuFeatures_ReadFile(int file_descriptor, void* buffer, 36 | size_t buffer_size) { 37 | return _read(file_descriptor, buffer, (unsigned int)buffer_size); 38 | } 39 | 40 | #else 41 | #include 42 | 43 | int CpuFeatures_OpenFile(const char* filename) { 44 | int result; 45 | do { 46 | result = open(filename, O_RDONLY); 47 | } while (result == -1L && errno == EINTR); 48 | return result; 49 | } 50 | 51 | void CpuFeatures_CloseFile(int file_descriptor) { close(file_descriptor); } 52 | 53 | int CpuFeatures_ReadFile(int file_descriptor, void* buffer, 54 | size_t buffer_size) { 55 | int result; 56 | do { 57 | result = read(file_descriptor, buffer, buffer_size); 58 | } while (result == -1L && errno == EINTR); 59 | return result; 60 | } 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /cpu_features/include/cpuinfo_mips.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef CPU_FEATURES_INCLUDE_CPUINFO_MIPS_H_ 16 | #define CPU_FEATURES_INCLUDE_CPUINFO_MIPS_H_ 17 | 18 | #include "cpu_features_cache_info.h" 19 | #include "cpu_features_macros.h" 20 | 21 | CPU_FEATURES_START_CPP_NAMESPACE 22 | 23 | typedef struct { 24 | int msa : 1; // MIPS SIMD Architecture 25 | // https://www.mips.com/products/architectures/ase/simd/ 26 | int eva : 1; // Enhanced Virtual Addressing 27 | // https://www.mips.com/products/architectures/mips64/ 28 | int r6 : 1; // True if is release 6 of the processor. 29 | 30 | // Make sure to update MipsFeaturesEnum below if you add a field here. 31 | } MipsFeatures; 32 | 33 | typedef struct { 34 | MipsFeatures features; 35 | } MipsInfo; 36 | 37 | MipsInfo GetMipsInfo(void); 38 | 39 | //////////////////////////////////////////////////////////////////////////////// 40 | // Introspection functions 41 | 42 | typedef enum { 43 | MIPS_MSA, 44 | MIPS_EVA, 45 | MIPS_R6, 46 | MIPS_LAST_, 47 | } MipsFeaturesEnum; 48 | 49 | int GetMipsFeaturesEnumValue(const MipsFeatures* features, 50 | MipsFeaturesEnum value); 51 | 52 | const char* GetMipsFeaturesEnumName(MipsFeaturesEnum); 53 | 54 | CPU_FEATURES_END_CPP_NAMESPACE 55 | 56 | #if !defined(CPU_FEATURES_ARCH_MIPS) 57 | #error "Including cpuinfo_mips.h from a non-mips target." 58 | #endif 59 | 60 | #endif // CPU_FEATURES_INCLUDE_CPUINFO_MIPS_H_ 61 | -------------------------------------------------------------------------------- /cpu.c: -------------------------------------------------------------------------------- 1 | #include "cpu.h" 2 | 3 | #include 4 | 5 | #ifdef ENABLE_CPUFEATURES 6 | #include "cpu_features_macros.h" 7 | #endif 8 | 9 | // 10 | // x86 11 | // 12 | 13 | #ifdef CPU_FEATURES_ARCH_X86 14 | #include "cpuinfo_x86.h" 15 | 16 | static X86Info *x86_info() 17 | { 18 | static bool valid = false; 19 | static X86Info cache; 20 | 21 | if (!valid) { 22 | cache = GetX86Info(); 23 | valid = true; 24 | } 25 | 26 | return &cache; 27 | } 28 | 29 | #endif 30 | 31 | int cpu_supports_avx(void) 32 | { 33 | #ifdef CPU_FEATURES_ARCH_X86 34 | return x86_info()->features.avx; 35 | #else 36 | return 0; 37 | #endif 38 | } 39 | 40 | int cpu_supports_avx2(void) 41 | { 42 | #ifdef CPU_FEATURES_ARCH_X86 43 | return x86_info()->features.avx2; 44 | #else 45 | return 0; 46 | #endif 47 | } 48 | 49 | // 50 | // ARM 51 | // 52 | 53 | #ifdef CPU_FEATURES_ARCH_ARM 54 | #include "cpuinfo_arm.h" 55 | 56 | static ArmInfo *arm_info() 57 | { 58 | static bool valid = false; 59 | static ArmInfo cache; 60 | 61 | if (!valid) { 62 | cache = GetArmInfo(); 63 | valid = true; 64 | } 65 | 66 | return &cache; 67 | } 68 | 69 | #endif 70 | 71 | int cpu_supports_armv7_neon_vfpv4(void) 72 | { 73 | #ifdef CPU_FEATURES_ARCH_ARM 74 | return arm_info()->architecture >= 7 && arm_info()->features.neon && arm_info()->features.vfpv4 && arm_info()->features.vfpd32; 75 | #else 76 | return 0; 77 | #endif 78 | } 79 | 80 | // 81 | // AARCH64 82 | // 83 | 84 | #ifdef CPU_FEATURES_ARCH_AARCH64 85 | #include "cpuinfo_aarch64.h" 86 | 87 | static Aarch64Info *aarch64_info() 88 | { 89 | static bool valid = false; 90 | static Aarch64Info cache; 91 | 92 | if (!valid) { 93 | cache = GetAarch64Info(); 94 | valid = true; 95 | } 96 | 97 | return &cache; 98 | } 99 | 100 | #endif 101 | 102 | int cpu_supports_armv8_simd(void) 103 | { 104 | #ifdef CPU_FEATURES_ARCH_AARCH64 105 | return aarch64_info()->features.asimd; 106 | #else 107 | return 0; 108 | #endif 109 | } 110 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This version of dump1090 is licensed under the GPL, v2 or later. 2 | 3 | Please see the individual source files and the file COPYING 4 | for full copyright and license details. 5 | 6 | If you need to use dump1090 in a way that is incompatible with 7 | the GPL, please contact Oliver Jowett 8 | to discuss your requirements. 9 | 10 | The source code incorporates work that was released under a 11 | BSD-style license, reproduced below. For unmodified versions 12 | of the original work that may be used under the terms of that 13 | license, please see https://github.com/antirez/dump1090 and 14 | https://github.com/MalcolmRobb/dump1090. 15 | 16 | // Copyright (C) 2012 by Salvatore Sanfilippo 17 | // 18 | // All rights reserved. 19 | // 20 | // Redistribution and use in source and binary forms, with or without 21 | // modification, are permitted provided that the following conditions are 22 | // met: 23 | // 24 | // * Redistributions of source code must retain the above copyright 25 | // notice, this list of conditions and the following disclaimer. 26 | // 27 | // * Redistributions in binary form must reproduce the above copyright 28 | // notice, this list of conditions and the following disclaimer in the 29 | // documentation and/or other materials provided with the distribution. 30 | // 31 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 34 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35 | // HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 36 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 37 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 38 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 39 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 40 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 41 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42 | -------------------------------------------------------------------------------- /wisdom.aarch64: -------------------------------------------------------------------------------- 1 | # derived from wisdom.aarch64.pi4b and wisdom.pi0w (in the absence of a non-neon aarch64 benchmark) 2 | 3 | magnitude_power_uc8 neon_vrsqrte_armv8_neon_simd # 242171 ns/call 4 | magnitude_power_uc8 lookup_unroll_4_generic # 5464685 ns/call 5 | 6 | magnitude_power_uc8_aligned neon_vrsqrte_armv8_neon_simd # 231223 ns/call 7 | magnitude_power_uc8_aligned lookup_unroll_4_generic # 5516196 ns/call 8 | 9 | magnitude_sc16 neon_vrsqrte_armv8_neon_simd # 687064 ns/call 10 | magnitude_sc16 exact_float_generic # 28623479 ns/call 11 | 12 | magnitude_sc16_aligned neon_vrsqrte_armv8_neon_simd # 669434 ns/call 13 | magnitude_sc16_aligned exact_float_generic # 28613950 ns/call 14 | 15 | magnitude_sc16q11 neon_vrsqrte_armv8_neon_simd # 166265 ns/call 16 | magnitude_sc16q11 exact_float_generic # 7131190 ns/call 17 | 18 | magnitude_sc16q11_aligned neon_vrsqrte_armv8_neon_simd # 155062 ns/call 19 | magnitude_sc16q11_aligned exact_float_generic # 7124159 ns/call 20 | 21 | magnitude_uc8 neon_vrsqrte_armv8_neon_simd # 213353 ns/call 22 | magnitude_uc8 lookup_unroll_4_generic # 4179036 ns/call 23 | 24 | magnitude_uc8_aligned neon_vrsqrte_armv8_neon_simd # 214464 ns/call 25 | magnitude_uc8_aligned lookup_unroll_4_generic # 4445877 ns/call 26 | 27 | mean_power_u16 u32_armv8_neon_simd # 45663 ns/call 28 | mean_power_u16 u64_generic # 990367 ns/call 29 | 30 | mean_power_u16_aligned u32_armv8_neon_simd # 44865 ns/call 31 | mean_power_u16_aligned u64_generic # 934445 ns/call 32 | -------------------------------------------------------------------------------- /tools/extract-icao-ranges.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import subprocess 4 | import re 5 | 6 | command = [ 7 | 'pdftotext', 8 | '-layout', 9 | '-f', '187', 10 | '-l', '191', 11 | '-enc', 'ASCII7', 12 | 'adsb-AN10_V3_cons.pdf', 13 | '-' 14 | ] 15 | main_line = re.compile(r' ([^*]+?)\s+\*\s+([01-]{4})\s+([01-]{2})\s+([01-]{3})\s+([01-]{3})\s+([01-]{2})\s+([-]{10})\s*') 16 | continuation_line = re.compile(r' ([^ ].*)\s*') 17 | 18 | def scan(): 19 | matches = [] 20 | 21 | process = subprocess.Popen(command, 22 | stdin=subprocess.DEVNULL, 23 | stdout=subprocess.PIPE) 24 | match = None 25 | for line in process.stdout: 26 | line = line.decode('ascii') 27 | if match: 28 | cmatch = continuation_line.match(line) 29 | if cmatch: 30 | country = match.group(1) + ' ' + cmatch.group(1) 31 | else: 32 | country = match.group(1) 33 | 34 | matches.append((country, 35 | match.group(2) + match.group(3) + 36 | match.group(4) + match.group(5) + 37 | match.group(6) + match.group(7))) 38 | 39 | if cmatch: 40 | match = None 41 | continue 42 | 43 | match = main_line.match(line) 44 | 45 | if match: 46 | matches.append((match.group(1), 47 | match.group(2) + match.group(3) + 48 | match.group(4) + match.group(5) + 49 | match.group(6) + match.group(7))) 50 | 51 | return matches 52 | 53 | if __name__ == '__main__': 54 | matches = scan() 55 | 56 | print ('var ICAO_Ranges = ['); 57 | 58 | for country, assignment in matches: 59 | low = int(assignment.replace('-', '0'), 2) 60 | high = int(assignment.replace('-', '1'), 2) 61 | print(' {{ start: 0x{low:06X}, end: 0x{high:06X}, country: "{country}", flag_image: "{flag}" }},'.format( 62 | low=low, 63 | high=high, 64 | country=country, 65 | flag=country.replace(' ','_').replace("'","").replace('-','_') + '.png')) 66 | print ('];') 67 | -------------------------------------------------------------------------------- /starch/templates/starch.h.template: -------------------------------------------------------------------------------- 1 | ### Copyright (c) 2020, FlightAware LLC. 2 | ### All rights reserved. 3 | ### See the LICENSE file for licensing terms. 4 | 5 | /* starch generated code. Do not edit. */ 6 | 7 | % for include in gen.includes: 8 | #include ${include} 9 | % endfor 10 | 11 | /* mixes */ 12 | 13 | % for mix in sorted(gen.mixes.values()): 14 | /* ${mix.description} */ 15 | #ifdef ${mix.macro} 16 | % for flavor in mix.flavors: 17 | #define ${flavor.macro} 18 | % endfor 19 | #define STARCH_MIX_ALIGNMENT ${max((flavor.alignment) for flavor in mix.flavors)} 20 | #endif /* ${mix.macro} */ 21 | 22 | % endfor 23 | 24 | #ifdef STARCH_MIX_ALIGNMENT 25 | #define STARCH_ALIGNMENT STARCH_MIX_ALIGNMENT 26 | #define STARCH_IS_ALIGNED(_ptr) (((uintptr_t)(_ptr) & (STARCH_MIX_ALIGNMENT-1)) == 0) 27 | #else 28 | /* mix not defined, alignment is unknown, treat everything as unaligned */ 29 | #define STARCH_IS_ALIGNED(_ptr) (0) 30 | #endif 31 | 32 | 33 | /* entry points and registries */ 34 | 35 | % for function in gen.functions.values(): 36 | typedef ${function.returntype} (* ${function.pointer_type}) ( ${function.declaration_arglist} ); 37 | extern ${function.pointer_type} ${function.callable_symbol}; 38 | 39 | typedef struct { 40 | int rank; 41 | const char *name; 42 | const char *flavor; 43 | ${function.pointer_type} callable; 44 | int (*flavor_supported)(); 45 | } ${function.regentry_type}; 46 | 47 | extern ${function.regentry_type} ${function.registry_symbol}[]; 48 | ${function.regentry_type} * ${function.select_symbol}(); 49 | void ${function.set_wisdom_symbol}( const char * const * received_wisdom ); 50 | 51 | % endfor 52 | /* flavors and prototypes */ 53 | 54 | % for flavor in sorted(gen.flavors.values()): 55 | #ifdef ${flavor.macro} 56 | % if flavor.test_function is not None: 57 | int ${flavor.test_function} (void); 58 | % endif 59 | % for impl in gen.function_impls.values(): 60 | % if (flavor.alignment > 1 or not impl.function.aligned) and (impl.feature is None or impl.feature in flavor.features): 61 | ${impl.function.returntype} ${impl.impl_symbol(flavor)} ( ${impl.function.declaration_arglist} ); 62 | % endif 63 | % endfor 64 | #endif /* ${flavor.macro} */ 65 | 66 | int ${gen.sym("read_wisdom")} (const char * path); 67 | 68 | % endfor 69 | -------------------------------------------------------------------------------- /starch/example/generated/makefile.x86_64: -------------------------------------------------------------------------------- 1 | # -*- makefile -*- 2 | 3 | 4 | # starch generated makefile fragment. do not edit. 5 | # 6 | # This makefile is designed to be included in a surrounding makefile. The including makefile 7 | # should set $(STARCH_COMPILE) to a (partial) command line that provides suitable cflags etc 8 | # and handles the following appended things: 9 | # * a C source filename to compile to the corresponding .o file 10 | # * a -o option to specify the output object file 11 | # * additional command-line arguments to set compile flags as defined in each flavor 12 | # 13 | # Including the makefile fragment provides these variables/rules: 14 | # 15 | # $(STARCH_CFLAGS): additional cflags that may be used when compiling other code that uses starch.h 16 | # (not required - if omitted, the only change is that flavor-specific prototypes are unavailable) 17 | # $(STARCH_OBJS): a list of object files to link to the main binary 18 | # $(STARCH_BENCHMARK_OBJ): object files providing a standalone benchmarking app (link all of $(STARCH_OBJS) too) 19 | # explicit build rules for each object file listed in $(STARCH_OBJS) 20 | 21 | STARCH_CFLAGS := -DSTARCH_MIX_X86_64 22 | 23 | 24 | generated/flavor.x86_64_avx2.o: generated/flavor.x86_64_avx2.c impl/subtract_n.c 25 | $(STARCH_COMPILE) $(STARCH_CFLAGS) -mavx2 -ffast-math generated/flavor.x86_64_avx2.c -o generated/flavor.x86_64_avx2.o 26 | 27 | generated/flavor.x86_64_avx.o: generated/flavor.x86_64_avx.c impl/subtract_n.c 28 | $(STARCH_COMPILE) $(STARCH_CFLAGS) -mavx -ffast-math generated/flavor.x86_64_avx.c -o generated/flavor.x86_64_avx.o 29 | 30 | generated/flavor.generic.o: generated/flavor.generic.c impl/subtract_n.c 31 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/flavor.generic.c -o generated/flavor.generic.o 32 | 33 | generated/dispatcher.o: generated/dispatcher.c impl/subtract_n.c 34 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/dispatcher.c -o generated/dispatcher.o 35 | 36 | STARCH_OBJS := generated/flavor.x86_64_avx2.o generated/flavor.x86_64_avx.o generated/flavor.generic.o generated/dispatcher.o 37 | 38 | 39 | generated/benchmark.o: generated/benchmark.c benchmark/subtract_n_benchmark.c 40 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/benchmark.c -o generated/benchmark.o 41 | 42 | STARCH_BENCHMARK_OBJ := generated/benchmark.o 43 | -------------------------------------------------------------------------------- /tools/README.aircraft-db.md: -------------------------------------------------------------------------------- 1 | # dump1090 aircraft database 2 | 3 | The dump1090 webmap uses a static database of json files to provide aircraft 4 | information. 5 | 6 | This directory has some tools to turn a CSV file with aircraft data into 7 | the json format that the dump1090 map expects. 8 | 9 | ## Data sources 10 | 11 | The default data comes from a combination of: 12 | 13 | * some historical data kindly provided by VRS (unfortunately no longer 14 | updated) - this data is in vrs.csv.xz; and 15 | * a data export provided by FlightAware that is updated periodically - 16 | this data is in flightaware-*.csv.xz 17 | 18 | The VRS data was extracted by: 19 | 20 | ```sh 21 | $ wget http://www.virtualradarserver.co.uk/Files/BasicAircraftLookup.sqb.gz 22 | $ gunzip BasicAircraftLookup.sqb.gz 23 | $ tools/vrs-to-csv.py BasicAircraftLookup.sqb >tools/vrs.csv 24 | ``` 25 | 26 | The FlightAware data is a subset of the registry information that FlightAware 27 | uses internally. It contains only the data that FlightAware can redistribute 28 | to the public; some data sources that FlightAware uses do not allow this and 29 | are excluded from the export. 30 | 31 | ## Regenerating the json database 32 | 33 | To regenerate the json database from these input files: 34 | 35 | ```sh 36 | $ rm ../public_html/db/*.json 37 | $ xzcat vrs.csv.xz | nodejs ./filter-regs.js >vrs-filtered.csv 38 | $ xzcat flightaware-20231026.csv.xz | nodejs ./filter-regs.js >fa-filtered.csv 39 | $ ./csv-to-json.py vrs-filtered.csv fa-filtered.csv ../public_html/db 40 | ``` 41 | 42 | Additional CSV files can be given to `csv-to-json.py` if desired. 43 | 44 | The contents of public_html/db should be installed where the webmap can find 45 | them; the Debian packaging puts these in 46 | /usr/share/skyaware/html/db 47 | 48 | The CSV format is very simple. The first line must be a header line that names 49 | the columns. These columns are understood: 50 | 51 | * icao24: the 6-digit hex address of the aircraft 52 | * r: the registration / tail number of the aircraft 53 | * t: the ICAO aircraft type of the aircraft, e.g. B773 54 | 55 | Any other columns are put into the json DB under the name you give them, but 56 | the standard map code won't do anything special with them. You can pick these 57 | columns up in the PlaneObject constructor (see planeObject.js where it calls 58 | getAircraftData()) for later use. 59 | -------------------------------------------------------------------------------- /starch/example/generated/makefile.arm: -------------------------------------------------------------------------------- 1 | # -*- makefile -*- 2 | 3 | 4 | # starch generated makefile fragment. do not edit. 5 | # 6 | # This makefile is designed to be included in a surrounding makefile. The including makefile 7 | # should set $(STARCH_COMPILE) to a (partial) command line that provides suitable cflags etc 8 | # and handles the following appended things: 9 | # * a C source filename to compile to the corresponding .o file 10 | # * a -o option to specify the output object file 11 | # * additional command-line arguments to set compile flags as defined in each flavor 12 | # 13 | # Including the makefile fragment provides these variables/rules: 14 | # 15 | # $(STARCH_CFLAGS): additional cflags that may be used when compiling other code that uses starch.h 16 | # (not required - if omitted, the only change is that flavor-specific prototypes are unavailable) 17 | # $(STARCH_OBJS): a list of object files to link to the main binary 18 | # $(STARCH_BENCHMARK_OBJ): object files providing a standalone benchmarking app (link all of $(STARCH_OBJS) too) 19 | # explicit build rules for each object file listed in $(STARCH_OBJS) 20 | 21 | STARCH_CFLAGS := -DSTARCH_MIX_ARM 22 | 23 | 24 | generated/flavor.armv7a_vfpv4.o: generated/flavor.armv7a_vfpv4.c impl/subtract_n.c 25 | $(STARCH_COMPILE) $(STARCH_CFLAGS) -march=armv7-a+neon-vfpv4 -mfpu=neon-vfpv4 -ffast-math generated/flavor.armv7a_vfpv4.c -o generated/flavor.armv7a_vfpv4.o 26 | 27 | generated/flavor.armv7a_vfpv3.o: generated/flavor.armv7a_vfpv3.c impl/subtract_n.c 28 | $(STARCH_COMPILE) $(STARCH_CFLAGS) -march=armv7-a+neon-vfpv3 -mfpu=neon-vfpv3 -ffast-math generated/flavor.armv7a_vfpv3.c -o generated/flavor.armv7a_vfpv3.o 29 | 30 | generated/flavor.generic.o: generated/flavor.generic.c impl/subtract_n.c 31 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/flavor.generic.c -o generated/flavor.generic.o 32 | 33 | generated/dispatcher.o: generated/dispatcher.c impl/subtract_n.c 34 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/dispatcher.c -o generated/dispatcher.o 35 | 36 | STARCH_OBJS := generated/flavor.armv7a_vfpv4.o generated/flavor.armv7a_vfpv3.o generated/flavor.generic.o generated/dispatcher.o 37 | 38 | 39 | generated/benchmark.o: generated/benchmark.c benchmark/subtract_n_benchmark.c 40 | $(STARCH_COMPILE) $(STARCH_CFLAGS) generated/benchmark.c -o generated/benchmark.o 41 | 42 | STARCH_BENCHMARK_OBJ := generated/benchmark.o 43 | -------------------------------------------------------------------------------- /cpu_features/ndk_compat/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # library : NDK compat 4 | # 5 | find_package(Threads REQUIRED) 6 | set (NDK_COMPAT_HDRS cpu-features.h) 7 | set (NDK_COMPAT_SRCS 8 | cpu-features.c 9 | $ 10 | $ 11 | ) 12 | # Note that following `add_cpu_features_headers_and_sources` will use 13 | # NDK_COMPAT_SRCS in lieu of NDK_COMPAT_HDRS because we don't want cpu_features 14 | # headers to be installed alongside ndk_compat. 15 | add_cpu_features_headers_and_sources(NDK_COMPAT_SRCS NDK_COMPAT_SRCS) 16 | add_library(ndk_compat ${NDK_COMPAT_HDRS} ${NDK_COMPAT_SRCS}) 17 | setup_include_and_definitions(ndk_compat) 18 | target_include_directories(ndk_compat PUBLIC $) 19 | target_link_libraries(ndk_compat PUBLIC ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT}) 20 | set_target_properties(ndk_compat PROPERTIES PUBLIC_HEADER "${NDK_COMPAT_HDRS}") 21 | 22 | include(GNUInstallDirs) 23 | install(TARGETS ndk_compat 24 | EXPORT CpuFeaturesNdkCompatTargets 25 | PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ndk_compat 26 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 27 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 28 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 29 | ) 30 | install(EXPORT CpuFeaturesNdkCompatTargets 31 | NAMESPACE CpuFeatures:: 32 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CpuFeaturesNdkCompat 33 | COMPONENT Devel 34 | ) 35 | include(CMakePackageConfigHelpers) 36 | configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/CpuFeaturesNdkCompatConfig.cmake.in 37 | "${PROJECT_BINARY_DIR}/CpuFeaturesNdkCompatConfig.cmake" 38 | INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/CpuFeaturesNdkCompat" 39 | NO_SET_AND_CHECK_MACRO 40 | NO_CHECK_REQUIRED_COMPONENTS_MACRO 41 | ) 42 | write_basic_package_version_file( 43 | "${PROJECT_BINARY_DIR}/CpuFeaturesNdkCompatConfigVersion.cmake" 44 | COMPATIBILITY SameMajorVersion 45 | ) 46 | install( 47 | FILES 48 | "${PROJECT_BINARY_DIR}/CpuFeaturesNdkCompatConfig.cmake" 49 | "${PROJECT_BINARY_DIR}/CpuFeaturesNdkCompatConfigVersion.cmake" 50 | DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/CpuFeaturesNdkCompat" 51 | COMPONENT Devel 52 | ) 53 | 54 | # 55 | # program : NDK compat test program 56 | # 57 | if(ENABLE_TESTING) 58 | add_executable(ndk-compat-test ndk-compat-test.c) 59 | target_link_libraries(ndk-compat-test PRIVATE ndk_compat) 60 | endif() 61 | -------------------------------------------------------------------------------- /wisdom.x86: -------------------------------------------------------------------------------- 1 | # derived from wisdom.i7-6500u / wisdom.i7-6500u.generic 2 | 3 | magnitude_power_uc8 twopass_x86_avx2 # 65331 ns/call 4 | magnitude_power_uc8 twopass_generic # 72679 ns/call 5 | 6 | magnitude_power_uc8_aligned twopass_x86_avx2_aligned # 66294 ns/call 7 | magnitude_power_uc8_aligned twopass_generic # 68415 ns/call 8 | 9 | magnitude_sc16 exact_float_x86_avx2 # 238602 ns/call 10 | magnitude_sc16 exact_float_generic # 1359997 ns/call 11 | 12 | magnitude_sc16_aligned exact_float_x86_avx2_aligned # 202484 ns/call 13 | magnitude_sc16_aligned exact_float_generic # 1351564 ns/call 14 | 15 | magnitude_sc16q11 exact_float_x86_avx2 # 65311 ns/call 16 | magnitude_sc16q11 exact_float_generic # 513012 ns/call 17 | 18 | magnitude_sc16q11_aligned exact_float_x86_avx2_aligned # 56217 ns/call 19 | magnitude_sc16q11_aligned exact_float_generic # 510226 ns/call 20 | 21 | magnitude_uc8 lookup_unroll_4_x86_avx2 # 53581 ns/call 22 | magnitude_uc8 lookup_unroll_4_generic # 52709 ns/call 23 | 24 | magnitude_uc8_aligned lookup_unroll_4_x86_avx2 # 53870 ns/call 25 | magnitude_uc8_aligned lookup_unroll_4_generic # 54033 ns/call 26 | 27 | mean_power_u16 u32_x86_avx2 # 11627 ns/call 28 | mean_power_u16 u32_generic # 18252 ns/call 29 | 30 | mean_power_u16_aligned u32_x86_avx2_aligned # 11572 ns/call 31 | mean_power_u16_aligned u32_generic # 18207 ns/call 32 | 33 | count_above_u16 generic_x86_avx2 # 20 ns/call 34 | count_above_u16 generic_generic # 30 ns/call 35 | 36 | count_above_u16_aligned generic_x86_avx2_aligned # 15 ns/call 37 | count_above_u16_aligned generic_generic # 31 ns/call 38 | --------------------------------------------------------------------------------