27 std::vector<std::uint8_t>
data;
32enum class SignalDecodeStatus {
48 SignalDecodeStatus status = SignalDecodeStatus::InvalidDefinition;
63 std::vector<DecodedSignalValue> signals;
83 bool isExtended)
const;
95 struct SelectorState {
98 bool available =
false;
99 std::uint64_t value = 0U;
105 const SelectorState &selector);
107 static bool ExtractUnsigned(
const std::vector<std::uint8_t> &data,
109 std::uint64_t &value);
111 static bool ExtractIntel(
const std::vector<std::uint8_t> &data,
112 std::uint32_t startBit,
113 std::uint32_t length,
114 std::uint64_t &value);
116 static bool ExtractMotorola(
const std::vector<std::uint8_t> &data,
117 std::uint32_t startBit,
118 std::uint32_t length,
119 std::uint64_t &value);
121 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.
ValueDescriptions valueDescriptions
const DecodeFrame * definition
One decoded signal value.
const DecodeSignal * definition
const std::string * GetValueDescription() const
Raw CAN frame used for runtime or trace decoding.
std::vector< std::uint8_t > data