DbcLib 1.0
CAN DBC C++ library.
Loading...
Searching...
No Matches
dbcmessage.h
Go to the documentation of this file.
1/*
2* Copyright 2022 Ingemar Hedvall
3* SPDX-License-Identifier: MIT
4 */
8#pragma once
9#include <cstdint>
10#include <vector>
11
12namespace dbc {
13
22 public:
23 DbcMessage() = default;
31 DbcMessage(uint64_t time, uint32_t can_id, std::vector<uint8_t> data);
32 DbcMessage(const DbcMessage& message) = default;
33
34
35 void Time(uint64_t ns1970) {time_ = ns1970;}
36 [[nodiscard]] uint64_t Time() const {return time_;}
37
38 void CanId(uint32_t can_id) {can_id_ = can_id;}
39 [[nodiscard]] uint32_t CanId() const {return can_id_;}
40
42 void Data(const std::vector<uint8_t>& data) {data_ = data;}
44 [[nodiscard]] const std::vector<uint8_t>& Data() const {return data_;}
45
46 [[nodiscard]] uint32_t Pgn() const;
47 [[nodiscard]] uint8_t Priority() const;
48 [[nodiscard]] bool ExtendedDataPage() const;
49 [[nodiscard]] bool DataPage() const;
50 [[nodiscard]] uint8_t PduFormat() const;
51 [[nodiscard]] uint8_t PduSpecific() const;
52 [[nodiscard]] uint8_t Source() const;
53 private:
54 uint64_t time_ = 0;
55 uint32_t can_id_ = 0;
56 std::vector<uint8_t> data_;
57};
58
59} // namespace dbc
Wrapper class around a CAN message.
Definition: dbcmessage.h:21
const std::vector< uint8_t > & Data() const
Returns the CAN data bytes.
Definition: dbcmessage.h:44
DbcMessage()=default
Default constructor.
uint8_t PduSpecific() const
PDU specific.
bool DataPage() const
True if data page.
uint8_t PduFormat() const
PDU format.
uint8_t Source() const
Source number.
uint64_t Time() const
Message time.
Definition: dbcmessage.h:36
DbcMessage(uint64_t time, uint32_t can_id, std::vector< uint8_t > data)
Constructor that wraps a CAN message.
void Time(uint64_t ns1970)
Sets the time.
Definition: dbcmessage.h:35
DbcMessage(const DbcMessage &message)=default
Default destructor.
uint8_t Priority() const
Priority (0-8)
void Data(const std::vector< uint8_t > &data)
Sets the CAN data bytes.
Definition: dbcmessage.h:42
uint32_t Pgn() const
PGN Program number.
bool ExtendedDataPage() const
True if extended data page.
uint32_t CanId() const
CAN ID.
Definition: dbcmessage.h:39
void CanId(uint32_t can_id)
Sets the CAN ID.
Definition: dbcmessage.h:38
Main namespace for the DBC library.
Definition: attribute.h:13