Searching, please wait...

libhomeradar

easy collect aircraft information
~50,000,000 registered contacts
303894 unique aircraft records, 28.78% unresolved records
 ACARS DECODER Planespotting Network Kinetic Avionics AirNav Systems Airframes.org Atlas Tracking
libhomeradar - easy collect aircraft informations

libhomeradar is an easy to use library for all type of programming language which can use libraries. libhomeradar can connect to different sources to collect aircraft informations arround the world with extended informations, powerful filtering and structured data access.

libhomeradar is written in C and is available for Linux and Windows (2003, XP, NT, Vista).

Currently libhomeradar works with the Kinetic Avionics SBS-1 base station and the Airnav Systems Radarbox.


Yahoo! My Web  Google Bookmarks  Windows Live  Facebook  Ask  del.icio.us  Furl 
 

This example will establish a connection to our SBS-1 server and will display only aircrafts which are registered in the Russian Federation. This will be done by a filterrule ( see homeradar_addfilter() ) for the ICAO24 identification code. This program will run until you press CTRL-C


 
libhomeradar - easy collect aircraft informations - Download example  Download this source
/* System includes */
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>

/* libhomeradar header include */
#include "libhomeradar.h"

/* Global variable to libhomeradar */
LHR H = NULL;

/* Callback function to show aircraft informations */
void newcontact(void *handle,const int *id, LHR_CONTACT *C) {

  /* Show only ICAO24 and registration */
  printf("%sContact: %s [%s]\n",(C->newcontact)?"AIR":"",
          C->icao24,(C->reg)?C->reg:"UNKNOWN");

  /* Free LHR_CONTACT struct */
  homeradar_freecontact(C); 
}

/* Shutdown library and finish program */
void shutdownlib(int sig) {

  printf("Shutdown system. Closing library handle...\n");

  /* Close lib handle */
  if (H) homeradar_destroy(H);
  exit(0);
}

/* Main program */
int main(int argc, char **argv) {
  int e;

  /* Init global variable */
  H = homeradar_init(16,LHR_AUTOCONNECT|LHR_LOOKUP_REG,&e,NULL);

  /* No error */
  if (H == NULL) {
    printf("Error initializing libhomeradar. Errorcode #%d\n",e);
    return 255;
  }

  /* Catch SIGINT signals (CTRL-C) */
  (void)signal(SIGINT, shutdownlib);

  /* Load databases from disc 
     Files should be located within the current directory */
  homeradar_load_databases(H, "./");

  /* Add host without event listener */
  e = homeradar_addhost(H, "sbs1.libhomeradar.org", 33033, LHR_SBS1, 0, NULL);

  /* Show only aircrafts which are registered in the Russian Federation */
  (void)homeradar_addfilter(H, LHR_FILTER_BYICAO24|LHR_FILTER_INCLUDE, "100000~1FFFFF", e);

  /* Setup the event listener for the LHR_ONCONTACT event */
  if (homeradar_onhandler(H, LHR_ONCONTACT, e, newcontact)==0) {
    printf("Unable to add event listener\n");
  }

  /* Do nothing */
  while(1) usleep(300000);

  /* Destroy lib handler */
  homeradar_destroy(H);

  /* Return success */
  return 0;
}