24 namespace fpgamanager {
53 static ApiUrl UDP(
const std::string& ipString);
60 static ApiUrl FX3(
int vendor,
int product);
68 static ApiUrl FX3(
int vendor,
int product,
int index);
79 static ApiUrl FTDI(
const std::string& serialNo);
103 const std::string&
str()
const;
146 operator uint32_t()
const;
157 uint32_t _milliseconds;
169 template<
typename T, std::
size_t N>
184 for (std::size_t idx = 0; idx < N; ++idx)
218 template<std::
size_t N>
219 std::ostream& operator<<(std::ostream& lhs, const Version<uint8_t, N>& rhs)
221 for (std::size_t idx = 0; idx < N; ++idx)
223 if (idx) lhs <<
'.' << std::setw(2) << std::setfill(
'0');
224 lhs << static_cast<int>(rhs.value[idx]);
238 template<
typename T, std::
size_t N>
239 std::ostream& operator<<(std::ostream& lhs, const Version<T, N>& rhs)
241 for (std::size_t idx = 0; idx < N; ++idx)
243 if (idx) lhs <<
'.' << std::setw(2) << std::setfill(
'0');
244 lhs << rhs.value[idx];
271 std::ostream& operator<<(std::ostream& lhs,
const ApiDetails& rhs);
Version type
Definition: FpgaManager_Types.h:170
static ApiUrl FX3(int vendor, int product)
Create an USB3 FX3 Transport URL based on FX3 vendor and product id.
const std::string & str() const
String representation of the Device URL
FPGA Manager device URL
Definition: FpgaManager_Types.h:34
T value[N]
version contents
Definition: FpgaManager_Types.h:175
Duration()
Default Constructor
static Duration FromMilliseconds(unsigned value)
Returns a duration of milliseconds
static Duration FromSeconds(unsigned value)
Returns a duration of seconds
static ApiUrl Parse(const std::string &url)
Create an URL object based on a FPGA Manager URL string
bool operator==(const Version< T, N > &that) const
Equality comparison.
Definition: FpgaManager_Types.h:182
T & operator[](int idx)
Indexer.
Definition: FpgaManager_Types.h:195
static ApiUrl UDP(const std::string &ipString)
Create an UDP Transport URL based on an IP Address
Protocol
Transport Protocol
Definition: FpgaManager_Types.h:39
Represents a time duration
Definition: FpgaManager_Types.h:123
static ApiUrl FTDI(const std::string &serialNo)
Create an USB2 FTDI Transport URL based on the FTDI serial number
Definition: FpgaManager.h:28
Details of the current API
Definition: FpgaManager_Types.h:257
types::Version< uint8_t, 3 > wrapper_version
Version of the C++ wrapper
Definition: FpgaManager_Types.h:260
static Duration Zero()
Returns a duration of zero
const T & operator[](int idx) const
Indexer.
Definition: FpgaManager_Types.h:205
static ApiUrl PCIe(int deviceIndex)
Create a PCIe Transport URL based on the device index
Protocol protocol() const
Transport Protocol of the Device URL
types::Version< uint8_t, 2 > base_dll_version
Version of the FPGA Manager API DLL
Definition: FpgaManager_Types.h:262
static ApiUrl PCIeDefault()
The default PCIe device URL
static ApiUrl FX3Default()
The default FX3 URL for Enclustra Reference Designs