37#ifndef SCPISocketCANTransport_h
38#define SCPISocketCANTransport_h
43#include <linux/can/raw.h>
52 SCPISocketCANTransport(
const std::string& args);
53 virtual ~SCPISocketCANTransport();
55 virtual std::string GetConnectionString()
override;
56 static std::string GetTransportName();
58 virtual void FlushRXBuffer(
void)
override;
59 virtual bool SendCommand(
const std::string& cmd)
override;
60 virtual std::string ReadReply(
bool endOnSemicolon =
true, std::function<
void(
float)> progress =
nullptr)
override;
61 virtual size_t ReadRawData(
size_t len,
unsigned char* buf, std::function<
void(
float)> progress =
nullptr)
override;
62 virtual void SendRawData(
size_t len,
const unsigned char* buf)
override;
64 size_t ReadPacket(can_frame* frame, int64_t& sec, int64_t& ns);
66 virtual bool IsCommandBatchingSupported()
override;
67 virtual bool IsConnected()
override;
69 TRANSPORT_INITPROC(SCPISocketCANTransport)
75 std::string m_devname;
Abstraction of a transport layer for moving SCPI data between endpoints.
Definition: SCPITransport.h:47