Write a version header on faup1090 startup
This commit is contained in:
parent
0c3671429b
commit
daebc372a9
|
@ -204,6 +204,7 @@ int main(int argc, char **argv) {
|
||||||
// Set up output connection on stdout
|
// Set up output connection on stdout
|
||||||
fatsv_output = makeFatsvOutputService();
|
fatsv_output = makeFatsvOutputService();
|
||||||
createGenericClient(fatsv_output, STDOUT_FILENO);
|
createGenericClient(fatsv_output, STDOUT_FILENO);
|
||||||
|
writeFATSVHeader();
|
||||||
|
|
||||||
// Run it until we've lost either connection
|
// Run it until we've lost either connection
|
||||||
while (!Modes.exit && beast_input->connections && fatsv_output->connections) {
|
while (!Modes.exit && beast_input->connections && fatsv_output->connections) {
|
||||||
|
|
20
net_io.c
20
net_io.c
|
@ -1786,6 +1786,26 @@ __attribute__ ((format (printf,4,5))) static char *appendFATSV(char *p, char *en
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TSV_MAX_PACKET_SIZE 400
|
#define TSV_MAX_PACKET_SIZE 400
|
||||||
|
#define TSV_VERSION 2
|
||||||
|
|
||||||
|
void writeFATSVHeader()
|
||||||
|
{
|
||||||
|
char *p = prepareWrite(&Modes.fatsv_out, TSV_MAX_PACKET_SIZE);
|
||||||
|
if (!p)
|
||||||
|
return;
|
||||||
|
|
||||||
|
char *end = p + TSV_MAX_PACKET_SIZE;
|
||||||
|
|
||||||
|
p = appendFATSV(p, end, "clock", "%" PRIu64, mstime() / 1000);
|
||||||
|
p = appendFATSV(p, end, "tsvVersion", "%u", TSV_VERSION);
|
||||||
|
--p; // remove last tab
|
||||||
|
p = safe_snprintf(p, end, "\n");
|
||||||
|
|
||||||
|
if (p <= end)
|
||||||
|
completeWrite(&Modes.fatsv_out, p);
|
||||||
|
else
|
||||||
|
fprintf(stderr, "fatsv: output too large (max %d, overran by %d)\n", TSV_MAX_PACKET_SIZE, (int) (p - end));
|
||||||
|
}
|
||||||
|
|
||||||
static void writeFATSVPositionUpdate(float lat, float lon, float alt)
|
static void writeFATSVPositionUpdate(float lat, float lon, float alt)
|
||||||
{
|
{
|
||||||
|
|
2
net_io.h
2
net_io.h
|
@ -87,6 +87,8 @@ void modesInitNet(void);
|
||||||
void modesQueueOutput(struct modesMessage *mm, struct aircraft *a);
|
void modesQueueOutput(struct modesMessage *mm, struct aircraft *a);
|
||||||
void modesNetPeriodicWork(void);
|
void modesNetPeriodicWork(void);
|
||||||
|
|
||||||
|
void writeFATSVHeader();
|
||||||
|
|
||||||
// TODO: move these somewhere else
|
// TODO: move these somewhere else
|
||||||
char *generateAircraftJson(const char *url_path, int *len);
|
char *generateAircraftJson(const char *url_path, int *len);
|
||||||
char *generateStatsJson(const char *url_path, int *len);
|
char *generateStatsJson(const char *url_path, int *len);
|
||||||
|
|
Loading…
Reference in a new issue