From 6714148c452b64b30f8186a0ab15fc91219e47c3 Mon Sep 17 00:00:00 2001 From: Adrian Batzill Date: Thu, 10 Sep 2020 10:20:21 +0200 Subject: [PATCH] Forward MLAT traffic to Stratux JSON output, marked with IsMlat:true value in JSON --- net_io.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/net_io.c b/net_io.c index f0754c4..06c60ee 100644 --- a/net_io.c +++ b/net_io.c @@ -803,10 +803,6 @@ static void modesSendStratuxOutput(struct modesMessage *mm, struct aircraft *a) if (mm->correctedbits >= 2) return; - // Don't ever forward mlat messages via Stratux output. - if (mm->source == SOURCE_MLAT) - return; - // Don't ever send unreliable messages via Stratux output if (!mm->reliable && !a->reliable) return; @@ -827,17 +823,23 @@ static void modesSendStratuxOutput(struct modesMessage *mm, struct aircraft *a) cacf = mm->CF; } + const char* is_mlat_str = "false"; + if (mm->source == SOURCE_MLAT) + is_mlat_str = "true"; + p = safe_snprintf(p, end, "{\"Icao_addr\":%d," "\"DF\":%d,\"CA\":%d," "\"TypeCode\":%d," "\"SubtypeCode\":%d," - "\"SignalLevel\":%f,", + "\"SignalLevel\":%f," + "\"IsMlat\":%s,", mm->addr, mm->msgtype, cacf, mm->metype, mm->mesub, - mm->signalLevel); // what precision and range is needed for RSSI? + mm->signalLevel, // what precision and range is needed for RSSI? + is_mlat_str); //// callsign if (mm->callsign_valid)