aboutsummaryrefslogtreecommitdiff
path: root/all_SRE_edited.c
diff options
context:
space:
mode:
authorXiao Pan <xyz@flylightning.xyz>2025-04-24 02:05:38 -0700
committerXiao Pan <xyz@flylightning.xyz>2025-04-24 02:05:38 -0700
commit6ce4a25796f1694c5ce749f1da3b3f753500e05d (patch)
tree493a3a6b85d0e08aa7b458e46c365e113c84aba4 /all_SRE_edited.c
init
Diffstat (limited to 'all_SRE_edited.c')
-rw-r--r--all_SRE_edited.c17057
1 files changed, 17057 insertions, 0 deletions
diff --git a/all_SRE_edited.c b/all_SRE_edited.c
new file mode 100644
index 0000000..53a30db
--- /dev/null
+++ b/all_SRE_edited.c
@@ -0,0 +1,17057 @@
+/* Generated by DBCC, see <https://github.com/howerj/dbcc> */
+#include "all_SRE_edited.h"
+#include <inttypes.h>
+#include <assert.h>
+
+#define UNUSED(X) ((void)(X))
+
+static inline uint64_t reverse_byte_order(uint64_t x) {
+ x = (x & 0x00000000FFFFFFFF) << 32 | (x & 0xFFFFFFFF00000000) >> 32;
+ x = (x & 0x0000FFFF0000FFFF) << 16 | (x & 0xFFFF0000FFFF0000) >> 16;
+ x = (x & 0x00FF00FF00FF00FF) << 8 | (x & 0xFF00FF00FF00FF00) >> 8;
+ return x;
+}
+
+static inline int print_helper(int r, int print_return_value) {
+ return ((r >= 0) && (print_return_value >= 0)) ? r + print_return_value : -1;
+}
+
+static int pack_can_0x0a0_MCM_Temperature_Set_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Module_A_Temperature: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_A_Temperature)) & 0xffff;
+ i |= x;
+ /* MCM_Module_B_Temperature: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_B_Temperature)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Module_C_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_C_Temperature)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Gate_Driver_Board_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Gate_Driver_Board_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a0_MCM_Temperature_Set_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a0_MCM_Temperature_Set_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Module_A_Temperature: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_A_Temperature = x;
+ /* MCM_Module_B_Temperature: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_B_Temperature = x;
+ /* MCM_Module_C_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_C_Temperature = x;
+ /* MCM_Gate_Driver_Board_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Gate_Driver_Board_Temp = x;
+ o->can_0x0a0_MCM_Temperature_Set_1_rx = 1;
+ o->can_0x0a0_MCM_Temperature_Set_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a0_MCM_Module_A_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_A_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a0_MCM_Module_A_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_A_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_A_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a0_MCM_Module_B_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_B_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a0_MCM_Module_B_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_B_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_B_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a0_MCM_Module_C_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_C_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a0_MCM_Module_C_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_C_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_C_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a0_MCM_Gate_Driver_Board_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Gate_Driver_Board_Temp);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a0_MCM_Gate_Driver_Board_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Gate_Driver_Board_Temp = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a0_MCM_Temperature_Set_1.MCM_Gate_Driver_Board_Temp = in;
+ return 0;
+}
+
+int print_can_0x0a0_MCM_Temperature_Set_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Module_A_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_A_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_Module_B_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_B_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_Module_C_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Module_C_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_Gate_Driver_Board_Temp = (wire: %.0f)\n", (double)(o->can_0x0a0_MCM_Temperature_Set_1.MCM_Gate_Driver_Board_Temp)));
+ return r;
+}
+
+static int pack_can_0x0a1_MCM_Temperature_Set_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Control_Board_Temperature: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_Control_Board_Temperature)) & 0xffff;
+ i |= x;
+ /* MCM_RTD1_Temperature: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD1_Temperature)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_RTD2_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD2_Temperature)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_RTD3_Temperature: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD3_Temperature)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a1_MCM_Temperature_Set_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a1_MCM_Temperature_Set_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Control_Board_Temperature: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_Control_Board_Temperature = x;
+ /* MCM_RTD1_Temperature: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD1_Temperature = x;
+ /* MCM_RTD2_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD2_Temperature = x;
+ /* MCM_RTD3_Temperature: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD3_Temperature = x;
+ o->can_0x0a1_MCM_Temperature_Set_2_rx = 1;
+ o->can_0x0a1_MCM_Temperature_Set_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a1_MCM_Control_Board_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_Control_Board_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a1_MCM_Control_Board_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_Control_Board_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_Control_Board_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a1_MCM_RTD1_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD1_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a1_MCM_RTD1_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD1_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD1_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a1_MCM_RTD2_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD2_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a1_MCM_RTD2_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD2_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD2_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a1_MCM_RTD3_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD3_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a1_MCM_RTD3_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD3_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD3_Temperature = in;
+ return 0;
+}
+
+int print_can_0x0a1_MCM_Temperature_Set_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Control_Board_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_Control_Board_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_RTD1_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD1_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_RTD2_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD2_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_RTD3_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a1_MCM_Temperature_Set_2.MCM_RTD3_Temperature)));
+ return r;
+}
+
+static int pack_can_0x0a2_MCM_Temperature_Set_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_RTD4_Temperature: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD4_Temperature)) & 0xffff;
+ i |= x;
+ /* MCM_RTD5_Temperature: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD5_Temperature)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Motor_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_Motor_Temperature)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Torque_Shudder: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_Torque_Shudder)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a2_MCM_Temperature_Set_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a2_MCM_Temperature_Set_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_RTD4_Temperature: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD4_Temperature = x;
+ /* MCM_RTD5_Temperature: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD5_Temperature = x;
+ /* MCM_Motor_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_Motor_Temperature = x;
+ /* MCM_Torque_Shudder: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_Torque_Shudder = x;
+ o->can_0x0a2_MCM_Temperature_Set_3_rx = 1;
+ o->can_0x0a2_MCM_Temperature_Set_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a2_MCM_RTD4_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD4_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a2_MCM_RTD4_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD4_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD4_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a2_MCM_RTD5_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD5_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a2_MCM_RTD5_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD5_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD5_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a2_MCM_Motor_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_Motor_Temperature);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a2_MCM_Motor_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_Motor_Temperature = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_Motor_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x0a2_MCM_Torque_Shudder(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_Torque_Shudder);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a2_MCM_Torque_Shudder(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_Torque_Shudder = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a2_MCM_Temperature_Set_3.MCM_Torque_Shudder = in;
+ return 0;
+}
+
+int print_can_0x0a2_MCM_Temperature_Set_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_RTD4_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD4_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_RTD5_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_RTD5_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_Motor_Temperature = (wire: %.0f)\n", (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_Motor_Temperature)));
+ r = print_helper(r, fprintf(output, "MCM_Torque_Shudder = (wire: %.0f)\n", (double)(o->can_0x0a2_MCM_Temperature_Set_3.MCM_Torque_Shudder)));
+ return r;
+}
+
+static int pack_can_0x0a3_MCM_Analog_Input_Voltages(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Analog_Input_1: start-bit 0, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_1)) & 0xffff;
+ i |= x;
+ /* MCM_Analog_Input_2: start-bit 16, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_2)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Analog_Input_3: start-bit 32, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_3)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Analog_Input_4: start-bit 48, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_4)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a3_MCM_Analog_Input_Voltages_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a3_MCM_Analog_Input_Voltages(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Analog_Input_1: start-bit 0, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_1 = x;
+ /* MCM_Analog_Input_2: start-bit 16, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_2 = x;
+ /* MCM_Analog_Input_3: start-bit 32, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_3 = x;
+ /* MCM_Analog_Input_4: start-bit 48, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_4 = x;
+ o->can_0x0a3_MCM_Analog_Input_Voltages_rx = 1;
+ o->can_0x0a3_MCM_Analog_Input_Voltages_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a3_MCM_Analog_Input_1(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_1);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a3_MCM_Analog_Input_1(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_1 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_1 = in;
+ return 0;
+}
+
+int decode_can_0x0a3_MCM_Analog_Input_2(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_2);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a3_MCM_Analog_Input_2(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_2 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_2 = in;
+ return 0;
+}
+
+int decode_can_0x0a3_MCM_Analog_Input_3(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_3);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a3_MCM_Analog_Input_3(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_3 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_3 = in;
+ return 0;
+}
+
+int decode_can_0x0a3_MCM_Analog_Input_4(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_4);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a3_MCM_Analog_Input_4(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_4 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_4 = in;
+ return 0;
+}
+
+int print_can_0x0a3_MCM_Analog_Input_Voltages(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Analog_Input_1 = (wire: %.0f)\n", (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_1)));
+ r = print_helper(r, fprintf(output, "MCM_Analog_Input_2 = (wire: %.0f)\n", (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_2)));
+ r = print_helper(r, fprintf(output, "MCM_Analog_Input_3 = (wire: %.0f)\n", (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_3)));
+ r = print_helper(r, fprintf(output, "MCM_Analog_Input_4 = (wire: %.0f)\n", (double)(o->can_0x0a3_MCM_Analog_Input_Voltages.MCM_Analog_Input_4)));
+ return r;
+}
+
+static int pack_can_0x0a4_MCM_Digital_Input_Status(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Digital_Input_1: start-bit 0, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_1)) & 0x1;
+ i |= x;
+ /* MCM_Digital_Input_2: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_2)) & 0x1;
+ x <<= 8;
+ i |= x;
+ /* MCM_Digital_Input_3: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_3)) & 0x1;
+ x <<= 16;
+ i |= x;
+ /* MCM_Digital_Input_4: start-bit 24, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_4)) & 0x1;
+ x <<= 24;
+ i |= x;
+ /* MCM_Digital_Input_5: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_5)) & 0x1;
+ x <<= 32;
+ i |= x;
+ /* MCM_Digital_Input_6: start-bit 40, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_6)) & 0x1;
+ x <<= 40;
+ i |= x;
+ /* MCM_Digital_Input_7: start-bit 48, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_7)) & 0x1;
+ x <<= 48;
+ i |= x;
+ /* MCM_Digital_Input_8: start-bit 56, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_8)) & 0x1;
+ x <<= 56;
+ i |= x;
+ *data = (i);
+ o->can_0x0a4_MCM_Digital_Input_Status_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a4_MCM_Digital_Input_Status(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Digital_Input_1: start-bit 0, length 1, endianess intel, scaling 1, offset 0 */
+ x = i & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_1 = x;
+ /* MCM_Digital_Input_2: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_2 = x;
+ /* MCM_Digital_Input_3: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_3 = x;
+ /* MCM_Digital_Input_4: start-bit 24, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_4 = x;
+ /* MCM_Digital_Input_5: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_5 = x;
+ /* MCM_Digital_Input_6: start-bit 40, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 40) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_6 = x;
+ /* MCM_Digital_Input_7: start-bit 48, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_7 = x;
+ /* MCM_Digital_Input_8: start-bit 56, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 56) & 0x1;
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_8 = x;
+ o->can_0x0a4_MCM_Digital_Input_Status_rx = 1;
+ o->can_0x0a4_MCM_Digital_Input_Status_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_1(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_1);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_1(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_1 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_2(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_2);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_2(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_2 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_3(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_3);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_3(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_3 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_4(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_4);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_4(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_4 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_5(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_5);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_5(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_5 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_6(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_6);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_6(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_6 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_7(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_7);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_7(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_7 = in;
+ return 0;
+}
+
+int decode_can_0x0a4_MCM_Digital_Input_8(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_8);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a4_MCM_Digital_Input_8(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_8 = in;
+ return 0;
+}
+
+int print_can_0x0a4_MCM_Digital_Input_Status(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_1 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_1)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_2 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_2)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_3 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_3)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_4 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_4)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_5 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_5)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_6 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_6)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_7 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_7)));
+ r = print_helper(r, fprintf(output, "MCM_Digital_Input_8 = (wire: %.0f)\n", (double)(o->can_0x0a4_MCM_Digital_Input_Status.MCM_Digital_Input_8)));
+ return r;
+}
+
+static int pack_can_0x0a5_MCM_Motor_Position_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Motor_Angle: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Angle)) & 0xffff;
+ i |= x;
+ /* MCM_Motor_Speed: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Speed)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Electrical_Output_Freq: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Electrical_Output_Freq)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Resolver_Angle: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Resolver_Angle)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a5_MCM_Motor_Position_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a5_MCM_Motor_Position_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Motor_Angle: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Angle = x;
+ /* MCM_Motor_Speed: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Speed = x;
+ /* MCM_Electrical_Output_Freq: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Electrical_Output_Freq = x;
+ /* MCM_Resolver_Angle: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Resolver_Angle = x;
+ o->can_0x0a5_MCM_Motor_Position_Info_rx = 1;
+ o->can_0x0a5_MCM_Motor_Position_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a5_MCM_Motor_Angle(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Angle);
+ rval *= 0.1;
+ if (rval <= 6553.5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a5_MCM_Motor_Angle(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Angle = 0;
+ if (in > 6553.5)
+ return -1;
+ in *= 10;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Angle = in;
+ return 0;
+}
+
+int decode_can_0x0a5_MCM_Motor_Speed(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Speed);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0a5_MCM_Motor_Speed(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Speed = in;
+ return 0;
+}
+
+int decode_can_0x0a5_MCM_Electrical_Output_Freq(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Electrical_Output_Freq);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a5_MCM_Electrical_Output_Freq(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Electrical_Output_Freq = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Electrical_Output_Freq = in;
+ return 0;
+}
+
+int decode_can_0x0a5_MCM_Resolver_Angle(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Resolver_Angle);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a5_MCM_Resolver_Angle(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Resolver_Angle = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a5_MCM_Motor_Position_Info.MCM_Resolver_Angle = in;
+ return 0;
+}
+
+int print_can_0x0a5_MCM_Motor_Position_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Motor_Angle = (wire: %.0f)\n", (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Angle)));
+ r = print_helper(r, fprintf(output, "MCM_Motor_Speed = (wire: %.0f)\n", (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Motor_Speed)));
+ r = print_helper(r, fprintf(output, "MCM_Electrical_Output_Freq = (wire: %.0f)\n", (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Electrical_Output_Freq)));
+ r = print_helper(r, fprintf(output, "MCM_Resolver_Angle = (wire: %.0f)\n", (double)(o->can_0x0a5_MCM_Motor_Position_Info.MCM_Resolver_Angle)));
+ return r;
+}
+
+static int pack_can_0x0a6_MCM_Current_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Phase_A_Current: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_A_Current)) & 0xffff;
+ i |= x;
+ /* MCM_Phase_B_Current: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_B_Current)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Phase_C_Current: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_C_Current)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_DC_Bus_Current: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a6_MCM_Current_Info.MCM_DC_Bus_Current)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a6_MCM_Current_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a6_MCM_Current_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Phase_A_Current: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_A_Current = x;
+ /* MCM_Phase_B_Current: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_B_Current = x;
+ /* MCM_Phase_C_Current: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_C_Current = x;
+ /* MCM_DC_Bus_Current: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a6_MCM_Current_Info.MCM_DC_Bus_Current = x;
+ o->can_0x0a6_MCM_Current_Info_rx = 1;
+ o->can_0x0a6_MCM_Current_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a6_MCM_Phase_A_Current(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_A_Current);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a6_MCM_Phase_A_Current(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_A_Current = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_A_Current = in;
+ return 0;
+}
+
+int decode_can_0x0a6_MCM_Phase_B_Current(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_B_Current);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a6_MCM_Phase_B_Current(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_B_Current = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_B_Current = in;
+ return 0;
+}
+
+int decode_can_0x0a6_MCM_Phase_C_Current(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_C_Current);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a6_MCM_Phase_C_Current(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_C_Current = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a6_MCM_Current_Info.MCM_Phase_C_Current = in;
+ return 0;
+}
+
+int decode_can_0x0a6_MCM_DC_Bus_Current(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a6_MCM_Current_Info.MCM_DC_Bus_Current);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a6_MCM_DC_Bus_Current(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a6_MCM_Current_Info.MCM_DC_Bus_Current = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a6_MCM_Current_Info.MCM_DC_Bus_Current = in;
+ return 0;
+}
+
+int print_can_0x0a6_MCM_Current_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Phase_A_Current = (wire: %.0f)\n", (double)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_A_Current)));
+ r = print_helper(r, fprintf(output, "MCM_Phase_B_Current = (wire: %.0f)\n", (double)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_B_Current)));
+ r = print_helper(r, fprintf(output, "MCM_Phase_C_Current = (wire: %.0f)\n", (double)(o->can_0x0a6_MCM_Current_Info.MCM_Phase_C_Current)));
+ r = print_helper(r, fprintf(output, "MCM_DC_Bus_Current = (wire: %.0f)\n", (double)(o->can_0x0a6_MCM_Current_Info.MCM_DC_Bus_Current)));
+ return r;
+}
+
+static int pack_can_0x0a7_MCM_Voltage_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_DC_Bus_Voltage: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a7_MCM_Voltage_Info.MCM_DC_Bus_Voltage)) & 0xffff;
+ i |= x;
+ /* MCM_Output_Voltage: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a7_MCM_Voltage_Info.MCM_Output_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Phase_AB_Voltage: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_AB_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Phase_BC_Voltage: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_BC_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a7_MCM_Voltage_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a7_MCM_Voltage_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_DC_Bus_Voltage: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_DC_Bus_Voltage = x;
+ /* MCM_Output_Voltage: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Output_Voltage = x;
+ /* MCM_Phase_AB_Voltage: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_AB_Voltage = x;
+ /* MCM_Phase_BC_Voltage: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_BC_Voltage = x;
+ o->can_0x0a7_MCM_Voltage_Info_rx = 1;
+ o->can_0x0a7_MCM_Voltage_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a7_MCM_DC_Bus_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_DC_Bus_Voltage);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a7_MCM_DC_Bus_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a7_MCM_Voltage_Info.MCM_DC_Bus_Voltage = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_DC_Bus_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x0a7_MCM_Output_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_Output_Voltage);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a7_MCM_Output_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Output_Voltage = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Output_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x0a7_MCM_Phase_AB_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_AB_Voltage);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a7_MCM_Phase_AB_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_AB_Voltage = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_AB_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x0a7_MCM_Phase_BC_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_BC_Voltage);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a7_MCM_Phase_BC_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_BC_Voltage = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_BC_Voltage = in;
+ return 0;
+}
+
+int print_can_0x0a7_MCM_Voltage_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_DC_Bus_Voltage = (wire: %.0f)\n", (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_DC_Bus_Voltage)));
+ r = print_helper(r, fprintf(output, "MCM_Output_Voltage = (wire: %.0f)\n", (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_Output_Voltage)));
+ r = print_helper(r, fprintf(output, "MCM_Phase_AB_Voltage = (wire: %.0f)\n", (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_AB_Voltage)));
+ r = print_helper(r, fprintf(output, "MCM_Phase_BC_Voltage = (wire: %.0f)\n", (double)(o->can_0x0a7_MCM_Voltage_Info.MCM_Phase_BC_Voltage)));
+ return r;
+}
+
+static int pack_can_0x0a8_MCM_Flux_ID_IQ_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Flux_Command: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Command)) & 0xffff;
+ i |= x;
+ /* MCM_Flux_Feedback: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Feedback)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Id: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Id)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Iq: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Iq)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a8_MCM_Flux_ID_IQ_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Flux_Command: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Command = x;
+ /* MCM_Flux_Feedback: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Feedback = x;
+ /* MCM_Id: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Id = x;
+ /* MCM_Iq: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Iq = x;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info_rx = 1;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a8_MCM_Flux_Command(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Command);
+ rval *= 0.001;
+ if ((rval >= -32.768) && (rval <= 32.767)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a8_MCM_Flux_Command(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Command = 0;
+ if (in < -32.768)
+ return -1;
+ if (in > 32.767)
+ return -1;
+ in *= 1000;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Command = in;
+ return 0;
+}
+
+int decode_can_0x0a8_MCM_Flux_Feedback(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Feedback);
+ rval *= 0.001;
+ if ((rval >= -32.768) && (rval <= 32.767)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a8_MCM_Flux_Feedback(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Feedback = 0;
+ if (in < -32.768)
+ return -1;
+ if (in > 32.767)
+ return -1;
+ in *= 1000;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Feedback = in;
+ return 0;
+}
+
+int decode_can_0x0a8_MCM_Id(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Id);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a8_MCM_Id(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Id = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Id = in;
+ return 0;
+}
+
+int decode_can_0x0a8_MCM_Iq(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Iq);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a8_MCM_Iq(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Iq = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Iq = in;
+ return 0;
+}
+
+int print_can_0x0a8_MCM_Flux_ID_IQ_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Flux_Command = (wire: %.0f)\n", (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Flux_Feedback = (wire: %.0f)\n", (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Flux_Feedback)));
+ r = print_helper(r, fprintf(output, "MCM_Id = (wire: %.0f)\n", (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Id)));
+ r = print_helper(r, fprintf(output, "MCM_Iq = (wire: %.0f)\n", (double)(o->can_0x0a8_MCM_Flux_ID_IQ_Info.MCM_Iq)));
+ return r;
+}
+
+static int pack_can_0x0a9_MCM_Internal_Voltages(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Reference_Voltage_1_5: start-bit 0, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_1_5)) & 0xffff;
+ i |= x;
+ /* MCM_Reference_Voltage_2_5: start-bit 16, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_2_5)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Reference_Voltage_5_0: start-bit 32, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_5_0)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Reference_Voltage_12_0: start-bit 48, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = ((uint16_t)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_12_0)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0a9_MCM_Internal_Voltages_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0a9_MCM_Internal_Voltages(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Reference_Voltage_1_5: start-bit 0, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_1_5 = x;
+ /* MCM_Reference_Voltage_2_5: start-bit 16, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_2_5 = x;
+ /* MCM_Reference_Voltage_5_0: start-bit 32, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_5_0 = x;
+ /* MCM_Reference_Voltage_12_0: start-bit 48, length 16, endianess intel, scaling 0.01, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_12_0 = x;
+ o->can_0x0a9_MCM_Internal_Voltages_rx = 1;
+ o->can_0x0a9_MCM_Internal_Voltages_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0a9_MCM_Reference_Voltage_1_5(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_1_5);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a9_MCM_Reference_Voltage_1_5(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_1_5 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_1_5 = in;
+ return 0;
+}
+
+int decode_can_0x0a9_MCM_Reference_Voltage_2_5(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_2_5);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a9_MCM_Reference_Voltage_2_5(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_2_5 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_2_5 = in;
+ return 0;
+}
+
+int decode_can_0x0a9_MCM_Reference_Voltage_5_0(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_5_0);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a9_MCM_Reference_Voltage_5_0(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_5_0 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_5_0 = in;
+ return 0;
+}
+
+int decode_can_0x0a9_MCM_Reference_Voltage_12_0(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_12_0);
+ rval *= 0.01;
+ if ((rval >= -327.68) && (rval <= 327.67)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0a9_MCM_Reference_Voltage_12_0(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_12_0 = 0;
+ if (in < -327.68)
+ return -1;
+ if (in > 327.67)
+ return -1;
+ in *= 100;
+ o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_12_0 = in;
+ return 0;
+}
+
+int print_can_0x0a9_MCM_Internal_Voltages(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Reference_Voltage_1_5 = (wire: %.0f)\n", (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_1_5)));
+ r = print_helper(r, fprintf(output, "MCM_Reference_Voltage_2_5 = (wire: %.0f)\n", (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_2_5)));
+ r = print_helper(r, fprintf(output, "MCM_Reference_Voltage_5_0 = (wire: %.0f)\n", (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_5_0)));
+ r = print_helper(r, fprintf(output, "MCM_Reference_Voltage_12_0 = (wire: %.0f)\n", (double)(o->can_0x0a9_MCM_Internal_Voltages.MCM_Reference_Voltage_12_0)));
+ return r;
+}
+
+static int pack_can_0x0aa_MCM_Internal_States(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Int_VSM_State: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_VSM_State)) & 0xffff;
+ i |= x;
+ /* MCM_Int_Inverter_State: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Inverter_State)) & 0xff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Int_Direction_Command: start-bit 56, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Direction_Command)) & 0xff;
+ x <<= 56;
+ i |= x;
+ /* MCM_Int_Invert_Dischrg_State: start-bit 37, length 3, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Dischrg_State)) & 0x7;
+ x <<= 37;
+ i |= x;
+ /* MCM_Int_Relay_1_Status: start-bit 24, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_1_Status)) & 0x1;
+ x <<= 24;
+ i |= x;
+ /* MCM_Int_Relay_2_Status: start-bit 25, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_2_Status)) & 0x1;
+ x <<= 25;
+ i |= x;
+ /* MCM_Int_Relay_3_Status: start-bit 26, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_3_Status)) & 0x1;
+ x <<= 26;
+ i |= x;
+ /* MCM_Int_Relay_4_Status: start-bit 27, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_4_Status)) & 0x1;
+ x <<= 27;
+ i |= x;
+ /* MCM_Int_Relay_5_Status: start-bit 28, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_5_Status)) & 0x1;
+ x <<= 28;
+ i |= x;
+ /* MCM_Int_Relay_6_Status: start-bit 29, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_6_Status)) & 0x1;
+ x <<= 29;
+ i |= x;
+ /* MCM_Int_Invert_Run_Mode: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Run_Mode)) & 0x1;
+ x <<= 32;
+ i |= x;
+ /* MCM_Int_Invert_Command_Mode: start-bit 40, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Command_Mode)) & 0x1;
+ x <<= 40;
+ i |= x;
+ /* MCM_Int_Invert_Enable_State: start-bit 48, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Enable_State)) & 0x1;
+ x <<= 48;
+ i |= x;
+ /* MCM_Int_Invert_En_Lockout: start-bit 55, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_En_Lockout)) & 0x1;
+ x <<= 55;
+ i |= x;
+ *data = (i);
+ o->can_0x0aa_MCM_Internal_States_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0aa_MCM_Internal_States(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Int_VSM_State: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_VSM_State = x;
+ /* MCM_Int_Inverter_State: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Inverter_State = x;
+ /* MCM_Int_Direction_Command: start-bit 56, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 56) & 0xff;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Direction_Command = x;
+ /* MCM_Int_Invert_Dischrg_State: start-bit 37, length 3, endianess intel, scaling 1, offset 0 */
+ x = (i >> 37) & 0x7;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Dischrg_State = x;
+ /* MCM_Int_Relay_1_Status: start-bit 24, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_1_Status = x;
+ /* MCM_Int_Relay_2_Status: start-bit 25, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 25) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_2_Status = x;
+ /* MCM_Int_Relay_3_Status: start-bit 26, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 26) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_3_Status = x;
+ /* MCM_Int_Relay_4_Status: start-bit 27, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 27) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_4_Status = x;
+ /* MCM_Int_Relay_5_Status: start-bit 28, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 28) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_5_Status = x;
+ /* MCM_Int_Relay_6_Status: start-bit 29, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 29) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_6_Status = x;
+ /* MCM_Int_Invert_Run_Mode: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Run_Mode = x;
+ /* MCM_Int_Invert_Command_Mode: start-bit 40, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 40) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Command_Mode = x;
+ /* MCM_Int_Invert_Enable_State: start-bit 48, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Enable_State = x;
+ /* MCM_Int_Invert_En_Lockout: start-bit 55, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 55) & 0x1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_En_Lockout = x;
+ o->can_0x0aa_MCM_Internal_States_rx = 1;
+ o->can_0x0aa_MCM_Internal_States_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0aa_MCM_Int_VSM_State(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_VSM_State);
+ if (rval <= 15) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0aa_MCM_Int_VSM_State(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_VSM_State = 0;
+ if (in > 15)
+ return -1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_VSM_State = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Inverter_State(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Inverter_State);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Inverter_State(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Inverter_State = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Direction_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Direction_Command);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0aa_MCM_Int_Direction_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Direction_Command = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Direction_Command = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Invert_Dischrg_State(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Dischrg_State);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Invert_Dischrg_State(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Dischrg_State = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Relay_1_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_1_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Relay_1_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_1_Status = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Relay_2_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_2_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Relay_2_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_2_Status = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Relay_3_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_3_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Relay_3_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_3_Status = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Relay_4_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_4_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Relay_4_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_4_Status = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Relay_5_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_5_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Relay_5_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_5_Status = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Relay_6_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_6_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Relay_6_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_6_Status = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Invert_Run_Mode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Run_Mode);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Invert_Run_Mode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Run_Mode = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Invert_Command_Mode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Command_Mode);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Invert_Command_Mode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Command_Mode = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Invert_Enable_State(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Enable_State);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Invert_Enable_State(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Enable_State = in;
+ return 0;
+}
+
+int decode_can_0x0aa_MCM_Int_Invert_En_Lockout(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_En_Lockout);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0aa_MCM_Int_Invert_En_Lockout(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_En_Lockout = in;
+ return 0;
+}
+
+int print_can_0x0aa_MCM_Internal_States(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Int_VSM_State = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_VSM_State)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Inverter_State = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Inverter_State)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Direction_Command = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Direction_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Invert_Dischrg_State = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Dischrg_State)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Relay_1_Status = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_1_Status)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Relay_2_Status = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_2_Status)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Relay_3_Status = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_3_Status)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Relay_4_Status = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_4_Status)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Relay_5_Status = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_5_Status)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Relay_6_Status = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Relay_6_Status)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Invert_Run_Mode = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Run_Mode)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Invert_Command_Mode = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Command_Mode)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Invert_Enable_State = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_Enable_State)));
+ r = print_helper(r, fprintf(output, "MCM_Int_Invert_En_Lockout = (wire: %.0f)\n", (double)(o->can_0x0aa_MCM_Internal_States.MCM_Int_Invert_En_Lockout)));
+ return r;
+}
+
+static int pack_can_0x0ab_MCM_Fault_Codes(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Post_Fault_Lo: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Lo)) & 0xffff;
+ i |= x;
+ /* MCM_Post_Fault_Hi: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Hi)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Run_Fault_Lo: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Lo)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Run_Fault_Hi: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Hi)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0ab_MCM_Fault_Codes_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0ab_MCM_Fault_Codes(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Post_Fault_Lo: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Lo = x;
+ /* MCM_Post_Fault_Hi: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Hi = x;
+ /* MCM_Run_Fault_Lo: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Lo = x;
+ /* MCM_Run_Fault_Hi: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Hi = x;
+ o->can_0x0ab_MCM_Fault_Codes_rx = 1;
+ o->can_0x0ab_MCM_Fault_Codes_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0ab_MCM_Post_Fault_Lo(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Lo);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ab_MCM_Post_Fault_Lo(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Lo = in;
+ return 0;
+}
+
+int decode_can_0x0ab_MCM_Post_Fault_Hi(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Hi);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ab_MCM_Post_Fault_Hi(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Hi = in;
+ return 0;
+}
+
+int decode_can_0x0ab_MCM_Run_Fault_Lo(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Lo);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ab_MCM_Run_Fault_Lo(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Lo = in;
+ return 0;
+}
+
+int decode_can_0x0ab_MCM_Run_Fault_Hi(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Hi);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ab_MCM_Run_Fault_Hi(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Hi = in;
+ return 0;
+}
+
+int print_can_0x0ab_MCM_Fault_Codes(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Post_Fault_Lo = (wire: %.0f)\n", (double)(o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Lo)));
+ r = print_helper(r, fprintf(output, "MCM_Post_Fault_Hi = (wire: %.0f)\n", (double)(o->can_0x0ab_MCM_Fault_Codes.MCM_Post_Fault_Hi)));
+ r = print_helper(r, fprintf(output, "MCM_Run_Fault_Lo = (wire: %.0f)\n", (double)(o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Lo)));
+ r = print_helper(r, fprintf(output, "MCM_Run_Fault_Hi = (wire: %.0f)\n", (double)(o->can_0x0ab_MCM_Fault_Codes.MCM_Run_Fault_Hi)));
+ return r;
+}
+
+static int pack_can_0x0ac_MCM_Torque_And_Timer_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Power_On_Timer: start-bit 32, length 32, endianess intel, scaling 0.003, offset 0 */
+ x = ((uint32_t)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Power_On_Timer)) & 0xffffffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Commanded_Torque: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Commanded_Torque)) & 0xffff;
+ i |= x;
+ /* MCM_Torque_Feedback: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Torque_Feedback)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x0ac_MCM_Torque_And_Timer_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0ac_MCM_Torque_And_Timer_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Power_On_Timer: start-bit 32, length 32, endianess intel, scaling 0.003, offset 0 */
+ x = (i >> 32) & 0xffffffff;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Power_On_Timer = x;
+ /* MCM_Commanded_Torque: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Commanded_Torque = x;
+ /* MCM_Torque_Feedback: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Torque_Feedback = x;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info_rx = 1;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0ac_MCM_Power_On_Timer(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Power_On_Timer);
+ rval *= 0.003;
+ if (rval <= 1.28848e+07) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ac_MCM_Power_On_Timer(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Power_On_Timer = 0;
+ if (in > 1.28848e+07)
+ return -1;
+ in *= 333.333;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Power_On_Timer = in;
+ return 0;
+}
+
+int decode_can_0x0ac_MCM_Commanded_Torque(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Commanded_Torque);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ac_MCM_Commanded_Torque(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Commanded_Torque = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Commanded_Torque = in;
+ return 0;
+}
+
+int decode_can_0x0ac_MCM_Torque_Feedback(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Torque_Feedback);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ac_MCM_Torque_Feedback(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Torque_Feedback = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Torque_Feedback = in;
+ return 0;
+}
+
+int print_can_0x0ac_MCM_Torque_And_Timer_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Power_On_Timer = (wire: %.0f)\n", (double)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Power_On_Timer)));
+ r = print_helper(r, fprintf(output, "MCM_Commanded_Torque = (wire: %.0f)\n", (double)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Commanded_Torque)));
+ r = print_helper(r, fprintf(output, "MCM_Torque_Feedback = (wire: %.0f)\n", (double)(o->can_0x0ac_MCM_Torque_And_Timer_Info.MCM_Torque_Feedback)));
+ return r;
+}
+
+static int pack_can_0x0ad_MCM_Modulation_And_Flux_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Modulation_Index: start-bit 0, length 16, endianess intel, scaling 0.0001, offset 0 */
+ x = ((uint16_t)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Modulation_Index)) & 0xffff;
+ i |= x;
+ /* MCM_Flux_Weakening_Output: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Flux_Weakening_Output)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Id_Command: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Id_Command)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Iq_Command: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Iq_Command)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0ad_MCM_Modulation_And_Flux_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Modulation_Index: start-bit 0, length 16, endianess intel, scaling 0.0001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Modulation_Index = x;
+ /* MCM_Flux_Weakening_Output: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Flux_Weakening_Output = x;
+ /* MCM_Id_Command: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Id_Command = x;
+ /* MCM_Iq_Command: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Iq_Command = x;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info_rx = 1;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0ad_MCM_Modulation_Index(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Modulation_Index);
+ rval *= 0.0001;
+ if ((rval >= -3.2768) && (rval <= 3.2767)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ad_MCM_Modulation_Index(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Modulation_Index = 0;
+ if (in < -3.2768)
+ return -1;
+ if (in > 3.2767)
+ return -1;
+ in *= 10000;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Modulation_Index = in;
+ return 0;
+}
+
+int decode_can_0x0ad_MCM_Flux_Weakening_Output(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Flux_Weakening_Output);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ad_MCM_Flux_Weakening_Output(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Flux_Weakening_Output = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Flux_Weakening_Output = in;
+ return 0;
+}
+
+int decode_can_0x0ad_MCM_Id_Command(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Id_Command);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ad_MCM_Id_Command(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Id_Command = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Id_Command = in;
+ return 0;
+}
+
+int decode_can_0x0ad_MCM_Iq_Command(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Iq_Command);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0ad_MCM_Iq_Command(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Iq_Command = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Iq_Command = in;
+ return 0;
+}
+
+int print_can_0x0ad_MCM_Modulation_And_Flux_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Modulation_Index = (wire: %.0f)\n", (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Modulation_Index)));
+ r = print_helper(r, fprintf(output, "MCM_Flux_Weakening_Output = (wire: %.0f)\n", (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Flux_Weakening_Output)));
+ r = print_helper(r, fprintf(output, "MCM_Id_Command = (wire: %.0f)\n", (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Id_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Iq_Command = (wire: %.0f)\n", (double)(o->can_0x0ad_MCM_Modulation_And_Flux_Info.MCM_Iq_Command)));
+ return r;
+}
+
+static int pack_can_0x0ae_MCM_Firmware_Info(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Project_Code_EEP_Ver: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_Project_Code_EEP_Ver)) & 0xffff;
+ i |= x;
+ /* MCM_SW_Version: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_SW_Version)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_DateCode_MMDD: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_MMDD)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_DateCode_YYYY: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_YYYY)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x0ae_MCM_Firmware_Info_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0ae_MCM_Firmware_Info(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Project_Code_EEP_Ver: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0ae_MCM_Firmware_Info.MCM_Project_Code_EEP_Ver = x;
+ /* MCM_SW_Version: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0ae_MCM_Firmware_Info.MCM_SW_Version = x;
+ /* MCM_DateCode_MMDD: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_MMDD = x;
+ /* MCM_DateCode_YYYY: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_YYYY = x;
+ o->can_0x0ae_MCM_Firmware_Info_rx = 1;
+ o->can_0x0ae_MCM_Firmware_Info_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0ae_MCM_Project_Code_EEP_Ver(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_Project_Code_EEP_Ver);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ae_MCM_Project_Code_EEP_Ver(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ae_MCM_Firmware_Info.MCM_Project_Code_EEP_Ver = in;
+ return 0;
+}
+
+int decode_can_0x0ae_MCM_SW_Version(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_SW_Version);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ae_MCM_SW_Version(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ae_MCM_Firmware_Info.MCM_SW_Version = in;
+ return 0;
+}
+
+int decode_can_0x0ae_MCM_DateCode_MMDD(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_MMDD);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ae_MCM_DateCode_MMDD(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_MMDD = in;
+ return 0;
+}
+
+int decode_can_0x0ae_MCM_DateCode_YYYY(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_YYYY);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0ae_MCM_DateCode_YYYY(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_YYYY = in;
+ return 0;
+}
+
+int print_can_0x0ae_MCM_Firmware_Info(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Project_Code_EEP_Ver = (wire: %.0f)\n", (double)(o->can_0x0ae_MCM_Firmware_Info.MCM_Project_Code_EEP_Ver)));
+ r = print_helper(r, fprintf(output, "MCM_SW_Version = (wire: %.0f)\n", (double)(o->can_0x0ae_MCM_Firmware_Info.MCM_SW_Version)));
+ r = print_helper(r, fprintf(output, "MCM_DateCode_MMDD = (wire: %.0f)\n", (double)(o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_MMDD)));
+ r = print_helper(r, fprintf(output, "MCM_DateCode_YYYY = (wire: %.0f)\n", (double)(o->can_0x0ae_MCM_Firmware_Info.MCM_DateCode_YYYY)));
+ return r;
+}
+
+static int pack_can_0x0af_MCM_Diag_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Diag_Data_1: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_1)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Diag_Data_2: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_2)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Diag_Data_3: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_3)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ /* MCM_Buffer_Record: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Record)) & 0xff;
+ i |= x;
+ /* MCM_Buffer_Segment: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Segment)) & 0xff;
+ x <<= 8;
+ i |= x;
+ *data = (i);
+ o->can_0x0af_MCM_Diag_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0af_MCM_Diag_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Diag_Data_1: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_1 = x;
+ /* MCM_Diag_Data_2: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_2 = x;
+ /* MCM_Diag_Data_3: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_3 = x;
+ /* MCM_Buffer_Record: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Record = x;
+ /* MCM_Buffer_Segment: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Segment = x;
+ o->can_0x0af_MCM_Diag_Data_rx = 1;
+ o->can_0x0af_MCM_Diag_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0af_MCM_Diag_Data_1(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_1);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0af_MCM_Diag_Data_1(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_1 = in;
+ return 0;
+}
+
+int decode_can_0x0af_MCM_Diag_Data_2(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_2);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0af_MCM_Diag_Data_2(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_2 = in;
+ return 0;
+}
+
+int decode_can_0x0af_MCM_Diag_Data_3(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_3);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0af_MCM_Diag_Data_3(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_3 = in;
+ return 0;
+}
+
+int decode_can_0x0af_MCM_Buffer_Record(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Record);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0af_MCM_Buffer_Record(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Record = in;
+ return 0;
+}
+
+int decode_can_0x0af_MCM_Buffer_Segment(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Segment);
+ if (rval <= 5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0af_MCM_Buffer_Segment(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Segment = 0;
+ if (in > 5)
+ return -1;
+ o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Segment = in;
+ return 0;
+}
+
+int print_can_0x0af_MCM_Diag_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Diag_Data_1 = (wire: %.0f)\n", (double)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_1)));
+ r = print_helper(r, fprintf(output, "MCM_Diag_Data_2 = (wire: %.0f)\n", (double)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_2)));
+ r = print_helper(r, fprintf(output, "MCM_Diag_Data_3 = (wire: %.0f)\n", (double)(o->can_0x0af_MCM_Diag_Data.MCM_Diag_Data_3)));
+ r = print_helper(r, fprintf(output, "MCM_Buffer_Record = (wire: %.0f)\n", (double)(o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Record)));
+ r = print_helper(r, fprintf(output, "MCM_Buffer_Segment = (wire: %.0f)\n", (double)(o->can_0x0af_MCM_Diag_Data.MCM_Buffer_Segment)));
+ return r;
+}
+
+static int pack_can_0x0c0_MCM_Command_Messages(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Torque_Command: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Command)) & 0xffff;
+ i |= x;
+ /* MCM_Speed_Command: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Command)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* MCM_Torque_Limit_Command: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Limit_Command)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ /* MCM_RollingCounter: start-bit 44, length 4, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_RollingCounter)) & 0xf;
+ x <<= 44;
+ i |= x;
+ /* MCM_Direction_Command: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Direction_Command)) & 0x1;
+ x <<= 32;
+ i |= x;
+ /* MCM_Inverter_Enable: start-bit 40, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Enable)) & 0x1;
+ x <<= 40;
+ i |= x;
+ /* MCM_Inverter_Discharge: start-bit 41, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Discharge)) & 0x1;
+ x <<= 41;
+ i |= x;
+ /* MCM_Speed_Mode_Enable: start-bit 42, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Mode_Enable)) & 0x1;
+ x <<= 42;
+ i |= x;
+ *data = (i);
+ o->can_0x0c0_MCM_Command_Messages_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0c0_MCM_Command_Messages(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Torque_Command: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Command = x;
+ /* MCM_Speed_Command: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Command = x;
+ /* MCM_Torque_Limit_Command: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Limit_Command = x;
+ /* MCM_RollingCounter: start-bit 44, length 4, endianess intel, scaling 1, offset 0 */
+ x = (i >> 44) & 0xf;
+ o->can_0x0c0_MCM_Command_Messages.MCM_RollingCounter = x;
+ /* MCM_Direction_Command: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0x1;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Direction_Command = x;
+ /* MCM_Inverter_Enable: start-bit 40, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 40) & 0x1;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Enable = x;
+ /* MCM_Inverter_Discharge: start-bit 41, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 41) & 0x1;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Discharge = x;
+ /* MCM_Speed_Mode_Enable: start-bit 42, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 42) & 0x1;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Mode_Enable = x;
+ o->can_0x0c0_MCM_Command_Messages_rx = 1;
+ o->can_0x0c0_MCM_Command_Messages_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0c0_MCM_Torque_Command(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Command);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0c0_MCM_Torque_Command(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Command = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Command = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_Speed_Command(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c0_MCM_Speed_Command(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Command = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_Torque_Limit_Command(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Limit_Command);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x0c0_MCM_Torque_Limit_Command(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Limit_Command = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Limit_Command = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_RollingCounter(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_RollingCounter);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c0_MCM_RollingCounter(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_RollingCounter = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_Direction_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Direction_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c0_MCM_Direction_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Direction_Command = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_Inverter_Enable(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Enable);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c0_MCM_Inverter_Enable(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Enable = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_Inverter_Discharge(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Discharge);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c0_MCM_Inverter_Discharge(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Discharge = in;
+ return 0;
+}
+
+int decode_can_0x0c0_MCM_Speed_Mode_Enable(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Mode_Enable);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c0_MCM_Speed_Mode_Enable(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Mode_Enable = in;
+ return 0;
+}
+
+int print_can_0x0c0_MCM_Command_Messages(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Torque_Command = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Speed_Command = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Torque_Limit_Command = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Torque_Limit_Command)));
+ r = print_helper(r, fprintf(output, "MCM_RollingCounter = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_RollingCounter)));
+ r = print_helper(r, fprintf(output, "MCM_Direction_Command = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Direction_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Inverter_Enable = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Enable)));
+ r = print_helper(r, fprintf(output, "MCM_Inverter_Discharge = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Inverter_Discharge)));
+ r = print_helper(r, fprintf(output, "MCM_Speed_Mode_Enable = (wire: %.0f)\n", (double)(o->can_0x0c0_MCM_Command_Messages.MCM_Speed_Mode_Enable)));
+ return r;
+}
+
+static int pack_can_0x0c1_MCM_Read_Write_Param_Command(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Param_Address_Command: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Param_Address_Command)) & 0xffff;
+ i |= x;
+ /* MCM_Data_Command: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Data_Command)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Read_Write_Command: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Read_Write_Command)) & 0x1;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x0c1_MCM_Read_Write_Param_Command_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0c1_MCM_Read_Write_Param_Command(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Param_Address_Command: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Param_Address_Command = x;
+ /* MCM_Data_Command: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Data_Command = x;
+ /* MCM_Read_Write_Command: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Read_Write_Command = x;
+ o->can_0x0c1_MCM_Read_Write_Param_Command_rx = 1;
+ o->can_0x0c1_MCM_Read_Write_Param_Command_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0c1_MCM_Param_Address_Command(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Param_Address_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c1_MCM_Param_Address_Command(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Param_Address_Command = in;
+ return 0;
+}
+
+int decode_can_0x0c1_MCM_Data_Command(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Data_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c1_MCM_Data_Command(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Data_Command = in;
+ return 0;
+}
+
+int decode_can_0x0c1_MCM_Read_Write_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Read_Write_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c1_MCM_Read_Write_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Read_Write_Command = in;
+ return 0;
+}
+
+int print_can_0x0c1_MCM_Read_Write_Param_Command(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Param_Address_Command = (wire: %.0f)\n", (double)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Param_Address_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Data_Command = (wire: %.0f)\n", (double)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Data_Command)));
+ r = print_helper(r, fprintf(output, "MCM_Read_Write_Command = (wire: %.0f)\n", (double)(o->can_0x0c1_MCM_Read_Write_Param_Command.MCM_Read_Write_Command)));
+ return r;
+}
+
+static int pack_can_0x0c2_MCM_Read_Write_Param_Response(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_Param_Address_Response: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Param_Address_Response)) & 0xffff;
+ i |= x;
+ /* MCM_Data_Response: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Data_Response)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* MCM_Write_Success: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Write_Success)) & 0x1;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x0c2_MCM_Read_Write_Param_Response_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x0c2_MCM_Read_Write_Param_Response(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_Param_Address_Response: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Param_Address_Response = x;
+ /* MCM_Data_Response: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Data_Response = x;
+ /* MCM_Write_Success: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Write_Success = x;
+ o->can_0x0c2_MCM_Read_Write_Param_Response_rx = 1;
+ o->can_0x0c2_MCM_Read_Write_Param_Response_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x0c2_MCM_Param_Address_Response(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Param_Address_Response);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c2_MCM_Param_Address_Response(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Param_Address_Response = in;
+ return 0;
+}
+
+int decode_can_0x0c2_MCM_Data_Response(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Data_Response);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c2_MCM_Data_Response(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Data_Response = in;
+ return 0;
+}
+
+int decode_can_0x0c2_MCM_Write_Success(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Write_Success);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x0c2_MCM_Write_Success(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Write_Success = in;
+ return 0;
+}
+
+int print_can_0x0c2_MCM_Read_Write_Param_Response(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_Param_Address_Response = (wire: %.0f)\n", (double)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Param_Address_Response)));
+ r = print_helper(r, fprintf(output, "MCM_Data_Response = (wire: %.0f)\n", (double)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Data_Response)));
+ r = print_helper(r, fprintf(output, "MCM_Write_Success = (wire: %.0f)\n", (double)(o->can_0x0c2_MCM_Read_Write_Param_Response.MCM_Write_Success)));
+ return r;
+}
+
+static int pack_can_0x100_EMeter_Measurement(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* EMeter_Current: start-bit 7, length 32, endianess motorola, scaling 1.52588e-05, offset 0 */
+ x = ((uint32_t)(o->can_0x100_EMeter_Measurement.EMeter_Current)) & 0xffffffff;
+ x <<= 32;
+ m |= x;
+ /* EMeter_Voltage: start-bit 39, length 32, endianess motorola, scaling 1.52588e-05, offset 0 */
+ x = ((uint32_t)(o->can_0x100_EMeter_Measurement.EMeter_Voltage)) & 0xffffffff;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x100_EMeter_Measurement_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x100_EMeter_Measurement(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* EMeter_Current: start-bit 7, length 32, endianess motorola, scaling 1.52588e-05, offset 0 */
+ x = (m >> 32) & 0xffffffff;
+ o->can_0x100_EMeter_Measurement.EMeter_Current = x;
+ /* EMeter_Voltage: start-bit 39, length 32, endianess motorola, scaling 1.52588e-05, offset 0 */
+ x = m & 0xffffffff;
+ o->can_0x100_EMeter_Measurement.EMeter_Voltage = x;
+ o->can_0x100_EMeter_Measurement_rx = 1;
+ o->can_0x100_EMeter_Measurement_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x100_EMeter_Current(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x100_EMeter_Measurement.EMeter_Current);
+ rval *= 1.52588e-05;
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x100_EMeter_Current(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ in *= 65536;
+ o->can_0x100_EMeter_Measurement.EMeter_Current = in;
+ return 0;
+}
+
+int decode_can_0x100_EMeter_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x100_EMeter_Measurement.EMeter_Voltage);
+ rval *= 1.52588e-05;
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x100_EMeter_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ in *= 65536;
+ o->can_0x100_EMeter_Measurement.EMeter_Voltage = in;
+ return 0;
+}
+
+int print_can_0x100_EMeter_Measurement(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "EMeter_Current = (wire: %.0f)\n", (double)(o->can_0x100_EMeter_Measurement.EMeter_Current)));
+ r = print_helper(r, fprintf(output, "EMeter_Voltage = (wire: %.0f)\n", (double)(o->can_0x100_EMeter_Measurement.EMeter_Voltage)));
+ return r;
+}
+
+static int pack_can_0x1d5_MCM_U2C_Message_Rxd(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_HV_Input_Current: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_Input_Current)) & 0xff;
+ x <<= 8;
+ i |= x;
+ /* MCM_14V_Monitor: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Monitor)) & 0xff;
+ x <<= 24;
+ i |= x;
+ /* MCM_14V_Current_Monitor: start-bit 48, length 7, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Current_Monitor)) & 0x7f;
+ x <<= 48;
+ i |= x;
+ /* MCM_DTC_Index: start-bit 19, length 5, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Index)) & 0x1f;
+ x <<= 19;
+ i |= x;
+ /* MCM_DTC_Status: start-bit 16, length 3, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Status)) & 0x7;
+ x <<= 16;
+ i |= x;
+ /* MCM_HV_In_Curr_Sens_Valid: start-bit 4, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_In_Curr_Sens_Valid)) & 0x1;
+ x <<= 4;
+ i |= x;
+ /* MCM_14V_Master_Fault: start-bit 7, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Master_Fault)) & 0x1;
+ x <<= 7;
+ i |= x;
+ /* MCM_14V_Conditional: start-bit 39, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Conditional)) & 0x1;
+ x <<= 39;
+ i |= x;
+ *data = (i);
+ o->can_0x1d5_MCM_U2C_Message_Rxd_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x1d5_MCM_U2C_Message_Rxd(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_HV_Input_Current: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_Input_Current = x;
+ /* MCM_14V_Monitor: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0xff;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Monitor = x;
+ /* MCM_14V_Current_Monitor: start-bit 48, length 7, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0x7f;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Current_Monitor = x;
+ /* MCM_DTC_Index: start-bit 19, length 5, endianess intel, scaling 1, offset 0 */
+ x = (i >> 19) & 0x1f;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Index = x;
+ /* MCM_DTC_Status: start-bit 16, length 3, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x7;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Status = x;
+ /* MCM_HV_In_Curr_Sens_Valid: start-bit 4, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 4) & 0x1;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_In_Curr_Sens_Valid = x;
+ /* MCM_14V_Master_Fault: start-bit 7, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 7) & 0x1;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Master_Fault = x;
+ /* MCM_14V_Conditional: start-bit 39, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 39) & 0x1;
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Conditional = x;
+ o->can_0x1d5_MCM_U2C_Message_Rxd_rx = 1;
+ o->can_0x1d5_MCM_U2C_Message_Rxd_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x1d5_MCM_HV_Input_Current(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_Input_Current);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_HV_Input_Current(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_Input_Current = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_14V_Monitor(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Monitor);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_14V_Monitor(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Monitor = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_14V_Current_Monitor(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Current_Monitor);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_14V_Current_Monitor(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Current_Monitor = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_DTC_Index(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Index);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_DTC_Index(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Index = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_DTC_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_DTC_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Status = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_HV_In_Curr_Sens_Valid(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_In_Curr_Sens_Valid);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_HV_In_Curr_Sens_Valid(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_In_Curr_Sens_Valid = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_14V_Master_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Master_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_14V_Master_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Master_Fault = in;
+ return 0;
+}
+
+int decode_can_0x1d5_MCM_14V_Conditional(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Conditional);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d5_MCM_14V_Conditional(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Conditional = in;
+ return 0;
+}
+
+int print_can_0x1d5_MCM_U2C_Message_Rxd(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_HV_Input_Current = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_Input_Current)));
+ r = print_helper(r, fprintf(output, "MCM_14V_Monitor = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Monitor)));
+ r = print_helper(r, fprintf(output, "MCM_14V_Current_Monitor = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Current_Monitor)));
+ r = print_helper(r, fprintf(output, "MCM_DTC_Index = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Index)));
+ r = print_helper(r, fprintf(output, "MCM_DTC_Status = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_DTC_Status)));
+ r = print_helper(r, fprintf(output, "MCM_HV_In_Curr_Sens_Valid = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_HV_In_Curr_Sens_Valid)));
+ r = print_helper(r, fprintf(output, "MCM_14V_Master_Fault = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Master_Fault)));
+ r = print_helper(r, fprintf(output, "MCM_14V_Conditional = (wire: %.0f)\n", (double)(o->can_0x1d5_MCM_U2C_Message_Rxd.MCM_14V_Conditional)));
+ return r;
+}
+
+static int pack_can_0x1d7_MCM_U2C_Command_Txd(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* MCM_ID_Byte: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d7_MCM_U2C_Command_Txd.MCM_ID_Byte)) & 0xff;
+ i |= x;
+ /* MCM_Setpoint_Calc: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x1d7_MCM_U2C_Command_Txd.MCM_Setpoint_Calc)) & 0xff;
+ x <<= 8;
+ i |= x;
+ *data = (i);
+ o->can_0x1d7_MCM_U2C_Command_Txd_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x1d7_MCM_U2C_Command_Txd(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* MCM_ID_Byte: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x1d7_MCM_U2C_Command_Txd.MCM_ID_Byte = x;
+ /* MCM_Setpoint_Calc: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x1d7_MCM_U2C_Command_Txd.MCM_Setpoint_Calc = x;
+ o->can_0x1d7_MCM_U2C_Command_Txd_rx = 1;
+ o->can_0x1d7_MCM_U2C_Command_Txd_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x1d7_MCM_ID_Byte(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d7_MCM_U2C_Command_Txd.MCM_ID_Byte);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d7_MCM_ID_Byte(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d7_MCM_U2C_Command_Txd.MCM_ID_Byte = in;
+ return 0;
+}
+
+int decode_can_0x1d7_MCM_Setpoint_Calc(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x1d7_MCM_U2C_Command_Txd.MCM_Setpoint_Calc);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x1d7_MCM_Setpoint_Calc(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x1d7_MCM_U2C_Command_Txd.MCM_Setpoint_Calc = in;
+ return 0;
+}
+
+int print_can_0x1d7_MCM_U2C_Command_Txd(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "MCM_ID_Byte = (wire: %.0f)\n", (double)(o->can_0x1d7_MCM_U2C_Command_Txd.MCM_ID_Byte)));
+ r = print_helper(r, fprintf(output, "MCM_Setpoint_Calc = (wire: %.0f)\n", (double)(o->can_0x1d7_MCM_U2C_Command_Txd.MCM_Setpoint_Calc)));
+ return r;
+}
+
+static int pack_can_0x400_EMeter_Status(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* EMeter_VoltageGain: start-bit 3, length 4, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x400_EMeter_Status.EMeter_VoltageGain)) & 0xf;
+ x <<= 56;
+ m |= x;
+ /* EMeter_CurrentGain: start-bit 7, length 4, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x400_EMeter_Status.EMeter_CurrentGain)) & 0xf;
+ x <<= 60;
+ m |= x;
+ /* EMeter_OverVoltage: start-bit 8, length 1, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x400_EMeter_Status.EMeter_OverVoltage)) & 0x1;
+ x <<= 48;
+ m |= x;
+ /* EMeter_OverPower: start-bit 9, length 1, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x400_EMeter_Status.EMeter_OverPower)) & 0x1;
+ x <<= 49;
+ m |= x;
+ /* EMeter_Logging: start-bit 10, length 1, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x400_EMeter_Status.EMeter_Logging)) & 0x1;
+ x <<= 50;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x400_EMeter_Status_tx = 1;
+ return 4;
+}
+
+static int unpack_can_0x400_EMeter_Status(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 4)
+ return -1;
+ /* EMeter_VoltageGain: start-bit 3, length 4, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 56) & 0xf;
+ o->can_0x400_EMeter_Status.EMeter_VoltageGain = x;
+ /* EMeter_CurrentGain: start-bit 7, length 4, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 60) & 0xf;
+ o->can_0x400_EMeter_Status.EMeter_CurrentGain = x;
+ /* EMeter_OverVoltage: start-bit 8, length 1, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 48) & 0x1;
+ o->can_0x400_EMeter_Status.EMeter_OverVoltage = x;
+ /* EMeter_OverPower: start-bit 9, length 1, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 49) & 0x1;
+ o->can_0x400_EMeter_Status.EMeter_OverPower = x;
+ /* EMeter_Logging: start-bit 10, length 1, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 50) & 0x1;
+ o->can_0x400_EMeter_Status.EMeter_Logging = x;
+ o->can_0x400_EMeter_Status_rx = 1;
+ o->can_0x400_EMeter_Status_time_stamp_rx = time_stamp;
+ return 4;
+}
+
+int decode_can_0x400_EMeter_VoltageGain(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x400_EMeter_Status.EMeter_VoltageGain);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x400_EMeter_VoltageGain(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x400_EMeter_Status.EMeter_VoltageGain = in;
+ return 0;
+}
+
+int decode_can_0x400_EMeter_CurrentGain(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x400_EMeter_Status.EMeter_CurrentGain);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x400_EMeter_CurrentGain(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x400_EMeter_Status.EMeter_CurrentGain = in;
+ return 0;
+}
+
+int decode_can_0x400_EMeter_OverVoltage(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x400_EMeter_Status.EMeter_OverVoltage);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x400_EMeter_OverVoltage(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x400_EMeter_Status.EMeter_OverVoltage = in;
+ return 0;
+}
+
+int decode_can_0x400_EMeter_OverPower(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x400_EMeter_Status.EMeter_OverPower);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x400_EMeter_OverPower(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x400_EMeter_Status.EMeter_OverPower = in;
+ return 0;
+}
+
+int decode_can_0x400_EMeter_Logging(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x400_EMeter_Status.EMeter_Logging);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x400_EMeter_Logging(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x400_EMeter_Status.EMeter_Logging = in;
+ return 0;
+}
+
+int print_can_0x400_EMeter_Status(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "EMeter_VoltageGain = (wire: %.0f)\n", (double)(o->can_0x400_EMeter_Status.EMeter_VoltageGain)));
+ r = print_helper(r, fprintf(output, "EMeter_CurrentGain = (wire: %.0f)\n", (double)(o->can_0x400_EMeter_Status.EMeter_CurrentGain)));
+ r = print_helper(r, fprintf(output, "EMeter_OverVoltage = (wire: %.0f)\n", (double)(o->can_0x400_EMeter_Status.EMeter_OverVoltage)));
+ r = print_helper(r, fprintf(output, "EMeter_OverPower = (wire: %.0f)\n", (double)(o->can_0x400_EMeter_Status.EMeter_OverPower)));
+ r = print_helper(r, fprintf(output, "EMeter_Logging = (wire: %.0f)\n", (double)(o->can_0x400_EMeter_Status.EMeter_Logging)));
+ return r;
+}
+
+static int pack_can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LF_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_1)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LF_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_2)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LF_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_3)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LF_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_4)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LF_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_1 = x;
+ /* LF_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_2 = x;
+ /* LF_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_3 = x;
+ /* LF_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_4 = x;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4_rx = 1;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b0_LF_Temperature_1(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_1);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b0_LF_Temperature_1(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_1 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_1 = in;
+ return 0;
+}
+
+int decode_can_0x4b0_LF_Temperature_2(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_2);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b0_LF_Temperature_2(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_2 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_2 = in;
+ return 0;
+}
+
+int decode_can_0x4b0_LF_Temperature_3(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_3);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b0_LF_Temperature_3(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_3 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_3 = in;
+ return 0;
+}
+
+int decode_can_0x4b0_LF_Temperature_4(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_4);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b0_LF_Temperature_4(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_4 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_4 = in;
+ return 0;
+}
+
+int print_can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LF_Temperature_1 = (wire: %.0f)\n", (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_1)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_2 = (wire: %.0f)\n", (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_2)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_3 = (wire: %.0f)\n", (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_3)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_4 = (wire: %.0f)\n", (double)(o->can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4.LF_Temperature_4)));
+ return r;
+}
+
+static int pack_can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LF_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_5)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LF_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_6)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LF_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_7)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LF_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_8)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LF_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_5 = x;
+ /* LF_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_6 = x;
+ /* LF_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_7 = x;
+ /* LF_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_8 = x;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8_rx = 1;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b1_LF_Temperature_5(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_5);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b1_LF_Temperature_5(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_5 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_5 = in;
+ return 0;
+}
+
+int decode_can_0x4b1_LF_Temperature_6(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_6);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b1_LF_Temperature_6(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_6 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_6 = in;
+ return 0;
+}
+
+int decode_can_0x4b1_LF_Temperature_7(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_7);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b1_LF_Temperature_7(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_7 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_7 = in;
+ return 0;
+}
+
+int decode_can_0x4b1_LF_Temperature_8(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_8);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b1_LF_Temperature_8(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_8 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_8 = in;
+ return 0;
+}
+
+int print_can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LF_Temperature_5 = (wire: %.0f)\n", (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_5)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_6 = (wire: %.0f)\n", (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_6)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_7 = (wire: %.0f)\n", (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_7)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_8 = (wire: %.0f)\n", (double)(o->can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8.LF_Temperature_8)));
+ return r;
+}
+
+static int pack_can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LF_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_9)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LF_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_10)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LF_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_11)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LF_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_12)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LF_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_9 = x;
+ /* LF_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_10 = x;
+ /* LF_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_11 = x;
+ /* LF_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_12 = x;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12_rx = 1;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b2_LF_Temperature_9(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_9);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b2_LF_Temperature_9(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_9 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_9 = in;
+ return 0;
+}
+
+int decode_can_0x4b2_LF_Temperature_10(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_10);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b2_LF_Temperature_10(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_10 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_10 = in;
+ return 0;
+}
+
+int decode_can_0x4b2_LF_Temperature_11(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_11);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b2_LF_Temperature_11(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_11 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_11 = in;
+ return 0;
+}
+
+int decode_can_0x4b2_LF_Temperature_12(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_12);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b2_LF_Temperature_12(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_12 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_12 = in;
+ return 0;
+}
+
+int print_can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LF_Temperature_9 = (wire: %.0f)\n", (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_9)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_10 = (wire: %.0f)\n", (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_10)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_11 = (wire: %.0f)\n", (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_11)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_12 = (wire: %.0f)\n", (double)(o->can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12.LF_Temperature_12)));
+ return r;
+}
+
+static int pack_can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LF_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_13)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LF_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_14)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LF_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_15)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LF_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_16)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LF_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_13 = x;
+ /* LF_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_14 = x;
+ /* LF_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_15 = x;
+ /* LF_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_16 = x;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16_rx = 1;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b3_LF_Temperature_13(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_13);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b3_LF_Temperature_13(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_13 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_13 = in;
+ return 0;
+}
+
+int decode_can_0x4b3_LF_Temperature_14(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_14);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b3_LF_Temperature_14(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_14 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_14 = in;
+ return 0;
+}
+
+int decode_can_0x4b3_LF_Temperature_15(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_15);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b3_LF_Temperature_15(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_15 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_15 = in;
+ return 0;
+}
+
+int decode_can_0x4b3_LF_Temperature_16(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_16);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b3_LF_Temperature_16(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_16 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_16 = in;
+ return 0;
+}
+
+int print_can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LF_Temperature_13 = (wire: %.0f)\n", (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_13)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_14 = (wire: %.0f)\n", (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_14)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_15 = (wire: %.0f)\n", (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_15)));
+ r = print_helper(r, fprintf(output, "LF_Temperature_16 = (wire: %.0f)\n", (double)(o->can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16.LF_Temperature_16)));
+ return r;
+}
+
+static int pack_can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RF_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_1)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RF_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_2)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RF_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_3)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RF_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_4)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RF_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_1 = x;
+ /* RF_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_2 = x;
+ /* RF_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_3 = x;
+ /* RF_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_4 = x;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4_rx = 1;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b4_RF_Temperature_1(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_1);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b4_RF_Temperature_1(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_1 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_1 = in;
+ return 0;
+}
+
+int decode_can_0x4b4_RF_Temperature_2(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_2);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b4_RF_Temperature_2(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_2 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_2 = in;
+ return 0;
+}
+
+int decode_can_0x4b4_RF_Temperature_3(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_3);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b4_RF_Temperature_3(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_3 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_3 = in;
+ return 0;
+}
+
+int decode_can_0x4b4_RF_Temperature_4(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_4);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b4_RF_Temperature_4(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_4 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_4 = in;
+ return 0;
+}
+
+int print_can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RF_Temperature_1 = (wire: %.0f)\n", (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_1)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_2 = (wire: %.0f)\n", (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_2)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_3 = (wire: %.0f)\n", (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_3)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_4 = (wire: %.0f)\n", (double)(o->can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4.RF_Temperature_4)));
+ return r;
+}
+
+static int pack_can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RF_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_5)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RF_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_6)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RF_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_7)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RF_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_8)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RF_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_5 = x;
+ /* RF_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_6 = x;
+ /* RF_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_7 = x;
+ /* RF_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_8 = x;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8_rx = 1;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b5_RF_Temperature_5(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_5);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b5_RF_Temperature_5(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_5 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_5 = in;
+ return 0;
+}
+
+int decode_can_0x4b5_RF_Temperature_6(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_6);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b5_RF_Temperature_6(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_6 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_6 = in;
+ return 0;
+}
+
+int decode_can_0x4b5_RF_Temperature_7(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_7);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b5_RF_Temperature_7(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_7 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_7 = in;
+ return 0;
+}
+
+int decode_can_0x4b5_RF_Temperature_8(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_8);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b5_RF_Temperature_8(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_8 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_8 = in;
+ return 0;
+}
+
+int print_can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RF_Temperature_5 = (wire: %.0f)\n", (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_5)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_6 = (wire: %.0f)\n", (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_6)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_7 = (wire: %.0f)\n", (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_7)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_8 = (wire: %.0f)\n", (double)(o->can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8.RF_Temperature_8)));
+ return r;
+}
+
+static int pack_can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RF_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_9)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RF_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_10)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RF_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_11)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RF_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_12)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RF_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_9 = x;
+ /* RF_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_10 = x;
+ /* RF_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_11 = x;
+ /* RF_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_12 = x;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12_rx = 1;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b6_RF_Temperature_9(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_9);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b6_RF_Temperature_9(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_9 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_9 = in;
+ return 0;
+}
+
+int decode_can_0x4b6_RF_Temperature_10(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_10);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b6_RF_Temperature_10(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_10 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_10 = in;
+ return 0;
+}
+
+int decode_can_0x4b6_RF_Temperature_11(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_11);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b6_RF_Temperature_11(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_11 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_11 = in;
+ return 0;
+}
+
+int decode_can_0x4b6_RF_Temperature_12(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_12);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b6_RF_Temperature_12(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_12 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_12 = in;
+ return 0;
+}
+
+int print_can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RF_Temperature_9 = (wire: %.0f)\n", (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_9)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_10 = (wire: %.0f)\n", (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_10)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_11 = (wire: %.0f)\n", (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_11)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_12 = (wire: %.0f)\n", (double)(o->can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12.RF_Temperature_12)));
+ return r;
+}
+
+static int pack_can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RF_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_13)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RF_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_14)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RF_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_15)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RF_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_16)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RF_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_13 = x;
+ /* RF_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_14 = x;
+ /* RF_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_15 = x;
+ /* RF_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_16 = x;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16_rx = 1;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b7_RF_Temperature_13(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_13);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b7_RF_Temperature_13(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_13 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_13 = in;
+ return 0;
+}
+
+int decode_can_0x4b7_RF_Temperature_14(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_14);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b7_RF_Temperature_14(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_14 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_14 = in;
+ return 0;
+}
+
+int decode_can_0x4b7_RF_Temperature_15(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_15);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b7_RF_Temperature_15(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_15 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_15 = in;
+ return 0;
+}
+
+int decode_can_0x4b7_RF_Temperature_16(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_16);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b7_RF_Temperature_16(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_16 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_16 = in;
+ return 0;
+}
+
+int print_can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RF_Temperature_13 = (wire: %.0f)\n", (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_13)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_14 = (wire: %.0f)\n", (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_14)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_15 = (wire: %.0f)\n", (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_15)));
+ r = print_helper(r, fprintf(output, "RF_Temperature_16 = (wire: %.0f)\n", (double)(o->can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16.RF_Temperature_16)));
+ return r;
+}
+
+static int pack_can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LR_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_1)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LR_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_2)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LR_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_3)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LR_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_4)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LR_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_1 = x;
+ /* LR_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_2 = x;
+ /* LR_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_3 = x;
+ /* LR_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_4 = x;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4_rx = 1;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b8_LR_Temperature_1(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_1);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b8_LR_Temperature_1(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_1 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_1 = in;
+ return 0;
+}
+
+int decode_can_0x4b8_LR_Temperature_2(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_2);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b8_LR_Temperature_2(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_2 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_2 = in;
+ return 0;
+}
+
+int decode_can_0x4b8_LR_Temperature_3(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_3);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b8_LR_Temperature_3(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_3 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_3 = in;
+ return 0;
+}
+
+int decode_can_0x4b8_LR_Temperature_4(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_4);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b8_LR_Temperature_4(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_4 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_4 = in;
+ return 0;
+}
+
+int print_can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LR_Temperature_1 = (wire: %.0f)\n", (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_1)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_2 = (wire: %.0f)\n", (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_2)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_3 = (wire: %.0f)\n", (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_3)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_4 = (wire: %.0f)\n", (double)(o->can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4.LR_Temperature_4)));
+ return r;
+}
+
+static int pack_can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LR_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_5)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LR_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_6)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LR_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_7)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LR_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_8)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LR_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_5 = x;
+ /* LR_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_6 = x;
+ /* LR_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_7 = x;
+ /* LR_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_8 = x;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8_rx = 1;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4b9_LR_Temperature_5(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_5);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b9_LR_Temperature_5(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_5 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_5 = in;
+ return 0;
+}
+
+int decode_can_0x4b9_LR_Temperature_6(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_6);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b9_LR_Temperature_6(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_6 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_6 = in;
+ return 0;
+}
+
+int decode_can_0x4b9_LR_Temperature_7(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_7);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b9_LR_Temperature_7(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_7 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_7 = in;
+ return 0;
+}
+
+int decode_can_0x4b9_LR_Temperature_8(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_8);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4b9_LR_Temperature_8(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_8 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_8 = in;
+ return 0;
+}
+
+int print_can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LR_Temperature_5 = (wire: %.0f)\n", (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_5)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_6 = (wire: %.0f)\n", (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_6)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_7 = (wire: %.0f)\n", (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_7)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_8 = (wire: %.0f)\n", (double)(o->can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8.LR_Temperature_8)));
+ return r;
+}
+
+static int pack_can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LR_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_9)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LR_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_10)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LR_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_11)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LR_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_12)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LR_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_9 = x;
+ /* LR_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_10 = x;
+ /* LR_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_11 = x;
+ /* LR_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_12 = x;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12_rx = 1;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4ba_LR_Temperature_9(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_9);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4ba_LR_Temperature_9(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_9 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_9 = in;
+ return 0;
+}
+
+int decode_can_0x4ba_LR_Temperature_10(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_10);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4ba_LR_Temperature_10(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_10 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_10 = in;
+ return 0;
+}
+
+int decode_can_0x4ba_LR_Temperature_11(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_11);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4ba_LR_Temperature_11(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_11 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_11 = in;
+ return 0;
+}
+
+int decode_can_0x4ba_LR_Temperature_12(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_12);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4ba_LR_Temperature_12(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_12 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_12 = in;
+ return 0;
+}
+
+int print_can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LR_Temperature_9 = (wire: %.0f)\n", (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_9)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_10 = (wire: %.0f)\n", (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_10)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_11 = (wire: %.0f)\n", (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_11)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_12 = (wire: %.0f)\n", (double)(o->can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12.LR_Temperature_12)));
+ return r;
+}
+
+static int pack_can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* LR_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_13)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* LR_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_14)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* LR_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_15)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* LR_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_16)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* LR_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_13 = x;
+ /* LR_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_14 = x;
+ /* LR_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_15 = x;
+ /* LR_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_16 = x;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16_rx = 1;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4bb_LR_Temperature_13(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_13);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bb_LR_Temperature_13(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_13 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_13 = in;
+ return 0;
+}
+
+int decode_can_0x4bb_LR_Temperature_14(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_14);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bb_LR_Temperature_14(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_14 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_14 = in;
+ return 0;
+}
+
+int decode_can_0x4bb_LR_Temperature_15(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_15);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bb_LR_Temperature_15(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_15 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_15 = in;
+ return 0;
+}
+
+int decode_can_0x4bb_LR_Temperature_16(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_16);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bb_LR_Temperature_16(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_16 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_16 = in;
+ return 0;
+}
+
+int print_can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "LR_Temperature_13 = (wire: %.0f)\n", (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_13)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_14 = (wire: %.0f)\n", (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_14)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_15 = (wire: %.0f)\n", (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_15)));
+ r = print_helper(r, fprintf(output, "LR_Temperature_16 = (wire: %.0f)\n", (double)(o->can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16.LR_Temperature_16)));
+ return r;
+}
+
+static int pack_can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RR_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_1)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RR_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_2)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RR_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_3)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RR_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_4)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RR_Temperature_1: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_1 = x;
+ /* RR_Temperature_2: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_2 = x;
+ /* RR_Temperature_3: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_3 = x;
+ /* RR_Temperature_4: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_4 = x;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4_rx = 1;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4bc_RR_Temperature_1(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_1);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bc_RR_Temperature_1(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_1 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_1 = in;
+ return 0;
+}
+
+int decode_can_0x4bc_RR_Temperature_2(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_2);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bc_RR_Temperature_2(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_2 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_2 = in;
+ return 0;
+}
+
+int decode_can_0x4bc_RR_Temperature_3(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_3);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bc_RR_Temperature_3(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_3 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_3 = in;
+ return 0;
+}
+
+int decode_can_0x4bc_RR_Temperature_4(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_4);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bc_RR_Temperature_4(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_4 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_4 = in;
+ return 0;
+}
+
+int print_can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RR_Temperature_1 = (wire: %.0f)\n", (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_1)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_2 = (wire: %.0f)\n", (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_2)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_3 = (wire: %.0f)\n", (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_3)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_4 = (wire: %.0f)\n", (double)(o->can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4.RR_Temperature_4)));
+ return r;
+}
+
+static int pack_can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RR_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_5)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RR_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_6)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RR_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_7)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RR_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_8)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RR_Temperature_5: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_5 = x;
+ /* RR_Temperature_6: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_6 = x;
+ /* RR_Temperature_7: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_7 = x;
+ /* RR_Temperature_8: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_8 = x;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8_rx = 1;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4bd_RR_Temperature_5(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_5);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bd_RR_Temperature_5(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_5 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_5 = in;
+ return 0;
+}
+
+int decode_can_0x4bd_RR_Temperature_6(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_6);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bd_RR_Temperature_6(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_6 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_6 = in;
+ return 0;
+}
+
+int decode_can_0x4bd_RR_Temperature_7(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_7);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bd_RR_Temperature_7(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_7 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_7 = in;
+ return 0;
+}
+
+int decode_can_0x4bd_RR_Temperature_8(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_8);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bd_RR_Temperature_8(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_8 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_8 = in;
+ return 0;
+}
+
+int print_can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RR_Temperature_5 = (wire: %.0f)\n", (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_5)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_6 = (wire: %.0f)\n", (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_6)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_7 = (wire: %.0f)\n", (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_7)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_8 = (wire: %.0f)\n", (double)(o->can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8.RR_Temperature_8)));
+ return r;
+}
+
+static int pack_can_0x4be_DAQ_RR_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RR_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_9)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RR_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_10)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RR_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_11)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RR_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_12)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4be_DAQ_RR_Tire_Temp_Ch9_12(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RR_Temperature_9: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_9 = x;
+ /* RR_Temperature_10: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_10 = x;
+ /* RR_Temperature_11: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_11 = x;
+ /* RR_Temperature_12: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_12 = x;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12_rx = 1;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4be_RR_Temperature_9(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_9);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4be_RR_Temperature_9(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_9 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_9 = in;
+ return 0;
+}
+
+int decode_can_0x4be_RR_Temperature_10(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_10);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4be_RR_Temperature_10(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_10 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_10 = in;
+ return 0;
+}
+
+int decode_can_0x4be_RR_Temperature_11(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_11);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4be_RR_Temperature_11(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_11 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_11 = in;
+ return 0;
+}
+
+int decode_can_0x4be_RR_Temperature_12(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_12);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4be_RR_Temperature_12(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_12 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_12 = in;
+ return 0;
+}
+
+int print_can_0x4be_DAQ_RR_Tire_Temp_Ch9_12(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RR_Temperature_9 = (wire: %.0f)\n", (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_9)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_10 = (wire: %.0f)\n", (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_10)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_11 = (wire: %.0f)\n", (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_11)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_12 = (wire: %.0f)\n", (double)(o->can_0x4be_DAQ_RR_Tire_Temp_Ch9_12.RR_Temperature_12)));
+ return r;
+}
+
+static int pack_can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* RR_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_13)) & 0xffff;
+ x <<= 41;
+ m |= x;
+ /* RR_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_14)) & 0xffff;
+ x <<= 25;
+ m |= x;
+ /* RR_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_15)) & 0xffff;
+ x <<= 9;
+ m |= x;
+ /* RR_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = ((uint16_t)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_16)) & 0xffff;
+ x <<= 4294967289;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 8)
+ return -1;
+ /* RR_Temperature_13: start-bit 0, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 41) & 0xffff;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_13 = x;
+ /* RR_Temperature_14: start-bit 16, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 25) & 0xffff;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_14 = x;
+ /* RR_Temperature_15: start-bit 32, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> 9) & 0xffff;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_15 = x;
+ /* RR_Temperature_16: start-bit 48, length 16, endianess motorola, scaling 0.001, offset -100 */
+ x = (m >> -7) & 0xffff;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_16 = x;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16_rx = 1;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x4bf_RR_Temperature_13(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_13);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bf_RR_Temperature_13(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_13 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_13 = in;
+ return 0;
+}
+
+int decode_can_0x4bf_RR_Temperature_14(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_14);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bf_RR_Temperature_14(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_14 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_14 = in;
+ return 0;
+}
+
+int decode_can_0x4bf_RR_Temperature_15(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_15);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bf_RR_Temperature_15(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_15 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_15 = in;
+ return 0;
+}
+
+int decode_can_0x4bf_RR_Temperature_16(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_16);
+ rval *= 0.001;
+ rval += -100;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x4bf_RR_Temperature_16(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_16 = 0;
+ if (in > 100)
+ return -1;
+ in += 100;
+ in *= 1000;
+ o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_16 = in;
+ return 0;
+}
+
+int print_can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RR_Temperature_13 = (wire: %.0f)\n", (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_13)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_14 = (wire: %.0f)\n", (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_14)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_15 = (wire: %.0f)\n", (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_15)));
+ r = print_helper(r, fprintf(output, "RR_Temperature_16 = (wire: %.0f)\n", (double)(o->can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16.RR_Temperature_16)));
+ return r;
+}
+
+static int pack_can_0x500_VCU_TPS0(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* TPS0Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x500_VCU_TPS0.TPS0Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* TPS0CalibMin: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x500_VCU_TPS0.TPS0CalibMin)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* TPS0CalibMax: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x500_VCU_TPS0.TPS0CalibMax)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ /* TPS0ThrottlePercent0FF: start-bit 0, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = ((uint8_t)(o->can_0x500_VCU_TPS0.TPS0ThrottlePercent0FF)) & 0xff;
+ i |= x;
+ /* TPS0Percent0FF: start-bit 8, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = ((uint8_t)(o->can_0x500_VCU_TPS0.TPS0Percent0FF)) & 0xff;
+ x <<= 8;
+ i |= x;
+ *data = (i);
+ o->can_0x500_VCU_TPS0_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x500_VCU_TPS0(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* TPS0Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x500_VCU_TPS0.TPS0Voltage = x;
+ /* TPS0CalibMin: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x500_VCU_TPS0.TPS0CalibMin = x;
+ /* TPS0CalibMax: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x500_VCU_TPS0.TPS0CalibMax = x;
+ /* TPS0ThrottlePercent0FF: start-bit 0, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = i & 0xff;
+ o->can_0x500_VCU_TPS0.TPS0ThrottlePercent0FF = x;
+ /* TPS0Percent0FF: start-bit 8, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x500_VCU_TPS0.TPS0Percent0FF = x;
+ o->can_0x500_VCU_TPS0_rx = 1;
+ o->can_0x500_VCU_TPS0_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x500_TPS0Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x500_VCU_TPS0.TPS0Voltage);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x500_TPS0Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x500_VCU_TPS0.TPS0Voltage = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x500_VCU_TPS0.TPS0Voltage = in;
+ return 0;
+}
+
+int decode_can_0x500_TPS0CalibMin(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x500_VCU_TPS0.TPS0CalibMin);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x500_TPS0CalibMin(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x500_VCU_TPS0.TPS0CalibMin = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x500_VCU_TPS0.TPS0CalibMin = in;
+ return 0;
+}
+
+int decode_can_0x500_TPS0CalibMax(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x500_VCU_TPS0.TPS0CalibMax);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x500_TPS0CalibMax(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x500_VCU_TPS0.TPS0CalibMax = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x500_VCU_TPS0.TPS0CalibMax = in;
+ return 0;
+}
+
+int decode_can_0x500_TPS0ThrottlePercent0FF(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x500_VCU_TPS0.TPS0ThrottlePercent0FF);
+ rval *= 0.392157;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x500_TPS0ThrottlePercent0FF(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x500_VCU_TPS0.TPS0ThrottlePercent0FF = 0;
+ if (in > 100)
+ return -1;
+ in *= 2.55;
+ o->can_0x500_VCU_TPS0.TPS0ThrottlePercent0FF = in;
+ return 0;
+}
+
+int decode_can_0x500_TPS0Percent0FF(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x500_VCU_TPS0.TPS0Percent0FF);
+ rval *= 0.392157;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x500_TPS0Percent0FF(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x500_VCU_TPS0.TPS0Percent0FF = 0;
+ if (in > 100)
+ return -1;
+ in *= 2.55;
+ o->can_0x500_VCU_TPS0.TPS0Percent0FF = in;
+ return 0;
+}
+
+int print_can_0x500_VCU_TPS0(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "TPS0Voltage = (wire: %.0f)\n", (double)(o->can_0x500_VCU_TPS0.TPS0Voltage)));
+ r = print_helper(r, fprintf(output, "TPS0CalibMin = (wire: %.0f)\n", (double)(o->can_0x500_VCU_TPS0.TPS0CalibMin)));
+ r = print_helper(r, fprintf(output, "TPS0CalibMax = (wire: %.0f)\n", (double)(o->can_0x500_VCU_TPS0.TPS0CalibMax)));
+ r = print_helper(r, fprintf(output, "TPS0ThrottlePercent0FF = (wire: %.0f)\n", (double)(o->can_0x500_VCU_TPS0.TPS0ThrottlePercent0FF)));
+ r = print_helper(r, fprintf(output, "TPS0Percent0FF = (wire: %.0f)\n", (double)(o->can_0x500_VCU_TPS0.TPS0Percent0FF)));
+ return r;
+}
+
+static int pack_can_0x501_VCU_TPS1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* TPS1Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x501_VCU_TPS1.TPS1Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* TPS1CalibMin: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x501_VCU_TPS1.TPS1CalibMin)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* TPS1CalibMax: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x501_VCU_TPS1.TPS1CalibMax)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ /* ThrottlePercent0FF: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x501_VCU_TPS1.ThrottlePercent0FF)) & 0xff;
+ i |= x;
+ /* TPS1Percent0FF: start-bit 8, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = ((uint8_t)(o->can_0x501_VCU_TPS1.TPS1Percent0FF)) & 0xff;
+ x <<= 8;
+ i |= x;
+ *data = (i);
+ o->can_0x501_VCU_TPS1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x501_VCU_TPS1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* TPS1Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x501_VCU_TPS1.TPS1Voltage = x;
+ /* TPS1CalibMin: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x501_VCU_TPS1.TPS1CalibMin = x;
+ /* TPS1CalibMax: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x501_VCU_TPS1.TPS1CalibMax = x;
+ /* ThrottlePercent0FF: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x501_VCU_TPS1.ThrottlePercent0FF = x;
+ /* TPS1Percent0FF: start-bit 8, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x501_VCU_TPS1.TPS1Percent0FF = x;
+ o->can_0x501_VCU_TPS1_rx = 1;
+ o->can_0x501_VCU_TPS1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x501_TPS1Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x501_VCU_TPS1.TPS1Voltage);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x501_TPS1Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x501_VCU_TPS1.TPS1Voltage = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x501_VCU_TPS1.TPS1Voltage = in;
+ return 0;
+}
+
+int decode_can_0x501_TPS1CalibMin(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x501_VCU_TPS1.TPS1CalibMin);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x501_TPS1CalibMin(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x501_VCU_TPS1.TPS1CalibMin = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x501_VCU_TPS1.TPS1CalibMin = in;
+ return 0;
+}
+
+int decode_can_0x501_TPS1CalibMax(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x501_VCU_TPS1.TPS1CalibMax);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x501_TPS1CalibMax(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x501_VCU_TPS1.TPS1CalibMax = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x501_VCU_TPS1.TPS1CalibMax = in;
+ return 0;
+}
+
+int decode_can_0x501_ThrottlePercent0FF(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x501_VCU_TPS1.ThrottlePercent0FF);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x501_ThrottlePercent0FF(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x501_VCU_TPS1.ThrottlePercent0FF = in;
+ return 0;
+}
+
+int decode_can_0x501_TPS1Percent0FF(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x501_VCU_TPS1.TPS1Percent0FF);
+ rval *= 0.392157;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x501_TPS1Percent0FF(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x501_VCU_TPS1.TPS1Percent0FF = 0;
+ if (in > 100)
+ return -1;
+ in *= 2.55;
+ o->can_0x501_VCU_TPS1.TPS1Percent0FF = in;
+ return 0;
+}
+
+int print_can_0x501_VCU_TPS1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "TPS1Voltage = (wire: %.0f)\n", (double)(o->can_0x501_VCU_TPS1.TPS1Voltage)));
+ r = print_helper(r, fprintf(output, "TPS1CalibMin = (wire: %.0f)\n", (double)(o->can_0x501_VCU_TPS1.TPS1CalibMin)));
+ r = print_helper(r, fprintf(output, "TPS1CalibMax = (wire: %.0f)\n", (double)(o->can_0x501_VCU_TPS1.TPS1CalibMax)));
+ r = print_helper(r, fprintf(output, "ThrottlePercent0FF = (wire: %.0f)\n", (double)(o->can_0x501_VCU_TPS1.ThrottlePercent0FF)));
+ r = print_helper(r, fprintf(output, "TPS1Percent0FF = (wire: %.0f)\n", (double)(o->can_0x501_VCU_TPS1.TPS1Percent0FF)));
+ return r;
+}
+
+static int pack_can_0x502_VCU_BPS0(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BPS0Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x502_VCU_BPS0.BPS0Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BPS0CalibMin: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x502_VCU_BPS0.BPS0CalibMin)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BPS0CalibMax: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x502_VCU_BPS0.BPS0CalibMax)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ /* BrakePercent0FF: start-bit 0, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = ((uint8_t)(o->can_0x502_VCU_BPS0.BrakePercent0FF)) & 0xff;
+ i |= x;
+ *data = (i);
+ o->can_0x502_VCU_BPS0_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x502_VCU_BPS0(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BPS0Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x502_VCU_BPS0.BPS0Voltage = x;
+ /* BPS0CalibMin: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x502_VCU_BPS0.BPS0CalibMin = x;
+ /* BPS0CalibMax: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x502_VCU_BPS0.BPS0CalibMax = x;
+ /* BrakePercent0FF: start-bit 0, length 8, endianess intel, scaling 0.392157, offset 0 */
+ x = i & 0xff;
+ o->can_0x502_VCU_BPS0.BrakePercent0FF = x;
+ o->can_0x502_VCU_BPS0_rx = 1;
+ o->can_0x502_VCU_BPS0_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x502_BPS0Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x502_VCU_BPS0.BPS0Voltage);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x502_BPS0Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x502_VCU_BPS0.BPS0Voltage = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x502_VCU_BPS0.BPS0Voltage = in;
+ return 0;
+}
+
+int decode_can_0x502_BPS0CalibMin(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x502_VCU_BPS0.BPS0CalibMin);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x502_BPS0CalibMin(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x502_VCU_BPS0.BPS0CalibMin = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x502_VCU_BPS0.BPS0CalibMin = in;
+ return 0;
+}
+
+int decode_can_0x502_BPS0CalibMax(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x502_VCU_BPS0.BPS0CalibMax);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x502_BPS0CalibMax(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x502_VCU_BPS0.BPS0CalibMax = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x502_VCU_BPS0.BPS0CalibMax = in;
+ return 0;
+}
+
+int decode_can_0x502_BrakePercent0FF(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x502_VCU_BPS0.BrakePercent0FF);
+ rval *= 0.392157;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x502_BrakePercent0FF(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x502_VCU_BPS0.BrakePercent0FF = 0;
+ if (in > 100)
+ return -1;
+ in *= 2.55;
+ o->can_0x502_VCU_BPS0.BrakePercent0FF = in;
+ return 0;
+}
+
+int print_can_0x502_VCU_BPS0(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BPS0Voltage = (wire: %.0f)\n", (double)(o->can_0x502_VCU_BPS0.BPS0Voltage)));
+ r = print_helper(r, fprintf(output, "BPS0CalibMin = (wire: %.0f)\n", (double)(o->can_0x502_VCU_BPS0.BPS0CalibMin)));
+ r = print_helper(r, fprintf(output, "BPS0CalibMax = (wire: %.0f)\n", (double)(o->can_0x502_VCU_BPS0.BPS0CalibMax)));
+ r = print_helper(r, fprintf(output, "BrakePercent0FF = (wire: %.0f)\n", (double)(o->can_0x502_VCU_BPS0.BrakePercent0FF)));
+ return r;
+}
+
+static int pack_can_0x504_VCU_WSS(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_WSS_FL: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_FL)) & 0xffff;
+ i |= x;
+ /* VCU_WSS_FR: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_FR)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* VCU_WSS_RL: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_RL)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* VCU_WSS_RR: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_RR)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x504_VCU_WSS_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x504_VCU_WSS(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_WSS_FL: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x504_VCU_WSS.VCU_WSS_FL = x;
+ /* VCU_WSS_FR: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x504_VCU_WSS.VCU_WSS_FR = x;
+ /* VCU_WSS_RL: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x504_VCU_WSS.VCU_WSS_RL = x;
+ /* VCU_WSS_RR: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x504_VCU_WSS.VCU_WSS_RR = x;
+ o->can_0x504_VCU_WSS_rx = 1;
+ o->can_0x504_VCU_WSS_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x504_VCU_WSS_FL(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_FL);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x504_VCU_WSS_FL(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x504_VCU_WSS.VCU_WSS_FL = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x504_VCU_WSS.VCU_WSS_FL = in;
+ return 0;
+}
+
+int decode_can_0x504_VCU_WSS_FR(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_FR);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x504_VCU_WSS_FR(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x504_VCU_WSS.VCU_WSS_FR = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x504_VCU_WSS.VCU_WSS_FR = in;
+ return 0;
+}
+
+int decode_can_0x504_VCU_WSS_RL(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_RL);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x504_VCU_WSS_RL(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x504_VCU_WSS.VCU_WSS_RL = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x504_VCU_WSS.VCU_WSS_RL = in;
+ return 0;
+}
+
+int decode_can_0x504_VCU_WSS_RR(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x504_VCU_WSS.VCU_WSS_RR);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x504_VCU_WSS_RR(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x504_VCU_WSS.VCU_WSS_RR = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x504_VCU_WSS.VCU_WSS_RR = in;
+ return 0;
+}
+
+int print_can_0x504_VCU_WSS(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_WSS_FL = (wire: %.0f)\n", (double)(o->can_0x504_VCU_WSS.VCU_WSS_FL)));
+ r = print_helper(r, fprintf(output, "VCU_WSS_FR = (wire: %.0f)\n", (double)(o->can_0x504_VCU_WSS.VCU_WSS_FR)));
+ r = print_helper(r, fprintf(output, "VCU_WSS_RL = (wire: %.0f)\n", (double)(o->can_0x504_VCU_WSS.VCU_WSS_RL)));
+ r = print_helper(r, fprintf(output, "VCU_WSS_RR = (wire: %.0f)\n", (double)(o->can_0x504_VCU_WSS.VCU_WSS_RR)));
+ return r;
+}
+
+static int pack_can_0x505_VCU_WSS_Smooth(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_WSS_FL_S: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FL_S)) & 0xffff;
+ i |= x;
+ /* VCU_WSS_FR_S: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FR_S)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* VCU_WSS_RL_S: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RL_S)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* VCU_WSS_RR_S: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RR_S)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x505_VCU_WSS_Smooth_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x505_VCU_WSS_Smooth(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_WSS_FL_S: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FL_S = x;
+ /* VCU_WSS_FR_S: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FR_S = x;
+ /* VCU_WSS_RL_S: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RL_S = x;
+ /* VCU_WSS_RR_S: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RR_S = x;
+ o->can_0x505_VCU_WSS_Smooth_rx = 1;
+ o->can_0x505_VCU_WSS_Smooth_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x505_VCU_WSS_FL_S(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FL_S);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x505_VCU_WSS_FL_S(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FL_S = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FL_S = in;
+ return 0;
+}
+
+int decode_can_0x505_VCU_WSS_FR_S(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FR_S);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x505_VCU_WSS_FR_S(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FR_S = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FR_S = in;
+ return 0;
+}
+
+int decode_can_0x505_VCU_WSS_RL_S(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RL_S);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x505_VCU_WSS_RL_S(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RL_S = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RL_S = in;
+ return 0;
+}
+
+int decode_can_0x505_VCU_WSS_RR_S(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RR_S);
+ if (rval <= 32767) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x505_VCU_WSS_RR_S(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RR_S = 0;
+ if (in > 32767)
+ return -1;
+ o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RR_S = in;
+ return 0;
+}
+
+int print_can_0x505_VCU_WSS_Smooth(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_WSS_FL_S = (wire: %.0f)\n", (double)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FL_S)));
+ r = print_helper(r, fprintf(output, "VCU_WSS_FR_S = (wire: %.0f)\n", (double)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_FR_S)));
+ r = print_helper(r, fprintf(output, "VCU_WSS_RL_S = (wire: %.0f)\n", (double)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RL_S)));
+ r = print_helper(r, fprintf(output, "VCU_WSS_RR_S = (wire: %.0f)\n", (double)(o->can_0x505_VCU_WSS_Smooth.VCU_WSS_RR_S)));
+ return r;
+}
+
+static int pack_can_0x506_VCU_Safety_Checker(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_FAULT_TPS_OutOfRange: start-bit 0, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfRange)) & 0x1;
+ i |= x;
+ /* VCU_FAULT_BPS_OutOfRange: start-bit 1, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_OutOfRange)) & 0x1;
+ x <<= 1;
+ i |= x;
+ /* VCU_FAULT_TPS_PowerFailure: start-bit 2, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_PowerFailure)) & 0x1;
+ x <<= 2;
+ i |= x;
+ /* VCU_FAULT_BPS_PowerFailure: start-bit 3, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_PowerFailure)) & 0x1;
+ x <<= 3;
+ i |= x;
+ /* VCU_FAULT_TPS_SignalFailure: start-bit 4, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_SignalFailure)) & 0x1;
+ x <<= 4;
+ i |= x;
+ /* VCU_FAULT_BPS_SignalFailure: start-bit 5, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_SignalFailure)) & 0x1;
+ x <<= 5;
+ i |= x;
+ /* VCU_FAULT_TPS_NotCalibrated: start-bit 6, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_NotCalibrated)) & 0x1;
+ x <<= 6;
+ i |= x;
+ /* VCU_FAULT_BPS_NotCalibrated: start-bit 7, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_NotCalibrated)) & 0x1;
+ x <<= 7;
+ i |= x;
+ /* VCU_FAULT_TPS_OutOfSync: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfSync)) & 0x1;
+ x <<= 8;
+ i |= x;
+ /* VCU_FAULT_TPSBPS_Implausible: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPSBPS_Implausible)) & 0x1;
+ x <<= 10;
+ i |= x;
+ /* VCU_FAULT_BSPD_SoftFault: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BSPD_SoftFault)) & 0x1;
+ x <<= 12;
+ i |= x;
+ /* VCU_FAULT_LVS_BatteryEmpty: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_LVS_BatteryEmpty)) & 0x1;
+ x <<= 16;
+ i |= x;
+ /* VCU_WARNING_LVS_BatteryLow: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_LVS_BatteryLow)) & 0x1;
+ x <<= 32;
+ i |= x;
+ /* VCU_WARNING_HVIL_OverrideEn: start-bit 38, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_HVIL_OverrideEn)) & 0x1;
+ x <<= 38;
+ i |= x;
+ /* VCU_WARNING_SAFETY_BypassEn: start-bit 39, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_SAFETY_BypassEn)) & 0x1;
+ x <<= 39;
+ i |= x;
+ /* VCU_NOTICE_HVIL_TermSenseLost: start-bit 48, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_HVIL_TermSenseLost)) & 0x1;
+ x <<= 48;
+ i |= x;
+ /* VCU_NOTICE_BMS_Over75kW: start-bit 52, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_BMS_Over75kW)) & 0x1;
+ x <<= 52;
+ i |= x;
+ /* VCU_NOTICE_MCM_Over75kW: start-bit 53, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_MCM_Over75kW)) & 0x1;
+ x <<= 53;
+ i |= x;
+ *data = (i);
+ o->can_0x506_VCU_Safety_Checker_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x506_VCU_Safety_Checker(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_FAULT_TPS_OutOfRange: start-bit 0, length 1, endianess intel, scaling 1, offset 0 */
+ x = i & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfRange = x;
+ /* VCU_FAULT_BPS_OutOfRange: start-bit 1, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 1) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_OutOfRange = x;
+ /* VCU_FAULT_TPS_PowerFailure: start-bit 2, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 2) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_PowerFailure = x;
+ /* VCU_FAULT_BPS_PowerFailure: start-bit 3, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 3) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_PowerFailure = x;
+ /* VCU_FAULT_TPS_SignalFailure: start-bit 4, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 4) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_SignalFailure = x;
+ /* VCU_FAULT_BPS_SignalFailure: start-bit 5, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 5) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_SignalFailure = x;
+ /* VCU_FAULT_TPS_NotCalibrated: start-bit 6, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 6) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_NotCalibrated = x;
+ /* VCU_FAULT_BPS_NotCalibrated: start-bit 7, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 7) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_NotCalibrated = x;
+ /* VCU_FAULT_TPS_OutOfSync: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfSync = x;
+ /* VCU_FAULT_TPSBPS_Implausible: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 10) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPSBPS_Implausible = x;
+ /* VCU_FAULT_BSPD_SoftFault: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 12) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BSPD_SoftFault = x;
+ /* VCU_FAULT_LVS_BatteryEmpty: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_LVS_BatteryEmpty = x;
+ /* VCU_WARNING_LVS_BatteryLow: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_WARNING_LVS_BatteryLow = x;
+ /* VCU_WARNING_HVIL_OverrideEn: start-bit 38, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 38) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_WARNING_HVIL_OverrideEn = x;
+ /* VCU_WARNING_SAFETY_BypassEn: start-bit 39, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 39) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_WARNING_SAFETY_BypassEn = x;
+ /* VCU_NOTICE_HVIL_TermSenseLost: start-bit 48, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_HVIL_TermSenseLost = x;
+ /* VCU_NOTICE_BMS_Over75kW: start-bit 52, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 52) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_BMS_Over75kW = x;
+ /* VCU_NOTICE_MCM_Over75kW: start-bit 53, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 53) & 0x1;
+ o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_MCM_Over75kW = x;
+ o->can_0x506_VCU_Safety_Checker_rx = 1;
+ o->can_0x506_VCU_Safety_Checker_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x506_VCU_FAULT_TPS_OutOfRange(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfRange);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_TPS_OutOfRange(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfRange = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_BPS_OutOfRange(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_OutOfRange);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_BPS_OutOfRange(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_OutOfRange = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_TPS_PowerFailure(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_PowerFailure);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_TPS_PowerFailure(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_PowerFailure = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_BPS_PowerFailure(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_PowerFailure);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_BPS_PowerFailure(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_PowerFailure = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_TPS_SignalFailure(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_SignalFailure);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_TPS_SignalFailure(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_SignalFailure = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_BPS_SignalFailure(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_SignalFailure);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_BPS_SignalFailure(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_SignalFailure = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_TPS_NotCalibrated(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_NotCalibrated);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_TPS_NotCalibrated(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_NotCalibrated = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_BPS_NotCalibrated(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_NotCalibrated);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_BPS_NotCalibrated(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_NotCalibrated = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_TPS_OutOfSync(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfSync);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_TPS_OutOfSync(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfSync = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_TPSBPS_Implausible(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPSBPS_Implausible);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_TPSBPS_Implausible(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPSBPS_Implausible = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_BSPD_SoftFault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BSPD_SoftFault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_BSPD_SoftFault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BSPD_SoftFault = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_FAULT_LVS_BatteryEmpty(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_LVS_BatteryEmpty);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_FAULT_LVS_BatteryEmpty(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_FAULT_LVS_BatteryEmpty = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_WARNING_LVS_BatteryLow(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_LVS_BatteryLow);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_WARNING_LVS_BatteryLow(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_WARNING_LVS_BatteryLow = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_WARNING_HVIL_OverrideEn(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_HVIL_OverrideEn);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_WARNING_HVIL_OverrideEn(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_WARNING_HVIL_OverrideEn = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_WARNING_SAFETY_BypassEn(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_SAFETY_BypassEn);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_WARNING_SAFETY_BypassEn(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_WARNING_SAFETY_BypassEn = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_NOTICE_HVIL_TermSenseLost(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_HVIL_TermSenseLost);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_NOTICE_HVIL_TermSenseLost(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_HVIL_TermSenseLost = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_NOTICE_BMS_Over75kW(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_BMS_Over75kW);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_NOTICE_BMS_Over75kW(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_BMS_Over75kW = in;
+ return 0;
+}
+
+int decode_can_0x506_VCU_NOTICE_MCM_Over75kW(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_MCM_Over75kW);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x506_VCU_NOTICE_MCM_Over75kW(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_MCM_Over75kW = in;
+ return 0;
+}
+
+int print_can_0x506_VCU_Safety_Checker(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_FAULT_TPS_OutOfRange = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfRange)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_BPS_OutOfRange = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_OutOfRange)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_TPS_PowerFailure = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_PowerFailure)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_BPS_PowerFailure = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_PowerFailure)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_TPS_SignalFailure = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_SignalFailure)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_BPS_SignalFailure = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_SignalFailure)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_TPS_NotCalibrated = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_NotCalibrated)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_BPS_NotCalibrated = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BPS_NotCalibrated)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_TPS_OutOfSync = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPS_OutOfSync)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_TPSBPS_Implausible = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_TPSBPS_Implausible)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_BSPD_SoftFault = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_BSPD_SoftFault)));
+ r = print_helper(r, fprintf(output, "VCU_FAULT_LVS_BatteryEmpty = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_FAULT_LVS_BatteryEmpty)));
+ r = print_helper(r, fprintf(output, "VCU_WARNING_LVS_BatteryLow = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_LVS_BatteryLow)));
+ r = print_helper(r, fprintf(output, "VCU_WARNING_HVIL_OverrideEn = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_HVIL_OverrideEn)));
+ r = print_helper(r, fprintf(output, "VCU_WARNING_SAFETY_BypassEn = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_WARNING_SAFETY_BypassEn)));
+ r = print_helper(r, fprintf(output, "VCU_NOTICE_HVIL_TermSenseLost = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_HVIL_TermSenseLost)));
+ r = print_helper(r, fprintf(output, "VCU_NOTICE_BMS_Over75kW = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_BMS_Over75kW)));
+ r = print_helper(r, fprintf(output, "VCU_NOTICE_MCM_Over75kW = (wire: %.0f)\n", (double)(o->can_0x506_VCU_Safety_Checker.VCU_NOTICE_MCM_Over75kW)));
+ return r;
+}
+
+static int pack_can_0x507_Low_Voltage(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x507_Low_Voltage.Voltage)) & 0xffff;
+ i |= x;
+ *data = (i);
+ o->can_0x507_Low_Voltage_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x507_Low_Voltage(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x507_Low_Voltage.Voltage = x;
+ o->can_0x507_Low_Voltage_rx = 1;
+ o->can_0x507_Low_Voltage_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x507_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x507_Low_Voltage.Voltage);
+ rval *= 0.001;
+ if (rval <= 20) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x507_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x507_Low_Voltage.Voltage = 0;
+ if (in > 20)
+ return -1;
+ in *= 1000;
+ o->can_0x507_Low_Voltage.Voltage = in;
+ return 0;
+}
+
+int print_can_0x507_Low_Voltage(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "Voltage = (wire: %.0f)\n", (double)(o->can_0x507_Low_Voltage.Voltage)));
+ return r;
+}
+
+static int pack_can_0x508_VCU_Regen_Settings(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_MCM_RegenMode: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenMode)) & 0xff;
+ i |= x;
+ /* VCU_MCM_MaxTorqueNm: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_MaxTorqueNm)) & 0xff;
+ x <<= 16;
+ i |= x;
+ /* VCU_MCM_RegenTorqueLimitNm: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueLimitNm)) & 0xff;
+ x <<= 24;
+ i |= x;
+ /* VCU_MCM_RegenTorqueZeroPedal: start-bit 32, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueZeroPedal)) & 0xff;
+ x <<= 32;
+ i |= x;
+ /* VCU_MCM_RegenAPPSMaxCoasting: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenAPPSMaxCoasting)) & 0xff;
+ x <<= 48;
+ i |= x;
+ /* VCU_MCM_RegenBPSMaxRegen: start-bit 56, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenBPSMaxRegen)) & 0xff;
+ x <<= 56;
+ i |= x;
+ *data = (i);
+ o->can_0x508_VCU_Regen_Settings_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x508_VCU_Regen_Settings(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_MCM_RegenMode: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenMode = x;
+ /* VCU_MCM_MaxTorqueNm: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_MaxTorqueNm = x;
+ /* VCU_MCM_RegenTorqueLimitNm: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0xff;
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueLimitNm = x;
+ /* VCU_MCM_RegenTorqueZeroPedal: start-bit 32, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xff;
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueZeroPedal = x;
+ /* VCU_MCM_RegenAPPSMaxCoasting: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xff;
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenAPPSMaxCoasting = x;
+ /* VCU_MCM_RegenBPSMaxRegen: start-bit 56, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 56) & 0xff;
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenBPSMaxRegen = x;
+ o->can_0x508_VCU_Regen_Settings_rx = 1;
+ o->can_0x508_VCU_Regen_Settings_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x508_VCU_MCM_RegenMode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenMode);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x508_VCU_MCM_RegenMode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenMode = in;
+ return 0;
+}
+
+int decode_can_0x508_VCU_MCM_MaxTorqueNm(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_MaxTorqueNm);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x508_VCU_MCM_MaxTorqueNm(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_MaxTorqueNm = in;
+ return 0;
+}
+
+int decode_can_0x508_VCU_MCM_RegenTorqueLimitNm(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueLimitNm);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x508_VCU_MCM_RegenTorqueLimitNm(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueLimitNm = in;
+ return 0;
+}
+
+int decode_can_0x508_VCU_MCM_RegenTorqueZeroPedal(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueZeroPedal);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x508_VCU_MCM_RegenTorqueZeroPedal(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueZeroPedal = in;
+ return 0;
+}
+
+int decode_can_0x508_VCU_MCM_RegenAPPSMaxCoasting(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenAPPSMaxCoasting);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x508_VCU_MCM_RegenAPPSMaxCoasting(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenAPPSMaxCoasting = in;
+ return 0;
+}
+
+int decode_can_0x508_VCU_MCM_RegenBPSMaxRegen(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenBPSMaxRegen);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x508_VCU_MCM_RegenBPSMaxRegen(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenBPSMaxRegen = in;
+ return 0;
+}
+
+int print_can_0x508_VCU_Regen_Settings(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_MCM_RegenMode = (wire: %.0f)\n", (double)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenMode)));
+ r = print_helper(r, fprintf(output, "VCU_MCM_MaxTorqueNm = (wire: %.0f)\n", (double)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_MaxTorqueNm)));
+ r = print_helper(r, fprintf(output, "VCU_MCM_RegenTorqueLimitNm = (wire: %.0f)\n", (double)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueLimitNm)));
+ r = print_helper(r, fprintf(output, "VCU_MCM_RegenTorqueZeroPedal = (wire: %.0f)\n", (double)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenTorqueZeroPedal)));
+ r = print_helper(r, fprintf(output, "VCU_MCM_RegenAPPSMaxCoasting = (wire: %.0f)\n", (double)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenAPPSMaxCoasting)));
+ r = print_helper(r, fprintf(output, "VCU_MCM_RegenBPSMaxRegen = (wire: %.0f)\n", (double)(o->can_0x508_VCU_Regen_Settings.VCU_MCM_RegenBPSMaxRegen)));
+ return r;
+}
+
+static int pack_can_0x509_MCM_RTD_HVIL(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* HVIL_Active: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x509_MCM_RTD_HVIL.HVIL_Active)) & 0xffff;
+ i |= x;
+ /* MCM_Override_Enabled: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x509_MCM_RTD_HVIL.MCM_Override_Enabled)) & 0xff;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x509_MCM_RTD_HVIL_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x509_MCM_RTD_HVIL(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* HVIL_Active: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x509_MCM_RTD_HVIL.HVIL_Active = x;
+ /* MCM_Override_Enabled: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x509_MCM_RTD_HVIL.MCM_Override_Enabled = x;
+ o->can_0x509_MCM_RTD_HVIL_rx = 1;
+ o->can_0x509_MCM_RTD_HVIL_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x509_HVIL_Active(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x509_MCM_RTD_HVIL.HVIL_Active);
+ if (rval <= 20) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x509_HVIL_Active(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x509_MCM_RTD_HVIL.HVIL_Active = 0;
+ if (in > 20)
+ return -1;
+ o->can_0x509_MCM_RTD_HVIL.HVIL_Active = in;
+ return 0;
+}
+
+int decode_can_0x509_MCM_Override_Enabled(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x509_MCM_RTD_HVIL.MCM_Override_Enabled);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x509_MCM_Override_Enabled(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x509_MCM_RTD_HVIL.MCM_Override_Enabled = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x509_MCM_RTD_HVIL.MCM_Override_Enabled = in;
+ return 0;
+}
+
+int print_can_0x509_MCM_RTD_HVIL(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "HVIL_Active = (wire: %.0f)\n", (double)(o->can_0x509_MCM_RTD_HVIL.HVIL_Active)));
+ r = print_helper(r, fprintf(output, "MCM_Override_Enabled = (wire: %.0f)\n", (double)(o->can_0x509_MCM_RTD_HVIL.MCM_Override_Enabled)));
+ return r;
+}
+
+static int pack_can_0x50a_Ground_Speed(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* speedKph: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50a_Ground_Speed.speedKph)) & 0xffff;
+ i |= x;
+ *data = (i);
+ o->can_0x50a_Ground_Speed_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x50a_Ground_Speed(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* speedKph: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x50a_Ground_Speed.speedKph = x;
+ o->can_0x50a_Ground_Speed_rx = 1;
+ o->can_0x50a_Ground_Speed_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x50a_speedKph(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x50a_Ground_Speed.speedKph);
+ if (rval <= 200) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x50a_speedKph(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x50a_Ground_Speed.speedKph = 0;
+ if (in > 200)
+ return -1;
+ o->can_0x50a_Ground_Speed.speedKph = in;
+ return 0;
+}
+
+int print_can_0x50a_Ground_Speed(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "speedKph = (wire: %.0f)\n", (double)(o->can_0x50a_Ground_Speed.speedKph)));
+ return r;
+}
+
+static int pack_can_0x50c_Launch_Control_Additional_Information(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* TargetSlipRatio: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x50c_Launch_Control_Additional_Information.TargetSlipRatio)) & 0xffff;
+ i |= x;
+ /* Reserved_Debug_1: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_1)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* Reserved_Debug_2: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_2)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* Reserved_Debug_3: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_3)) & 0xff;
+ x <<= 48;
+ i |= x;
+ /* Reserved_Debug_4: start-bit 56, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_4)) & 0xff;
+ x <<= 56;
+ i |= x;
+ *data = (i);
+ o->can_0x50c_Launch_Control_Additional_Information_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x50c_Launch_Control_Additional_Information(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* TargetSlipRatio: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x50c_Launch_Control_Additional_Information.TargetSlipRatio = x;
+ /* Reserved_Debug_1: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_1 = x;
+ /* Reserved_Debug_2: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_2 = x;
+ /* Reserved_Debug_3: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xff;
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_3 = x;
+ /* Reserved_Debug_4: start-bit 56, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 56) & 0xff;
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_4 = x;
+ o->can_0x50c_Launch_Control_Additional_Information_rx = 1;
+ o->can_0x50c_Launch_Control_Additional_Information_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x50c_TargetSlipRatio(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x50c_Launch_Control_Additional_Information.TargetSlipRatio);
+ rval *= 0.001;
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x50c_TargetSlipRatio(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x50c_Launch_Control_Additional_Information.TargetSlipRatio = 0;
+ if (in > 1)
+ return -1;
+ in *= 1000;
+ o->can_0x50c_Launch_Control_Additional_Information.TargetSlipRatio = in;
+ return 0;
+}
+
+int decode_can_0x50c_Reserved_Debug_1(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_1);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50c_Reserved_Debug_1(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_1 = in;
+ return 0;
+}
+
+int decode_can_0x50c_Reserved_Debug_2(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_2);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50c_Reserved_Debug_2(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_2 = in;
+ return 0;
+}
+
+int decode_can_0x50c_Reserved_Debug_3(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_3);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50c_Reserved_Debug_3(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_3 = in;
+ return 0;
+}
+
+int decode_can_0x50c_Reserved_Debug_4(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_4);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50c_Reserved_Debug_4(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_4 = in;
+ return 0;
+}
+
+int print_can_0x50c_Launch_Control_Additional_Information(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "TargetSlipRatio = (wire: %.0f)\n", (double)(o->can_0x50c_Launch_Control_Additional_Information.TargetSlipRatio)));
+ r = print_helper(r, fprintf(output, "Reserved_Debug_1 = (wire: %.0f)\n", (double)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_1)));
+ r = print_helper(r, fprintf(output, "Reserved_Debug_2 = (wire: %.0f)\n", (double)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_2)));
+ r = print_helper(r, fprintf(output, "Reserved_Debug_3 = (wire: %.0f)\n", (double)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_3)));
+ r = print_helper(r, fprintf(output, "Reserved_Debug_4 = (wire: %.0f)\n", (double)(o->can_0x50c_Launch_Control_Additional_Information.Reserved_Debug_4)));
+ return r;
+}
+
+static int pack_can_0x50d_VCU_BPS1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BPS1Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x50d_VCU_BPS1.BPS1Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x50d_VCU_BPS1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x50d_VCU_BPS1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BPS1Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x50d_VCU_BPS1.BPS1Voltage = x;
+ o->can_0x50d_VCU_BPS1_rx = 1;
+ o->can_0x50d_VCU_BPS1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x50d_BPS1Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x50d_VCU_BPS1.BPS1Voltage);
+ rval *= 0.001;
+ if (rval <= 65.535) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x50d_BPS1Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x50d_VCU_BPS1.BPS1Voltage = 0;
+ if (in > 65.535)
+ return -1;
+ in *= 1000;
+ o->can_0x50d_VCU_BPS1.BPS1Voltage = in;
+ return 0;
+}
+
+int print_can_0x50d_VCU_BPS1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BPS1Voltage = (wire: %.0f)\n", (double)(o->can_0x50d_VCU_BPS1.BPS1Voltage)));
+ return r;
+}
+
+static int pack_can_0x50e_VCU_BMS_Debug_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_BMS_HighestCellTemp: start-bit 24, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_HighestCellTemp)) & 0xffff;
+ x <<= 24;
+ i |= x;
+ /* VCU_BMS_FaultFlags0: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags0)) & 0xff;
+ i |= x;
+ /* VCU_BMS_FaultFlags1: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags1)) & 0xff;
+ x <<= 8;
+ i |= x;
+ /* VCU_BMS_ShutdownRelayState: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_ShutdownRelayState)) & 0xff;
+ x <<= 16;
+ i |= x;
+ /* VCU_BMS_GetPower: start-bit 40, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetPower)) & 0xff;
+ x <<= 40;
+ i |= x;
+ /* VCU_BMS_GetCurrent: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetCurrent)) & 0xff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x50e_VCU_BMS_Debug_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x50e_VCU_BMS_Debug_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_BMS_HighestCellTemp: start-bit 24, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0xffff;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_HighestCellTemp = x;
+ /* VCU_BMS_FaultFlags0: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags0 = x;
+ /* VCU_BMS_FaultFlags1: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags1 = x;
+ /* VCU_BMS_ShutdownRelayState: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_ShutdownRelayState = x;
+ /* VCU_BMS_GetPower: start-bit 40, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 40) & 0xff;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetPower = x;
+ /* VCU_BMS_GetCurrent: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xff;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetCurrent = x;
+ o->can_0x50e_VCU_BMS_Debug_1_rx = 1;
+ o->can_0x50e_VCU_BMS_Debug_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x50e_VCU_BMS_HighestCellTemp(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_HighestCellTemp);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x50e_VCU_BMS_HighestCellTemp(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_HighestCellTemp = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_HighestCellTemp = in;
+ return 0;
+}
+
+int decode_can_0x50e_VCU_BMS_FaultFlags0(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags0);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50e_VCU_BMS_FaultFlags0(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags0 = in;
+ return 0;
+}
+
+int decode_can_0x50e_VCU_BMS_FaultFlags1(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags1);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50e_VCU_BMS_FaultFlags1(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags1 = in;
+ return 0;
+}
+
+int decode_can_0x50e_VCU_BMS_ShutdownRelayState(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_ShutdownRelayState);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50e_VCU_BMS_ShutdownRelayState(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_ShutdownRelayState = in;
+ return 0;
+}
+
+int decode_can_0x50e_VCU_BMS_GetPower(const can_obj_all_sre_edited_h_t *o, int8_t *out) {
+ assert(o);
+ assert(out);
+ int8_t rval = (int8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetPower);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50e_VCU_BMS_GetPower(can_obj_all_sre_edited_h_t *o, int8_t in) {
+ assert(o);
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetPower = in;
+ return 0;
+}
+
+int decode_can_0x50e_VCU_BMS_GetCurrent(const can_obj_all_sre_edited_h_t *o, int8_t *out) {
+ assert(o);
+ assert(out);
+ int8_t rval = (int8_t)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetCurrent);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50e_VCU_BMS_GetCurrent(can_obj_all_sre_edited_h_t *o, int8_t in) {
+ assert(o);
+ o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetCurrent = in;
+ return 0;
+}
+
+int print_can_0x50e_VCU_BMS_Debug_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_BMS_HighestCellTemp = (wire: %.0f)\n", (double)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_HighestCellTemp)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_FaultFlags0 = (wire: %.0f)\n", (double)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags0)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_FaultFlags1 = (wire: %.0f)\n", (double)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_FaultFlags1)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_ShutdownRelayState = (wire: %.0f)\n", (double)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_ShutdownRelayState)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_GetPower = (wire: %.0f)\n", (double)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetPower)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_GetCurrent = (wire: %.0f)\n", (double)(o->can_0x50e_VCU_BMS_Debug_1.VCU_BMS_GetCurrent)));
+ return r;
+}
+
+static int pack_can_0x50f_VCU_BMS_Debug_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_BMS_HighestCellVoltage: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellVoltage)) & 0xffff;
+ i |= x;
+ /* VCU_BMS_LowestCellVoltage: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_LowestCellVoltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* VCU_BMS_HighestCellTemp_dC: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellTemp_dC)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x50f_VCU_BMS_Debug_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x50f_VCU_BMS_Debug_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_BMS_HighestCellVoltage: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellVoltage = x;
+ /* VCU_BMS_LowestCellVoltage: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_LowestCellVoltage = x;
+ /* VCU_BMS_HighestCellTemp_dC: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellTemp_dC = x;
+ o->can_0x50f_VCU_BMS_Debug_2_rx = 1;
+ o->can_0x50f_VCU_BMS_Debug_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x50f_VCU_BMS_HighestCellVoltage(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellVoltage);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x50f_VCU_BMS_HighestCellVoltage(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellVoltage = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellVoltage = in;
+ return 0;
+}
+
+int decode_can_0x50f_VCU_BMS_LowestCellVoltage(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_LowestCellVoltage);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x50f_VCU_BMS_LowestCellVoltage(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_LowestCellVoltage = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_LowestCellVoltage = in;
+ return 0;
+}
+
+int decode_can_0x50f_VCU_BMS_HighestCellTemp_dC(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellTemp_dC);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x50f_VCU_BMS_HighestCellTemp_dC(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellTemp_dC = in;
+ return 0;
+}
+
+int print_can_0x50f_VCU_BMS_Debug_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_BMS_HighestCellVoltage = (wire: %.0f)\n", (double)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellVoltage)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_LowestCellVoltage = (wire: %.0f)\n", (double)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_LowestCellVoltage)));
+ r = print_helper(r, fprintf(output, "VCU_BMS_HighestCellTemp_dC = (wire: %.0f)\n", (double)(o->can_0x50f_VCU_BMS_Debug_2.VCU_BMS_HighestCellTemp_dC)));
+ return r;
+}
+
+static int pack_can_0x510_VCU_80kW_Debug(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* VCU_MCM_Power: start-bit 0, length 32, endianess intel, scaling 1, offset 0 */
+ x = ((uint32_t)(o->can_0x510_VCU_80kW_Debug.VCU_MCM_Power)) & 0xffffffff;
+ i |= x;
+ /* VCU_Safety_Checker_Notices: start-bit 32, length 32, endianess intel, scaling 1, offset 0 */
+ x = ((uint32_t)(o->can_0x510_VCU_80kW_Debug.VCU_Safety_Checker_Notices)) & 0xffffffff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x510_VCU_80kW_Debug_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x510_VCU_80kW_Debug(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* VCU_MCM_Power: start-bit 0, length 32, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffffffff;
+ o->can_0x510_VCU_80kW_Debug.VCU_MCM_Power = x;
+ /* VCU_Safety_Checker_Notices: start-bit 32, length 32, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffffffff;
+ o->can_0x510_VCU_80kW_Debug.VCU_Safety_Checker_Notices = x;
+ o->can_0x510_VCU_80kW_Debug_rx = 1;
+ o->can_0x510_VCU_80kW_Debug_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x510_VCU_MCM_Power(const can_obj_all_sre_edited_h_t *o, uint32_t *out) {
+ assert(o);
+ assert(out);
+ uint32_t rval = (uint32_t)(o->can_0x510_VCU_80kW_Debug.VCU_MCM_Power);
+ if (rval <= 200) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint32_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x510_VCU_MCM_Power(can_obj_all_sre_edited_h_t *o, uint32_t in) {
+ assert(o);
+ o->can_0x510_VCU_80kW_Debug.VCU_MCM_Power = 0;
+ if (in > 200)
+ return -1;
+ o->can_0x510_VCU_80kW_Debug.VCU_MCM_Power = in;
+ return 0;
+}
+
+int decode_can_0x510_VCU_Safety_Checker_Notices(const can_obj_all_sre_edited_h_t *o, uint32_t *out) {
+ assert(o);
+ assert(out);
+ uint32_t rval = (uint32_t)(o->can_0x510_VCU_80kW_Debug.VCU_Safety_Checker_Notices);
+ if (rval <= 200) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint32_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x510_VCU_Safety_Checker_Notices(can_obj_all_sre_edited_h_t *o, uint32_t in) {
+ assert(o);
+ o->can_0x510_VCU_80kW_Debug.VCU_Safety_Checker_Notices = 0;
+ if (in > 200)
+ return -1;
+ o->can_0x510_VCU_80kW_Debug.VCU_Safety_Checker_Notices = in;
+ return 0;
+}
+
+int print_can_0x510_VCU_80kW_Debug(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "VCU_MCM_Power = (wire: %.0f)\n", (double)(o->can_0x510_VCU_80kW_Debug.VCU_MCM_Power)));
+ r = print_helper(r, fprintf(output, "VCU_Safety_Checker_Notices = (wire: %.0f)\n", (double)(o->can_0x510_VCU_80kW_Debug.VCU_Safety_Checker_Notices)));
+ return r;
+}
+
+static int pack_can_0x511_VCU_Power_Limit_Overview(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* PL_Torque_Command: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Torque_Command)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* PL_PID_Output: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_PID_Output)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ /* PL_Status: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Status)) & 0xff;
+ i |= x;
+ /* PL_Mode: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Mode)) & 0xff;
+ x <<= 8;
+ i |= x;
+ /* PL_Target_Power: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Target_Power)) & 0xff;
+ x <<= 16;
+ i |= x;
+ /* PL_Initialisation_Threshold: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Initialisation_Threshold)) & 0xff;
+ x <<= 24;
+ i |= x;
+ *data = (i);
+ o->can_0x511_VCU_Power_Limit_Overview_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x511_VCU_Power_Limit_Overview(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* PL_Torque_Command: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Torque_Command = x;
+ /* PL_PID_Output: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_PID_Output = x;
+ /* PL_Status: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Status = x;
+ /* PL_Mode: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Mode = x;
+ /* PL_Target_Power: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Target_Power = x;
+ /* PL_Initialisation_Threshold: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0xff;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Initialisation_Threshold = x;
+ o->can_0x511_VCU_Power_Limit_Overview_rx = 1;
+ o->can_0x511_VCU_Power_Limit_Overview_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x511_PL_Torque_Command(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_Torque_Command);
+ rval *= 0.1;
+ if ((rval >= -3276.8) && (rval <= 3276.7)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x511_PL_Torque_Command(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Torque_Command = 0;
+ if (in < -3276.8)
+ return -1;
+ if (in > 3276.7)
+ return -1;
+ in *= 10;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Torque_Command = in;
+ return 0;
+}
+
+int decode_can_0x511_PL_PID_Output(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_PID_Output);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x511_PL_PID_Output(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x511_VCU_Power_Limit_Overview.PL_PID_Output = in;
+ return 0;
+}
+
+int decode_can_0x511_PL_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Status);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x511_PL_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Status = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Status = in;
+ return 0;
+}
+
+int decode_can_0x511_PL_Mode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Mode);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x511_PL_Mode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Mode = in;
+ return 0;
+}
+
+int decode_can_0x511_PL_Target_Power(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Target_Power);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x511_PL_Target_Power(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Target_Power = in;
+ return 0;
+}
+
+int decode_can_0x511_PL_Initialisation_Threshold(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x511_VCU_Power_Limit_Overview.PL_Initialisation_Threshold);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x511_PL_Initialisation_Threshold(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x511_VCU_Power_Limit_Overview.PL_Initialisation_Threshold = in;
+ return 0;
+}
+
+int print_can_0x511_VCU_Power_Limit_Overview(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "PL_Torque_Command = (wire: %.0f)\n", (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_Torque_Command)));
+ r = print_helper(r, fprintf(output, "PL_PID_Output = (wire: %.0f)\n", (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_PID_Output)));
+ r = print_helper(r, fprintf(output, "PL_Status = (wire: %.0f)\n", (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_Status)));
+ r = print_helper(r, fprintf(output, "PL_Mode = (wire: %.0f)\n", (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_Mode)));
+ r = print_helper(r, fprintf(output, "PL_Target_Power = (wire: %.0f)\n", (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_Target_Power)));
+ r = print_helper(r, fprintf(output, "PL_Initialisation_Threshold = (wire: %.0f)\n", (double)(o->can_0x511_VCU_Power_Limit_Overview.PL_Initialisation_Threshold)));
+ return r;
+}
+
+static int pack_can_0x512_VCU_Power_Limit_PID_Output_Details(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* PL_PID_Proportional: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Proportional)) & 0xffff;
+ i |= x;
+ /* PL_PID_Integral: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Integral)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* PL_PID_Derivative: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Derivative)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* PL_PID_AntiWindupEnabled: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled)) & 0xff;
+ x <<= 48;
+ i |= x;
+ /* PL_PL_Mode: start-bit 57, length 3, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Mode)) & 0x7;
+ x <<= 57;
+ i |= x;
+ /* PL_PL_Status: start-bit 56, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Status)) & 0x1;
+ x <<= 56;
+ i |= x;
+ /* PL_PID_AntiWindupEnabled2: start-bit 60, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled2)) & 0x1;
+ x <<= 60;
+ i |= x;
+ *data = (i);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x512_VCU_Power_Limit_PID_Output_Details(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* PL_PID_Proportional: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Proportional = x;
+ /* PL_PID_Integral: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Integral = x;
+ /* PL_PID_Derivative: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Derivative = x;
+ /* PL_PID_AntiWindupEnabled: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xff;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled = x;
+ /* PL_PL_Mode: start-bit 57, length 3, endianess intel, scaling 1, offset 0 */
+ x = (i >> 57) & 0x7;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Mode = x;
+ /* PL_PL_Status: start-bit 56, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 56) & 0x1;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Status = x;
+ /* PL_PID_AntiWindupEnabled2: start-bit 60, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 60) & 0x1;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled2 = x;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details_rx = 1;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x512_PL_PID_Proportional(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Proportional);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x512_PL_PID_Proportional(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Proportional = in;
+ return 0;
+}
+
+int decode_can_0x512_PL_PID_Integral(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Integral);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x512_PL_PID_Integral(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Integral = in;
+ return 0;
+}
+
+int decode_can_0x512_PL_PID_Derivative(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Derivative);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x512_PL_PID_Derivative(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Derivative = in;
+ return 0;
+}
+
+int decode_can_0x512_PL_PID_AntiWindupEnabled(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x512_PL_PID_AntiWindupEnabled(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled = in;
+ return 0;
+}
+
+int decode_can_0x512_PL_PL_Mode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Mode);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x512_PL_PL_Mode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Mode = in;
+ return 0;
+}
+
+int decode_can_0x512_PL_PL_Status(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Status);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x512_PL_PL_Status(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Status = in;
+ return 0;
+}
+
+int decode_can_0x512_PL_PID_AntiWindupEnabled2(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled2);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x512_PL_PID_AntiWindupEnabled2(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled2 = in;
+ return 0;
+}
+
+int print_can_0x512_VCU_Power_Limit_PID_Output_Details(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "PL_PID_Proportional = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Proportional)));
+ r = print_helper(r, fprintf(output, "PL_PID_Integral = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Integral)));
+ r = print_helper(r, fprintf(output, "PL_PID_Derivative = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_Derivative)));
+ r = print_helper(r, fprintf(output, "PL_PID_AntiWindupEnabled = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled)));
+ r = print_helper(r, fprintf(output, "PL_PL_Mode = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Mode)));
+ r = print_helper(r, fprintf(output, "PL_PL_Status = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PL_Status)));
+ r = print_helper(r, fprintf(output, "PL_PID_AntiWindupEnabled2 = (wire: %.0f)\n", (double)(o->can_0x512_VCU_Power_Limit_PID_Output_Details.PL_PID_AntiWindupEnabled2)));
+ return r;
+}
+
+static int pack_can_0x513_VCU_Power_Limit_LUT_Parameters(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* Velocity_Floor_RPM_Floor: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Floor)) & 0xffff;
+ i |= x;
+ /* Velocity_Floor_RPM_Ceiling: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Ceiling)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* Velocity_Ceiling_RPM_Floor: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Floor)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* Velocity_Ceiling_RPM_Ceiling: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Ceiling)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x513_VCU_Power_Limit_LUT_Parameters(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* Velocity_Floor_RPM_Floor: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Floor = x;
+ /* Velocity_Floor_RPM_Ceiling: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Ceiling = x;
+ /* Velocity_Ceiling_RPM_Floor: start-bit 32, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Floor = x;
+ /* Velocity_Ceiling_RPM_Ceiling: start-bit 48, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Ceiling = x;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters_rx = 1;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x513_Velocity_Floor_RPM_Floor(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Floor);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x513_Velocity_Floor_RPM_Floor(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Floor = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Floor = in;
+ return 0;
+}
+
+int decode_can_0x513_Velocity_Floor_RPM_Ceiling(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Ceiling);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x513_Velocity_Floor_RPM_Ceiling(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Ceiling = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Ceiling = in;
+ return 0;
+}
+
+int decode_can_0x513_Velocity_Ceiling_RPM_Floor(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Floor);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x513_Velocity_Ceiling_RPM_Floor(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Floor = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Floor = in;
+ return 0;
+}
+
+int decode_can_0x513_Velocity_Ceiling_RPM_Ceiling(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Ceiling);
+ if (rval <= 255) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x513_Velocity_Ceiling_RPM_Ceiling(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Ceiling = 0;
+ if (in > 255)
+ return -1;
+ o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Ceiling = in;
+ return 0;
+}
+
+int print_can_0x513_VCU_Power_Limit_LUT_Parameters(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "Velocity_Floor_RPM_Floor = (wire: %.0f)\n", (double)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Floor)));
+ r = print_helper(r, fprintf(output, "Velocity_Floor_RPM_Ceiling = (wire: %.0f)\n", (double)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Floor_RPM_Ceiling)));
+ r = print_helper(r, fprintf(output, "Velocity_Ceiling_RPM_Floor = (wire: %.0f)\n", (double)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Floor)));
+ r = print_helper(r, fprintf(output, "Velocity_Ceiling_RPM_Ceiling = (wire: %.0f)\n", (double)(o->can_0x513_VCU_Power_Limit_LUT_Parameters.Velocity_Ceiling_RPM_Ceiling)));
+ return r;
+}
+
+static int pack_can_0x514_VCU_Power_Limit_PID_Information(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* PL_PID_TotalError: start-bit 16, length 32, endianess intel, scaling 1, offset 0 */
+ x = ((uint32_t)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_TotalError)) & 0xffffffff;
+ x <<= 16;
+ i |= x;
+ /* PL_PID_Setpoint: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Setpoint)) & 0xffff;
+ i |= x;
+ /* PL_PID_Kp: start-bit 48, length 8, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint8_t)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Kp)) & 0xff;
+ x <<= 48;
+ i |= x;
+ /* PL_PID_Ki: start-bit 56, length 8, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint8_t)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Ki)) & 0xff;
+ x <<= 56;
+ i |= x;
+ *data = (i);
+ o->can_0x514_VCU_Power_Limit_PID_Information_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x514_VCU_Power_Limit_PID_Information(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* PL_PID_TotalError: start-bit 16, length 32, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffffffff;
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_TotalError = x;
+ /* PL_PID_Setpoint: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Setpoint = x;
+ /* PL_PID_Kp: start-bit 48, length 8, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xff;
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Kp = x;
+ /* PL_PID_Ki: start-bit 56, length 8, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 56) & 0xff;
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Ki = x;
+ o->can_0x514_VCU_Power_Limit_PID_Information_rx = 1;
+ o->can_0x514_VCU_Power_Limit_PID_Information_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x514_PL_PID_TotalError(const can_obj_all_sre_edited_h_t *o, int32_t *out) {
+ assert(o);
+ assert(out);
+ int32_t rval = (int32_t)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_TotalError);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x514_PL_PID_TotalError(can_obj_all_sre_edited_h_t *o, int32_t in) {
+ assert(o);
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_TotalError = in;
+ return 0;
+}
+
+int decode_can_0x514_PL_PID_Setpoint(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Setpoint);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x514_PL_PID_Setpoint(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Setpoint = in;
+ return 0;
+}
+
+int decode_can_0x514_PL_PID_Kp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Kp);
+ rval *= 0.1;
+ if (rval <= 25.5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x514_PL_PID_Kp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Kp = 0;
+ if (in > 25.5)
+ return -1;
+ in *= 10;
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Kp = in;
+ return 0;
+}
+
+int decode_can_0x514_PL_PID_Ki(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Ki);
+ rval *= 0.1;
+ if (rval <= 25.5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x514_PL_PID_Ki(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Ki = 0;
+ if (in > 25.5)
+ return -1;
+ in *= 10;
+ o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Ki = in;
+ return 0;
+}
+
+int print_can_0x514_VCU_Power_Limit_PID_Information(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "PL_PID_TotalError = (wire: %.0f)\n", (double)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_TotalError)));
+ r = print_helper(r, fprintf(output, "PL_PID_Setpoint = (wire: %.0f)\n", (double)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Setpoint)));
+ r = print_helper(r, fprintf(output, "PL_PID_Kp = (wire: %.0f)\n", (double)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Kp)));
+ r = print_helper(r, fprintf(output, "PL_PID_Ki = (wire: %.0f)\n", (double)(o->can_0x514_VCU_Power_Limit_PID_Information.PL_PID_Ki)));
+ return r;
+}
+
+static int pack_can_0x515_DRS_SAS(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* Steering_Angle: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x515_DRS_SAS.Steering_Angle)) & 0xffff;
+ i |= x;
+ /* DRS_Enable: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x515_DRS_SAS.DRS_Enable)) & 0xff;
+ x <<= 16;
+ i |= x;
+ /* DRS_Mode: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x515_DRS_SAS.DRS_Mode)) & 0xff;
+ x <<= 24;
+ i |= x;
+ /* flap_DRS: start-bit 32, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x515_DRS_SAS.flap_DRS)) & 0xff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x515_DRS_SAS_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x515_DRS_SAS(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* Steering_Angle: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x515_DRS_SAS.Steering_Angle = x;
+ /* DRS_Enable: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x515_DRS_SAS.DRS_Enable = x;
+ /* DRS_Mode: start-bit 24, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0xff;
+ o->can_0x515_DRS_SAS.DRS_Mode = x;
+ /* flap_DRS: start-bit 32, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0xff;
+ o->can_0x515_DRS_SAS.flap_DRS = x;
+ o->can_0x515_DRS_SAS_rx = 1;
+ o->can_0x515_DRS_SAS_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x515_Steering_Angle(const can_obj_all_sre_edited_h_t *o, int16_t *out) {
+ assert(o);
+ assert(out);
+ int16_t rval = (int16_t)(o->can_0x515_DRS_SAS.Steering_Angle);
+ if ((rval >= -100) && (rval <= 100)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (int16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x515_Steering_Angle(can_obj_all_sre_edited_h_t *o, int16_t in) {
+ assert(o);
+ o->can_0x515_DRS_SAS.Steering_Angle = 0;
+ if (in < -100)
+ return -1;
+ if (in > 100)
+ return -1;
+ o->can_0x515_DRS_SAS.Steering_Angle = in;
+ return 0;
+}
+
+int decode_can_0x515_DRS_Enable(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x515_DRS_SAS.DRS_Enable);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x515_DRS_Enable(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x515_DRS_SAS.DRS_Enable = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x515_DRS_SAS.DRS_Enable = in;
+ return 0;
+}
+
+int decode_can_0x515_DRS_Mode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x515_DRS_SAS.DRS_Mode);
+ if (rval <= 3) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x515_DRS_Mode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x515_DRS_SAS.DRS_Mode = 0;
+ if (in > 3)
+ return -1;
+ o->can_0x515_DRS_SAS.DRS_Mode = in;
+ return 0;
+}
+
+int decode_can_0x515_flap_DRS(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x515_DRS_SAS.flap_DRS);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x515_flap_DRS(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x515_DRS_SAS.flap_DRS = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x515_DRS_SAS.flap_DRS = in;
+ return 0;
+}
+
+int print_can_0x515_DRS_SAS(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "Steering_Angle = (wire: %.0f)\n", (double)(o->can_0x515_DRS_SAS.Steering_Angle)));
+ r = print_helper(r, fprintf(output, "DRS_Enable = (wire: %.0f)\n", (double)(o->can_0x515_DRS_SAS.DRS_Enable)));
+ r = print_helper(r, fprintf(output, "DRS_Mode = (wire: %.0f)\n", (double)(o->can_0x515_DRS_SAS.DRS_Mode)));
+ r = print_helper(r, fprintf(output, "flap_DRS = (wire: %.0f)\n", (double)(o->can_0x515_DRS_SAS.flap_DRS)));
+ return r;
+}
+
+static int pack_can_0x5ff_Enable_Inverter(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t m = 0;
+ /* HVIL_Enable: start-bit 0, length 8, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x5ff_Enable_Inverter.HVIL_Enable)) & 0xff;
+ x <<= 49;
+ m |= x;
+ /* Inverter_Enable: start-bit 8, length 8, endianess motorola, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x5ff_Enable_Inverter.Inverter_Enable)) & 0xff;
+ x <<= 41;
+ m |= x;
+ *data = reverse_byte_order(m);
+ o->can_0x5ff_Enable_Inverter_tx = 1;
+ return 4;
+}
+
+static int unpack_can_0x5ff_Enable_Inverter(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t m = reverse_byte_order(data);
+ if (dlc < 4)
+ return -1;
+ /* HVIL_Enable: start-bit 0, length 8, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 49) & 0xff;
+ o->can_0x5ff_Enable_Inverter.HVIL_Enable = x;
+ /* Inverter_Enable: start-bit 8, length 8, endianess motorola, scaling 1, offset 0 */
+ x = (m >> 41) & 0xff;
+ o->can_0x5ff_Enable_Inverter.Inverter_Enable = x;
+ o->can_0x5ff_Enable_Inverter_rx = 1;
+ o->can_0x5ff_Enable_Inverter_time_stamp_rx = time_stamp;
+ return 4;
+}
+
+int decode_can_0x5ff_HVIL_Enable(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x5ff_Enable_Inverter.HVIL_Enable);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x5ff_HVIL_Enable(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x5ff_Enable_Inverter.HVIL_Enable = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x5ff_Enable_Inverter.HVIL_Enable = in;
+ return 0;
+}
+
+int decode_can_0x5ff_Inverter_Enable(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x5ff_Enable_Inverter.Inverter_Enable);
+ if (rval <= 1) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x5ff_Inverter_Enable(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x5ff_Enable_Inverter.Inverter_Enable = 0;
+ if (in > 1)
+ return -1;
+ o->can_0x5ff_Enable_Inverter.Inverter_Enable = in;
+ return 0;
+}
+
+int print_can_0x5ff_Enable_Inverter(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "HVIL_Enable = (wire: %.0f)\n", (double)(o->can_0x5ff_Enable_Inverter.HVIL_Enable)));
+ r = print_helper(r, fprintf(output, "Inverter_Enable = (wire: %.0f)\n", (double)(o->can_0x5ff_Enable_Inverter.Inverter_Enable)));
+ return r;
+}
+
+static int pack_can_0x600_BMS_State_Command(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_State_Request: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_State_Request)) & 0xff;
+ i |= x;
+ /* BMS_Relay_Driver_1_Command: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_1_Command)) & 0x1;
+ x <<= 10;
+ i |= x;
+ /* BMS_Relay_Driver_2_Command: start-bit 11, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_2_Command)) & 0x1;
+ x <<= 11;
+ i |= x;
+ /* BMS_Relay_Driver_3_Command: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_3_Command)) & 0x1;
+ x <<= 12;
+ i |= x;
+ /* BMS_Relay_Driver_4_Command: start-bit 13, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_4_Command)) & 0x1;
+ x <<= 13;
+ i |= x;
+ /* BMS_Relay_Driver_5_Command: start-bit 14, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_5_Command)) & 0x1;
+ x <<= 14;
+ i |= x;
+ /* BMS_Relay_Driver_6_Command: start-bit 15, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_6_Command)) & 0x1;
+ x <<= 15;
+ i |= x;
+ *data = (i);
+ o->can_0x600_BMS_State_Command_tx = 1;
+ return 2;
+}
+
+static int unpack_can_0x600_BMS_State_Command(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 2)
+ return -1;
+ /* BMS_State_Request: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x600_BMS_State_Command.BMS_State_Request = x;
+ /* BMS_Relay_Driver_1_Command: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 10) & 0x1;
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_1_Command = x;
+ /* BMS_Relay_Driver_2_Command: start-bit 11, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 11) & 0x1;
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_2_Command = x;
+ /* BMS_Relay_Driver_3_Command: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 12) & 0x1;
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_3_Command = x;
+ /* BMS_Relay_Driver_4_Command: start-bit 13, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 13) & 0x1;
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_4_Command = x;
+ /* BMS_Relay_Driver_5_Command: start-bit 14, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 14) & 0x1;
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_5_Command = x;
+ /* BMS_Relay_Driver_6_Command: start-bit 15, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 15) & 0x1;
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_6_Command = x;
+ o->can_0x600_BMS_State_Command_rx = 1;
+ o->can_0x600_BMS_State_Command_time_stamp_rx = time_stamp;
+ return 2;
+}
+
+int decode_can_0x600_BMS_State_Request(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_State_Request);
+ if (rval <= 4) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x600_BMS_State_Request(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_State_Request = 0;
+ if (in > 4)
+ return -1;
+ o->can_0x600_BMS_State_Command.BMS_State_Request = in;
+ return 0;
+}
+
+int decode_can_0x600_BMS_Relay_Driver_1_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_1_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x600_BMS_Relay_Driver_1_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_1_Command = in;
+ return 0;
+}
+
+int decode_can_0x600_BMS_Relay_Driver_2_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_2_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x600_BMS_Relay_Driver_2_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_2_Command = in;
+ return 0;
+}
+
+int decode_can_0x600_BMS_Relay_Driver_3_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_3_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x600_BMS_Relay_Driver_3_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_3_Command = in;
+ return 0;
+}
+
+int decode_can_0x600_BMS_Relay_Driver_4_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_4_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x600_BMS_Relay_Driver_4_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_4_Command = in;
+ return 0;
+}
+
+int decode_can_0x600_BMS_Relay_Driver_5_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_5_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x600_BMS_Relay_Driver_5_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_5_Command = in;
+ return 0;
+}
+
+int decode_can_0x600_BMS_Relay_Driver_6_Command(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_6_Command);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x600_BMS_Relay_Driver_6_Command(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x600_BMS_State_Command.BMS_Relay_Driver_6_Command = in;
+ return 0;
+}
+
+int print_can_0x600_BMS_State_Command(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_State_Request = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_State_Request)));
+ r = print_helper(r, fprintf(output, "BMS_Relay_Driver_1_Command = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_1_Command)));
+ r = print_helper(r, fprintf(output, "BMS_Relay_Driver_2_Command = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_2_Command)));
+ r = print_helper(r, fprintf(output, "BMS_Relay_Driver_3_Command = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_3_Command)));
+ r = print_helper(r, fprintf(output, "BMS_Relay_Driver_4_Command = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_4_Command)));
+ r = print_helper(r, fprintf(output, "BMS_Relay_Driver_5_Command = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_5_Command)));
+ r = print_helper(r, fprintf(output, "BMS_Relay_Driver_6_Command = (wire: %.0f)\n", (double)(o->can_0x600_BMS_State_Command.BMS_Relay_Driver_6_Command)));
+ return r;
+}
+
+static int pack_can_0x602_BMS_Master_Faults(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Isolation_Leakage_Fault: start-bit 0, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Isolation_Leakage_Fault)) & 0x1;
+ i |= x;
+ /* BMS_Monitor_Communication_Fault: start-bit 1, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Monitor_Communication_Fault)) & 0x1;
+ x <<= 1;
+ i |= x;
+ /* BMS_Precharge_Fault: start-bit 2, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Precharge_Fault)) & 0x1;
+ x <<= 2;
+ i |= x;
+ /* BMS_Pack_Discharge_Envelope_Exceeded_Fault: start-bit 3, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Discharge_Envelope_Exceeded_Fault)) & 0x1;
+ x <<= 3;
+ i |= x;
+ /* BMS_Pack_Charge_Envelope_Exceeded_Fault: start-bit 4, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Charge_Envelope_Exceeded_Fault)) & 0x1;
+ x <<= 4;
+ i |= x;
+ /* BMS_Failed_Thermistor_Fault: start-bit 5, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Failed_Thermistor_Fault)) & 0x1;
+ x <<= 5;
+ i |= x;
+ /* BMS_Cell_Over_Voltage_Fault: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Voltage_Fault)) & 0x1;
+ x <<= 8;
+ i |= x;
+ /* BMS_Cell_Under_Voltage_Fault: start-bit 9, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Voltage_Fault)) & 0x1;
+ x <<= 9;
+ i |= x;
+ /* BMS_Cell_Over_Temperature_Fault: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Temperature_Fault)) & 0x1;
+ x <<= 10;
+ i |= x;
+ /* BMS_Cell_Under_Temperature_Fault: start-bit 11, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Temperature_Fault)) & 0x1;
+ x <<= 11;
+ i |= x;
+ /* BMS_Pack_Over_Voltage_Fault: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Over_Voltage_Fault)) & 0x1;
+ x <<= 12;
+ i |= x;
+ /* BMS_Pack_Under_Voltage_Fault: start-bit 13, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Under_Voltage_Fault)) & 0x1;
+ x <<= 13;
+ i |= x;
+ /* BMS_Over_Current_Discharge_Fault: start-bit 14, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Discharge_Fault)) & 0x1;
+ x <<= 14;
+ i |= x;
+ /* BMS_Over_Current_Charge_Fault: start-bit 15, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Charge_Fault)) & 0x1;
+ x <<= 15;
+ i |= x;
+ /* BMS_Imminent_Contactor_Opening_Warning: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Imminent_Contactor_Opening_Warning)) & 0x1;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x602_BMS_Master_Faults_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x602_BMS_Master_Faults(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Isolation_Leakage_Fault: start-bit 0, length 1, endianess intel, scaling 1, offset 0 */
+ x = i & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Isolation_Leakage_Fault = x;
+ /* BMS_Monitor_Communication_Fault: start-bit 1, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 1) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Monitor_Communication_Fault = x;
+ /* BMS_Precharge_Fault: start-bit 2, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 2) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Precharge_Fault = x;
+ /* BMS_Pack_Discharge_Envelope_Exceeded_Fault: start-bit 3, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 3) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Discharge_Envelope_Exceeded_Fault = x;
+ /* BMS_Pack_Charge_Envelope_Exceeded_Fault: start-bit 4, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 4) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Charge_Envelope_Exceeded_Fault = x;
+ /* BMS_Failed_Thermistor_Fault: start-bit 5, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 5) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Failed_Thermistor_Fault = x;
+ /* BMS_Cell_Over_Voltage_Fault: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Voltage_Fault = x;
+ /* BMS_Cell_Under_Voltage_Fault: start-bit 9, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 9) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Voltage_Fault = x;
+ /* BMS_Cell_Over_Temperature_Fault: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 10) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Temperature_Fault = x;
+ /* BMS_Cell_Under_Temperature_Fault: start-bit 11, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 11) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Temperature_Fault = x;
+ /* BMS_Pack_Over_Voltage_Fault: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 12) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Over_Voltage_Fault = x;
+ /* BMS_Pack_Under_Voltage_Fault: start-bit 13, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 13) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Under_Voltage_Fault = x;
+ /* BMS_Over_Current_Discharge_Fault: start-bit 14, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 14) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Discharge_Fault = x;
+ /* BMS_Over_Current_Charge_Fault: start-bit 15, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 15) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Charge_Fault = x;
+ /* BMS_Imminent_Contactor_Opening_Warning: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x602_BMS_Master_Faults.BMS_Imminent_Contactor_Opening_Warning = x;
+ o->can_0x602_BMS_Master_Faults_rx = 1;
+ o->can_0x602_BMS_Master_Faults_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x602_BMS_Isolation_Leakage_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Isolation_Leakage_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Isolation_Leakage_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Isolation_Leakage_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Monitor_Communication_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Monitor_Communication_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Monitor_Communication_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Monitor_Communication_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Precharge_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Precharge_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Precharge_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Precharge_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Pack_Discharge_Envelope_Exceeded_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Discharge_Envelope_Exceeded_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Pack_Discharge_Envelope_Exceeded_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Discharge_Envelope_Exceeded_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Pack_Charge_Envelope_Exceeded_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Charge_Envelope_Exceeded_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Pack_Charge_Envelope_Exceeded_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Charge_Envelope_Exceeded_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Failed_Thermistor_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Failed_Thermistor_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Failed_Thermistor_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Failed_Thermistor_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Cell_Over_Voltage_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Voltage_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Cell_Over_Voltage_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Voltage_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Cell_Under_Voltage_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Voltage_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Cell_Under_Voltage_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Voltage_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Cell_Over_Temperature_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Temperature_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Cell_Over_Temperature_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Temperature_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Cell_Under_Temperature_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Temperature_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Cell_Under_Temperature_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Temperature_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Pack_Over_Voltage_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Over_Voltage_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Pack_Over_Voltage_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Over_Voltage_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Pack_Under_Voltage_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Under_Voltage_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Pack_Under_Voltage_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Pack_Under_Voltage_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Over_Current_Discharge_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Discharge_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Over_Current_Discharge_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Discharge_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Over_Current_Charge_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Charge_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Over_Current_Charge_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Charge_Fault = in;
+ return 0;
+}
+
+int decode_can_0x602_BMS_Imminent_Contactor_Opening_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x602_BMS_Master_Faults.BMS_Imminent_Contactor_Opening_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x602_BMS_Imminent_Contactor_Opening_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x602_BMS_Master_Faults.BMS_Imminent_Contactor_Opening_Warning = in;
+ return 0;
+}
+
+int print_can_0x602_BMS_Master_Faults(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Isolation_Leakage_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Isolation_Leakage_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Monitor_Communication_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Monitor_Communication_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Precharge_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Precharge_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Discharge_Envelope_Exceeded_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Discharge_Envelope_Exceeded_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Charge_Envelope_Exceeded_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Charge_Envelope_Exceeded_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Failed_Thermistor_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Failed_Thermistor_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Over_Voltage_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Voltage_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Under_Voltage_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Voltage_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Over_Temperature_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Over_Temperature_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Under_Temperature_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Cell_Under_Temperature_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Over_Voltage_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Over_Voltage_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Under_Voltage_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Pack_Under_Voltage_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Over_Current_Discharge_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Discharge_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Over_Current_Charge_Fault = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Over_Current_Charge_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Imminent_Contactor_Opening_Warning = (wire: %.0f)\n", (double)(o->can_0x602_BMS_Master_Faults.BMS_Imminent_Contactor_Opening_Warning)));
+ return r;
+}
+
+static int pack_can_0x604_BMS_Master_Warnings(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_Under_Voltage_Warning: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Voltage_Warning)) & 0x1;
+ x <<= 8;
+ i |= x;
+ /* BMS_Cell_Over_TemperatureWarning: start-bit 9, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_TemperatureWarning)) & 0x1;
+ x <<= 9;
+ i |= x;
+ /* BMS_Cell_Under_Temperature_Warning: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Warning)) & 0x1;
+ x <<= 10;
+ i |= x;
+ /* BMS_Cell_Under_Temperature_Fault: start-bit 11, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Fault)) & 0x1;
+ x <<= 11;
+ i |= x;
+ /* BMS_Pack_Over_Voltage_Warning: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Pack_Over_Voltage_Warning)) & 0x1;
+ x <<= 12;
+ i |= x;
+ /* BMS_Pack_Under_Voltage_Warning: start-bit 13, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Pack_Under_Voltage_Warning)) & 0x1;
+ x <<= 13;
+ i |= x;
+ /* BMS_Over_Current_Discharge_Warning: start-bit 14, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Discharge_Warning)) & 0x1;
+ x <<= 14;
+ i |= x;
+ /* BMS_Over_Current_Charge_Warning: start-bit 15, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Charge_Warning)) & 0x1;
+ x <<= 15;
+ i |= x;
+ /* BMS_Cell_Over_Voltage_Warning: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_Voltage_Warning)) & 0x1;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x604_BMS_Master_Warnings_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x604_BMS_Master_Warnings(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_Under_Voltage_Warning: start-bit 8, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Voltage_Warning = x;
+ /* BMS_Cell_Over_TemperatureWarning: start-bit 9, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 9) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_TemperatureWarning = x;
+ /* BMS_Cell_Under_Temperature_Warning: start-bit 10, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 10) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Warning = x;
+ /* BMS_Cell_Under_Temperature_Fault: start-bit 11, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 11) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Fault = x;
+ /* BMS_Pack_Over_Voltage_Warning: start-bit 12, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 12) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Pack_Over_Voltage_Warning = x;
+ /* BMS_Pack_Under_Voltage_Warning: start-bit 13, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 13) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Pack_Under_Voltage_Warning = x;
+ /* BMS_Over_Current_Discharge_Warning: start-bit 14, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 14) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Discharge_Warning = x;
+ /* BMS_Over_Current_Charge_Warning: start-bit 15, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 15) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Charge_Warning = x;
+ /* BMS_Cell_Over_Voltage_Warning: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_Voltage_Warning = x;
+ o->can_0x604_BMS_Master_Warnings_rx = 1;
+ o->can_0x604_BMS_Master_Warnings_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x604_BMS_Cell_Under_Voltage_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Voltage_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Cell_Under_Voltage_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Voltage_Warning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Cell_Over_TemperatureWarning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_TemperatureWarning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Cell_Over_TemperatureWarning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_TemperatureWarning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Cell_Under_Temperature_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Cell_Under_Temperature_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Warning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Cell_Under_Temperature_Fault(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Fault);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Cell_Under_Temperature_Fault(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Fault = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Pack_Over_Voltage_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Pack_Over_Voltage_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Pack_Over_Voltage_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Pack_Over_Voltage_Warning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Pack_Under_Voltage_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Pack_Under_Voltage_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Pack_Under_Voltage_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Pack_Under_Voltage_Warning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Over_Current_Discharge_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Discharge_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Over_Current_Discharge_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Discharge_Warning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Over_Current_Charge_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Charge_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Over_Current_Charge_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Charge_Warning = in;
+ return 0;
+}
+
+int decode_can_0x604_BMS_Cell_Over_Voltage_Warning(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_Voltage_Warning);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x604_BMS_Cell_Over_Voltage_Warning(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_Voltage_Warning = in;
+ return 0;
+}
+
+int print_can_0x604_BMS_Master_Warnings(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_Under_Voltage_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Voltage_Warning)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Over_TemperatureWarning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_TemperatureWarning)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Under_Temperature_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Warning)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Under_Temperature_Fault = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Under_Temperature_Fault)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Over_Voltage_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Pack_Over_Voltage_Warning)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Under_Voltage_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Pack_Under_Voltage_Warning)));
+ r = print_helper(r, fprintf(output, "BMS_Over_Current_Discharge_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Discharge_Warning)));
+ r = print_helper(r, fprintf(output, "BMS_Over_Current_Charge_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Over_Current_Charge_Warning)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Over_Voltage_Warning = (wire: %.0f)\n", (double)(o->can_0x604_BMS_Master_Warnings.BMS_Cell_Over_Voltage_Warning)));
+ return r;
+}
+
+static int pack_can_0x610_BMS_Master_System_Status(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Number_Of_Failed_Thermistors: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Number_Of_Failed_Thermistors)) & 0xff;
+ x <<= 8;
+ i |= x;
+ /* BMS_Number_Monitors_Detected: start-bit 40, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Number_Monitors_Detected)) & 0xff;
+ x <<= 40;
+ i |= x;
+ /* BMS_Current_State: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Current_State)) & 0xff;
+ x <<= 48;
+ i |= x;
+ /* BMS_Monitor_Power_Active: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Power_Active)) & 0x1;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_Balancing_Active: start-bit 17, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Cell_Balancing_Active)) & 0x1;
+ x <<= 17;
+ i |= x;
+ /* BMS_Precharge_Relay_Closed: start-bit 24, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Precharge_Relay_Closed)) & 0x1;
+ x <<= 24;
+ i |= x;
+ /* BMS_Main_Contactor_Positive_Closed: start-bit 25, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Positive_Closed)) & 0x1;
+ x <<= 25;
+ i |= x;
+ /* BMS_Main_Contactor_Negative_Closed: start-bit 26, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Negative_Closed)) & 0x1;
+ x <<= 26;
+ i |= x;
+ /* BMS_HVIL_Present: start-bit 27, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_HVIL_Present)) & 0x1;
+ x <<= 27;
+ i |= x;
+ /* BMS_Incorrect_Number_Monitor_Boards: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Incorrect_Number_Monitor_Boards)) & 0x1;
+ x <<= 32;
+ i |= x;
+ /* BMS_Incompatible_Monitor_Firmware: start-bit 33, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Incompatible_Monitor_Firmware)) & 0x1;
+ x <<= 33;
+ i |= x;
+ /* BMS_Loss_Of_All_Monitor_Communication: start-bit 34, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Loss_Of_All_Monitor_Communication)) & 0x1;
+ x <<= 34;
+ i |= x;
+ /* BMS_Monitor_Address_Conflict: start-bit 35, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Address_Conflict)) & 0x1;
+ x <<= 35;
+ i |= x;
+ /* BMS_Unexpected_Monitor_Address: start-bit 36, length 1, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Unexpected_Monitor_Address)) & 0x1;
+ x <<= 36;
+ i |= x;
+ *data = (i);
+ o->can_0x610_BMS_Master_System_Status_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x610_BMS_Master_System_Status(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Number_Of_Failed_Thermistors: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x610_BMS_Master_System_Status.BMS_Number_Of_Failed_Thermistors = x;
+ /* BMS_Number_Monitors_Detected: start-bit 40, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 40) & 0xff;
+ o->can_0x610_BMS_Master_System_Status.BMS_Number_Monitors_Detected = x;
+ /* BMS_Current_State: start-bit 48, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 48) & 0xff;
+ o->can_0x610_BMS_Master_System_Status.BMS_Current_State = x;
+ /* BMS_Monitor_Power_Active: start-bit 16, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Power_Active = x;
+ /* BMS_Cell_Balancing_Active: start-bit 17, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 17) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Cell_Balancing_Active = x;
+ /* BMS_Precharge_Relay_Closed: start-bit 24, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 24) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Precharge_Relay_Closed = x;
+ /* BMS_Main_Contactor_Positive_Closed: start-bit 25, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 25) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Positive_Closed = x;
+ /* BMS_Main_Contactor_Negative_Closed: start-bit 26, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 26) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Negative_Closed = x;
+ /* BMS_HVIL_Present: start-bit 27, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 27) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_HVIL_Present = x;
+ /* BMS_Incorrect_Number_Monitor_Boards: start-bit 32, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 32) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Incorrect_Number_Monitor_Boards = x;
+ /* BMS_Incompatible_Monitor_Firmware: start-bit 33, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 33) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Incompatible_Monitor_Firmware = x;
+ /* BMS_Loss_Of_All_Monitor_Communication: start-bit 34, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 34) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Loss_Of_All_Monitor_Communication = x;
+ /* BMS_Monitor_Address_Conflict: start-bit 35, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 35) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Address_Conflict = x;
+ /* BMS_Unexpected_Monitor_Address: start-bit 36, length 1, endianess intel, scaling 1, offset 0 */
+ x = (i >> 36) & 0x1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Unexpected_Monitor_Address = x;
+ o->can_0x610_BMS_Master_System_Status_rx = 1;
+ o->can_0x610_BMS_Master_System_Status_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x610_BMS_Number_Of_Failed_Thermistors(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Number_Of_Failed_Thermistors);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Number_Of_Failed_Thermistors(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Number_Of_Failed_Thermistors = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Number_Monitors_Detected(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Number_Monitors_Detected);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Number_Monitors_Detected(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Number_Monitors_Detected = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Current_State(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Current_State);
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x610_BMS_Current_State(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Current_State = 0;
+ if (in > 6)
+ return -1;
+ o->can_0x610_BMS_Master_System_Status.BMS_Current_State = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Monitor_Power_Active(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Power_Active);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Monitor_Power_Active(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Power_Active = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Cell_Balancing_Active(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Cell_Balancing_Active);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Cell_Balancing_Active(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Cell_Balancing_Active = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Precharge_Relay_Closed(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Precharge_Relay_Closed);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Precharge_Relay_Closed(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Precharge_Relay_Closed = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Main_Contactor_Positive_Closed(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Positive_Closed);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Main_Contactor_Positive_Closed(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Positive_Closed = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Main_Contactor_Negative_Closed(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Negative_Closed);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Main_Contactor_Negative_Closed(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Negative_Closed = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_HVIL_Present(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_HVIL_Present);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_HVIL_Present(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_HVIL_Present = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Incorrect_Number_Monitor_Boards(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Incorrect_Number_Monitor_Boards);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Incorrect_Number_Monitor_Boards(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Incorrect_Number_Monitor_Boards = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Incompatible_Monitor_Firmware(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Incompatible_Monitor_Firmware);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Incompatible_Monitor_Firmware(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Incompatible_Monitor_Firmware = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Loss_Of_All_Monitor_Communication(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Loss_Of_All_Monitor_Communication);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Loss_Of_All_Monitor_Communication(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Loss_Of_All_Monitor_Communication = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Monitor_Address_Conflict(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Address_Conflict);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Monitor_Address_Conflict(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Address_Conflict = in;
+ return 0;
+}
+
+int decode_can_0x610_BMS_Unexpected_Monitor_Address(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x610_BMS_Master_System_Status.BMS_Unexpected_Monitor_Address);
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x610_BMS_Unexpected_Monitor_Address(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x610_BMS_Master_System_Status.BMS_Unexpected_Monitor_Address = in;
+ return 0;
+}
+
+int print_can_0x610_BMS_Master_System_Status(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Number_Of_Failed_Thermistors = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Number_Of_Failed_Thermistors)));
+ r = print_helper(r, fprintf(output, "BMS_Number_Monitors_Detected = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Number_Monitors_Detected)));
+ r = print_helper(r, fprintf(output, "BMS_Current_State = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Current_State)));
+ r = print_helper(r, fprintf(output, "BMS_Monitor_Power_Active = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Power_Active)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_Balancing_Active = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Cell_Balancing_Active)));
+ r = print_helper(r, fprintf(output, "BMS_Precharge_Relay_Closed = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Precharge_Relay_Closed)));
+ r = print_helper(r, fprintf(output, "BMS_Main_Contactor_Positive_Closed = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Positive_Closed)));
+ r = print_helper(r, fprintf(output, "BMS_Main_Contactor_Negative_Closed = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Main_Contactor_Negative_Closed)));
+ r = print_helper(r, fprintf(output, "BMS_HVIL_Present = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_HVIL_Present)));
+ r = print_helper(r, fprintf(output, "BMS_Incorrect_Number_Monitor_Boards = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Incorrect_Number_Monitor_Boards)));
+ r = print_helper(r, fprintf(output, "BMS_Incompatible_Monitor_Firmware = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Incompatible_Monitor_Firmware)));
+ r = print_helper(r, fprintf(output, "BMS_Loss_Of_All_Monitor_Communication = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Loss_Of_All_Monitor_Communication)));
+ r = print_helper(r, fprintf(output, "BMS_Monitor_Address_Conflict = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Monitor_Address_Conflict)));
+ r = print_helper(r, fprintf(output, "BMS_Unexpected_Monitor_Address = (wire: %.0f)\n", (double)(o->can_0x610_BMS_Master_System_Status.BMS_Unexpected_Monitor_Address)));
+ return r;
+}
+
+static int pack_can_0x611_BMS_Pack_Safe_OE(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Maximum_Charge_Current_Allowed: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Charge_Current_Allowed)) & 0xffff;
+ i |= x;
+ /* BMS_Maximum_Discharge_Current_Allowed: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Discharge_Current_Allowed)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Charger_Constant_Voltage_Setpoint: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Charger_Constant_Voltage_Setpoint)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x611_BMS_Pack_Safe_OE_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x611_BMS_Pack_Safe_OE(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Maximum_Charge_Current_Allowed: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Charge_Current_Allowed = x;
+ /* BMS_Maximum_Discharge_Current_Allowed: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Discharge_Current_Allowed = x;
+ /* BMS_Charger_Constant_Voltage_Setpoint: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Charger_Constant_Voltage_Setpoint = x;
+ o->can_0x611_BMS_Pack_Safe_OE_rx = 1;
+ o->can_0x611_BMS_Pack_Safe_OE_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x611_BMS_Maximum_Charge_Current_Allowed(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Charge_Current_Allowed);
+ rval *= 0.1;
+ if (rval <= 2500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x611_BMS_Maximum_Charge_Current_Allowed(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Charge_Current_Allowed = 0;
+ if (in > 2500)
+ return -1;
+ in *= 10;
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Charge_Current_Allowed = in;
+ return 0;
+}
+
+int decode_can_0x611_BMS_Maximum_Discharge_Current_Allowed(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Discharge_Current_Allowed);
+ rval *= 0.1;
+ if (rval <= 2500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x611_BMS_Maximum_Discharge_Current_Allowed(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Discharge_Current_Allowed = 0;
+ if (in > 2500)
+ return -1;
+ in *= 10;
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Discharge_Current_Allowed = in;
+ return 0;
+}
+
+int decode_can_0x611_BMS_Charger_Constant_Voltage_Setpoint(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Charger_Constant_Voltage_Setpoint);
+ rval *= 0.1;
+ if (rval <= 1000) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x611_BMS_Charger_Constant_Voltage_Setpoint(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Charger_Constant_Voltage_Setpoint = 0;
+ if (in > 1000)
+ return -1;
+ in *= 10;
+ o->can_0x611_BMS_Pack_Safe_OE.BMS_Charger_Constant_Voltage_Setpoint = in;
+ return 0;
+}
+
+int print_can_0x611_BMS_Pack_Safe_OE(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Maximum_Charge_Current_Allowed = (wire: %.0f)\n", (double)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Charge_Current_Allowed)));
+ r = print_helper(r, fprintf(output, "BMS_Maximum_Discharge_Current_Allowed = (wire: %.0f)\n", (double)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Maximum_Discharge_Current_Allowed)));
+ r = print_helper(r, fprintf(output, "BMS_Charger_Constant_Voltage_Setpoint = (wire: %.0f)\n", (double)(o->can_0x611_BMS_Pack_Safe_OE.BMS_Charger_Constant_Voltage_Setpoint)));
+ return r;
+}
+
+static int pack_can_0x612_BMS_Master_Local_Board_Measurements(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Internal_5V_Rail_Sense: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Internal_5V_Rail_Sense)) & 0xffff;
+ i |= x;
+ /* BMS_HVIL_Power_Input_Sense: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_HVIL_Power_Input_Sense)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Power_Input_Sense: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Power_Input_Sense)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Master_Board_Temperature: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Master_Board_Temperature)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x612_BMS_Master_Local_Board_Measurements_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x612_BMS_Master_Local_Board_Measurements(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Internal_5V_Rail_Sense: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Internal_5V_Rail_Sense = x;
+ /* BMS_HVIL_Power_Input_Sense: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_HVIL_Power_Input_Sense = x;
+ /* BMS_Power_Input_Sense: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Power_Input_Sense = x;
+ /* BMS_Master_Board_Temperature: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Master_Board_Temperature = x;
+ o->can_0x612_BMS_Master_Local_Board_Measurements_rx = 1;
+ o->can_0x612_BMS_Master_Local_Board_Measurements_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x612_BMS_Internal_5V_Rail_Sense(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Internal_5V_Rail_Sense);
+ rval *= 0.001;
+ if (rval <= 7.5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x612_BMS_Internal_5V_Rail_Sense(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Internal_5V_Rail_Sense = 0;
+ if (in > 7.5)
+ return -1;
+ in *= 1000;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Internal_5V_Rail_Sense = in;
+ return 0;
+}
+
+int decode_can_0x612_BMS_HVIL_Power_Input_Sense(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_HVIL_Power_Input_Sense);
+ rval *= 0.001;
+ if (rval <= 36) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x612_BMS_HVIL_Power_Input_Sense(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_HVIL_Power_Input_Sense = 0;
+ if (in > 36)
+ return -1;
+ in *= 1000;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_HVIL_Power_Input_Sense = in;
+ return 0;
+}
+
+int decode_can_0x612_BMS_Power_Input_Sense(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Power_Input_Sense);
+ rval *= 0.001;
+ if (rval <= 36) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x612_BMS_Power_Input_Sense(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Power_Input_Sense = 0;
+ if (in > 36)
+ return -1;
+ in *= 1000;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Power_Input_Sense = in;
+ return 0;
+}
+
+int decode_can_0x612_BMS_Master_Board_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Master_Board_Temperature);
+ rval *= 0.1;
+ if ((rval >= -50) && (rval <= 150)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x612_BMS_Master_Board_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Master_Board_Temperature = 0;
+ if (in < -50)
+ return -1;
+ if (in > 150)
+ return -1;
+ in *= 10;
+ o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Master_Board_Temperature = in;
+ return 0;
+}
+
+int print_can_0x612_BMS_Master_Local_Board_Measurements(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Internal_5V_Rail_Sense = (wire: %.0f)\n", (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Internal_5V_Rail_Sense)));
+ r = print_helper(r, fprintf(output, "BMS_HVIL_Power_Input_Sense = (wire: %.0f)\n", (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_HVIL_Power_Input_Sense)));
+ r = print_helper(r, fprintf(output, "BMS_Power_Input_Sense = (wire: %.0f)\n", (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Power_Input_Sense)));
+ r = print_helper(r, fprintf(output, "BMS_Master_Board_Temperature = (wire: %.0f)\n", (double)(o->can_0x612_BMS_Master_Local_Board_Measurements.BMS_Master_Board_Temperature)));
+ return r;
+}
+
+static int pack_can_0x620_BMS_Pack_Level_Measurements_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Pack_Current: start-bit 0, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint32_t)(o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Current)) & 0xffffffff;
+ i |= x;
+ /* BMS_Pack_Voltage: start-bit 32, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint32_t)(o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Voltage)) & 0xffffffff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x620_BMS_Pack_Level_Measurements_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x620_BMS_Pack_Level_Measurements_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Pack_Current: start-bit 0, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffffffff;
+ o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Current = x;
+ /* BMS_Pack_Voltage: start-bit 32, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffffffff;
+ o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Voltage = x;
+ o->can_0x620_BMS_Pack_Level_Measurements_1_rx = 1;
+ o->can_0x620_BMS_Pack_Level_Measurements_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x620_BMS_Pack_Current(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Current);
+ rval *= 0.001;
+ if ((rval >= -2500) && (rval <= 2500)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x620_BMS_Pack_Current(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Current = 0;
+ if (in < -2500)
+ return -1;
+ if (in > 2500)
+ return -1;
+ in *= 1000;
+ o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Current = in;
+ return 0;
+}
+
+int decode_can_0x620_BMS_Pack_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Voltage);
+ rval *= 0.001;
+ if (rval <= 1500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x620_BMS_Pack_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Voltage = 0;
+ if (in > 1500)
+ return -1;
+ in *= 1000;
+ o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Voltage = in;
+ return 0;
+}
+
+int print_can_0x620_BMS_Pack_Level_Measurements_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Pack_Current = (wire: %.0f)\n", (double)(o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Current)));
+ r = print_helper(r, fprintf(output, "BMS_Pack_Voltage = (wire: %.0f)\n", (double)(o->can_0x620_BMS_Pack_Level_Measurements_1.BMS_Pack_Voltage)));
+ return r;
+}
+
+static int pack_can_0x621_BMS_Pack_Level_Measurements_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Amp_Hours_Remaining: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_Amp_Hours_Remaining)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_State_Of_Health: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Health)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_State_Of_Charge: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Charge)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x621_BMS_Pack_Level_Measurements_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x621_BMS_Pack_Level_Measurements_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Amp_Hours_Remaining: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_Amp_Hours_Remaining = x;
+ /* BMS_State_Of_Health: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Health = x;
+ /* BMS_State_Of_Charge: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Charge = x;
+ o->can_0x621_BMS_Pack_Level_Measurements_2_rx = 1;
+ o->can_0x621_BMS_Pack_Level_Measurements_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x621_BMS_Amp_Hours_Remaining(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_Amp_Hours_Remaining);
+ rval *= 0.1;
+ if (rval <= 6000) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x621_BMS_Amp_Hours_Remaining(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_Amp_Hours_Remaining = 0;
+ if (in > 6000)
+ return -1;
+ in *= 10;
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_Amp_Hours_Remaining = in;
+ return 0;
+}
+
+int decode_can_0x621_BMS_State_Of_Health(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Health);
+ rval *= 0.1;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x621_BMS_State_Of_Health(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Health = 0;
+ if (in > 100)
+ return -1;
+ in *= 10;
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Health = in;
+ return 0;
+}
+
+int decode_can_0x621_BMS_State_Of_Charge(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Charge);
+ rval *= 0.1;
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x621_BMS_State_Of_Charge(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Charge = 0;
+ if (in > 100)
+ return -1;
+ in *= 10;
+ o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Charge = in;
+ return 0;
+}
+
+int print_can_0x621_BMS_Pack_Level_Measurements_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Amp_Hours_Remaining = (wire: %.0f)\n", (double)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_Amp_Hours_Remaining)));
+ r = print_helper(r, fprintf(output, "BMS_State_Of_Health = (wire: %.0f)\n", (double)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Health)));
+ r = print_helper(r, fprintf(output, "BMS_State_Of_Charge = (wire: %.0f)\n", (double)(o->can_0x621_BMS_Pack_Level_Measurements_2.BMS_State_Of_Charge)));
+ return r;
+}
+
+static int pack_can_0x622_BMS_Cell_Voltage_Summary(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Lowest_Cell_Voltage_Position: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage_Position)) & 0xffff;
+ i |= x;
+ /* BMS_Highest_Cell_Voltage_Position: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage_Position)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Lowest_Cell_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Highest_Cell_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x622_BMS_Cell_Voltage_Summary_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x622_BMS_Cell_Voltage_Summary(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Lowest_Cell_Voltage_Position: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage_Position = x;
+ /* BMS_Highest_Cell_Voltage_Position: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage_Position = x;
+ /* BMS_Lowest_Cell_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage = x;
+ /* BMS_Highest_Cell_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage = x;
+ o->can_0x622_BMS_Cell_Voltage_Summary_rx = 1;
+ o->can_0x622_BMS_Cell_Voltage_Summary_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x622_BMS_Lowest_Cell_Voltage_Position(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage_Position);
+ if (rval <= 500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x622_BMS_Lowest_Cell_Voltage_Position(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage_Position = 0;
+ if (in > 500)
+ return -1;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage_Position = in;
+ return 0;
+}
+
+int decode_can_0x622_BMS_Highest_Cell_Voltage_Position(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage_Position);
+ if (rval <= 500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x622_BMS_Highest_Cell_Voltage_Position(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage_Position = 0;
+ if (in > 500)
+ return -1;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage_Position = in;
+ return 0;
+}
+
+int decode_can_0x622_BMS_Lowest_Cell_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage);
+ rval *= 0.001;
+ if (rval <= 5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x622_BMS_Lowest_Cell_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage = 0;
+ if (in > 5)
+ return -1;
+ in *= 1000;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x622_BMS_Highest_Cell_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage);
+ rval *= 0.001;
+ if (rval <= 5) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x622_BMS_Highest_Cell_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage = 0;
+ if (in > 5)
+ return -1;
+ in *= 1000;
+ o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage = in;
+ return 0;
+}
+
+int print_can_0x622_BMS_Cell_Voltage_Summary(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Lowest_Cell_Voltage_Position = (wire: %.0f)\n", (double)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage_Position)));
+ r = print_helper(r, fprintf(output, "BMS_Highest_Cell_Voltage_Position = (wire: %.0f)\n", (double)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage_Position)));
+ r = print_helper(r, fprintf(output, "BMS_Lowest_Cell_Voltage = (wire: %.0f)\n", (double)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Lowest_Cell_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Highest_Cell_Voltage = (wire: %.0f)\n", (double)(o->can_0x622_BMS_Cell_Voltage_Summary.BMS_Highest_Cell_Voltage)));
+ return r;
+}
+
+static int pack_can_0x623_BMS_Cell_Temperature_Summary(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Lowest_Cell_Temperature_Position: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature_Position)) & 0xffff;
+ i |= x;
+ /* BMS_Highest_Cell_Temperature_Position: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature_Position)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Lowest_Cell_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Highest_Cell_Temperature: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x623_BMS_Cell_Temperature_Summary_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x623_BMS_Cell_Temperature_Summary(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Lowest_Cell_Temperature_Position: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature_Position = x;
+ /* BMS_Highest_Cell_Temperature_Position: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature_Position = x;
+ /* BMS_Lowest_Cell_Temperature: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature = x;
+ /* BMS_Highest_Cell_Temperature: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature = x;
+ o->can_0x623_BMS_Cell_Temperature_Summary_rx = 1;
+ o->can_0x623_BMS_Cell_Temperature_Summary_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x623_BMS_Lowest_Cell_Temperature_Position(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature_Position);
+ if (rval <= 500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x623_BMS_Lowest_Cell_Temperature_Position(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature_Position = 0;
+ if (in > 500)
+ return -1;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature_Position = in;
+ return 0;
+}
+
+int decode_can_0x623_BMS_Highest_Cell_Temperature_Position(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature_Position);
+ if (rval <= 500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x623_BMS_Highest_Cell_Temperature_Position(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature_Position = 0;
+ if (in > 500)
+ return -1;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature_Position = in;
+ return 0;
+}
+
+int decode_can_0x623_BMS_Lowest_Cell_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature);
+ rval *= 0.1;
+ if ((rval >= -50) && (rval <= 150)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x623_BMS_Lowest_Cell_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature = 0;
+ if (in < -50)
+ return -1;
+ if (in > 150)
+ return -1;
+ in *= 10;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature = in;
+ return 0;
+}
+
+int decode_can_0x623_BMS_Highest_Cell_Temperature(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature);
+ rval *= 0.1;
+ if ((rval >= -50) && (rval <= 150)) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x623_BMS_Highest_Cell_Temperature(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature = 0;
+ if (in < -50)
+ return -1;
+ if (in > 150)
+ return -1;
+ in *= 10;
+ o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature = in;
+ return 0;
+}
+
+int print_can_0x623_BMS_Cell_Temperature_Summary(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Lowest_Cell_Temperature_Position = (wire: %.0f)\n", (double)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature_Position)));
+ r = print_helper(r, fprintf(output, "BMS_Highest_Cell_Temperature_Position = (wire: %.0f)\n", (double)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature_Position)));
+ r = print_helper(r, fprintf(output, "BMS_Lowest_Cell_Temperature = (wire: %.0f)\n", (double)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Lowest_Cell_Temperature)));
+ r = print_helper(r, fprintf(output, "BMS_Highest_Cell_Temperature = (wire: %.0f)\n", (double)(o->can_0x623_BMS_Cell_Temperature_Summary.BMS_Highest_Cell_Temperature)));
+ return r;
+}
+
+static int pack_can_0x624_BMS_Pack_Level_Measurements_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Precharge_Voltage: start-bit 0, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint32_t)(o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Precharge_Voltage)) & 0xffffffff;
+ i |= x;
+ /* BMS_Sum_Of_Cells_Voltage: start-bit 32, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint32_t)(o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Sum_Of_Cells_Voltage)) & 0xffffffff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x624_BMS_Pack_Level_Measurements_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x624_BMS_Pack_Level_Measurements_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Precharge_Voltage: start-bit 0, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffffffff;
+ o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Precharge_Voltage = x;
+ /* BMS_Sum_Of_Cells_Voltage: start-bit 32, length 32, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffffffff;
+ o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Sum_Of_Cells_Voltage = x;
+ o->can_0x624_BMS_Pack_Level_Measurements_3_rx = 1;
+ o->can_0x624_BMS_Pack_Level_Measurements_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x624_BMS_Precharge_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Precharge_Voltage);
+ rval *= 0.001;
+ if (rval <= 1500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x624_BMS_Precharge_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Precharge_Voltage = 0;
+ if (in > 1500)
+ return -1;
+ in *= 1000;
+ o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Precharge_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x624_BMS_Sum_Of_Cells_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Sum_Of_Cells_Voltage);
+ rval *= 0.001;
+ if (rval <= 1500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x624_BMS_Sum_Of_Cells_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Sum_Of_Cells_Voltage = 0;
+ if (in > 1500)
+ return -1;
+ in *= 1000;
+ o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Sum_Of_Cells_Voltage = in;
+ return 0;
+}
+
+int print_can_0x624_BMS_Pack_Level_Measurements_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Precharge_Voltage = (wire: %.0f)\n", (double)(o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Precharge_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Sum_Of_Cells_Voltage = (wire: %.0f)\n", (double)(o->can_0x624_BMS_Pack_Level_Measurements_3.BMS_Sum_Of_Cells_Voltage)));
+ return r;
+}
+
+static int pack_can_0x630_BMS_M1_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x630_BMS_M1_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x630_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x630_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x630_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x630_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x630_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x630_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x630_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x630_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x630_BMS_M1_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x630_BMS_M1_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x631_BMS_M1_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x631_BMS_M1_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x631_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x631_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x631_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x631_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x631_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x631_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x631_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x631_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x631_BMS_M1_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x631_BMS_M1_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x632_BMS_M1_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x632_BMS_M1_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x632_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x632_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x632_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x632_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x632_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x632_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x632_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x632_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x632_BMS_M1_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x632_BMS_M1_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x633_BMS_M2_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x633_BMS_M2_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x633_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x633_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x633_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x633_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x633_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x633_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x633_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x633_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x633_BMS_M2_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x633_BMS_M2_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x634_BMS_M2_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x634_BMS_M2_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x634_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x634_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x634_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x634_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x634_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x634_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x634_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x634_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x634_BMS_M2_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x634_BMS_M2_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x635_BMS_M2_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x635_BMS_M2_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x635_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x635_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x635_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x635_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x635_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x635_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x635_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x635_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x635_BMS_M2_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x635_BMS_M2_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x636_BMS_M3_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x636_BMS_M3_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x636_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x636_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x636_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x636_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x636_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x636_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x636_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x636_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x636_BMS_M3_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x636_BMS_M3_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x637_BMS_M3_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x637_BMS_M3_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x637_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x637_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x637_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x637_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x637_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x637_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x637_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x637_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x637_BMS_M3_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x637_BMS_M3_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x638_BMS_M3_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x638_BMS_M3_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x638_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x638_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x638_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x638_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x638_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x638_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x638_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x638_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x638_BMS_M3_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x638_BMS_M3_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x639_BMS_M4_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x639_BMS_M4_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x639_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x639_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x639_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x639_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x639_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x639_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x639_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x639_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x639_BMS_M4_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x639_BMS_M4_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x63a_BMS_M4_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x63a_BMS_M4_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x63a_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63a_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63a_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63a_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63a_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63a_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63a_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63a_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x63a_BMS_M4_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x63a_BMS_M4_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x63b_BMS_M4_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x63b_BMS_M4_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x63b_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63b_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63b_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63b_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63b_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63b_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63b_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63b_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x63b_BMS_M4_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x63b_BMS_M4_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x63c_BMS_M5_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x63c_BMS_M5_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x63c_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63c_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63c_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63c_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63c_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63c_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63c_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63c_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x63c_BMS_M5_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x63c_BMS_M5_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x63d_BMS_M5_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x63d_BMS_M5_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x63d_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63d_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63d_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63d_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63d_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63d_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63d_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63d_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x63d_BMS_M5_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x63d_BMS_M5_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x63e_BMS_M5_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x63e_BMS_M5_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x63e_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63e_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63e_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63e_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63e_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63e_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63e_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63e_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x63e_BMS_M5_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x63e_BMS_M5_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x63f_BMS_M6_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x63f_BMS_M6_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x63f_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63f_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63f_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63f_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63f_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63f_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x63f_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x63f_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x63f_BMS_M6_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x63f_BMS_M6_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x640_BMS_M6_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x640_BMS_M6_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x640_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x640_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x640_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x640_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x640_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x640_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x640_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x640_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x640_BMS_M6_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x640_BMS_M6_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x641_BMS_M6_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x641_BMS_M6_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x641_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x641_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x641_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x641_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x641_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x641_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x641_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x641_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x641_BMS_M6_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x641_BMS_M6_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x642_BMS_M7_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x642_BMS_M7_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x642_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x642_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x642_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x642_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x642_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x642_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x642_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x642_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x642_BMS_M7_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x642_BMS_M7_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x643_BMS_M7_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x643_BMS_M7_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x643_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x643_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x643_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x643_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x643_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x643_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x643_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x643_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x643_BMS_M7_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x643_BMS_M7_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x644_BMS_M7_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x644_BMS_M7_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x644_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x644_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x644_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x644_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x644_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x644_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x644_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x644_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x644_BMS_M7_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x644_BMS_M7_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x645_BMS_M8_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x645_BMS_M8_Cell_Voltage_Data_1(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_4_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = x;
+ /* BMS_Cell_3_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = x;
+ /* BMS_Cell_2_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = x;
+ /* BMS_Cell_1_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = x;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1_rx = 1;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x645_BMS_Cell_4_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_4_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x645_BMS_Cell_4_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_4_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x645_BMS_Cell_3_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_3_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x645_BMS_Cell_3_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_3_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x645_BMS_Cell_2_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_2_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x645_BMS_Cell_2_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_2_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x645_BMS_Cell_1_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_1_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x645_BMS_Cell_1_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_1_Voltage = in;
+ return 0;
+}
+
+int print_can_0x645_BMS_M8_Cell_Voltage_Data_1(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_4_Voltage = (wire: %.0f)\n", (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_4_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_3_Voltage = (wire: %.0f)\n", (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_3_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_2_Voltage = (wire: %.0f)\n", (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_2_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_1_Voltage = (wire: %.0f)\n", (double)(o->can_0x645_BMS_M8_Cell_Voltage_Data_1.BMS_Cell_1_Voltage)));
+ return r;
+}
+
+static int pack_can_0x646_BMS_M8_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x646_BMS_M8_Cell_Voltage_Data_2(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_8_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = x;
+ /* BMS_Cell_7_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = x;
+ /* BMS_Cell_6_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = x;
+ /* BMS_Cell_5_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = x;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2_rx = 1;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x646_BMS_Cell_8_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_8_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x646_BMS_Cell_8_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_8_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x646_BMS_Cell_7_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_7_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x646_BMS_Cell_7_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_7_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x646_BMS_Cell_6_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_6_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x646_BMS_Cell_6_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_6_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x646_BMS_Cell_5_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_5_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x646_BMS_Cell_5_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_5_Voltage = in;
+ return 0;
+}
+
+int print_can_0x646_BMS_M8_Cell_Voltage_Data_2(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_8_Voltage = (wire: %.0f)\n", (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_8_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_7_Voltage = (wire: %.0f)\n", (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_7_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_6_Voltage = (wire: %.0f)\n", (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_6_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_5_Voltage = (wire: %.0f)\n", (double)(o->can_0x646_BMS_M8_Cell_Voltage_Data_2.BMS_Cell_5_Voltage)));
+ return r;
+}
+
+static int pack_can_0x647_BMS_M8_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)) & 0xffff;
+ i |= x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = ((uint16_t)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x647_BMS_M8_Cell_Voltage_Data_3(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Cell_12_Voltage: start-bit 0, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = i & 0xffff;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = x;
+ /* BMS_Cell_11_Voltage: start-bit 16, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = x;
+ /* BMS_Cell_10_Voltage: start-bit 32, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = x;
+ /* BMS_Cell_9_Voltage: start-bit 48, length 16, endianess intel, scaling 0.001, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = x;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3_rx = 1;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x647_BMS_Cell_12_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_12_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x647_BMS_Cell_12_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_12_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x647_BMS_Cell_11_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_11_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x647_BMS_Cell_11_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_11_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x647_BMS_Cell_10_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_10_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x647_BMS_Cell_10_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_10_Voltage = in;
+ return 0;
+}
+
+int decode_can_0x647_BMS_Cell_9_Voltage(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_9_Voltage);
+ rval *= 0.001;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x647_BMS_Cell_9_Voltage(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = 0;
+ if (in > 6)
+ return -1;
+ in *= 1000;
+ o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_9_Voltage = in;
+ return 0;
+}
+
+int print_can_0x647_BMS_M8_Cell_Voltage_Data_3(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Cell_12_Voltage = (wire: %.0f)\n", (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_12_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_11_Voltage = (wire: %.0f)\n", (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_11_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_10_Voltage = (wire: %.0f)\n", (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_10_Voltage)));
+ r = print_helper(r, fprintf(output, "BMS_Cell_9_Voltage = (wire: %.0f)\n", (double)(o->can_0x647_BMS_M8_Cell_Voltage_Data_3.BMS_Cell_9_Voltage)));
+ return r;
+}
+
+static int pack_can_0x680_BMS_M1_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x680_BMS_M1_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x680_BMS_M1_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x680_BMS_M1_Cell_Temp_Data_rx = 1;
+ o->can_0x680_BMS_M1_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x680_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x680_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x680_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x680_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x680_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x680_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x680_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x680_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x680_BMS_M1_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x680_BMS_M1_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x683_BMS_M2_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x683_BMS_M2_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x683_BMS_M2_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x683_BMS_M2_Cell_Temp_Data_rx = 1;
+ o->can_0x683_BMS_M2_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x683_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x683_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x683_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x683_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x683_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x683_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x683_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x683_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x683_BMS_M2_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x683_BMS_M2_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x686_BMS_M3_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x686_BMS_M3_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x686_BMS_M3_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x686_BMS_M3_Cell_Temp_Data_rx = 1;
+ o->can_0x686_BMS_M3_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x686_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x686_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x686_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x686_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x686_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x686_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x686_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x686_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x686_BMS_M3_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x686_BMS_M3_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x689_BMS_M4_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x689_BMS_M4_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x689_BMS_M4_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x689_BMS_M4_Cell_Temp_Data_rx = 1;
+ o->can_0x689_BMS_M4_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x689_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x689_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x689_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x689_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x689_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x689_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x689_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x689_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x689_BMS_M4_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x689_BMS_M4_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x68c_BMS_M5_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x68c_BMS_M5_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x68c_BMS_M5_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data_rx = 1;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x68c_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68c_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x68c_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68c_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x68c_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68c_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x68c_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68c_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x68c_BMS_M5_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x68c_BMS_M5_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x68f_BMS_M6_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x68f_BMS_M6_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x68f_BMS_M6_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data_rx = 1;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x68f_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68f_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x68f_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68f_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x68f_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68f_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x68f_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x68f_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x68f_BMS_M6_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x68f_BMS_M6_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x692_BMS_M7_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x692_BMS_M7_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x692_BMS_M7_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x692_BMS_M7_Cell_Temp_Data_rx = 1;
+ o->can_0x692_BMS_M7_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x692_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x692_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x692_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x692_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x692_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x692_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x692_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x692_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x692_BMS_M7_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x692_BMS_M7_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x695_BMS_M8_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_4_Temp)) & 0xffff;
+ i |= x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_3_Temp)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_2_Temp)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_1_Temp)) & 0xffff;
+ x <<= 48;
+ i |= x;
+ *data = (i);
+ o->can_0x695_BMS_M8_Cell_Temp_Data_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x695_BMS_M8_Cell_Temp_Data(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Section_4_Temp: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_4_Temp = x;
+ /* BMS_Section_3_Temp: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_3_Temp = x;
+ /* BMS_Section_2_Temp: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_2_Temp = x;
+ /* BMS_Section_1_Temp: start-bit 48, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 48) & 0xffff;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_1_Temp = x;
+ o->can_0x695_BMS_M8_Cell_Temp_Data_rx = 1;
+ o->can_0x695_BMS_M8_Cell_Temp_Data_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x695_BMS_Section_4_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_4_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x695_BMS_Section_4_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_4_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_4_Temp = in;
+ return 0;
+}
+
+int decode_can_0x695_BMS_Section_3_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_3_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x695_BMS_Section_3_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_3_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_3_Temp = in;
+ return 0;
+}
+
+int decode_can_0x695_BMS_Section_2_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_2_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x695_BMS_Section_2_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_2_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_2_Temp = in;
+ return 0;
+}
+
+int decode_can_0x695_BMS_Section_1_Temp(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_1_Temp);
+ rval *= 0.1;
+ if (rval <= 6) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (double)0;
+ return -1;
+ }
+}
+
+int encode_can_0x695_BMS_Section_1_Temp(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_1_Temp = 0;
+ if (in > 6)
+ return -1;
+ in *= 10;
+ o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_1_Temp = in;
+ return 0;
+}
+
+int print_can_0x695_BMS_M8_Cell_Temp_Data(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Section_4_Temp = (wire: %.0f)\n", (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_4_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_3_Temp = (wire: %.0f)\n", (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_3_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_2_Temp = (wire: %.0f)\n", (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_2_Temp)));
+ r = print_helper(r, fprintf(output, "BMS_Section_1_Temp = (wire: %.0f)\n", (double)(o->can_0x695_BMS_M8_Cell_Temp_Data.BMS_Section_1_Temp)));
+ return r;
+}
+
+static int pack_can_0x6fc_BMS_Configuration_Information(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Number_Of_Thermistors_Configured: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Thermistors_Configured)) & 0xffff;
+ i |= x;
+ /* BMS_Number_Of_Cells_Configured: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = ((uint16_t)(o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Cells_Configured)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x6fc_BMS_Configuration_Information_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x6fc_BMS_Configuration_Information(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Number_Of_Thermistors_Configured: start-bit 0, length 16, endianess intel, scaling 1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Thermistors_Configured = x;
+ /* BMS_Number_Of_Cells_Configured: start-bit 16, length 16, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Cells_Configured = x;
+ o->can_0x6fc_BMS_Configuration_Information_rx = 1;
+ o->can_0x6fc_BMS_Configuration_Information_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x6fc_BMS_Number_Of_Thermistors_Configured(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Thermistors_Configured);
+ if (rval <= 500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x6fc_BMS_Number_Of_Thermistors_Configured(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Thermistors_Configured = 0;
+ if (in > 500)
+ return -1;
+ o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Thermistors_Configured = in;
+ return 0;
+}
+
+int decode_can_0x6fc_BMS_Number_Of_Cells_Configured(const can_obj_all_sre_edited_h_t *o, uint16_t *out) {
+ assert(o);
+ assert(out);
+ uint16_t rval = (uint16_t)(o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Cells_Configured);
+ if (rval <= 500) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint16_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x6fc_BMS_Number_Of_Cells_Configured(can_obj_all_sre_edited_h_t *o, uint16_t in) {
+ assert(o);
+ o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Cells_Configured = 0;
+ if (in > 500)
+ return -1;
+ o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Cells_Configured = in;
+ return 0;
+}
+
+int print_can_0x6fc_BMS_Configuration_Information(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Number_Of_Thermistors_Configured = (wire: %.0f)\n", (double)(o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Thermistors_Configured)));
+ r = print_helper(r, fprintf(output, "BMS_Number_Of_Cells_Configured = (wire: %.0f)\n", (double)(o->can_0x6fc_BMS_Configuration_Information.BMS_Number_Of_Cells_Configured)));
+ return r;
+}
+
+static int pack_can_0x6fe_BMS_Firmware_Version_Information(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* BMS_Revision_Number: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Revision_Number)) & 0xff;
+ i |= x;
+ /* BMS_Minor_Version_Number: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Minor_Version_Number)) & 0xff;
+ x <<= 8;
+ i |= x;
+ /* BMS_Major_Version_Number: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Major_Version_Number)) & 0xff;
+ x <<= 16;
+ i |= x;
+ *data = (i);
+ o->can_0x6fe_BMS_Firmware_Version_Information_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x6fe_BMS_Firmware_Version_Information(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* BMS_Revision_Number: start-bit 0, length 8, endianess intel, scaling 1, offset 0 */
+ x = i & 0xff;
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Revision_Number = x;
+ /* BMS_Minor_Version_Number: start-bit 8, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 8) & 0xff;
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Minor_Version_Number = x;
+ /* BMS_Major_Version_Number: start-bit 16, length 8, endianess intel, scaling 1, offset 0 */
+ x = (i >> 16) & 0xff;
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Major_Version_Number = x;
+ o->can_0x6fe_BMS_Firmware_Version_Information_rx = 1;
+ o->can_0x6fe_BMS_Firmware_Version_Information_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x6fe_BMS_Revision_Number(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Revision_Number);
+ if (rval <= 200) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x6fe_BMS_Revision_Number(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Revision_Number = 0;
+ if (in > 200)
+ return -1;
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Revision_Number = in;
+ return 0;
+}
+
+int decode_can_0x6fe_BMS_Minor_Version_Number(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Minor_Version_Number);
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x6fe_BMS_Minor_Version_Number(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Minor_Version_Number = 0;
+ if (in > 100)
+ return -1;
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Minor_Version_Number = in;
+ return 0;
+}
+
+int decode_can_0x6fe_BMS_Major_Version_Number(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Major_Version_Number);
+ if (rval <= 100) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x6fe_BMS_Major_Version_Number(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Major_Version_Number = 0;
+ if (in > 100)
+ return -1;
+ o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Major_Version_Number = in;
+ return 0;
+}
+
+int print_can_0x6fe_BMS_Firmware_Version_Information(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "BMS_Revision_Number = (wire: %.0f)\n", (double)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Revision_Number)));
+ r = print_helper(r, fprintf(output, "BMS_Minor_Version_Number = (wire: %.0f)\n", (double)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Minor_Version_Number)));
+ r = print_helper(r, fprintf(output, "BMS_Major_Version_Number = (wire: %.0f)\n", (double)(o->can_0x6fe_BMS_Firmware_Version_Information.BMS_Major_Version_Number)));
+ return r;
+}
+
+static int pack_can_0x702_MCM_RegenModeICSent(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* RegenMode: start-bit 0, length 3, endianess intel, scaling 1, offset 0 */
+ x = ((uint8_t)(o->can_0x702_MCM_RegenModeICSent.RegenMode)) & 0x7;
+ i |= x;
+ *data = (i);
+ o->can_0x702_MCM_RegenModeICSent_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x702_MCM_RegenModeICSent(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* RegenMode: start-bit 0, length 3, endianess intel, scaling 1, offset 0 */
+ x = i & 0x7;
+ o->can_0x702_MCM_RegenModeICSent.RegenMode = x;
+ o->can_0x702_MCM_RegenModeICSent_rx = 1;
+ o->can_0x702_MCM_RegenModeICSent_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x702_RegenMode(const can_obj_all_sre_edited_h_t *o, uint8_t *out) {
+ assert(o);
+ assert(out);
+ uint8_t rval = (uint8_t)(o->can_0x702_MCM_RegenModeICSent.RegenMode);
+ if (rval <= 3) {
+ *out = rval;
+ return 0;
+ } else {
+ *out = (uint8_t)0;
+ return -1;
+ }
+}
+
+int encode_can_0x702_RegenMode(can_obj_all_sre_edited_h_t *o, uint8_t in) {
+ assert(o);
+ o->can_0x702_MCM_RegenModeICSent.RegenMode = 0;
+ if (in > 3)
+ return -1;
+ o->can_0x702_MCM_RegenModeICSent.RegenMode = in;
+ return 0;
+}
+
+int print_can_0x702_MCM_RegenModeICSent(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "RegenMode = (wire: %.0f)\n", (double)(o->can_0x702_MCM_RegenModeICSent.RegenMode)));
+ return r;
+}
+
+static int pack_can_0x710_S2C_PressureTabs(can_obj_all_sre_edited_h_t *o, uint64_t *data) {
+ assert(o);
+ assert(data);
+ register uint64_t x;
+ register uint64_t i = 0;
+ /* Wind_Speed: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x710_S2C_PressureTabs.Wind_Speed)) & 0xffff;
+ i |= x;
+ /* Pitot_Tube1: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x710_S2C_PressureTabs.Pitot_Tube1)) & 0xffff;
+ x <<= 16;
+ i |= x;
+ /* Pitot_Tube2: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = ((uint16_t)(o->can_0x710_S2C_PressureTabs.Pitot_Tube2)) & 0xffff;
+ x <<= 32;
+ i |= x;
+ *data = (i);
+ o->can_0x710_S2C_PressureTabs_tx = 1;
+ return 8;
+}
+
+static int unpack_can_0x710_S2C_PressureTabs(can_obj_all_sre_edited_h_t *o, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(dlc <= 8);
+ register uint64_t x;
+ register uint64_t i = (data);
+ if (dlc < 8)
+ return -1;
+ /* Wind_Speed: start-bit 0, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = i & 0xffff;
+ o->can_0x710_S2C_PressureTabs.Wind_Speed = x;
+ /* Pitot_Tube1: start-bit 16, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 16) & 0xffff;
+ o->can_0x710_S2C_PressureTabs.Pitot_Tube1 = x;
+ /* Pitot_Tube2: start-bit 32, length 16, endianess intel, scaling 0.1, offset 0 */
+ x = (i >> 32) & 0xffff;
+ o->can_0x710_S2C_PressureTabs.Pitot_Tube2 = x;
+ o->can_0x710_S2C_PressureTabs_rx = 1;
+ o->can_0x710_S2C_PressureTabs_time_stamp_rx = time_stamp;
+ return 8;
+}
+
+int decode_can_0x710_Wind_Speed(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x710_S2C_PressureTabs.Wind_Speed);
+ rval *= 0.1;
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x710_Wind_Speed(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ in *= 10;
+ o->can_0x710_S2C_PressureTabs.Wind_Speed = in;
+ return 0;
+}
+
+int decode_can_0x710_Pitot_Tube1(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x710_S2C_PressureTabs.Pitot_Tube1);
+ rval *= 0.1;
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x710_Pitot_Tube1(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ in *= 10;
+ o->can_0x710_S2C_PressureTabs.Pitot_Tube1 = in;
+ return 0;
+}
+
+int decode_can_0x710_Pitot_Tube2(const can_obj_all_sre_edited_h_t *o, double *out) {
+ assert(o);
+ assert(out);
+ double rval = (double)(o->can_0x710_S2C_PressureTabs.Pitot_Tube2);
+ rval *= 0.1;
+ *out = rval;
+ return 0;
+}
+
+int encode_can_0x710_Pitot_Tube2(can_obj_all_sre_edited_h_t *o, double in) {
+ assert(o);
+ in *= 10;
+ o->can_0x710_S2C_PressureTabs.Pitot_Tube2 = in;
+ return 0;
+}
+
+int print_can_0x710_S2C_PressureTabs(const can_obj_all_sre_edited_h_t *o, FILE *output) {
+ assert(o);
+ assert(output);
+ int r = 0;
+ r = print_helper(r, fprintf(output, "Wind_Speed = (wire: %.0f)\n", (double)(o->can_0x710_S2C_PressureTabs.Wind_Speed)));
+ r = print_helper(r, fprintf(output, "Pitot_Tube1 = (wire: %.0f)\n", (double)(o->can_0x710_S2C_PressureTabs.Pitot_Tube1)));
+ r = print_helper(r, fprintf(output, "Pitot_Tube2 = (wire: %.0f)\n", (double)(o->can_0x710_S2C_PressureTabs.Pitot_Tube2)));
+ return r;
+}
+
+int unpack_message(can_obj_all_sre_edited_h_t *o, const unsigned long id, uint64_t data, uint8_t dlc, dbcc_time_stamp_t time_stamp) {
+ assert(o);
+ assert(id < (1ul << 29)); /* 29-bit CAN ID is largest possible */
+ assert(dlc <= 8); /* Maximum of 8 bytes in a CAN packet */
+ switch (id) {
+ case 0x0a0: return unpack_can_0x0a0_MCM_Temperature_Set_1(o, data, dlc, time_stamp);
+ case 0x0a1: return unpack_can_0x0a1_MCM_Temperature_Set_2(o, data, dlc, time_stamp);
+ case 0x0a2: return unpack_can_0x0a2_MCM_Temperature_Set_3(o, data, dlc, time_stamp);
+ case 0x0a3: return unpack_can_0x0a3_MCM_Analog_Input_Voltages(o, data, dlc, time_stamp);
+ case 0x0a4: return unpack_can_0x0a4_MCM_Digital_Input_Status(o, data, dlc, time_stamp);
+ case 0x0a5: return unpack_can_0x0a5_MCM_Motor_Position_Info(o, data, dlc, time_stamp);
+ case 0x0a6: return unpack_can_0x0a6_MCM_Current_Info(o, data, dlc, time_stamp);
+ case 0x0a7: return unpack_can_0x0a7_MCM_Voltage_Info(o, data, dlc, time_stamp);
+ case 0x0a8: return unpack_can_0x0a8_MCM_Flux_ID_IQ_Info(o, data, dlc, time_stamp);
+ case 0x0a9: return unpack_can_0x0a9_MCM_Internal_Voltages(o, data, dlc, time_stamp);
+ case 0x0aa: return unpack_can_0x0aa_MCM_Internal_States(o, data, dlc, time_stamp);
+ case 0x0ab: return unpack_can_0x0ab_MCM_Fault_Codes(o, data, dlc, time_stamp);
+ case 0x0ac: return unpack_can_0x0ac_MCM_Torque_And_Timer_Info(o, data, dlc, time_stamp);
+ case 0x0ad: return unpack_can_0x0ad_MCM_Modulation_And_Flux_Info(o, data, dlc, time_stamp);
+ case 0x0ae: return unpack_can_0x0ae_MCM_Firmware_Info(o, data, dlc, time_stamp);
+ case 0x0af: return unpack_can_0x0af_MCM_Diag_Data(o, data, dlc, time_stamp);
+ case 0x0c0: return unpack_can_0x0c0_MCM_Command_Messages(o, data, dlc, time_stamp);
+ case 0x0c1: return unpack_can_0x0c1_MCM_Read_Write_Param_Command(o, data, dlc, time_stamp);
+ case 0x0c2: return unpack_can_0x0c2_MCM_Read_Write_Param_Response(o, data, dlc, time_stamp);
+ case 0x100: return unpack_can_0x100_EMeter_Measurement(o, data, dlc, time_stamp);
+ case 0x1d5: return unpack_can_0x1d5_MCM_U2C_Message_Rxd(o, data, dlc, time_stamp);
+ case 0x1d7: return unpack_can_0x1d7_MCM_U2C_Command_Txd(o, data, dlc, time_stamp);
+ case 0x400: return unpack_can_0x400_EMeter_Status(o, data, dlc, time_stamp);
+ case 0x4b0: return unpack_can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4(o, data, dlc, time_stamp);
+ case 0x4b1: return unpack_can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8(o, data, dlc, time_stamp);
+ case 0x4b2: return unpack_can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12(o, data, dlc, time_stamp);
+ case 0x4b3: return unpack_can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16(o, data, dlc, time_stamp);
+ case 0x4b4: return unpack_can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4(o, data, dlc, time_stamp);
+ case 0x4b5: return unpack_can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8(o, data, dlc, time_stamp);
+ case 0x4b6: return unpack_can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12(o, data, dlc, time_stamp);
+ case 0x4b7: return unpack_can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16(o, data, dlc, time_stamp);
+ case 0x4b8: return unpack_can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4(o, data, dlc, time_stamp);
+ case 0x4b9: return unpack_can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8(o, data, dlc, time_stamp);
+ case 0x4ba: return unpack_can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12(o, data, dlc, time_stamp);
+ case 0x4bb: return unpack_can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16(o, data, dlc, time_stamp);
+ case 0x4bc: return unpack_can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4(o, data, dlc, time_stamp);
+ case 0x4bd: return unpack_can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8(o, data, dlc, time_stamp);
+ case 0x4be: return unpack_can_0x4be_DAQ_RR_Tire_Temp_Ch9_12(o, data, dlc, time_stamp);
+ case 0x4bf: return unpack_can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16(o, data, dlc, time_stamp);
+ case 0x500: return unpack_can_0x500_VCU_TPS0(o, data, dlc, time_stamp);
+ case 0x501: return unpack_can_0x501_VCU_TPS1(o, data, dlc, time_stamp);
+ case 0x502: return unpack_can_0x502_VCU_BPS0(o, data, dlc, time_stamp);
+ case 0x504: return unpack_can_0x504_VCU_WSS(o, data, dlc, time_stamp);
+ case 0x505: return unpack_can_0x505_VCU_WSS_Smooth(o, data, dlc, time_stamp);
+ case 0x506: return unpack_can_0x506_VCU_Safety_Checker(o, data, dlc, time_stamp);
+ case 0x507: return unpack_can_0x507_Low_Voltage(o, data, dlc, time_stamp);
+ case 0x508: return unpack_can_0x508_VCU_Regen_Settings(o, data, dlc, time_stamp);
+ case 0x509: return unpack_can_0x509_MCM_RTD_HVIL(o, data, dlc, time_stamp);
+ case 0x50a: return unpack_can_0x50a_Ground_Speed(o, data, dlc, time_stamp);
+ case 0x50c: return unpack_can_0x50c_Launch_Control_Additional_Information(o, data, dlc, time_stamp);
+ case 0x50d: return unpack_can_0x50d_VCU_BPS1(o, data, dlc, time_stamp);
+ case 0x50e: return unpack_can_0x50e_VCU_BMS_Debug_1(o, data, dlc, time_stamp);
+ case 0x50f: return unpack_can_0x50f_VCU_BMS_Debug_2(o, data, dlc, time_stamp);
+ case 0x510: return unpack_can_0x510_VCU_80kW_Debug(o, data, dlc, time_stamp);
+ case 0x511: return unpack_can_0x511_VCU_Power_Limit_Overview(o, data, dlc, time_stamp);
+ case 0x512: return unpack_can_0x512_VCU_Power_Limit_PID_Output_Details(o, data, dlc, time_stamp);
+ case 0x513: return unpack_can_0x513_VCU_Power_Limit_LUT_Parameters(o, data, dlc, time_stamp);
+ case 0x514: return unpack_can_0x514_VCU_Power_Limit_PID_Information(o, data, dlc, time_stamp);
+ case 0x515: return unpack_can_0x515_DRS_SAS(o, data, dlc, time_stamp);
+ case 0x5ff: return unpack_can_0x5ff_Enable_Inverter(o, data, dlc, time_stamp);
+ case 0x600: return unpack_can_0x600_BMS_State_Command(o, data, dlc, time_stamp);
+ case 0x602: return unpack_can_0x602_BMS_Master_Faults(o, data, dlc, time_stamp);
+ case 0x604: return unpack_can_0x604_BMS_Master_Warnings(o, data, dlc, time_stamp);
+ case 0x610: return unpack_can_0x610_BMS_Master_System_Status(o, data, dlc, time_stamp);
+ case 0x611: return unpack_can_0x611_BMS_Pack_Safe_OE(o, data, dlc, time_stamp);
+ case 0x612: return unpack_can_0x612_BMS_Master_Local_Board_Measurements(o, data, dlc, time_stamp);
+ case 0x620: return unpack_can_0x620_BMS_Pack_Level_Measurements_1(o, data, dlc, time_stamp);
+ case 0x621: return unpack_can_0x621_BMS_Pack_Level_Measurements_2(o, data, dlc, time_stamp);
+ case 0x622: return unpack_can_0x622_BMS_Cell_Voltage_Summary(o, data, dlc, time_stamp);
+ case 0x623: return unpack_can_0x623_BMS_Cell_Temperature_Summary(o, data, dlc, time_stamp);
+ case 0x624: return unpack_can_0x624_BMS_Pack_Level_Measurements_3(o, data, dlc, time_stamp);
+ case 0x630: return unpack_can_0x630_BMS_M1_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x631: return unpack_can_0x631_BMS_M1_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x632: return unpack_can_0x632_BMS_M1_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x633: return unpack_can_0x633_BMS_M2_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x634: return unpack_can_0x634_BMS_M2_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x635: return unpack_can_0x635_BMS_M2_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x636: return unpack_can_0x636_BMS_M3_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x637: return unpack_can_0x637_BMS_M3_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x638: return unpack_can_0x638_BMS_M3_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x639: return unpack_can_0x639_BMS_M4_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x63a: return unpack_can_0x63a_BMS_M4_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x63b: return unpack_can_0x63b_BMS_M4_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x63c: return unpack_can_0x63c_BMS_M5_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x63d: return unpack_can_0x63d_BMS_M5_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x63e: return unpack_can_0x63e_BMS_M5_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x63f: return unpack_can_0x63f_BMS_M6_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x640: return unpack_can_0x640_BMS_M6_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x641: return unpack_can_0x641_BMS_M6_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x642: return unpack_can_0x642_BMS_M7_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x643: return unpack_can_0x643_BMS_M7_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x644: return unpack_can_0x644_BMS_M7_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x645: return unpack_can_0x645_BMS_M8_Cell_Voltage_Data_1(o, data, dlc, time_stamp);
+ case 0x646: return unpack_can_0x646_BMS_M8_Cell_Voltage_Data_2(o, data, dlc, time_stamp);
+ case 0x647: return unpack_can_0x647_BMS_M8_Cell_Voltage_Data_3(o, data, dlc, time_stamp);
+ case 0x680: return unpack_can_0x680_BMS_M1_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x683: return unpack_can_0x683_BMS_M2_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x686: return unpack_can_0x686_BMS_M3_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x689: return unpack_can_0x689_BMS_M4_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x68c: return unpack_can_0x68c_BMS_M5_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x68f: return unpack_can_0x68f_BMS_M6_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x692: return unpack_can_0x692_BMS_M7_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x695: return unpack_can_0x695_BMS_M8_Cell_Temp_Data(o, data, dlc, time_stamp);
+ case 0x6fc: return unpack_can_0x6fc_BMS_Configuration_Information(o, data, dlc, time_stamp);
+ case 0x6fe: return unpack_can_0x6fe_BMS_Firmware_Version_Information(o, data, dlc, time_stamp);
+ case 0x702: return unpack_can_0x702_MCM_RegenModeICSent(o, data, dlc, time_stamp);
+ case 0x710: return unpack_can_0x710_S2C_PressureTabs(o, data, dlc, time_stamp);
+ default: break;
+ }
+ return -1;
+}
+
+int pack_message(can_obj_all_sre_edited_h_t *o, const unsigned long id, uint64_t *data) {
+ assert(o);
+ assert(id < (1ul << 29)); /* 29-bit CAN ID is largest possible */
+ switch (id) {
+ case 0x0a0: return pack_can_0x0a0_MCM_Temperature_Set_1(o, data);
+ case 0x0a1: return pack_can_0x0a1_MCM_Temperature_Set_2(o, data);
+ case 0x0a2: return pack_can_0x0a2_MCM_Temperature_Set_3(o, data);
+ case 0x0a3: return pack_can_0x0a3_MCM_Analog_Input_Voltages(o, data);
+ case 0x0a4: return pack_can_0x0a4_MCM_Digital_Input_Status(o, data);
+ case 0x0a5: return pack_can_0x0a5_MCM_Motor_Position_Info(o, data);
+ case 0x0a6: return pack_can_0x0a6_MCM_Current_Info(o, data);
+ case 0x0a7: return pack_can_0x0a7_MCM_Voltage_Info(o, data);
+ case 0x0a8: return pack_can_0x0a8_MCM_Flux_ID_IQ_Info(o, data);
+ case 0x0a9: return pack_can_0x0a9_MCM_Internal_Voltages(o, data);
+ case 0x0aa: return pack_can_0x0aa_MCM_Internal_States(o, data);
+ case 0x0ab: return pack_can_0x0ab_MCM_Fault_Codes(o, data);
+ case 0x0ac: return pack_can_0x0ac_MCM_Torque_And_Timer_Info(o, data);
+ case 0x0ad: return pack_can_0x0ad_MCM_Modulation_And_Flux_Info(o, data);
+ case 0x0ae: return pack_can_0x0ae_MCM_Firmware_Info(o, data);
+ case 0x0af: return pack_can_0x0af_MCM_Diag_Data(o, data);
+ case 0x0c0: return pack_can_0x0c0_MCM_Command_Messages(o, data);
+ case 0x0c1: return pack_can_0x0c1_MCM_Read_Write_Param_Command(o, data);
+ case 0x0c2: return pack_can_0x0c2_MCM_Read_Write_Param_Response(o, data);
+ case 0x100: return pack_can_0x100_EMeter_Measurement(o, data);
+ case 0x1d5: return pack_can_0x1d5_MCM_U2C_Message_Rxd(o, data);
+ case 0x1d7: return pack_can_0x1d7_MCM_U2C_Command_Txd(o, data);
+ case 0x400: return pack_can_0x400_EMeter_Status(o, data);
+ case 0x4b0: return pack_can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4(o, data);
+ case 0x4b1: return pack_can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8(o, data);
+ case 0x4b2: return pack_can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12(o, data);
+ case 0x4b3: return pack_can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16(o, data);
+ case 0x4b4: return pack_can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4(o, data);
+ case 0x4b5: return pack_can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8(o, data);
+ case 0x4b6: return pack_can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12(o, data);
+ case 0x4b7: return pack_can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16(o, data);
+ case 0x4b8: return pack_can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4(o, data);
+ case 0x4b9: return pack_can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8(o, data);
+ case 0x4ba: return pack_can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12(o, data);
+ case 0x4bb: return pack_can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16(o, data);
+ case 0x4bc: return pack_can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4(o, data);
+ case 0x4bd: return pack_can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8(o, data);
+ case 0x4be: return pack_can_0x4be_DAQ_RR_Tire_Temp_Ch9_12(o, data);
+ case 0x4bf: return pack_can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16(o, data);
+ case 0x500: return pack_can_0x500_VCU_TPS0(o, data);
+ case 0x501: return pack_can_0x501_VCU_TPS1(o, data);
+ case 0x502: return pack_can_0x502_VCU_BPS0(o, data);
+ case 0x504: return pack_can_0x504_VCU_WSS(o, data);
+ case 0x505: return pack_can_0x505_VCU_WSS_Smooth(o, data);
+ case 0x506: return pack_can_0x506_VCU_Safety_Checker(o, data);
+ case 0x507: return pack_can_0x507_Low_Voltage(o, data);
+ case 0x508: return pack_can_0x508_VCU_Regen_Settings(o, data);
+ case 0x509: return pack_can_0x509_MCM_RTD_HVIL(o, data);
+ case 0x50a: return pack_can_0x50a_Ground_Speed(o, data);
+ case 0x50c: return pack_can_0x50c_Launch_Control_Additional_Information(o, data);
+ case 0x50d: return pack_can_0x50d_VCU_BPS1(o, data);
+ case 0x50e: return pack_can_0x50e_VCU_BMS_Debug_1(o, data);
+ case 0x50f: return pack_can_0x50f_VCU_BMS_Debug_2(o, data);
+ case 0x510: return pack_can_0x510_VCU_80kW_Debug(o, data);
+ case 0x511: return pack_can_0x511_VCU_Power_Limit_Overview(o, data);
+ case 0x512: return pack_can_0x512_VCU_Power_Limit_PID_Output_Details(o, data);
+ case 0x513: return pack_can_0x513_VCU_Power_Limit_LUT_Parameters(o, data);
+ case 0x514: return pack_can_0x514_VCU_Power_Limit_PID_Information(o, data);
+ case 0x515: return pack_can_0x515_DRS_SAS(o, data);
+ case 0x5ff: return pack_can_0x5ff_Enable_Inverter(o, data);
+ case 0x600: return pack_can_0x600_BMS_State_Command(o, data);
+ case 0x602: return pack_can_0x602_BMS_Master_Faults(o, data);
+ case 0x604: return pack_can_0x604_BMS_Master_Warnings(o, data);
+ case 0x610: return pack_can_0x610_BMS_Master_System_Status(o, data);
+ case 0x611: return pack_can_0x611_BMS_Pack_Safe_OE(o, data);
+ case 0x612: return pack_can_0x612_BMS_Master_Local_Board_Measurements(o, data);
+ case 0x620: return pack_can_0x620_BMS_Pack_Level_Measurements_1(o, data);
+ case 0x621: return pack_can_0x621_BMS_Pack_Level_Measurements_2(o, data);
+ case 0x622: return pack_can_0x622_BMS_Cell_Voltage_Summary(o, data);
+ case 0x623: return pack_can_0x623_BMS_Cell_Temperature_Summary(o, data);
+ case 0x624: return pack_can_0x624_BMS_Pack_Level_Measurements_3(o, data);
+ case 0x630: return pack_can_0x630_BMS_M1_Cell_Voltage_Data_1(o, data);
+ case 0x631: return pack_can_0x631_BMS_M1_Cell_Voltage_Data_2(o, data);
+ case 0x632: return pack_can_0x632_BMS_M1_Cell_Voltage_Data_3(o, data);
+ case 0x633: return pack_can_0x633_BMS_M2_Cell_Voltage_Data_1(o, data);
+ case 0x634: return pack_can_0x634_BMS_M2_Cell_Voltage_Data_2(o, data);
+ case 0x635: return pack_can_0x635_BMS_M2_Cell_Voltage_Data_3(o, data);
+ case 0x636: return pack_can_0x636_BMS_M3_Cell_Voltage_Data_1(o, data);
+ case 0x637: return pack_can_0x637_BMS_M3_Cell_Voltage_Data_2(o, data);
+ case 0x638: return pack_can_0x638_BMS_M3_Cell_Voltage_Data_3(o, data);
+ case 0x639: return pack_can_0x639_BMS_M4_Cell_Voltage_Data_1(o, data);
+ case 0x63a: return pack_can_0x63a_BMS_M4_Cell_Voltage_Data_2(o, data);
+ case 0x63b: return pack_can_0x63b_BMS_M4_Cell_Voltage_Data_3(o, data);
+ case 0x63c: return pack_can_0x63c_BMS_M5_Cell_Voltage_Data_1(o, data);
+ case 0x63d: return pack_can_0x63d_BMS_M5_Cell_Voltage_Data_2(o, data);
+ case 0x63e: return pack_can_0x63e_BMS_M5_Cell_Voltage_Data_3(o, data);
+ case 0x63f: return pack_can_0x63f_BMS_M6_Cell_Voltage_Data_1(o, data);
+ case 0x640: return pack_can_0x640_BMS_M6_Cell_Voltage_Data_2(o, data);
+ case 0x641: return pack_can_0x641_BMS_M6_Cell_Voltage_Data_3(o, data);
+ case 0x642: return pack_can_0x642_BMS_M7_Cell_Voltage_Data_1(o, data);
+ case 0x643: return pack_can_0x643_BMS_M7_Cell_Voltage_Data_2(o, data);
+ case 0x644: return pack_can_0x644_BMS_M7_Cell_Voltage_Data_3(o, data);
+ case 0x645: return pack_can_0x645_BMS_M8_Cell_Voltage_Data_1(o, data);
+ case 0x646: return pack_can_0x646_BMS_M8_Cell_Voltage_Data_2(o, data);
+ case 0x647: return pack_can_0x647_BMS_M8_Cell_Voltage_Data_3(o, data);
+ case 0x680: return pack_can_0x680_BMS_M1_Cell_Temp_Data(o, data);
+ case 0x683: return pack_can_0x683_BMS_M2_Cell_Temp_Data(o, data);
+ case 0x686: return pack_can_0x686_BMS_M3_Cell_Temp_Data(o, data);
+ case 0x689: return pack_can_0x689_BMS_M4_Cell_Temp_Data(o, data);
+ case 0x68c: return pack_can_0x68c_BMS_M5_Cell_Temp_Data(o, data);
+ case 0x68f: return pack_can_0x68f_BMS_M6_Cell_Temp_Data(o, data);
+ case 0x692: return pack_can_0x692_BMS_M7_Cell_Temp_Data(o, data);
+ case 0x695: return pack_can_0x695_BMS_M8_Cell_Temp_Data(o, data);
+ case 0x6fc: return pack_can_0x6fc_BMS_Configuration_Information(o, data);
+ case 0x6fe: return pack_can_0x6fe_BMS_Firmware_Version_Information(o, data);
+ case 0x702: return pack_can_0x702_MCM_RegenModeICSent(o, data);
+ case 0x710: return pack_can_0x710_S2C_PressureTabs(o, data);
+ default: break;
+ }
+ return -1;
+}
+
+int print_message(const can_obj_all_sre_edited_h_t *o, const unsigned long id, FILE *output) {
+ assert(o);
+ assert(id < (1ul << 29)); /* 29-bit CAN ID is largest possible */
+ assert(output);
+ switch (id) {
+ case 0x0a0: return print_can_0x0a0_MCM_Temperature_Set_1(o, output);
+ case 0x0a1: return print_can_0x0a1_MCM_Temperature_Set_2(o, output);
+ case 0x0a2: return print_can_0x0a2_MCM_Temperature_Set_3(o, output);
+ case 0x0a3: return print_can_0x0a3_MCM_Analog_Input_Voltages(o, output);
+ case 0x0a4: return print_can_0x0a4_MCM_Digital_Input_Status(o, output);
+ case 0x0a5: return print_can_0x0a5_MCM_Motor_Position_Info(o, output);
+ case 0x0a6: return print_can_0x0a6_MCM_Current_Info(o, output);
+ case 0x0a7: return print_can_0x0a7_MCM_Voltage_Info(o, output);
+ case 0x0a8: return print_can_0x0a8_MCM_Flux_ID_IQ_Info(o, output);
+ case 0x0a9: return print_can_0x0a9_MCM_Internal_Voltages(o, output);
+ case 0x0aa: return print_can_0x0aa_MCM_Internal_States(o, output);
+ case 0x0ab: return print_can_0x0ab_MCM_Fault_Codes(o, output);
+ case 0x0ac: return print_can_0x0ac_MCM_Torque_And_Timer_Info(o, output);
+ case 0x0ad: return print_can_0x0ad_MCM_Modulation_And_Flux_Info(o, output);
+ case 0x0ae: return print_can_0x0ae_MCM_Firmware_Info(o, output);
+ case 0x0af: return print_can_0x0af_MCM_Diag_Data(o, output);
+ case 0x0c0: return print_can_0x0c0_MCM_Command_Messages(o, output);
+ case 0x0c1: return print_can_0x0c1_MCM_Read_Write_Param_Command(o, output);
+ case 0x0c2: return print_can_0x0c2_MCM_Read_Write_Param_Response(o, output);
+ case 0x100: return print_can_0x100_EMeter_Measurement(o, output);
+ case 0x1d5: return print_can_0x1d5_MCM_U2C_Message_Rxd(o, output);
+ case 0x1d7: return print_can_0x1d7_MCM_U2C_Command_Txd(o, output);
+ case 0x400: return print_can_0x400_EMeter_Status(o, output);
+ case 0x4b0: return print_can_0x4b0_DAQ_LF_Tire_Temp_Ch1_4(o, output);
+ case 0x4b1: return print_can_0x4b1_DAQ_LF_Tire_Temp_Ch5_8(o, output);
+ case 0x4b2: return print_can_0x4b2_DAQ_LF_Tire_Temp_Ch9_12(o, output);
+ case 0x4b3: return print_can_0x4b3_DAQ_LF_Tire_Temp_Ch13_16(o, output);
+ case 0x4b4: return print_can_0x4b4_DAQ_RF_Tire_Temp_Ch1_4(o, output);
+ case 0x4b5: return print_can_0x4b5_DAQ_RF_Tire_Temp_Ch5_8(o, output);
+ case 0x4b6: return print_can_0x4b6_DAQ_RF_Tire_Temp_Ch9_12(o, output);
+ case 0x4b7: return print_can_0x4b7_DAQ_RF_Tire_Temp_Ch13_16(o, output);
+ case 0x4b8: return print_can_0x4b8_DAQ_LR_Tire_Temp_Ch1_4(o, output);
+ case 0x4b9: return print_can_0x4b9_DAQ_LR_Tire_Temp_Ch5_8(o, output);
+ case 0x4ba: return print_can_0x4ba_DAQ_LR_Tire_Temp_Ch9_12(o, output);
+ case 0x4bb: return print_can_0x4bb_DAQ_LR_Tire_Temp_Ch13_16(o, output);
+ case 0x4bc: return print_can_0x4bc_DAQ_RR_Tire_Temp_Ch1_4(o, output);
+ case 0x4bd: return print_can_0x4bd_DAQ_RR_Tire_Temp_Ch5_8(o, output);
+ case 0x4be: return print_can_0x4be_DAQ_RR_Tire_Temp_Ch9_12(o, output);
+ case 0x4bf: return print_can_0x4bf_DAQ_RR_Tire_Temp_Ch13_16(o, output);
+ case 0x500: return print_can_0x500_VCU_TPS0(o, output);
+ case 0x501: return print_can_0x501_VCU_TPS1(o, output);
+ case 0x502: return print_can_0x502_VCU_BPS0(o, output);
+ case 0x504: return print_can_0x504_VCU_WSS(o, output);
+ case 0x505: return print_can_0x505_VCU_WSS_Smooth(o, output);
+ case 0x506: return print_can_0x506_VCU_Safety_Checker(o, output);
+ case 0x507: return print_can_0x507_Low_Voltage(o, output);
+ case 0x508: return print_can_0x508_VCU_Regen_Settings(o, output);
+ case 0x509: return print_can_0x509_MCM_RTD_HVIL(o, output);
+ case 0x50a: return print_can_0x50a_Ground_Speed(o, output);
+ case 0x50c: return print_can_0x50c_Launch_Control_Additional_Information(o, output);
+ case 0x50d: return print_can_0x50d_VCU_BPS1(o, output);
+ case 0x50e: return print_can_0x50e_VCU_BMS_Debug_1(o, output);
+ case 0x50f: return print_can_0x50f_VCU_BMS_Debug_2(o, output);
+ case 0x510: return print_can_0x510_VCU_80kW_Debug(o, output);
+ case 0x511: return print_can_0x511_VCU_Power_Limit_Overview(o, output);
+ case 0x512: return print_can_0x512_VCU_Power_Limit_PID_Output_Details(o, output);
+ case 0x513: return print_can_0x513_VCU_Power_Limit_LUT_Parameters(o, output);
+ case 0x514: return print_can_0x514_VCU_Power_Limit_PID_Information(o, output);
+ case 0x515: return print_can_0x515_DRS_SAS(o, output);
+ case 0x5ff: return print_can_0x5ff_Enable_Inverter(o, output);
+ case 0x600: return print_can_0x600_BMS_State_Command(o, output);
+ case 0x602: return print_can_0x602_BMS_Master_Faults(o, output);
+ case 0x604: return print_can_0x604_BMS_Master_Warnings(o, output);
+ case 0x610: return print_can_0x610_BMS_Master_System_Status(o, output);
+ case 0x611: return print_can_0x611_BMS_Pack_Safe_OE(o, output);
+ case 0x612: return print_can_0x612_BMS_Master_Local_Board_Measurements(o, output);
+ case 0x620: return print_can_0x620_BMS_Pack_Level_Measurements_1(o, output);
+ case 0x621: return print_can_0x621_BMS_Pack_Level_Measurements_2(o, output);
+ case 0x622: return print_can_0x622_BMS_Cell_Voltage_Summary(o, output);
+ case 0x623: return print_can_0x623_BMS_Cell_Temperature_Summary(o, output);
+ case 0x624: return print_can_0x624_BMS_Pack_Level_Measurements_3(o, output);
+ case 0x630: return print_can_0x630_BMS_M1_Cell_Voltage_Data_1(o, output);
+ case 0x631: return print_can_0x631_BMS_M1_Cell_Voltage_Data_2(o, output);
+ case 0x632: return print_can_0x632_BMS_M1_Cell_Voltage_Data_3(o, output);
+ case 0x633: return print_can_0x633_BMS_M2_Cell_Voltage_Data_1(o, output);
+ case 0x634: return print_can_0x634_BMS_M2_Cell_Voltage_Data_2(o, output);
+ case 0x635: return print_can_0x635_BMS_M2_Cell_Voltage_Data_3(o, output);
+ case 0x636: return print_can_0x636_BMS_M3_Cell_Voltage_Data_1(o, output);
+ case 0x637: return print_can_0x637_BMS_M3_Cell_Voltage_Data_2(o, output);
+ case 0x638: return print_can_0x638_BMS_M3_Cell_Voltage_Data_3(o, output);
+ case 0x639: return print_can_0x639_BMS_M4_Cell_Voltage_Data_1(o, output);
+ case 0x63a: return print_can_0x63a_BMS_M4_Cell_Voltage_Data_2(o, output);
+ case 0x63b: return print_can_0x63b_BMS_M4_Cell_Voltage_Data_3(o, output);
+ case 0x63c: return print_can_0x63c_BMS_M5_Cell_Voltage_Data_1(o, output);
+ case 0x63d: return print_can_0x63d_BMS_M5_Cell_Voltage_Data_2(o, output);
+ case 0x63e: return print_can_0x63e_BMS_M5_Cell_Voltage_Data_3(o, output);
+ case 0x63f: return print_can_0x63f_BMS_M6_Cell_Voltage_Data_1(o, output);
+ case 0x640: return print_can_0x640_BMS_M6_Cell_Voltage_Data_2(o, output);
+ case 0x641: return print_can_0x641_BMS_M6_Cell_Voltage_Data_3(o, output);
+ case 0x642: return print_can_0x642_BMS_M7_Cell_Voltage_Data_1(o, output);
+ case 0x643: return print_can_0x643_BMS_M7_Cell_Voltage_Data_2(o, output);
+ case 0x644: return print_can_0x644_BMS_M7_Cell_Voltage_Data_3(o, output);
+ case 0x645: return print_can_0x645_BMS_M8_Cell_Voltage_Data_1(o, output);
+ case 0x646: return print_can_0x646_BMS_M8_Cell_Voltage_Data_2(o, output);
+ case 0x647: return print_can_0x647_BMS_M8_Cell_Voltage_Data_3(o, output);
+ case 0x680: return print_can_0x680_BMS_M1_Cell_Temp_Data(o, output);
+ case 0x683: return print_can_0x683_BMS_M2_Cell_Temp_Data(o, output);
+ case 0x686: return print_can_0x686_BMS_M3_Cell_Temp_Data(o, output);
+ case 0x689: return print_can_0x689_BMS_M4_Cell_Temp_Data(o, output);
+ case 0x68c: return print_can_0x68c_BMS_M5_Cell_Temp_Data(o, output);
+ case 0x68f: return print_can_0x68f_BMS_M6_Cell_Temp_Data(o, output);
+ case 0x692: return print_can_0x692_BMS_M7_Cell_Temp_Data(o, output);
+ case 0x695: return print_can_0x695_BMS_M8_Cell_Temp_Data(o, output);
+ case 0x6fc: return print_can_0x6fc_BMS_Configuration_Information(o, output);
+ case 0x6fe: return print_can_0x6fe_BMS_Firmware_Version_Information(o, output);
+ case 0x702: return print_can_0x702_MCM_RegenModeICSent(o, output);
+ case 0x710: return print_can_0x710_S2C_PressureTabs(o, output);
+ default: break;
+ }
+ return -1;
+}
+