N/A

Dependencies:   mbed-dev

Committer:
adimmit
Date:
Sun Mar 07 18:08:47 2021 +0000
Revision:
0:a043c98470ae
new repo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adimmit 0:a043c98470ae 1 #ifndef _leg_message
adimmit 0:a043c98470ae 2 #define _leg_message
adimmit 0:a043c98470ae 3
adimmit 0:a043c98470ae 4 #include <stdint.h>
adimmit 0:a043c98470ae 5
adimmit 0:a043c98470ae 6 // 60 bytes
adimmit 0:a043c98470ae 7 // 30 16-bit words
adimmit 0:a043c98470ae 8 struct spi_data_t
adimmit 0:a043c98470ae 9 {
adimmit 0:a043c98470ae 10 float q_abad[2];
adimmit 0:a043c98470ae 11 float q_hip[2];
adimmit 0:a043c98470ae 12 float q_knee[2];
adimmit 0:a043c98470ae 13 float qd_abad[2];
adimmit 0:a043c98470ae 14 float qd_hip[2];
adimmit 0:a043c98470ae 15 float qd_knee[2];
adimmit 0:a043c98470ae 16 int32_t flags[2];
adimmit 0:a043c98470ae 17 int32_t checksum;
adimmit 0:a043c98470ae 18 };
adimmit 0:a043c98470ae 19
adimmit 0:a043c98470ae 20 // 132 bytes
adimmit 0:a043c98470ae 21 // 66 16-bit words
adimmit 0:a043c98470ae 22 struct spi_command_t
adimmit 0:a043c98470ae 23 {
adimmit 0:a043c98470ae 24 float q_des_abad[2];
adimmit 0:a043c98470ae 25 float q_des_hip[2];
adimmit 0:a043c98470ae 26 float q_des_knee[2];
adimmit 0:a043c98470ae 27 float qd_des_abad[2];
adimmit 0:a043c98470ae 28 float qd_des_hip[2];
adimmit 0:a043c98470ae 29 float qd_des_knee[2];
adimmit 0:a043c98470ae 30 float kp_abad[2];
adimmit 0:a043c98470ae 31 float kp_hip[2];
adimmit 0:a043c98470ae 32 float kp_knee[2];
adimmit 0:a043c98470ae 33 float kd_abad[2];
adimmit 0:a043c98470ae 34 float kd_hip[2];
adimmit 0:a043c98470ae 35 float kd_knee[2];
adimmit 0:a043c98470ae 36 float tau_abad_ff[2];
adimmit 0:a043c98470ae 37 float tau_hip_ff[2];
adimmit 0:a043c98470ae 38 float tau_knee_ff[2];
adimmit 0:a043c98470ae 39 int32_t flags[2];
adimmit 0:a043c98470ae 40 int32_t checksum;
adimmit 0:a043c98470ae 41 };
adimmit 0:a043c98470ae 42
adimmit 0:a043c98470ae 43
adimmit 0:a043c98470ae 44
adimmit 0:a043c98470ae 45 struct joint_control{
adimmit 0:a043c98470ae 46 float p_des, v_des, kp, kd, t_ff;
adimmit 0:a043c98470ae 47 };
adimmit 0:a043c98470ae 48
adimmit 0:a043c98470ae 49 struct joint_state{
adimmit 0:a043c98470ae 50 float p, v, t;
adimmit 0:a043c98470ae 51 };
adimmit 0:a043c98470ae 52
adimmit 0:a043c98470ae 53 struct leg_state{
adimmit 0:a043c98470ae 54 joint_state a, h, k;
adimmit 0:a043c98470ae 55 };
adimmit 0:a043c98470ae 56 struct leg_control{
adimmit 0:a043c98470ae 57 joint_control a, h, k;
adimmit 0:a043c98470ae 58 }
adimmit 0:a043c98470ae 59 ;
adimmit 0:a043c98470ae 60 #endif