6 Mayıs 2017 Cumartesi

libgps Kütüphanesi

Giriş
C için gsd client kütüphanesidir. Şu satırı dahil ederiz.
#include <gps.h>
C++ kullanımı için gpsmm Kütüphanesi yazısına bakınız.

gps_open metodu
Şöyle yaparız.
struct gps_data_t gps_data;
if ((rc = gps_open("localhost", "2947", &gps_data)) == -1) {
  printf("code: %d, reason: %s\n", rc, gps_errstr(rc));
  return EXIT_FAILURE;
}
gps_stream metodu
Şöyle yaparız.
gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL);
gps_waiting metodu
Şöyle yaparız.
if (gps_waiting (&gps_data, 2000000)) {
...
}
gps_read metodu
Şöyle yaparız.
if ((rc = gps_read(&gps_data)) == -1) {
  printf("error code: %d, reason: %s\n", rc, gps_errstr(rc));
} else {
  /* Display data from the GPS receiver. */
  if ((gps_data.status == STATUS_FIX) && 
      (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) &&
      !isnan(gps_data.fix.latitude) && 
      !isnan(gps_data.fix.longitude)) {
     printf("latitude: %f, longitude: %f, speed: %f, timestamp: %ld\n",
      gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed,
      gps_data.fix.time);
  } else {
    printf("no GPS data available\n");
  }
}

Hiç yorum yok:

Yorum Gönder