3#pragma comment(lib, "Ws2_32.lib")
4#include "BaseCommunication.h"
5#include "UsbSettings.h"
8#include "UsbInformation.h"
10#ifdef STARFLEETTOOLBOX_EXPORTS
11#define USBCOMM __declspec(dllexport)
13#define USBCOMM __declspec(dllimport)
40 public BaseCommunication
43 const int COMMAND_ACK_TIMEOUT = 5000;
44 const int MAX_SIZE_TO_READ = 40000;
77 string SendCommand(
string commandToSend);
86 RawData WaitForRawData(
int waitTimeout,
unsigned long* semStatus);
93 static vector<UsbInformation> GetDeviceList();
99 int GetCommunicationStatus();
104 void Connect(
bool forceMonitoring);
106 bool _stopHandle =
false;
108 thread _usbReceiveData;
110 HANDLE _mutexSendAvailable;
116 void UsbEventDataReceiverBusiness(
void* param);
123 static void __stdcall callbackUSBReadTransferComplete(
struct libusb_transfer* xfr);
The base class encapsulating sensor's RAW data.
Definition RawData.h:14
A structure definition to handle USB callback event.
Definition UsbCommunication.h:19
BaseDataExtractor * extractor
Definition UsbCommunication.h:25
string commandResult
Definition UsbCommunication.h:29
struct libusb_transfer * transfer
Definition UsbCommunication.h:20
RawData extractedData
Definition UsbCommunication.h:32
HANDLE dataAvailableSemaphore
Definition UsbCommunication.h:26
struct libusb_device_handle * device_handle
Definition UsbCommunication.h:21
bool treat
Definition UsbCommunication.h:30
bool interruptTransfer
Definition UsbCommunication.h:33
vector< string > localVector
Definition UsbCommunication.h:31
HANDLE semReadyToConsume
Definition UsbCommunication.h:28
unsigned char input_endpoint
Definition UsbCommunication.h:22
struct libusb_context * usbContext
Definition UsbCommunication.h:23
HANDLE rawDataAvailableSemaphore
Definition UsbCommunication.h:27
This class handles the USB communication.
Definition UsbCommunication.h:41
The USB settings encapsulation for USB communication.
Definition UsbSettings.h:18