11 /* Public: Parse a CAN signal from a message and apply required transformation.
13 * source - 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 source, const uint8_t bit_offset,
24 const uint8_t bit_size, const float factor, const float offset);
26 /* Public: Parse a CAN signal from a message storage as a byte array and apply
27 * required transformation.
29 * source - the payload containing the signal.
30 * source_size - the size of the payload in bytes.
31 * bit_offset - the starting bit for the signal.
32 * bit_size - the width of the signal.
33 * factor - the transformation factor for the signal value, applied after
34 * pulling out the bit field. Use 1.0 for no factor.
35 * offset - the transformation offset for the signal value, applied after
36 * pulling out the bit field. Use 0 for no offset.
38 * Returns the decoded and transformed value of the signal.
40 float bitfield_parse_float(const uint8_t source[], const uint16_t source_size,
41 const uint8_t bit_offset, const uint8_t bit_size, const float factor,
44 /* Public: Parse a CAN signal from a message and interpret it as a boolean.
46 * source - the payload containing the signal.
47 * bit_offset - the starting bit for the signal.
48 * bit_size - the width of the signal.
49 * factor - the transformation factor for the signal value, applied after
50 * pulling out the bit field. Use 1.0 for no factor.
51 * offset - the transformation offset for the signal value, applied after
52 * pulling out the bit field. Use 0 for no offset.
54 * Returns false if the value was 0, otherwise true.
56 bool eightbyte_parse_bool(uint64_t source, uint8_t bit_offset, uint8_t bit_size,
57 float factor, float offset);
59 /* Public: Parse a CAN signal from a message storage as a byte array and
60 * interpret it as a boolean.
62 * source - the payload containing the signal.
63 * source_size - the size of the payload in bytes.
64 * bit_offset - the starting bit for the signal.
65 * bit_size - the width of the signal.
66 * factor - the transformation factor for the signal value, applied after
67 * pulling out the bit field. Use 1.0 for no factor.
68 * offset - the transformation offset for the signal value, applied after
69 * pulling out the bit field. Use 0 for no offset.
71 * Returns false if the value was 0, otherwise true.
73 float bitfield_parse_float(const uint8_t source[], const uint16_t source_size,
74 const uint8_t bit_offset, const uint8_t bit_size, const float factor,