Public Attributes | List of all members
__attribute__ Struct Reference

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. More...
 
int32u aux_spi_data_type
 4 bytes More...
 
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? More...
 
FROM_MOTOR_DATA_TYPE from_motor_data_type
 Which data does the host want from the motors? More...
 
FROM_MUSCLE_DATA_TYPE from_muscle_data_type
 Which data does the host want from the muscles? More...
 
int16u idle_time_us
 packet, and the next packet arriving. Ideally, this number should be more than 50. More...
 
IMU_COMMAND_TYPE imu_command
 
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. More...
 
MOTOR_DATA_PACKET motor_data_packet [10]
 Data for 10 motors only. (Even ones or Odd ones) More...
 
FROM_MOTOR_DATA_TYPE motor_data_type
 
int8u muscle_data [NUM_MUSCLES/2]
 Data to send to muscles. [-4 .. 4] packed into the nibbles. More...
 
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 More...
 
TACTILE_SENSOR_STATUS_v2 tactile [5]
 
TACTILE_SENSOR_STATUS_v1 tactile [5]
 
int32u tactile_data_type
 Request for specific tactile data. More...
 
int16u tactile_data_valid
 Bit 0: FF. Bit 4: TH. More...
 
TACTILE_SENSOR_MID_PROX tactile_mid_prox [5]
 
TO_MOTOR_DATA_TYPE to_motor_data_type
 Request for specific motor data. More...
 
TO_MUSCLE_DATA_TYPE to_muscle_data_type
 What type of data are we sending to the muscles? More...
 
int32u which_motor_data_arrived
 Bit N set when motor CAN message arrives. Ideally, bits 0..19 get set. More...
 
int32u which_motor_data_had_errors
 Bit N set when motor sends bad CAN message Ideally, no bits get set. More...
 
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 370 of file 0220_palm_edc_ethercat_protocol.h.

Member Data Documentation

◆ aux_data_type

int32u __attribute__::aux_data_type

Request for specific aux data.

Definition at line 122 of file 0230_palm_edc_ethercat_protocol.h.

◆ aux_spi_data_type

int32u __attribute__::aux_spi_data_type

4 bytes

Definition at line 69 of file 0230_palm_edc_ethercat_protocol.h.

◆ aux_spi_sensor

AUX_SPI_SENSOR __attribute__::aux_spi_sensor

32 bytes TOTAL = 36 bytes

Definition at line 70 of file 0230_palm_edc_ethercat_protocol.h.

◆ can_bus

int8u __attribute__::can_bus

Definition at line 54 of file ethercat_can_bridge_protocol.h.

◆ EDC_command

EDC_COMMAND __attribute__::EDC_command

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 372 of file 0220_palm_edc_ethercat_protocol.h.

◆ from_motor_data_type

FROM_MOTOR_DATA_TYPE __attribute__::from_motor_data_type

Which data does the host want from the motors?

Definition at line 407 of file 0220_palm_edc_ethercat_protocol.h.

◆ from_muscle_data_type

FROM_MUSCLE_DATA_TYPE __attribute__::from_muscle_data_type

Which data does the host want from the muscles?

Definition at line 308 of file 0320_palm_edc_ethercat_protocol.h.

◆ idle_time_us

int16u __attribute__::idle_time_us

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

The idle time from when the palm has finished dealing with one EtherCAT packet, and the next packet arriving. Ideally, this number should be more than 50.

Definition at line 395 of file 0220_palm_edc_ethercat_protocol.h.

◆ imu_command

IMU_COMMAND_TYPE __attribute__::imu_command

Definition at line 103 of file 0240_palm_edc_IMU_ethercat_protocol.h.

◆ message_data

int8u __attribute__::message_data[8]

Definition at line 57 of file ethercat_can_bridge_protocol.h.

◆ message_id

int16u __attribute__::message_id

Definition at line 56 of file ethercat_can_bridge_protocol.h.

◆ message_length

int8u __attribute__::message_length

Definition at line 55 of file ethercat_can_bridge_protocol.h.

◆ motor_data

int16s __attribute__::motor_data

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 412 of file 0220_palm_edc_ethercat_protocol.h.

◆ motor_data_packet

MOTOR_DATA_PACKET __attribute__::motor_data_packet

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 389 of file 0220_palm_edc_ethercat_protocol.h.

◆ motor_data_type

FROM_MOTOR_DATA_TYPE __attribute__::motor_data_type

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

Which data does motor[] contain? This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0240_PALM_EDC_COMMAND

Definition at line 379 of file 0220_palm_edc_ethercat_protocol.h.

◆ muscle_data

int8u __attribute__::muscle_data[NUM_MUSCLES/2]

Data to send to muscles. [-4 .. 4] packed into the nibbles.

Definition at line 311 of file 0320_palm_edc_ethercat_protocol.h.

◆ muscle_data_packet

MUSCLE_DATA_PACKET __attribute__::muscle_data_packet[NUM_MUSCLE_DATA_PACKETS]

Definition at line 289 of file 0320_palm_edc_ethercat_protocol.h.

◆ muscle_data_type

FROM_MUSCLE_DATA_TYPE __attribute__::muscle_data_type

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.

◆ sensors

int16u __attribute__::sensors

74 bytes

Definition at line 377 of file 0220_palm_edc_ethercat_protocol.h.

◆ tactile [1/2]

TACTILE_SENSOR_STATUS_v2 __attribute__::tactile[5]

32*5 = 160 bytes TOTAL = 166 bytes

Definition at line 65 of file 0230_palm_edc_ethercat_protocol.h.

◆ tactile [2/2]

TACTILE_SENSOR_STATUS_v1 __attribute__::tactile

Definition at line 393 of file 0220_palm_edc_ethercat_protocol.h.

◆ tactile_data_type

int32u __attribute__::tactile_data_type

Request for specific tactile data.

4 bytes

Definition at line 391 of file 0220_palm_edc_ethercat_protocol.h.

◆ tactile_data_valid

int16u __attribute__::tactile_data_valid

Bit 0: FF. Bit 4: TH.

2 bytes (Bit 0: FF. Bit 4: TH.)

Definition at line 392 of file 0220_palm_edc_ethercat_protocol.h.

◆ tactile_mid_prox

TACTILE_SENSOR_MID_PROX __attribute__::tactile_mid_prox[5]

16*5 = 80 bytes TOTAL = 154 bytes

Definition at line 59 of file 0230_palm_edc_ethercat_protocol.h.

◆ to_motor_data_type

TO_MOTOR_DATA_TYPE __attribute__::to_motor_data_type

Request for specific motor data.

Definition at line 411 of file 0220_palm_edc_ethercat_protocol.h.

◆ to_muscle_data_type

TO_MUSCLE_DATA_TYPE __attribute__::to_muscle_data_type

What type of data are we sending to the muscles?

Definition at line 310 of file 0320_palm_edc_ethercat_protocol.h.

◆ which_motor_data_arrived

int32u __attribute__::which_motor_data_arrived

Bit N set when motor CAN message arrives. Ideally, bits 0..19 get set.

Definition at line 386 of file 0220_palm_edc_ethercat_protocol.h.

◆ which_motor_data_had_errors

int32u __attribute__::which_motor_data_had_errors

Bit N set when motor sends bad CAN message Ideally, no bits get set.

Definition at line 387 of file 0220_palm_edc_ethercat_protocol.h.

◆ which_motors

int16s __attribute__::which_motors

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

0: Even motor numbers. 1: Odd motor numbers This value should agree with the previous value in ETHERCAT_DATA_STRUCTURE_0240_PALM_EDC_COMMAND

Definition at line 382 of file 0220_palm_edc_ethercat_protocol.h.

◆ which_muscle_data_arrived

int16u __attribute__::which_muscle_data_arrived

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 Fri Jan 1 2021 03:23:17