Program Listing for File frame.hpp
↰ Return to documentation for file (/tmp/ws/src/myactuator_rmd/include/myactuator_rmd/can/frame.hpp
)
#ifndef MYACTUATOR_RMD__CAN__FRAME
#define MYACTUATOR_RMD__CAN__FRAME
#pragma once
#include <array>
#include <cstdint>
namespace myactuator_rmd {
namespace can {
class Frame {
public:
constexpr Frame(std::uint32_t const can_id, std::array<std::uint8_t,8> const& data) noexcept;
Frame() = delete;
Frame(Frame const&) = default;
Frame& operator = (Frame const&) = default;
Frame(Frame&&) = default;
Frame& operator = (Frame&&) = default;
[[nodiscard]]
constexpr std::uint32_t getId() const noexcept;
[[nodiscard]]
constexpr std::array<std::uint8_t,8> const& getData() const noexcept;
protected:
std::uint32_t can_id_;
std::array<std::uint8_t,8> data_;
};
constexpr Frame::Frame(std::uint32_t const can_id, std::array<std::uint8_t,8> const& data) noexcept
: can_id_{can_id}, data_{data} {
return;
}
constexpr std::uint32_t Frame::getId() const noexcept {
return can_id_;
}
constexpr std::array<std::uint8_t,8> const& Frame::getData() const noexcept {
return data_;
}
}
}
#endif // MYACTUATOR_RMD__CAN__FRAME