This needs to be a #define for symmetry with SENSORS_NUM. More...
#include <0220_palm_edc_ethercat_protocol.h>
Public Attributes | |
int32u | aux_data_type |
Request for specific aux data. | |
int32u | aux_spi_data_type |
4 bytes | |
AUX_SPI_SENSOR | aux_spi_sensor |
int8u | can_bus |
EDC_COMMAND | EDC_command |
What type of data should the palm send back in the next packet? | |
FROM_MOTOR_DATA_TYPE | from_motor_data_type |
Which data does the host want from the motors? | |
FROM_MUSCLE_DATA_TYPE | from_muscle_data_type |
Which data does the host want from the muscles? | |
int16u | idle_time_us |
packet, and the next packet arriving. Ideally, this number should be more than 50. | |
int8u | message_data [8] |
int16u | message_id |
int8u | message_length |
int16s | motor_data [NUM_MOTORS] |
Data to send to motors. Typically torque/PWM demands, or configs. | |
MOTOR_DATA_PACKET | motor_data_packet [10] |
Data for 10 motors only. (Even ones or Odd ones) | |
FROM_MOTOR_DATA_TYPE | motor_data_type |
int8u | muscle_data [NUM_MUSCLES/2] |
Data to send to muscles. [-4 .. 4] packed into the nibbles. | |
MUSCLE_DATA_PACKET | muscle_data_packet [NUM_MUSCLE_DATA_PACKETS] |
FROM_MUSCLE_DATA_TYPE | muscle_data_type |
int16u | sensors [SENSORS_NUM_0220+1] |
74 bytes | |
TACTILE_SENSOR_STATUS_v2 | tactile [5] |
TACTILE_SENSOR_STATUS_v1 | tactile [5] |
int32u | tactile_data_type |
Request for specific tactile data. | |
int16u | tactile_data_valid |
Bit 0: FF. Bit 4: TH. | |
TACTILE_SENSOR_MID_PROX | tactile_mid_prox [5] |
TO_MOTOR_DATA_TYPE | to_motor_data_type |
Request for specific motor data. | |
TO_MUSCLE_DATA_TYPE | to_muscle_data_type |
What type of data are we sending to the muscles? | |
int32u | which_motor_data_arrived |
Bit N set when motor CAN message arrives. Ideally, bits 0..19 get set. | |
int32u | which_motor_data_had_errors |
Bit N set when motor sends bad CAN message Ideally, no bits get set. | |
int16s | which_motors |
int16u | which_muscle_data_arrived |
This needs to be a #define for symmetry with SENSORS_NUM.
These are the data sent by the host.
These are the data sent from the Palm to the host.
This packet allows the palm to transmit and receive CAN messages on either CAN bus. One CAN message per EtherCAT packet only. The CAN messages can be used for bootloading new code onto the motors, or to configure the motor boards.
Definition at line 365 of file 0220_palm_edc_ethercat_protocol.h.
Request for specific aux data.
Definition at line 122 of file 0230_palm_edc_ethercat_protocol.h.
4 bytes
Definition at line 69 of file 0230_palm_edc_ethercat_protocol.h.
32 bytes TOTAL = 36 bytes
Definition at line 70 of file 0230_palm_edc_ethercat_protocol.h.
Definition at line 54 of file ethercat_can_bridge_protocol.h.
What type of data should the palm send back in the next packet?
This tells us the contents of the data below. This value should be identical to the EDC_command value which arrived from the host in the previous EtherCAT packet
Header [0]:18 What type of data should the palm send back in the next packet? ------
Definition at line 367 of file 0220_palm_edc_ethercat_protocol.h.
Which data does the host want from the motors?
Definition at line 402 of file 0220_palm_edc_ethercat_protocol.h.
Which data does the host want from the muscles?
Definition at line 308 of file 0320_palm_edc_ethercat_protocol.h.
packet, and the next packet arriving. Ideally, this number should be more than 50.
The idle time from when the palm has finished dealing with one EtherCAT
Definition at line 390 of file 0220_palm_edc_ethercat_protocol.h.
Definition at line 57 of file ethercat_can_bridge_protocol.h.
Definition at line 56 of file ethercat_can_bridge_protocol.h.
Definition at line 55 of file ethercat_can_bridge_protocol.h.
Data to send to motors. Typically torque/PWM demands, or configs.
Motor Data [18]:40 Data to send to motors. Typically torque/PWM demands, or configs.
Definition at line 407 of file 0220_palm_edc_ethercat_protocol.h.
Data for 10 motors only. (Even ones or Odd ones)
Data for 10 motors only. (Even ones or Odd ones) 40 bytes
Definition at line 384 of file 0220_palm_edc_ethercat_protocol.h.
Which data does motor[] contain? This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0200_PALM_EDC_COMMAND
Which data does motor[] contain? This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0230_PALM_EDC_COMMAND
Definition at line 374 of file 0220_palm_edc_ethercat_protocol.h.
Data to send to muscles. [-4 .. 4] packed into the nibbles.
Definition at line 311 of file 0320_palm_edc_ethercat_protocol.h.
Definition at line 289 of file 0320_palm_edc_ethercat_protocol.h.
Which data does pressure_sensors[] actually contain? This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0200_PALM_EDC_COMMAND
Definition at line 281 of file 0320_palm_edc_ethercat_protocol.h.
74 bytes
Definition at line 372 of file 0220_palm_edc_ethercat_protocol.h.
32*5 = 160 bytes TOTAL = 166 bytes
Definition at line 65 of file 0230_palm_edc_ethercat_protocol.h.
Definition at line 388 of file 0220_palm_edc_ethercat_protocol.h.
Request for specific tactile data.
4 bytes
Definition at line 386 of file 0220_palm_edc_ethercat_protocol.h.
Bit 0: FF. Bit 4: TH.
2 bytes (Bit 0: FF. Bit 4: TH.)
Definition at line 387 of file 0220_palm_edc_ethercat_protocol.h.
16*5 = 80 bytes TOTAL = 154 bytes
Definition at line 59 of file 0230_palm_edc_ethercat_protocol.h.
Request for specific motor data.
Definition at line 406 of file 0220_palm_edc_ethercat_protocol.h.
What type of data are we sending to the muscles?
Definition at line 310 of file 0320_palm_edc_ethercat_protocol.h.
Bit N set when motor CAN message arrives. Ideally, bits 0..19 get set.
Definition at line 381 of file 0220_palm_edc_ethercat_protocol.h.
Bit N set when motor sends bad CAN message Ideally, no bits get set.
Definition at line 382 of file 0220_palm_edc_ethercat_protocol.h.
0: Even motor numbers. 1: Odd motor numbers This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0200_PALM_EDC_COMMAND
Which motors does the host want to read? 0: Even motor numbers. 1: Odd motor numbers
0: Even motor numbers. 1: Odd motor numbers This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0230_PALM_EDC_COMMAND
Definition at line 377 of file 0220_palm_edc_ethercat_protocol.h.
Bit s indicate which muscle data packet is new this frame This variable needst to be 16 bits (even though we use only 8 of the bits) to ensure that later words are 16-bit aligned. (Mis-alignment causes memory exception).
Definition at line 285 of file 0320_palm_edc_ethercat_protocol.h.