Raw CAN helper class using SocketCAN.
More...
#include <can.hpp>
|
| RawCan (const std::string &device) |
| Constructor.
|
|
| ~RawCan () |
| Destructor.
|
|
bool | Open () |
| Open CAN interface.
|
|
bool | SetFilters (const std::vector< struct can_filter > &filters) |
| Set filters.
|
|
void | Close () |
| Close CAN interface.
|
|
bool | IsOpen () const |
| Check if CAN is open.
|
|
int | GetSocket () const |
| Get socket.
|
|
int | GetErrno () const |
| Get last error (errno)
|
|
std::string | GetStrerror () |
| Get last error string (strerror)
|
|
void | FlushInput () |
| Flush all pending input data.
|
|
bool | SendFrame (CanFrame &frame) |
| Send raw CAN frame (standard, extended and FD, and combinations thereof)
|
|
bool | ReadFrame (struct can_frame &frame, const int timeout=0) |
| Read raw classical CAN frame.
|
|
bool | SendFrame (const struct can_frame &frame) |
| Send raw classical CAN frame.
|
|
bool | SendFrame (const struct canfd_frame &frame) |
| Send raw CAN FD frame.
|
|
bool | ReadFrame (struct canfd_frame &frame, const int timeout=0) |
| Read raw CAN FD frame.
|
|
bool | ReadFrame (CanFrame &frame, const int timeout=0) |
| Read raw CAN frame (standard, extended and FD, and combinations thereof)
|
|
Raw CAN helper class using SocketCAN.
Definition at line 142 of file can.hpp.
◆ RawCan()
fpsdk::common::can::RawCan::RawCan |
( |
const std::string & | device | ) |
|
Constructor.
- Parameters
-
[in] | device | Device name (e.g. "can0") |
◆ Open()
bool fpsdk::common::can::RawCan::Open |
( |
| ) |
|
Open CAN interface.
- Returns
- true if device was successfully opened, false otherwise
◆ SetFilters()
bool fpsdk::common::can::RawCan::SetFilters |
( |
const std::vector< struct can_filter > & | filters | ) |
|
◆ IsOpen()
bool fpsdk::common::can::RawCan::IsOpen |
( |
| ) |
const |
Check if CAN is open.
- Returns
- true if socket is open, false otherwise
◆ GetSocket()
int fpsdk::common::can::RawCan::GetSocket |
( |
| ) |
const |
Get socket.
- Returns
- the socket, -1 if interface is not opened
◆ GetErrno()
int fpsdk::common::can::RawCan::GetErrno |
( |
| ) |
const |
Get last error (errno)
- Returns
- the last error (errno), 0 = no error
◆ GetStrerror()
std::string fpsdk::common::can::RawCan::GetStrerror |
( |
| ) |
|
Get last error string (strerror)
- Returns
- the last error string
◆ SendFrame() [1/3]
bool fpsdk::common::can::RawCan::SendFrame |
( |
CanFrame & | frame | ) |
|
Send raw CAN frame (standard, extended and FD, and combinations thereof)
- Parameters
-
[in,out] | frame | The CAN frame to send |
- Returns
- true if sent successfully, false otherwise
◆ ReadFrame() [1/3]
bool fpsdk::common::can::RawCan::ReadFrame |
( |
struct can_frame & | frame, |
|
|
const int | timeout = 0 ) |
Read raw classical CAN frame.
- Parameters
-
[out] | frame | The received frame |
[in] | timeout | Timeout to wait for a frame [ms], use 0 for no wait, < 0 for infinite wait (like poll()) |
- Returns
- true if a frame was received, false otherwise
◆ SendFrame() [2/3]
bool fpsdk::common::can::RawCan::SendFrame |
( |
const struct can_frame & | frame | ) |
|
Send raw classical CAN frame.
- Parameters
-
[in] | frame | The CAN frame to send |
- Returns
- true if sent successfully, false otherwise
◆ SendFrame() [3/3]
bool fpsdk::common::can::RawCan::SendFrame |
( |
const struct canfd_frame & | frame | ) |
|
Send raw CAN FD frame.
- Parameters
-
[in] | frame | The CAN frame to send |
- Returns
- true if sent successfully, false otherwise
◆ ReadFrame() [2/3]
bool fpsdk::common::can::RawCan::ReadFrame |
( |
struct canfd_frame & | frame, |
|
|
const int | timeout = 0 ) |
Read raw CAN FD frame.
- Parameters
-
[out] | frame | The received frame |
[in] | timeout | Timeout to wait for a frame [ms], use 0 for no wait, < 0 for infinite wait (like poll()) |
- Returns
- true if a frame was received, false otherwise
◆ ReadFrame() [3/3]
bool fpsdk::common::can::RawCan::ReadFrame |
( |
CanFrame & | frame, |
|
|
const int | timeout = 0 ) |
Read raw CAN frame (standard, extended and FD, and combinations thereof)
- Parameters
-
[out] | frame | The received frame |
[in] | timeout | Timeout to wait for a frame [ms], use 0 for no wait, < 0 for infinite wait (like poll()) |
- Returns
- true if a frame was received, false otherwise
◆ device_
std::string fpsdk::common::can::RawCan::device_ |
|
protected |
Device name.
Definition at line 272 of file can.hpp.
◆ sock_
int fpsdk::common::can::RawCan::sock_ |
|
protected |
The socket to the CAN inferface.
Definition at line 273 of file can.hpp.
◆ saved_errno_
int fpsdk::common::can::RawCan::saved_errno_ |
|
protected |
Saved errno.
Definition at line 274 of file can.hpp.
The documentation for this class was generated from the following file:
- fpsdk_common/include/fpsdk_common/can.hpp