Fix some implicitly defined functions - import proper headers.
[apps/low-level-can-service.git] / src / canutil / read.c
1 #include <canutil/read.h>
2 #include <bitfield/bitfield.h>
3 #include <bitfield/8byte.h>
4
5 float bitfield_parse_float(uint64_t data, uint8_t bit_offset, uint8_t bit_size,
6         float factor, float offset) {
7     uint64_t raw = get_bit_field(data, bit_offset,
8             bit_size, true);
9     return raw * factor + offset;
10 }
11
12 bool bitfield_parse_bool(uint64_t data, uint8_t bit_offset, uint8_t bit_size,
13         float factor, float offset) {
14     float value = bitfield_parse_float(data, bit_offset, bit_size, factor, offset);
15     return value == 0.0 ? false : true;
16 }