Updated for checksum

Dependencies:   mbed-dev

Committer:
adimmit
Date:
Wed Sep 28 16:32:46 2022 +0000
Revision:
15:56a06363a698
Parent:
13:87e7ce883f6a
updated to work with checksum and with the 2-motor dyno;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adimmit 0:76c761d3caf1 1 #ifndef _leg_message
adimmit 0:76c761d3caf1 2 #define _leg_message
adimmit 0:76c761d3caf1 3
adimmit 0:76c761d3caf1 4 #include <stdint.h>
adimmit 0:76c761d3caf1 5
adimmit 15:56a06363a698 6 // 9*2 bytes = 18 16-bit words 36 8-bit words
adimmit 15:56a06363a698 7 // 9 32-bit numbers
adimmit 0:76c761d3caf1 8 struct spi_data_t
adimmit 0:76c761d3caf1 9 {
adimmit 15:56a06363a698 10 float q_1s[2];
adimmit 15:56a06363a698 11 float qd_1s[2];
adimmit 15:56a06363a698 12 float tau_1s[2];
adimmit 15:56a06363a698 13 int32_t flags[2];
adimmit 13:87e7ce883f6a 14 uint32_t checksum;
adimmit 0:76c761d3caf1 15 };
adimmit 0:76c761d3caf1 16
adimmit 15:56a06363a698 17 // 13*2 bytes = 26 16-bit words 52 8-bit words
adimmit 15:56a06363a698 18 // 13 32-bit numbers
adimmit 0:76c761d3caf1 19 struct spi_command_t
adimmit 0:76c761d3caf1 20 {
adimmit 15:56a06363a698 21 float q_des_1s[2]; //first motor on each can bus 0-can1, 1-can2, 2-can3
adimmit 15:56a06363a698 22 float qd_des_1s[2];
adimmit 15:56a06363a698 23 float kp_1s[2];
adimmit 15:56a06363a698 24 float kd_1s[2];
adimmit 15:56a06363a698 25 float tau_1s_ff[2];
adimmit 15:56a06363a698 26 int32_t flags[2];
adimmit 13:87e7ce883f6a 27 uint32_t checksum;
adimmit 0:76c761d3caf1 28 };
adimmit 0:76c761d3caf1 29
adimmit 0:76c761d3caf1 30
adimmit 0:76c761d3caf1 31
adimmit 0:76c761d3caf1 32 struct joint_control{
adimmit 0:76c761d3caf1 33 float p_des, v_des, kp, kd, t_ff;
adimmit 0:76c761d3caf1 34 };
adimmit 0:76c761d3caf1 35
adimmit 0:76c761d3caf1 36 struct joint_state{
adimmit 0:76c761d3caf1 37 float p, v, t;
adimmit 0:76c761d3caf1 38 };
adimmit 0:76c761d3caf1 39
adimmit 0:76c761d3caf1 40 struct grouped_act_state{
adimmit 15:56a06363a698 41 joint_state a1; //removed a2 and a3
adimmit 0:76c761d3caf1 42 };
adimmit 0:76c761d3caf1 43 struct grouped_act_control{
adimmit 15:56a06363a698 44 joint_control a1;
adimmit 0:76c761d3caf1 45 }
adimmit 0:76c761d3caf1 46 ;
adimmit 0:76c761d3caf1 47 #endif