Checkpoint commit renaming some functions for clarity.
[apps/agl-service-can-low-level.git] / src / canutil / read.h
index 028b03a..bf6c0ad 100644 (file)
@@ -10,24 +10,36 @@ extern "C" {
 
 /* Public: Parse a CAN signal from a message and apply required transformation.
  *
- * signal - The details of the signal to decode and forward.
- * data   - The raw bytes of the CAN message that contains the signal, assumed
- *      to be in big-endian byte order from CAN.
+ * data - the payload containing the signal.
+ * bit_offset - the starting bit for the signal.
+ * bit_size - the width of the signal.
+ * factor - the transformation factor for the signal value, applied after
+ *      pulling out the bit field. Use 1.0 for no factor.
+ * offset - the transformation offset for the signal value, applied after
+ *      pulling out the bit field. Use 0 for no offset.
  *
- * Returns the final, transformed value of the signal.
+ * Returns the decoded and transformed value of the signal.
  */
-float bitfield_parse_float(uint64_t data, uint8_t bit_offset, uint8_t bit_size,
-        float factor, float offset);
+float eightbyte_parse_float(const uint64_t data, const uint8_t bit_offset,
+        const uint8_t bit_size, const float factor, const float offset);
+
+float bitfield_parse_float(const uint8_t data[], const uint16_t size,
+        const uint8_t bit_offset, const uint8_t bit_size, const float factor,
+        const float offset);
 
 /* Public: Parse a CAN signal from a message and interpret it as a boolean.
  *
- * signal - The details of the signal to decode and forward.
- * data   - The raw bytes of the CAN message that contains the signal, assumed
- *      to be in big-endian byte order from CAN.
+ * data - the payload containing the signal.
+ * bit_offset - the starting bit for the signal.
+ * bit_size - the width of the signal.
+ * factor - the transformation factor for the signal value, applied after
+ *      pulling out the bit field. Use 1.0 for no factor.
+ * offset - the transformation offset for the signal value, applied after
+ *      pulling out the bit field. Use 0 for no offset.
  *
  * Returns false if the value was 0, otherwise true.
  */
-bool bitfield_parse_bool(uint64_t data, uint8_t bit_offset, uint8_t bit_size,
+bool eightbyte_parse_bool(uint64_t data, uint8_t bit_offset, uint8_t bit_size,
         float factor, float offset);
 
 #ifdef __cplusplus