Exemplo n.º 1
0
Gps::Gps():
    Phidget(),
    gps_handle_(0)
{
    // create the handle
    CPhidgetGPS_create(&gps_handle_);

    // pass handle to base class
    Phidget::init((CPhidgetHandle)gps_handle_);

    // register base class callbacks
    Phidget::registerHandlers();

    // Register Gps Handlers
    registerGpsHandlers();

    return;
}
Exemplo n.º 2
0
VALUE gps_initialize(VALUE self, VALUE serial) {
  PhidgetInfo *info = device_info(self);
  
  GpsInfo *gps_info = ALLOC(GpsInfo); 
  memset(gps_info, 0, sizeof(GpsInfo));

  gps_info->sample_rate = sample_create();

  CPhidgetGPSHandle gps = 0;

  ensure(CPhidgetGPS_create(&gps));

  ensure(CPhidgetGPS_set_OnPositionChange_Handler( gps, gps_on_position_change, info));
 	ensure(CPhidgetGPS_set_OnPositionFixStatusChange_Handler(gps, gps_on_fix_change, info));

  info->handle = (CPhidgetHandle)gps;
  info->on_type_detach = gps_on_detach;
  info->on_type_free = gps_on_free;
  info->type_info = gps_info;

  return rb_call_super(1, &serial);
}