44 lines
1.5 KiB
C++
44 lines
1.5 KiB
C++
/**
|
|
* @file signal_info.h
|
|
* @brief
|
|
*
|
|
* Created: 2026-03-13
|
|
* Author: Deeaitch (Dim. Himro)
|
|
*
|
|
* Licensed under the MIT License.
|
|
* See LICENSE file in the project root for full license text.
|
|
*/
|
|
|
|
#ifndef SIGNAL_INFO_H
|
|
#define SIGNAL_INFO_H
|
|
|
|
#include "value_descriptions.h"
|
|
#include "multiplexing.h"
|
|
#include <cstdint>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
/**
|
|
* @brief Describes one signal inside a DBC frame.
|
|
*/
|
|
struct SignalInfo {
|
|
Multiplexing multiplexing;
|
|
std::string name; /**< Signal name. */
|
|
std::uint32_t startBit = 0U; /**< Start bit in DBC notation. */
|
|
std::uint32_t length = 0U; /**< Signal length in bits. */
|
|
bool isLittleEndian = true; /**< true for Intel, false for Motorola. */
|
|
bool isSigned = false; /**< true if signal is signed. */
|
|
double factor = 1.0; /**< Scaling factor. */
|
|
double offset = 0.0; /**< Physical offset. */
|
|
double minimum = 0.0; /**< Minimum physical value. */
|
|
double maximum = 0.0; /**< Maximum physical value. */
|
|
std::string unit; /**< Physical unit. */
|
|
std::vector<std::string> receivers; /**< Signal receivers. */
|
|
ValueDescriptions valueDescriptions; /**< Raw integer state descriptions. */
|
|
std::string comment; /**< Optional signal comment. */
|
|
|
|
SignalInfo() = default;
|
|
};
|
|
|
|
#endif /* SIGNAL_INFO_H */
|