11 /* Public: Parse a CAN signal from a message and apply required transformation.
13 * data - the payload containing the signal.
14 * bit_offset - the starting bit for the signal.
15 * bit_size - the width of the signal.
16 * factor - the transformation factor for the signal value, applied after
17 * pulling out the bit field. Use 1.0 for no factor.
18 * offset - the transformation offset for the signal value, applied after
19 * pulling out the bit field. Use 0 for no offset.
21 * Returns the decoded and transformed value of the signal.
23 float eightbyte_parse_float(const uint64_t data, const uint8_t bit_offset,
24 const uint8_t bit_size, const float factor, const float offset);
26 float bitfield_parse_float(const uint8_t data[], const uint16_t size,
27 const uint8_t bit_offset, const uint8_t bit_size, const float factor,
30 /* Public: Parse a CAN signal from a message and interpret it as a boolean.
32 * data - the payload containing the signal.
33 * bit_offset - the starting bit for the signal.
34 * bit_size - the width of the signal.
35 * factor - the transformation factor for the signal value, applied after
36 * pulling out the bit field. Use 1.0 for no factor.
37 * offset - the transformation offset for the signal value, applied after
38 * pulling out the bit field. Use 0 for no offset.
40 * Returns false if the value was 0, otherwise true.
42 bool eightbyte_parse_bool(uint64_t data, uint8_t bit_offset, uint8_t bit_size,
43 float factor, float offset);