Updated for checksum

Dependencies:   mbed-dev

Committer:
adimmit
Date:
Tue Apr 13 19:11:12 2021 +0000
Revision:
10:42438194e82b
Parent:
5:f1703165ca7e
Child:
13:87e7ce883f6a
torque data being sent!;

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 10:42438194e82b 6 // 124 bytes
adimmit 10:42438194e82b 7 // 62 16-bit words
adimmit 0:76c761d3caf1 8 struct spi_data_t
adimmit 0:76c761d3caf1 9 {
adimmit 0:76c761d3caf1 10 float q_1s[3];
adimmit 0:76c761d3caf1 11 float q_2s[3];
adimmit 0:76c761d3caf1 12 float q_3s[3];
adimmit 0:76c761d3caf1 13 float qd_1s[3];
adimmit 0:76c761d3caf1 14 float qd_2s[3];
adimmit 0:76c761d3caf1 15 float qd_3s[3];
adimmit 10:42438194e82b 16 float tau_1s[3];
adimmit 10:42438194e82b 17 float tau_2s[3];
adimmit 10:42438194e82b 18 float tau_3s[3];
adimmit 0:76c761d3caf1 19 int32_t flags[3];
adimmit 0:76c761d3caf1 20 int32_t checksum;
adimmit 0:76c761d3caf1 21 };
adimmit 0:76c761d3caf1 22
adimmit 0:76c761d3caf1 23 // 196 bytes
adimmit 0:76c761d3caf1 24 struct spi_command_t
adimmit 0:76c761d3caf1 25 {
adimmit 5:f1703165ca7e 26 float q_des_1s[3]; //first motor on each can bus 0-can1, 1-can2, 2-can3
adimmit 5:f1703165ca7e 27 float q_des_2s[3]; //second motor on each can bus
adimmit 5:f1703165ca7e 28 float q_des_3s[3]; //third motor on each can bus etc...
adimmit 0:76c761d3caf1 29 float qd_des_1s[3];
adimmit 0:76c761d3caf1 30 float qd_des_2s[3];
adimmit 0:76c761d3caf1 31 float qd_des_3s[3];
adimmit 0:76c761d3caf1 32 float kp_1s[3];
adimmit 0:76c761d3caf1 33 float kp_2s[3];
adimmit 0:76c761d3caf1 34 float kp_3s[3];
adimmit 0:76c761d3caf1 35 float kd_1s[3];
adimmit 0:76c761d3caf1 36 float kd_2s[3];
adimmit 0:76c761d3caf1 37 float kd_3s[3];
adimmit 0:76c761d3caf1 38 float tau_1s_ff[3];
adimmit 0:76c761d3caf1 39 float tau_2s_ff[3];
adimmit 0:76c761d3caf1 40 float tau_3s_ff[3];
adimmit 0:76c761d3caf1 41 int32_t flags[3];
adimmit 0:76c761d3caf1 42 int32_t checksum;
adimmit 0:76c761d3caf1 43 };
adimmit 0:76c761d3caf1 44
adimmit 0:76c761d3caf1 45
adimmit 0:76c761d3caf1 46
adimmit 0:76c761d3caf1 47 struct joint_control{
adimmit 0:76c761d3caf1 48 float p_des, v_des, kp, kd, t_ff;
adimmit 0:76c761d3caf1 49 };
adimmit 0:76c761d3caf1 50
adimmit 0:76c761d3caf1 51 struct joint_state{
adimmit 0:76c761d3caf1 52 float p, v, t;
adimmit 0:76c761d3caf1 53 };
adimmit 0:76c761d3caf1 54
adimmit 0:76c761d3caf1 55 struct grouped_act_state{
adimmit 5:f1703165ca7e 56 joint_state a1, a2, a3;
adimmit 0:76c761d3caf1 57 };
adimmit 0:76c761d3caf1 58 struct grouped_act_control{
adimmit 5:f1703165ca7e 59 joint_control a1, a2, a3;
adimmit 0:76c761d3caf1 60 }
adimmit 0:76c761d3caf1 61 ;
adimmit 0:76c761d3caf1 62 #endif