MCPcopy Create free account
hub / github.com/OpenKinect/libfreenect2 / Freenect2DeviceImpl

Class Freenect2DeviceImpl

src/libfreenect2.cpp:209–271  ·  view source on GitHub ↗

Freenect2 device implementation. */

Source from the content-addressed store, hash-verified

207
208/** Freenect2 device implementation. */
209class Freenect2DeviceImpl : public Freenect2Device
210{
211private:
212 enum State
213 {
214 Created,
215 Open,
216 Streaming,
217 Closed
218 };
219
220 State state_;
221 bool has_usb_interfaces_;
222
223 Freenect2Impl *context_;
224 libusb_device *usb_device_;
225 libusb_device_handle *usb_device_handle_;
226
227 BulkTransferPool rgb_transfer_pool_;
228 IsoTransferPool ir_transfer_pool_;
229
230 UsbControl usb_control_;
231 CommandTransaction command_tx_;
232 int command_seq_;
233
234 const PacketPipeline *pipeline_;
235 std::string serial_, firmware_;
236 Freenect2Device::IrCameraParams ir_camera_params_;
237 Freenect2Device::ColorCameraParams rgb_camera_params_;
238public:
239 Freenect2DeviceImpl(Freenect2Impl *context, const PacketPipeline *pipeline, libusb_device *usb_device, libusb_device_handle *usb_device_handle, const std::string &serial);
240 virtual ~Freenect2DeviceImpl();
241
242 bool isSameUsbDevice(libusb_device* other);
243
244 virtual std::string getSerialNumber();
245 virtual std::string getFirmwareVersion();
246
247 virtual Freenect2Device::ColorCameraParams getColorCameraParams();
248 virtual Freenect2Device::IrCameraParams getIrCameraParams();
249 virtual void setColorCameraParams(const Freenect2Device::ColorCameraParams &params);
250 virtual void setIrCameraParams(const Freenect2Device::IrCameraParams &params);
251 virtual void setConfiguration(const Freenect2Device::Config &config);
252
253 int nextCommandSeq();
254
255 bool open();
256
257 virtual void setColorFrameListener(libfreenect2::FrameListener* rgb_frame_listener);
258 virtual void setIrAndDepthFrameListener(libfreenect2::FrameListener* ir_frame_listener);
259 virtual void setColorAutoExposure(float exposure_compensation = 0);
260 virtual void setColorSemiAutoExposure(float pseudo_exposure_time_ms);
261 virtual void setColorManualExposure(float integration_time_ms, float analog_gain);
262 virtual void setColorSetting(ColorSettingCommandType cmd, uint32_t value);
263 virtual void setColorSetting(ColorSettingCommandType cmd, float value);
264 virtual uint32_t getColorSetting(ColorSettingCommandType cmd);
265 virtual float getColorSettingFloat(ColorSettingCommandType cmd);
266 virtual void setLedStatus(LedSettings led);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected