Public Attributes
__attribute__ Struct Reference

This needs to be a #define for symmetry with SENSORS_NUM. More...

#include <0220_palm_edc_ethercat_protocol.h>

List of all members.

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

Detailed Description

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.


Member Data Documentation

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.


The documentation for this struct was generated from the following files:


sr_external_dependencies
Author(s): Ugo Cupcic
autogenerated on Mon Jul 1 2019 20:06:25