PrimeSense.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * *
3 * OpenNI 2.x Alpha *
4 * Copyright (C) 2012 PrimeSense Ltd. *
5 * *
6 * This file is part of OpenNI. *
7 * *
8 * Licensed under the Apache License, Version 2.0 (the "License"); *
9 * you may not use this file except in compliance with the License. *
10 * You may obtain a copy of the License at *
11 * *
12 * http://www.apache.org/licenses/LICENSE-2.0 *
13 * *
14 * Unless required by applicable law or agreed to in writing, software *
15 * distributed under the License is distributed on an "AS IS" BASIS, *
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
17 * See the License for the specific language governing permissions and *
18 * limitations under the License. *
19 * *
20 *****************************************************************************/
21 #ifndef PRIMESENSE_H
22 #define PRIMESENSE_H
23 
24 #include <OniCTypes.h>
25 
37 enum
38 {
39  // Stream Properties
40  PS_PROPERTY_DUMP_DATA = 0x1d270001, // boolean
41  PS_PROPERTY_GAIN = 0x1d270002, // int - system specific
42 
43  // Device Properties
44  PS_PROPERTY_USB_INTERFACE = 0x1d27F001, // values from XnUsbInterfaceType
45 };
46 
55 enum
56 {
57  // Device Commands - use via invoke()
58  PS_COMMAND_AHB_READ = 0x1d27E001, // XnCommandAHB
59  PS_COMMAND_AHB_WRITE = 0x1d27E002, // XnCommandAHB
60  PS_COMMAND_I2C_READ = 0x1d27E003, // XnCommandI2C
61  PS_COMMAND_I2C_WRITE = 0x1d27E004, // XnCommandI2C
62  PS_COMMAND_SOFT_RESET = 0x1d27E005, // no arguments
63  PS_COMMAND_POWER_RESET = 0x1d27E006, // no arguments
64  PS_COMMAND_BEGIN_FIRMWARE_UPDATE = 0x1d27E007, // no arguments
65  PS_COMMAND_END_FIRMWARE_UPDATE = 0x1d27E008, // no arguments
66  PS_COMMAND_UPLOAD_FILE = 0x1d27E009, // XnCommandUploadFile
67  PS_COMMAND_DOWNLOAD_FILE = 0x1d27E00A, // XnCommandDownloadFile
68  PS_COMMAND_GET_FILE_LIST = 0x1d27E00B, // an array of XnFileEntry
69  PS_COMMAND_FORMAT_ZONE = 0x1d27E00C, // XnCommandFormatZone
70  PS_COMMAND_DUMP_ENDPOINT = 0x1d27E00D, // XnCommandDumpEndpoint
71  PS_COMMAND_GET_I2C_DEVICE_LIST = 0x1d27E00E, // XnCommandGetI2CDevices
72  PS_COMMAND_GET_BIST_LIST = 0x1d27E00F, // XnCommandGetBistList
73  PS_COMMAND_EXECUTE_BIST = 0x1d27E010, // XnCommandExecuteBist
74  PS_COMMAND_USB_TEST = 0x1d27E011, // XnCommandUsbTest
75  PS_COMMAND_GET_LOG_MASK_LIST = 0x1d27E012, // XnCommandGetLogMaskList
76  PS_COMMAND_SET_LOG_MASK_STATE = 0x1d27E013, // XnCommandSetLogMaskState
77  PS_COMMAND_START_LOG = 0x1d27E014, // no arguments
78  PS_COMMAND_STOP_LOG = 0x1d27E015, // no arguments
79  PS_COMMAND_READ_TEMPERATURE = 0x1d27E016, // no arguments
80  PS_COMMAND_GET_TEMP_LIST = 0x1d27E017,// PrintTempList
81  PS_COMMAND_READ_DEBUG_DATA = 0x1d27E018, //ReadDebugDaata
82 };
83 
84 typedef enum XnUsbInterfaceType
85 {
90 
91 #pragma pack (push, 1)
92 
93 // Data Types
94 typedef struct XnFwFileVersion
95 {
101 
102 typedef enum XnFwFileFlags
103 {
105 } XnFwFileFlags;
106 
107 typedef struct XnFwFileEntry
108 {
109  char name[32];
115  XnFwFileFlags flags; // bitmap
116 } XnFwFileEntry;
117 
118 typedef struct XnI2CDeviceInfo
119 {
123  char name[32];
125 
126 typedef struct XnBistInfo
127 {
129  char name[32];
130 } XnBistInfo;
131 
132 typedef struct XnTempInfo
133 {
135  char name[16];
136 } XnTempInfo;
137 
138 typedef struct XnFwLogMask
139 {
141  char name[32];
142 } XnFwLogMask;
143 
145 {
149 
150 // Commands
151 
152 typedef struct XnCommandAHB
153 {
154  uint32_t address; // Address of this register
155  uint32_t offsetInBits; // Offset of the field in bits within address
156  uint32_t widthInBits; // Width of the field in bits
157  uint32_t value; // For read requests, this is where the actual value will be filled. For write requests, the value to write.
158 } XnCommandAHB;
159 
160 typedef struct XnCommandI2C
161 {
162  uint32_t deviceID; // Device to communicate with
163  uint32_t addressSize; // Size of the address, in bytes (1-4)
164  uint32_t address; // Address
165  uint32_t valueSize; // Size of the value, in bytes (1-4)
166  uint32_t mask; // For write request - a mask to be applied to the value. For read requests - ignored.
167  uint32_t value; // For write request - the value to be written. For read requests - the place where the actual value is written to
168 } XnCommandI2C;
169 
170 typedef struct XnCommandUploadFile
171 {
172  const char* filePath;
175 
176 typedef struct XnCommandDownloadFile
177 {
179  const char* firmwareFileName;
180  const char* targetPath;
182 
183 typedef struct XnCommandGetFileList
184 {
185  uint32_t count; // in: number of allocated elements in files array. out: number of written elements in the array
188 
189 typedef struct XnCommandFormatZone
190 {
193 
194 typedef struct XnCommandDumpEndpoint
195 {
197  bool enabled;
199 
201 {
202  uint32_t count; // in: number of allocated elements in devices array. out: number of written elements in the array
205 
206 typedef struct XnCommandGetBistList
207 {
208  uint32_t count; // in: number of allocated elements in tests array. out: number of written elements in the array
211 
212 typedef struct XnCommandGetTempList
213 {
214  uint32_t count; // in: number of allocated elements in tests array. out: number of written elements in the array
217 
218 typedef struct XnCommandExecuteBist
219 {
222  uint32_t extraDataSize; // in: number of allocated bytes in extraData. out: number of written bytes in extraData
225 
227 {
229  float temperature;
231 
232 typedef struct XnCommandUsbTest
233 {
235  uint32_t endpointCount; // in: number of allocated bytes in endpoints array. out: number of written bytes in array
238 
240 {
241  uint32_t count; // in: number of allocated elements in masks array. out: number of written elements in the array
244 
246 {
248  bool enabled;
250 
251 typedef struct XnCommandDebugData
252 {
253  uint16_t dataID; // Values come from XnLinkInternalPropID
254  uint16_t dataSize; // in: size of allocated buffer in data, out: actual bytes written to data
257 
258 #pragma pack (pop)
259 
260 #endif // PRIMESENSE_H
XnCommandGetBistList::tests
XnBistInfo * tests
Definition: PrimeSense.h:209
XnTempInfo
Definition: PrimeSense.h:132
PS_COMMAND_I2C_WRITE
@ PS_COMMAND_I2C_WRITE
Definition: PrimeSense.h:61
XnCommandDumpEndpoint
Definition: PrimeSense.h:194
XnFwFileVersion::build
uint8_t build
Definition: PrimeSense.h:99
XnCommandUsbTest
Definition: PrimeSense.h:232
XnCommandI2C::deviceID
uint32_t deviceID
Definition: PrimeSense.h:162
XnCommandDebugData::dataID
uint16_t dataID
Definition: PrimeSense.h:253
XnCommandGetBistList::count
uint32_t count
Definition: PrimeSense.h:208
XnCommandGetTempList::pTempInfos
XnTempInfo * pTempInfos
Definition: PrimeSense.h:215
XnFwFileVersion::minor
uint8_t minor
Definition: PrimeSense.h:97
PS_COMMAND_AHB_READ
@ PS_COMMAND_AHB_READ
Definition: PrimeSense.h:58
XnCommandSetLogMaskState::mask
uint32_t mask
Definition: PrimeSense.h:247
XnCommandI2C
Definition: PrimeSense.h:160
XnFwLogMask
Definition: PrimeSense.h:138
XnCommandAHB::address
uint32_t address
Definition: PrimeSense.h:154
PS_COMMAND_AHB_WRITE
@ PS_COMMAND_AHB_WRITE
Definition: PrimeSense.h:59
PS_COMMAND_DUMP_ENDPOINT
@ PS_COMMAND_DUMP_ENDPOINT
Definition: PrimeSense.h:70
XnTempInfo::id
uint32_t id
Definition: PrimeSense.h:134
PS_COMMAND_SOFT_RESET
@ PS_COMMAND_SOFT_RESET
Definition: PrimeSense.h:62
PS_COMMAND_SET_LOG_MASK_STATE
@ PS_COMMAND_SET_LOG_MASK_STATE
Definition: PrimeSense.h:76
PS_PROPERTY_USB_INTERFACE
@ PS_PROPERTY_USB_INTERFACE
Definition: PrimeSense.h:63
XnCommandI2C::valueSize
uint32_t valueSize
Definition: PrimeSense.h:165
XnUsbTestEndpointResult::averageBytesPerSecond
double averageBytesPerSecond
Definition: PrimeSense.h:146
PS_COMMAND_GET_LOG_MASK_LIST
@ PS_COMMAND_GET_LOG_MASK_LIST
Definition: PrimeSense.h:75
XnUsbTestEndpointResult
Definition: PrimeSense.h:144
PS_COMMAND_POWER_RESET
@ PS_COMMAND_POWER_RESET
Definition: PrimeSense.h:63
XnI2CDeviceInfo::masterId
uint8_t masterId
Definition: PrimeSense.h:120
XnUsbTestEndpointResult::lostPackets
uint32_t lostPackets
Definition: PrimeSense.h:147
XnBistInfo
Definition: PrimeSense.h:126
XnCommandDebugData
struct XnCommandDebugData XnCommandDebugData
PS_COMMAND_GET_BIST_LIST
@ PS_COMMAND_GET_BIST_LIST
Definition: PrimeSense.h:72
XnFwFileEntry::size
uint32_t size
Definition: PrimeSense.h:112
PS_USB_INTERFACE_DONT_CARE
@ PS_USB_INTERFACE_DONT_CARE
Definition: PrimeSense.h:86
XnCommandExecuteBist::id
uint32_t id
Definition: PrimeSense.h:220
XnCommandUsbTest::endpoints
XnUsbTestEndpointResult * endpoints
Definition: PrimeSense.h:236
PS_PROPERTY_GAIN
@ PS_PROPERTY_GAIN
Definition: PrimeSense.h:60
PS_COMMAND_UPLOAD_FILE
@ PS_COMMAND_UPLOAD_FILE
Definition: PrimeSense.h:66
XnCommandDumpEndpoint::enabled
bool enabled
Definition: PrimeSense.h:197
PS_COMMAND_GET_I2C_DEVICE_LIST
@ PS_COMMAND_GET_I2C_DEVICE_LIST
Definition: PrimeSense.h:71
XnCommandFormatZone::zone
uint8_t zone
Definition: PrimeSense.h:191
XnCommandGetBistList
struct XnCommandGetBistList XnCommandGetBistList
XnCommandDownloadFile::targetPath
const char * targetPath
Definition: PrimeSense.h:180
XnCommandUploadFile
Definition: PrimeSense.h:170
XnCommandFormatZone
struct XnCommandFormatZone XnCommandFormatZone
XnFwFileVersion::maintenance
uint8_t maintenance
Definition: PrimeSense.h:98
XnCommandTemperatureResponse
Definition: PrimeSense.h:226
OniCTypes.h
XnFwFileVersion
struct XnFwFileVersion XnFwFileVersion
XnCommandI2C
struct XnCommandI2C XnCommandI2C
PS_COMMAND_I2C_READ
@ PS_COMMAND_I2C_READ
Definition: PrimeSense.h:60
XnCommandGetFileList::count
uint32_t count
Definition: PrimeSense.h:185
XnFwFileEntry::flags
XnFwFileFlags flags
Definition: PrimeSense.h:115
XnCommandAHB
Definition: PrimeSense.h:152
XnCommandUsbTest::endpointCount
uint32_t endpointCount
Definition: PrimeSense.h:235
XnBistInfo
struct XnBistInfo XnBistInfo
XnTempInfo::name
char name[16]
Definition: PrimeSense.h:135
uint8_t
unsigned char uint8_t
Definition: OniPlatformWin32.h:65
XnCommandI2C::address
uint32_t address
Definition: PrimeSense.h:164
PS_COMMAND_GET_FILE_LIST
@ PS_COMMAND_GET_FILE_LIST
Definition: PrimeSense.h:68
PS_COMMAND_BEGIN_FIRMWARE_UPDATE
@ PS_COMMAND_BEGIN_FIRMWARE_UPDATE
Definition: PrimeSense.h:64
XnCommandGetLogMaskList::count
uint32_t count
Definition: PrimeSense.h:241
XnCommandAHB::widthInBits
uint32_t widthInBits
Definition: PrimeSense.h:156
XnCommandGetLogMaskList
Definition: PrimeSense.h:239
XnFwLogMask::name
char name[32]
Definition: PrimeSense.h:141
XnCommandFormatZone
Definition: PrimeSense.h:189
XnI2CDeviceInfo
struct XnI2CDeviceInfo XnI2CDeviceInfo
XnCommandExecuteBist::extraData
uint8_t * extraData
Definition: PrimeSense.h:223
uint16_t
unsigned short uint16_t
Definition: OniPlatformWin32.h:66
XnFwFileVersion::major
uint8_t major
Definition: PrimeSense.h:96
XnBistInfo::name
char name[32]
Definition: PrimeSense.h:129
XnCommandAHB::offsetInBits
uint32_t offsetInBits
Definition: PrimeSense.h:155
PS_USB_INTERFACE_BULK_ENDPOINTS
@ PS_USB_INTERFACE_BULK_ENDPOINTS
Definition: PrimeSense.h:88
XnCommandI2C::value
uint32_t value
Definition: PrimeSense.h:167
XnUsbTestEndpointResult
struct XnUsbTestEndpointResult XnUsbTestEndpointResult
PS_COMMAND_READ_DEBUG_DATA
@ PS_COMMAND_READ_DEBUG_DATA
Definition: PrimeSense.h:81
PS_COMMAND_DOWNLOAD_FILE
@ PS_COMMAND_DOWNLOAD_FILE
Definition: PrimeSense.h:67
PS_COMMAND_START_LOG
@ PS_COMMAND_START_LOG
Definition: PrimeSense.h:77
PS_COMMAND_USB_TEST
@ PS_COMMAND_USB_TEST
Definition: PrimeSense.h:74
XnI2CDeviceInfo
Definition: PrimeSense.h:118
XnBistInfo::id
uint32_t id
Definition: PrimeSense.h:128
XnFwFileFlags
XnFwFileFlags
Definition: PrimeSense.h:102
XnCommandExecuteBist::errorCode
uint32_t errorCode
Definition: PrimeSense.h:221
PS_COMMAND_EXECUTE_BIST
@ PS_COMMAND_EXECUTE_BIST
Definition: PrimeSense.h:73
XnCommandDownloadFile::firmwareFileName
const char * firmwareFileName
Definition: PrimeSense.h:179
XnCommandDownloadFile::zone
uint16_t zone
Definition: PrimeSense.h:178
XnCommandSetLogMaskState::enabled
bool enabled
Definition: PrimeSense.h:248
XnCommandGetLogMaskList::masks
XnFwLogMask * masks
Definition: PrimeSense.h:242
XnCommandAHB
struct XnCommandAHB XnCommandAHB
XnCommandDebugData
Definition: PrimeSense.h:251
XnCommandGetFileList::files
XnFwFileEntry * files
Definition: PrimeSense.h:186
PS_COMMAND_FORMAT_ZONE
@ PS_COMMAND_FORMAT_ZONE
Definition: PrimeSense.h:69
XnCommandGetI2CDeviceList::count
uint32_t count
Definition: PrimeSense.h:202
XnCommandGetFileList
struct XnCommandGetFileList XnCommandGetFileList
XnCommandDebugData::data
uint8_t * data
Definition: PrimeSense.h:255
XnCommandAHB::value
uint32_t value
Definition: PrimeSense.h:157
XnCommandGetTempList
Definition: PrimeSense.h:212
XnCommandTemperatureResponse
struct XnCommandTemperatureResponse XnCommandTemperatureResponse
XnCommandExecuteBist
struct XnCommandExecuteBist XnCommandExecuteBist
XnTempInfo
struct XnTempInfo XnTempInfo
XnCommandGetI2CDeviceList
Definition: PrimeSense.h:200
XnCommandGetTempList
struct XnCommandGetTempList XnCommandGetTempList
XnCommandGetLogMaskList
struct XnCommandGetLogMaskList XnCommandGetLogMaskList
XnCommandTemperatureResponse::temperature
float temperature
Definition: PrimeSense.h:229
XnI2CDeviceInfo::id
uint32_t id
Definition: PrimeSense.h:122
XnCommandDownloadFile
struct XnCommandDownloadFile XnCommandDownloadFile
XnCommandI2C::addressSize
uint32_t addressSize
Definition: PrimeSense.h:163
XnCommandUploadFile
struct XnCommandUploadFile XnCommandUploadFile
XnFwLogMask::id
uint32_t id
Definition: PrimeSense.h:140
XnCommandTemperatureResponse::id
uint32_t id
Definition: PrimeSense.h:228
XnCommandDumpEndpoint
struct XnCommandDumpEndpoint XnCommandDumpEndpoint
XnCommandSetLogMaskState
Definition: PrimeSense.h:245
XnFwLogMask
struct XnFwLogMask XnFwLogMask
XnFwFileEntry::zone
uint16_t zone
Definition: PrimeSense.h:114
PS_COMMAND_READ_TEMPERATURE
@ PS_COMMAND_READ_TEMPERATURE
Definition: PrimeSense.h:79
XnCommandUsbTest::seconds
uint32_t seconds
Definition: PrimeSense.h:234
XnCommandGetFileList
Definition: PrimeSense.h:183
XnUsbInterfaceType
XnUsbInterfaceType
Definition: PrimeSense.h:84
XnCommandGetI2CDeviceList::devices
XnI2CDeviceInfo * devices
Definition: PrimeSense.h:203
XnCommandExecuteBist::extraDataSize
uint32_t extraDataSize
Definition: PrimeSense.h:222
PS_PROPERTY_DUMP_DATA
@ PS_PROPERTY_DUMP_DATA
Definition: PrimeSense.h:59
XnCommandUploadFile::filePath
const char * filePath
Definition: PrimeSense.h:172
XnCommandDumpEndpoint::endpoint
uint8_t endpoint
Definition: PrimeSense.h:196
XnFwFileEntry
struct XnFwFileEntry XnFwFileEntry
XnFwFileEntry::version
XnFwFileVersion version
Definition: PrimeSense.h:110
PS_COMMAND_GET_TEMP_LIST
@ PS_COMMAND_GET_TEMP_LIST
Definition: PrimeSense.h:80
XnCommandUsbTest
struct XnCommandUsbTest XnCommandUsbTest
PS_USB_INTERFACE_ISO_ENDPOINTS
@ PS_USB_INTERFACE_ISO_ENDPOINTS
Definition: PrimeSense.h:87
XnCommandGetBistList
Definition: PrimeSense.h:206
XnCommandGetI2CDeviceList
struct XnCommandGetI2CDeviceList XnCommandGetI2CDeviceList
XnCommandDebugData::dataSize
uint16_t dataSize
Definition: PrimeSense.h:254
PS_COMMAND_STOP_LOG
@ PS_COMMAND_STOP_LOG
Definition: PrimeSense.h:78
XnFwFileEntry::name
char name[32]
Definition: PrimeSense.h:109
uint32_t
unsigned int uint32_t
Definition: OniPlatformWin32.h:67
XnCommandGetTempList::count
uint32_t count
Definition: PrimeSense.h:214
XnFwFileEntry
Definition: PrimeSense.h:107
XnFwFileEntry::address
uint32_t address
Definition: PrimeSense.h:111
XnI2CDeviceInfo::slaveId
uint8_t slaveId
Definition: PrimeSense.h:121
XnCommandExecuteBist
Definition: PrimeSense.h:218
XnI2CDeviceInfo::name
char name[32]
Definition: PrimeSense.h:123
XnCommandUploadFile::uploadToFactory
uint32_t uploadToFactory
Definition: PrimeSense.h:173
XnCommandDownloadFile
Definition: PrimeSense.h:176
XnCommandSetLogMaskState
struct XnCommandSetLogMaskState XnCommandSetLogMaskState
XN_FILE_FLAG_BAD_CRC
@ XN_FILE_FLAG_BAD_CRC
Definition: PrimeSense.h:104
XnFwFileEntry::crc
uint16_t crc
Definition: PrimeSense.h:113
PS_COMMAND_END_FIRMWARE_UPDATE
@ PS_COMMAND_END_FIRMWARE_UPDATE
Definition: PrimeSense.h:65
XnFwFileVersion
Definition: PrimeSense.h:94
XnCommandI2C::mask
uint32_t mask
Definition: PrimeSense.h:166


ros_astra_camera
Author(s): Tim Liu
autogenerated on Wed Mar 2 2022 00:52:57