CAN frame abstraction for standard, extended and FD (and combinations thereof) CAN frames.  
 More...
#include <can.hpp>
 | 
| void  | SetData (const uint8_t *data, const std::size_t size) | 
|   | Set data (data_len_ and data_ fields)  
  | 
| bool  | RawToFrame (const uint8_t *data, const std::size_t size) | 
|   | Populate frame (this struct) from raw data.  
  | 
| void  | FrameToRaw () | 
|   | Set raw CAN frame from frame (this struct)  
  | 
 | 
| uint32_t  | can_id_ = 0 | 
|   | CAN ID (masked by CAN_SFF_MASK resp CAN_EFF_MASK), i.e. flags removed)  
  | 
| bool  | is_eff_ = false | 
|   | true = extended frame (29 bits ID, CAN_EFF_FLAG), false = standard frame (11 bits ID)  
  | 
| bool  | is_fd_ = false | 
|   | true = CAN FD frame (up to CANFD_MAX_DLEN bytes), false = classical frame (up to CAN_MAX_DLEN bytes)  
  | 
| bool  | rtr_flag_ = false | 
|   | Remote transmission request flag (CAN_RTR_FLAG)  
  | 
| bool  | err_flag_ = false | 
|   | Error message frame flag (CAN_ERR_FLAG)  
  | 
| bool  | fd_brs_ = false | 
|   | Use bit rate switch for a FD frame (only valid if is_fd_ = true)  
  | 
| std::size_t  | data_len_ = false | 
|   | Number of bytes in payload data: up to CAN_MAX_DLEN for classical frames (is_fd_ = false), up to CANFD_MAX_DLEN for FD frames (is_fd_ = true)  
  | 
| const uint8_t *  | data_ = { can_frame_.data } | 
|   | Pointer to data (can_frame_.data resp. fd_frame_.data)  
  | 
| 
union {  |  | 
|    struct can_frame   can_frame_  |  | 
|   | Classical CAN frame (is_fd_ = false)  More...
  | 
|    struct canfd_frame   fd_frame_ = { 0, 0, 0, 0, 0, { 0 } }  |  | 
|   | FD CAN frame (is_fd_ = true)  More...
  | 
| };  |  | 
|   | Raw CAN frame. 
  | 
CAN frame abstraction for standard, extended and FD (and combinations thereof) CAN frames. 
Definition at line 89 of file can.hpp.
 
◆ SetData()
      
        
          | void fpsdk::common::can::CanFrame::SetData  | 
          ( | 
          const uint8_t * |           data,  | 
        
        
           | 
           | 
          const std::size_t |           size ) | 
        
      
 
Set data (data_len_ and data_ fields) 
- Parameters
 - 
  
    | [in] | data | The data  | 
    | [in] | size | Size of the data  | 
  
   
 
 
◆ RawToFrame()
      
        
          | bool fpsdk::common::can::CanFrame::RawToFrame  | 
          ( | 
          const uint8_t * |           data,  | 
        
        
           | 
           | 
          const std::size_t |           size ) | 
        
      
 
Populate frame (this struct) from raw data. 
On success, all the fields of the struct are set from the data.
- Parameters
 - 
  
    | [in] | data | The data (struct can_frame or struct canfd_frame)  | 
    | [in] | size | Size of the data (CAN_MTU or CANFD_MTU) | 
  
   
- Returns
 - true on success, false otherwise 
 
 
 
◆ FrameToRaw()
      
        
          | void fpsdk::common::can::CanFrame::FrameToRaw  | 
          ( | 
           | ) | 
           | 
        
      
 
Set raw CAN frame from frame (this struct) 
Updates the raw CAN frame data (below) from the flags and data (above). 
 
 
◆ can_id_
      
        
          | uint32_t fpsdk::common::can::CanFrame::can_id_ = 0 | 
        
      
 
CAN ID (masked by CAN_SFF_MASK resp CAN_EFF_MASK), i.e. flags removed) 
Definition at line 92 of file can.hpp.
 
 
◆ is_eff_
      
        
          | bool fpsdk::common::can::CanFrame::is_eff_ = false | 
        
      
 
true = extended frame (29 bits ID, CAN_EFF_FLAG), false = standard frame (11 bits ID) 
Definition at line 93 of file can.hpp.
 
 
◆ is_fd_
      
        
          | bool fpsdk::common::can::CanFrame::is_fd_ = false | 
        
      
 
true = CAN FD frame (up to CANFD_MAX_DLEN bytes), false = classical frame (up to CAN_MAX_DLEN bytes) 
Definition at line 94 of file can.hpp.
 
 
◆ rtr_flag_
      
        
          | bool fpsdk::common::can::CanFrame::rtr_flag_ = false | 
        
      
 
Remote transmission request flag (CAN_RTR_FLAG) 
Definition at line 95 of file can.hpp.
 
 
◆ err_flag_
      
        
          | bool fpsdk::common::can::CanFrame::err_flag_ = false | 
        
      
 
Error message frame flag (CAN_ERR_FLAG) 
Definition at line 96 of file can.hpp.
 
 
◆ fd_brs_
      
        
          | bool fpsdk::common::can::CanFrame::fd_brs_ = false | 
        
      
 
Use bit rate switch for a FD frame (only valid if is_fd_ = true) 
Definition at line 97 of file can.hpp.
 
 
◆ data_len_
      
        
          | std::size_t fpsdk::common::can::CanFrame::data_len_ = false | 
        
      
 
Number of bytes in payload data: up to CAN_MAX_DLEN for classical frames (is_fd_ = false), up to CANFD_MAX_DLEN for FD frames (is_fd_ = true) 
Definition at line 98 of file can.hpp.
 
 
◆ data_
      
        
          | const uint8_t* fpsdk::common::can::CanFrame::data_ = { can_frame_.data } | 
        
      
 
Pointer to data (can_frame_.data resp. fd_frame_.data) 
Definition at line 99 of file can.hpp.
 
 
◆ can_frame_
      
        
          | struct can_frame fpsdk::common::can::CanFrame::can_frame_ | 
        
      
 
Classical CAN frame (is_fd_ = false) 
Definition at line 134 of file can.hpp.
 
 
◆ fd_frame_
      
        
          | struct canfd_frame fpsdk::common::can::CanFrame::fd_frame_ = { 0, 0, 0, 0, 0, { 0 } } | 
        
      
 
FD CAN frame (is_fd_ = true) 
Definition at line 135 of file can.hpp.
 
 
The documentation for this struct was generated from the following file:
- fpsdk_common/include/fpsdk_common/can.hpp