12 template <
typename TValue,
int TMult,
int TDiv>
13 constexpr LogField(
const scaled_channel<TValue, TMult, TDiv>& toRead,
14 const char* name,
const char* units, int8_t digits,
const char* category =
"none")
16 ,
m_addr(toRead.getFirstByteAddr())
30 template <
typename TValue,
typename =
typename std::enable_if<std::is_arithmetic_v<TValue>>::type>
32 const char* name,
const char* units, int8_t digits,
const char* category =
"none")
48 template <
typename TValue>
51 const uint32_t bitsBlockOffset,
52 const uint8_t bitNumber,
55 const char* category =
"none"
69 enum class Type : uint8_t {
bool needsEngineOffsetHack(size_t size) const
size_t writeData(char *buffer, void *offset) const
static constexpr size_t sizeForType(Type t)
const uint8_t m_bitNumber
constexpr size_t getSize() const
constexpr LogField(TValue &toRead, const char *name, const char *units, int8_t digits, const char *category="none")
const char *const m_category
const char *const m_units
const uint32_t m_bitsBlockOffset
size_t writeHeader(Writer &outBuffer) const
constexpr LogField(TValue &toRead, const uint32_t bitsBlockOffset, const uint8_t bitNumber, const char *name, const char *units, const char *category="none")
constexpr LogField(const scaled_channel< TValue, TMult, TDiv > &toRead, const char *name, const char *units, int8_t digits, const char *category="none")
static constexpr Type resolveType()
static BigBufferHandle buffer