Ejemplo n.º 1
0
bool TangoData::ConnectCallbacks() {
  // Attach the onXYZijAvailable callback.
  if (TangoService_connectOnXYZijAvailable(onXYZijAvailable) != TANGO_SUCCESS) {
    LOGI("TangoService_connectOnXYZijAvailable(): Failed");
    return false;
  }

  // Set the reference frame pair after connect to service.
  // Currently the API will set this set below as default.
  TangoCoordinateFramePair pairs;
  pairs.base = TANGO_COORDINATE_FRAME_START_OF_SERVICE;
  pairs.target = TANGO_COORDINATE_FRAME_DEVICE;

  // Attach onPoseAvailable callback.
  if (TangoService_connectOnPoseAvailable(1, &pairs, onPoseAvailable) !=
      TANGO_SUCCESS) {
    LOGI("TangoService_connectOnPoseAvailable(): Failed");
    return false;
  }

  // Attach onFrameAvailable callback.
  if (TangoService_connectOnFrameAvailable(TANGO_CAMERA_COLOR, NULL, onFrameAvailable) !=
      TANGO_SUCCESS) {
    LOGI("TangoService_connectOnFrameAvailable(): Failed");
    return false;
  }

  // Set the event callback listener.
  if (TangoService_connectOnTangoEvent(onTangoEvent) != TANGO_SUCCESS) {
    LOGI("TangoService_connectOnTangoEvent(): Failed");
    return false;
  }
  return true;
}
Ejemplo n.º 2
0
 void FrameBuffer::setup() {
     int ret = TangoService_connectOnFrameAvailable(TANGO_CAMERA_COLOR, NULL, onFrameAvailable);
     if (ret == TANGO_SUCCESS) {
         LOGD("onFrameAvailable connected");
         if (FrameBuffer::latestBuffer == NULL) {
             FrameBuffer::latestBuffer = new uint8_t[BUFFER_SIZE];
         } else {
             LOGE("frameBuffer is already initialized");
         }
     } else {
         LOGE("Error connecting color frame %d", ret);
     }
 }