Public Member Functions | Public Attributes | List of all members
WG0XActuatorInfo Struct Reference

#include <wg0x.h>

Public Member Functions

void generateCRC (void)
 Calculate CRC of structure and update crc32_256_ and crc32_264_ elements. More...
 
bool verifyCRC (void) const
 Verify CRC stored in actuator info structure. More...
 

Public Attributes

uint32_t crc32_256_
 
uint32_t crc32_264_
 
double encoder_reduction_
 
uint32_t id_
 
uint16_t major_
 
double max_current_
 
uint16_t minor_
 
char motor_make_ [32]
 
char motor_model_ [32]
 
double motor_torque_constant_
 
char name_ [64]
 
uint8_t pad1 [40]
 
uint8_t pad2 [4]
 
uint32_t pulses_per_revolution_
 
double resistance_
 
char robot_name_ [32]
 
double speed_constant_
 

Detailed Description

Definition at line 136 of file wg0x.h.

Member Function Documentation

◆ generateCRC()

void WG0XActuatorInfo::generateCRC ( void  )

Calculate CRC of structure and update crc32_256_ and crc32_264_ elements.

Definition at line 146 of file wg0x.cpp.

◆ verifyCRC()

bool WG0XActuatorInfo::verifyCRC ( void  ) const

Verify CRC stored in actuator info structure.

ActuatorInfo now constains two CRCs. Originally all devices had EEPROMS with 264 byte pages, and only crc264 was used. However, support was need for EEPROM with 246 byte pages. To have backwards compatible support, there is also a CRC of first 252 (256-4) bytes.

Devices configure in past will only have 264 byte EEPROM pages, and 264byte CRC. Newer devices might have 256 or 264 byte pages. The 264 byte EEPROMs will store both CRCs. The 256 byte EEPROMs will only store the 256 byte CRC.

Thus:

  • Old software will be able to use 264 byte EEPROM with new dual CRC.
  • New software will be able to use 264 byte EEPROM with single 264 byte CRC
  • Only new sofware will be able to use 256 byte EEPROM
Parameters
comEtherCAT communication class used for communicating with device
Returns
true if CRC is good, false if CRC is invalid

Definition at line 131 of file wg0x.cpp.

Member Data Documentation

◆ crc32_256_

uint32_t WG0XActuatorInfo::crc32_256_

Definition at line 152 of file wg0x.h.

◆ crc32_264_

uint32_t WG0XActuatorInfo::crc32_264_

Definition at line 154 of file wg0x.h.

◆ encoder_reduction_

double WG0XActuatorInfo::encoder_reduction_

Definition at line 149 of file wg0x.h.

◆ id_

uint32_t WG0XActuatorInfo::id_

Definition at line 140 of file wg0x.h.

◆ major_

uint16_t WG0XActuatorInfo::major_

Definition at line 138 of file wg0x.h.

◆ max_current_

double WG0XActuatorInfo::max_current_

Definition at line 145 of file wg0x.h.

◆ minor_

uint16_t WG0XActuatorInfo::minor_

Definition at line 139 of file wg0x.h.

◆ motor_make_

char WG0XActuatorInfo::motor_make_[32]

Definition at line 143 of file wg0x.h.

◆ motor_model_

char WG0XActuatorInfo::motor_model_[32]

Definition at line 144 of file wg0x.h.

◆ motor_torque_constant_

double WG0XActuatorInfo::motor_torque_constant_

Definition at line 148 of file wg0x.h.

◆ name_

char WG0XActuatorInfo::name_[64]

Definition at line 141 of file wg0x.h.

◆ pad1

uint8_t WG0XActuatorInfo::pad1[40]

Definition at line 151 of file wg0x.h.

◆ pad2

uint8_t WG0XActuatorInfo::pad2[4]

Definition at line 153 of file wg0x.h.

◆ pulses_per_revolution_

uint32_t WG0XActuatorInfo::pulses_per_revolution_

Definition at line 150 of file wg0x.h.

◆ resistance_

double WG0XActuatorInfo::resistance_

Definition at line 147 of file wg0x.h.

◆ robot_name_

char WG0XActuatorInfo::robot_name_[32]

Definition at line 142 of file wg0x.h.

◆ speed_constant_

double WG0XActuatorInfo::speed_constant_

Definition at line 146 of file wg0x.h.


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


ethercat_hardware
Author(s): Rob Wheeler , Derek King
autogenerated on Tue Mar 28 2023 02:10:20