mutability / dump978 Goto Github PK
View Code? Open in Web Editor NEWExperimental demodulator/decoder for UAT on 978MHz
License: GNU General Public License v2.0
Experimental demodulator/decoder for UAT on 978MHz
License: GNU General Public License v2.0
uat2json
is producing aircraft.json
containing the following object:
{now: 1472588074,
messages: 600,
aircraft: [{"hex":"~28ce4b","lat":39.944272,"lon":-83.048680,"seen_pos":77,"altitude":900,"vert_rate":0,"track":24,"speed":95,"messages":1,"seen":77,"rssi":0}]}
But it looks like dump1090 is looking for data.json
which contains the following:
[{"hex":"4840cf", "squawk":"0000", "flight":"", "lat":0.000000, "lon":0.000000, "validposition":0, "altitude":38000, "vert_rate":0,"track":0, "validtrack":0,"speed":0, "messages":8, "seen":3}]
It appears that dump1090’s frontend code only wants the inner aircraft
slot from uat2json
’s output.
I’d like your advice on how to approach this. I could modify dump1090, but since the dump978 project is making use of dump1090’s webserver, it’d seem that, for better maintainability, I should try changing uat2json
?
The code in write_receiver_json() never renames the receiver.json.new file to receiver.json. Below is a patch that does.
static int write_receiver_json(const char *dir)
{
char path[PATH_MAX];
fprintf(stderr, "fopen(%s): %m\n", path);
fprintf(stderr, "fopen(%s): %m\n", path_new);
return 0;
@@ -200,6 +201,11 @@ static int write_receiver_json(const char *dir)
"}\n");
fclose(f);
fprintf(stderr, "rename(%s,%s): %m\n", path_new, path);
return 0;
return 1;
}
Would be nice to have uat2json optionally write packets it reads to stdout, so you can put it midway through a pipeline.
Environment notes:
GCC Version: 12.2.0
Linux Kernel: 6.0.0-1-MANJARO
GNU Make 4.3
When running make
, I run into compiler errors regarding esnt_frame
in uat2esnt.c
possibly being uninitialized.
I attached the full log.
output.txt
Hi, I'm a sdr amateur in China. Thanks for your work. It receives messages like below.
-51045768861c17dc507d16e42403f5121e800a82c2d14ddd449222b8335a9841022d;rs=7;
-7d63b423ddeba347932bb8ca85ef9d3fb76ccf597c8ddd5f9457197f7ff93cd71870;rs=7;
-cdfed68f56de12477e31a703af1d6aa46ccd6593bf987eea4f55c22f8f1e10021727;rs=7;
-91ec89070a6d7151fb767e9134fd9a105b175d1cfc4742d1ecdaadb831e30ac28d49;rs=7;
-d3cc9dafb58bab5b771534f575f6fa20f62bfe9d0da2bd04154d4f8fab265e411b03;rs=7;
-a369f09c0c59d950d104ece7bf0d82c3b089ea07f2c9ed3d0341c944110b9dc7dc11;rs=7;
-47611cc7e9b6c8ac0215cee35a2fba6ac1b59f57153bf8087f7b515593697a69f5c2;rs=7;
-84d0cc727081d31644da9aea8b5a12dd8eed472dc5603395c98e0c64718dbb112e19;rs=7;
-8e808e8b0c36d901b7a0bce15855b2eea2235d4c2fa910852e52972a644a51c0a950;rs=7;
-28c102b4de84f910ab06400518431052fe542b6c9d980bcaa75c2a064ac0d1c464c4;rs=7;
-c30e8431a9a12635e7114a597e9c79495cb08fc8e865e6e363041ce652c387018013;rs=7;
most of the messages is beacon, and some decode like this:
HDR:
MDB Type: 8
Address: 611CC7 (reserved (7))
SV:
NIC: 3
Latitude: -15.6699
Longitude: +120.9432
Altitude: 81725 ft (geometric)
N/S velocity: -2600 kt
E/W velocity: -3532 kt
Track: 233
Speed: 4385 kt
Vertical rate: -10944 ft/min (from barometric altitude)
UTC coupling: no
TIS-B site ID: 0
HDR:
MDB Type: 5
Address: C102B4 (ICAO address via ADS-B)
SV:
NIC: 5
Latitude: -23.5410
Longitude: -168.2803
Altitude: 24575 ft (barometric)
N/S velocity: -527 kt
E/W velocity: -543 kt
Track: 225
Speed: 756 kt
Vertical rate: 19328 ft/min (from barometric altitude)
UTC coupling: yes
TIS-B site ID: 0
AUXSV:
I think the data is wired, so is there something wrong in the decode algorithm? or just somebody sending test frames of UAT? I can upload recorded raw data if you need them.
Could the UPLINK_POLY and ADSB_POLY value lead to the this? is there another UPLINK_POLY ADSB_POLY value to use to test?
When running dump978-fa --version
, the exit code is non-zero:
root@3f8f97a4cbae:/# dump978-fa --version
dump978-fa db4c8c9
root@3f8f97a4cbae:/# echo $?
64
I believe when running dump978-fa --version
that the exit code should be 0 (as no error has occurred with execution).
I am curious if weather information like METAR, TAF, etc can be shown as part of the information presented for traffic via dump1090/data/aircraft.json or dump978 ?
I know uat2text can extract this information, but I would like to be in json instead ...similar as aircraft information is presented.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.