test code for SPI communications with any board

Dependencies:   mbed-dev

Committer:
adimmit
Date:
Fri Apr 15 14:11:25 2022 +0000
Revision:
17:f200f87b4087
Parent:
15:d3c93f01a02b
changed to mini cheetah version;

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