44 #ifndef PALM_EDC_0240_ETHERCAT_PROTOCOL_H_INCLUDED 45 #define PALM_EDC_0240_ETHERCAT_PROTOCOL_H_INCLUDED 47 #include "../0220_palm_edc/0220_palm_edc_ethercat_protocol.h" 49 #define IMU_COMMAND_NONE 0 50 #define IMU_COMMAND_SET_SCALE 1 75 int32u which_motor_data_arrived;
76 int32u which_motor_data_had_errors;
87 }
__attribute__((packed)) ETHERCAT_DATA_STRUCTURE_0240_PALM_EDC_STATUS;
105 }
__attribute__((packed)) ETHERCAT_DATA_STRUCTURE_0240_PALM_EDC_COMMAND;
113 #define PALM_0240_ETHERCAT_COMMAND_HEADER_SIZE ( sizeof(EDC_COMMAND) + sizeof(FROM_MOTOR_DATA_TYPE) + sizeof(int16s) ) 115 #define PALM_0240_ETHERCAT_STATUS_DATA_SIZE sizeof(ETHERCAT_DATA_STRUCTURE_0240_PALM_EDC_STATUS) 116 #define PALM_0240_ETHERCAT_COMMAND_DATA_SIZE sizeof(ETHERCAT_DATA_STRUCTURE_0240_PALM_EDC_COMMAND) 123 #define ETHERCAT_STATUS_0240_AGREED_SIZE 232 124 #define ETHERCAT_COMMAND_0240_AGREED_SIZE 74 139 #define PALM_0240_ETHERCAT_COMMAND_DATA_ADDRESS 0x1000 140 #define PALM_0240_ETHERCAT_CAN_BRIDGE_DATA_COMMAND_ADDRESS (PALM_0240_ETHERCAT_COMMAND_DATA_ADDRESS + PALM_0240_ETHERCAT_COMMAND_DATA_SIZE) 142 #define PALM_0240_ETHERCAT_STATUS_DATA_ADDRESS (PALM_0240_ETHERCAT_CAN_BRIDGE_DATA_COMMAND_ADDRESS + ETHERCAT_CAN_BRIDGE_DATA_SIZE) 143 #define PALM_0240_ETHERCAT_CAN_BRIDGE_DATA_STATUS_ADDRESS (PALM_0240_ETHERCAT_STATUS_DATA_ADDRESS + PALM_0240_ETHERCAT_STATUS_DATA_SIZE)
IMU_COMMAND_TYPE imu_command
This needs to be a #define for symmetry with SENSORS_NUM.
EDC_COMMAND
The host can request different types of data from the palm.