27 std::vector<std::uint8_t>
data;
32enum class SignalDecodeStatus {
49 SignalDecodeStatus status = SignalDecodeStatus::InvalidDefinition;
65 std::vector<DecodedSignalValue> signals;
85 bool isExtended)
const;
97 struct SelectorState {
100 bool available =
false;
101 std::uint64_t value = 0U;
107 const SelectorState &selector);
109 static bool ExtractUnsigned(
const std::vector<std::uint8_t> &data,
111 std::uint64_t &value);
113 static bool ExtractIntel(
const std::vector<std::uint8_t> &data,
114 std::uint32_t startBit,
115 std::uint32_t length,
116 std::uint64_t &value);
118 static bool ExtractMotorola(
const std::vector<std::uint8_t> &data,
119 std::uint32_t startBit,
120 std::uint32_t length,
121 std::uint64_t &value);
123 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.
std::shared_ptr< const DecodeFrame > FindFrame(const DecodeDatabase &database, std::uint32_t canId, bool isExtended) const
Find frame definition by CAN ID.
Immutable runtime snapshot. Copies share storage; reload replaces a snapshot. Owning lookup handles a...
Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
Runtime-ready frame definition.
Runtime-ready signal definition.
std::shared_ptr< const DecodeFrame > definition
One decoded signal value.
std::shared_ptr< const DecodeSignal > definition
const std::string * GetValueDescription() const
Stable frame identifier: normalized CAN ID and frame type.
Raw CAN frame used for runtime or trace decoding.
std::vector< std::uint8_t > data