38#ifndef SCPIHIDTransport_h
39#define SCPIHIDTransport_h
41#include "../xptools/HID.h"
54 virtual std::string GetConnectionString()
override;
57 virtual bool SendCommand(
const std::string& cmd)
override;
58 virtual std::string ReadReply(
bool endOnSemicolon =
true, std::function<
void(
float)> progress =
nullptr)
override;
59 virtual size_t ReadRawData(
size_t len,
unsigned char* buf, std::function<
void(
float)> progress =
nullptr)
override;
60 virtual void SendRawData(
size_t len,
const unsigned char* buf)
override;
62 virtual bool IsCommandBatchingSupported()
override;
63 virtual bool IsConnected()
override;
65 std::string GetManufacturerName()
66 {
return m_manufacturerName; }
68 std::string GetProductName()
69 {
return m_productName; }
71 std::string GetSerialNumber()
72 {
return m_serialNumber; }
79 std::string m_serialNumber;
80 unsigned int m_vendorId;
81 unsigned int m_productId;
82 std::string m_manufacturerName;
83 std::string m_productName;
86 std::recursive_mutex m_transportMutex;
Wrapper class for a USB HID connection.
Definition: HID.h:51
Transport for instruments attached via USB HID.
Definition: SCPIHIDTransport.h:49
static std::string GetTransportName()
Returns the constant name "hid".
Definition: SCPIHIDTransport.cpp:96
SCPIHIDTransport(const std::string &args)
Initialize a new HID transport.
Definition: SCPIHIDTransport.cpp:50
Abstraction of a transport layer for moving SCPI data between endpoints.
Definition: SCPITransport.h:47