27 std::vector<std::uint8_t>
data;
39 std::variant<std::int64_t, std::uint64_t>
rawValue;
53 std::vector<DecodedSignalValue> signals;
75 bool isExtended)
const;
87 static bool ExtractUnsigned(
const std::vector<std::uint8_t> &data,
89 std::uint64_t &value);
91 static bool ExtractIntel(
const std::vector<std::uint8_t> &data,
92 std::uint32_t startBit,
94 std::uint64_t &value);
96 static bool ExtractMotorola(
const std::vector<std::uint8_t> &data,
97 std::uint32_t startBit,
99 std::uint64_t &value);
101 static std::int64_t SignExtend(std::uint64_t value, std::uint32_t bitLength);
Runtime CAN decoder using prebuilt decode database.
DecodedFrameValue Decode(const DecodeDatabase &database, const RawCanFrame &frame) const
Decode one raw CAN frame.
const DecodeFrame * FindFrame(const DecodeDatabase &database, std::uint32_t canId, bool isExtended) const
Find frame definition by CAN ID.
Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
Runtime decode database with fast lookup by CAN ID.
Runtime-ready frame definition.
Runtime-ready signal definition.
const DecodeFrame * definition
One decoded signal value.
std::variant< std::int64_t, std::uint64_t > rawValue
const DecodeSignal * definition
Raw CAN frame used for runtime or trace decoding.
std::vector< std::uint8_t > data