--- /dev/null
+/*****************************************************************************
+* *
+* OpenNI 2.x Alpha *
+* Copyright (C) 2012 PrimeSense Ltd. *
+* *
+* This file is part of OpenNI. *
+* *
+* Licensed under the Apache License, Version 2.0 (the "License"); *
+* you may not use this file except in compliance with the License. *
+* You may obtain a copy of the License at *
+* *
+* http://www.apache.org/licenses/LICENSE-2.0 *
+* *
+* Unless required by applicable law or agreed to in writing, software *
+* distributed under the License is distributed on an "AS IS" BASIS, *
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
+* See the License for the specific language governing permissions and *
+* limitations under the License. *
+* *
+*****************************************************************************/
+#ifndef _ONI_PLATFORM_LINUX_GENERIC_H_
+#define _ONI_PLATFORM_LINUX_GENERIC_H_
+
+// Start with Linux-x86, and override what's different
+#include "../Linux-x86/OniPlatformLinux-x86.h"
+
+//---------------------------------------------------------------------------
+// Platform Basic Definition
+//---------------------------------------------------------------------------
+#undef ONI_PLATFORM
+#undef ONI_PLATFORM_STRING
+#define ONI_PLATFORM ONI_PLATFORM_LINUX_GENERIC
+#define ONI_PLATFORM_STRING "Linux-generic"
+
+#endif //_ONI_PLATFORM_LINUX_GENERIC_H_
+
#define ONI_PLATFORM_LINUX_ARM 3
#define ONI_PLATFORM_MACOSX 4
#define ONI_PLATFORM_ANDROID_ARM 5
+#define ONI_PLATFORM_LINUX_GENERIC 6
#if (defined _WIN32)
# ifndef RC_INVOKED
# include "Linux-x86/OniPlatformLinux-x86.h"
#elif (__linux__ && __arm__)
# include "Linux-Arm/OniPlatformLinux-Arm.h"
+#elif (__linux__)
+# include "Linux-generic/OniPlatformLinux-generic.h"
#elif _ARC
# include "ARC/OniPlaformARC.h"
#elif (__APPLE__)
#define XN_SENSOR_USB_MISC_BUFFER_SIZE 0x1000
#define XN_SENSOR_USB_MISC_BUFFERS 1
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC)
#define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_ISO 32
#define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_BULK 40
#define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_LOWBAND_ISO 16
const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_BULK = 120;
const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_BULK = 8;
const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_BULK = 1000;
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC )
const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_ISO = 32;
const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_ISO = 16;
const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_ISO = 100;
// On all platforms other than Windows, prefer BULK
nRetVal = SetUsbAltInterface(0);
XN_IS_STATUS_OK_LOG_ERROR("Switch to ISO", nRetVal);
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC)
// On all platforms other than Windows, prefer BULK
nRetVal = SetUsbAltInterface(1);
XN_IS_STATUS_OK_LOG_ERROR("Switch to BULK", nRetVal);
#if (ONI_PLATFORM == ONI_PLATFORM_WIN32)
#include <conio.h>
#include <direct.h>
-#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM || ONI_PLATFORM == ONI_PLATFORM_MACOSX)
+#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM \
+ || ONI_PLATFORM == ONI_PLATFORM_MACOSX ||ONI_PLATFORM == ONI_PLATFORM_LINUX_GENERIC)
#define _getch() getchar()
#endif
else ifneq (,$(findstring arm,$(MACHINE)))
HOST_PLATFORM = Arm
else
- DUMMY:=$(error Can't determine host platform)
+ HOST_PLATFORM = generic
endif
# now check if this is a cross-compilation or not
--- /dev/null
+# some defaults
+export GLUT_SUPPORTED=1
+FLAGS += -O3 -fno-strict-aliasing
+
--- /dev/null
+/*****************************************************************************
+* *
+* PrimeSense PSCommon Library *
+* Copyright (C) 2012 PrimeSense Ltd. *
+* *
+* This file is part of PSCommon. *
+* *
+* Licensed under the Apache License, Version 2.0 (the "License"); *
+* you may not use this file except in compliance with the License. *
+* You may obtain a copy of the License at *
+* *
+* http://www.apache.org/licenses/LICENSE-2.0 *
+* *
+* Unless required by applicable law or agreed to in writing, software *
+* distributed under the License is distributed on an "AS IS" BASIS, *
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
+* See the License for the specific language governing permissions and *
+* limitations under the License. *
+* *
+*****************************************************************************/
+#ifndef _XN_PLATFORM_LINUX_GENERIC_H_
+#define _XN_PLATFORM_LINUX_GENERIC_H_
+
+// Start with Linux-x86, and override what's different
+#include "../Linux-x86/XnPlatformLinux-x86.h"
+
+//---------------------------------------------------------------------------
+// Platform Basic Definition
+//---------------------------------------------------------------------------
+#undef XN_PLATFORM
+#undef XN_PLATFORM_STRING
+#define XN_PLATFORM XN_PLATFORM_LINUX_GENERIC
+#define XN_PLATFORM_STRING "Linux-generic"
+
+#endif //_XN_PLATFORM_LINUX_GENERIC_H_
+
//---------------------------------------------------------------------------
#if (XN_PLATFORM == XN_PLATFORM_WIN32)
#include "Win32/XnOSWin32.h"
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC)
#include "Linux-x86/XnOSLinux-x86.h"
#elif (XN_PLATFORM == XN_PLATFORM_MACOSX)
#include "MacOSX/XnOSMacOSX.h"
#define XN_PLATFORM_LINUX_ARM 7
#define XN_PLATFORM_MACOSX 8
#define XN_PLATFORM_ANDROID_ARM 9
+#define XN_PLATFORM_LINUX_GENERIC 10
#define XN_PLATFORM_IS_LITTLE_ENDIAN 1
#define XN_PLATFORM_IS_BIG_ENDIAN 2
#include "Linux-x86/XnPlatformLinux-x86.h"
#elif (__linux__ && __arm__)
#include "Linux-Arm/XnPlatformLinux-Arm.h"
+#elif (__linux__)
+#include "Linux-generic/XnPlatformLinux-generic.h"
#elif _ARC
#include "ARC/XnPlaformARC.h"
#elif (__APPLE__)
#define USB_DT_DEVICE_SIZE 0
#define USB_DT_DEVICE 0
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC)
#include <linux/usb/ch9.h>
typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor;
typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor;
#include <XnOSCpp.h>
#include <XnList.h>
-#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM)
+#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC)
#include <libudev.h>
#define XN_USE_UDEV
#endif