EPOS24/2 Object dictionary
Diff: EPOS24_2.c
- Revision:
- 0:0f396c8096f6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EPOS24_2.c Fri Feb 03 02:04:50 2012 +0000 @@ -0,0 +1,2021 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#include "EPOS24_2.h" + +/**************************************************************************/ +/* Declaration of mapped variables */ +/**************************************************************************/ +UNS8 Node_ID = 0x0; /* Mapped at index 0x2000, subindex 0x00 */ +UNS16 CAN_Bitrate = 0x0; /* Mapped at index 0x2001, subindex 0x00 */ +UNS16 RS232_Baudrate = 0x0; /* Mapped at index 0x2002, subindex 0x00 */ +UNS16 Version_Software_Version = 0x0; /* Mapped at index 0x2003, subindex 0x01 */ +UNS16 Version_Hardware_Version = 0x0; /* Mapped at index 0x2003, subindex 0x02 */ +UNS16 Version_Application_Number = 0x0; /* Mapped at index 0x2003, subindex 0x03 */ +UNS16 Version_Application_Version = 0x0; /* Mapped at index 0x2003, subindex 0x04 */ +UNS16 Version_Basesector_Version = 0x0; /* Mapped at index 0x2003, subindex 0x05 */ +UNS64 Serial_Number = 0x0; /* Mapped at index 0x2004, subindex 0x00 */ +UNS16 RS232_Frame_Timeout = 0x0; /* Mapped at index 0x2005, subindex 0x00 */ +UNS16 USB_Frame_Timeout = 0x0; /* Mapped at index 0x2006, subindex 0x00 */ +UNS16 Miscellaneous_Configuration = 0x0; /* Mapped at index 0x2008, subindex 0x00 */ +UNS16 Internal_Dip_Switch_State = 0x0; /* Mapped at index 0x2009, subindex 0x00 */ +UNS16 CAN_Bitrate_Display = 0x0; /* Mapped at index 0x200A, subindex 0x00 */ +UNS32 Custom_persistent_memory_Custom_persistent_memory_1 = 0x0; /* Mapped at index 0x200C, subindex 0x01 */ +UNS32 Custom_persistent_memory_Custom_persistent_memory_2 = 0x0; /* Mapped at index 0x200C, subindex 0x02 */ +UNS32 Custom_persistent_memory_Custom_persistent_memory_3 = 0x0; /* Mapped at index 0x200C, subindex 0x03 */ +UNS32 Custom_persistent_memory_Custom_persistent_memory_4 = 0x0; /* Mapped at index 0x200C, subindex 0x04 */ +UNS16 Internal_DataRecorder_Control = 0x0; /* Mapped at index 0x2010, subindex 0x00 */ +UNS16 Internal_DataRecorder_Configuration = 0x0; /* Mapped at index 0x2011, subindex 0x00 */ +UNS16 Internal_DataRecorder_Sampling_Period = 0x0; /* Mapped at index 0x2012, subindex 0x00 */ +UNS16 Internal_DataRecorder_Number_of_Preceding_Samples = 0x0; /* Mapped at index 0x2013, subindex 0x00 */ +UNS16 Internal_DataRecorder_Number_of_Sampling_Variables = 0x0; /* Mapped at index 0x2014, subindex 0x00 */ +UNS16 Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_1 = 0x0; /* Mapped at index 0x2015, subindex 0x01 */ +UNS16 Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_2 = 0x0; /* Mapped at index 0x2015, subindex 0x02 */ +UNS16 Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_3 = 0x0; /* Mapped at index 0x2015, subindex 0x03 */ +UNS16 Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_4 = 0x0; /* Mapped at index 0x2015, subindex 0x04 */ +UNS16 Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_1 = 0x0; /* Mapped at index 0x2016, subindex 0x01 */ +UNS16 Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_2 = 0x0; /* Mapped at index 0x2016, subindex 0x02 */ +UNS16 Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_3 = 0x0; /* Mapped at index 0x2016, subindex 0x03 */ +UNS16 Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_4 = 0x0; /* Mapped at index 0x2016, subindex 0x04 */ +UNS16 Internal_DataRecorder_Status = 0x0; /* Mapped at index 0x2017, subindex 0x00 */ +UNS16 Internal_DataRecorder_Max_Number_of_Samples = 0x0; /* Mapped at index 0x2018, subindex 0x00 */ +UNS16 Internal_DataRecorder_Number_of_Recorded_Samples = 0x0; /* Mapped at index 0x2019, subindex 0x00 */ +UNS16 Internal_DataRecorder_Vector_Start_Offset = 0x0; /* Mapped at index 0x201A, subindex 0x00 */ +UNS32 Incremental_Encoder_1_Counter = 0x0; /* Mapped at index 0x2020, subindex 0x00 */ +UNS32 Incremental_Encoder_1_Counter_at_Index_Pulse = 0x0; /* Mapped at index 0x2021, subindex 0x00 */ +UNS16 Hall_Sensor_Pattern = 0x0; /* Mapped at index 0x2022, subindex 0x00 */ +UNS16 Internal_Object_Actual_Rotor_Angle = 0x0; /* Mapped at index 0x2023, subindex 0x00 */ +UNS16 Internal_System_State = 0x0; /* Mapped at index 0x2024, subindex 0x00 */ +UNS32 Internal_Object_Reserved = 0x0; /* Mapped at index 0x2025, subindex 0x00 */ +UNS32 Internal_Object_ProcessMemory_Internal_Object_MemoryAddress = 0x0; /* Mapped at index 0x2026, subindex 0x01 */ +UNS16 Internal_Object_ProcessMemory_Internal_Object_MemoryValue = 0x0; /* Mapped at index 0x2026, subindex 0x02 */ +INTEGER16 Current_Actual_Value_Averaged = 0x0; /* Mapped at index 0x2027, subindex 0x00 */ +INTEGER32 Velocity_Actual_Value_Averaged = 0x0; /* Mapped at index 0x2028, subindex 0x00 */ +UNS32 Internal_Object_Internal_Parameters_Internal_Object_Main_Position_Sensor_Resolution = 0x0; /* Mapped at index 0x202C, subindex 0x01 */ +UNS32 Internal_Object_Internal_Parameters_Internal_Object_Maximal_Velocity_Limit = 0x0; /* Mapped at index 0x202C, subindex 0x02 */ +INTEGER16 Internal_Object_Internal_Values_Internal_Object_Maximum_measured_angle_difference = 0x0; /* Mapped at index 0x202D, subindex 0x01 */ +INTEGER16 Internal_Object_Internal_Values_Internal_Object_Minimum_measured_angle_difference = 0x0; /* Mapped at index 0x202D, subindex 0x02 */ +UNS16 Internal_Object_Internal_Values_Internal_Object_Angle_difference_overflow_counter = 0x0; /* Mapped at index 0x202D, subindex 0x03 */ +UNS16 Internal_Object_Internal_Values_Internal_Object_Angle_Error_factor_2_pole_motor = 0x0; /* Mapped at index 0x202D, subindex 0x04 */ +UNS16 Internal_Object_Internal_Values_Internal_Object_Angle_Error_factor_N_pole_motor = 0x0; /* Mapped at index 0x202D, subindex 0x05 */ +UNS16 Internal_Object_ADC_values_Internal_Object_ADC_NTC_temperature_value = 0x0; /* Mapped at index 0x202E, subindex 0x01 */ +INTEGER16 Internal_Object_ADC_values_Internal_Object_ADC_current_U_W1 = 0x0; /* Mapped at index 0x202E, subindex 0x02 */ +INTEGER16 Internal_Object_ADC_values_Internal_Object_ADC_current_V_W2 = 0x0; /* Mapped at index 0x202E, subindex 0x03 */ +UNS16 Internal_Object_ADC_values_Internal_Object_ADC_Input_voltage = 0x0; /* Mapped at index 0x202E, subindex 0x04 */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_5 = 0x0; /* Mapped at index 0x202E, subindex 0x05 */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_6 = 0x0; /* Mapped at index 0x202E, subindex 0x06 */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_7 = 0x0; /* Mapped at index 0x202E, subindex 0x07 */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_8 = 0x0; /* Mapped at index 0x202E, subindex 0x08 */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_9 = 0x0; /* Mapped at index 0x202E, subindex 0x09 */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_A = 0x0; /* Mapped at index 0x202E, subindex 0x0A */ +UNS8 Internal_Object_ADC_values_Compatibility_Entry_B = 0x0; /* Mapped at index 0x202E, subindex 0x0B */ +INTEGER16 Internal_Object_ADC_values_Internal_Object_ADC_Supply_Voltage_Udd = 0x0; /* Mapped at index 0x202E, subindex 0x0C */ +INTEGER16 Current_Mode_Setting_Value = 0x0; /* Mapped at index 0x2030, subindex 0x00 */ +INTEGER16 Current_Demand_Value = 0x0; /* Mapped at index 0x2031, subindex 0x00 */ +INTEGER32 Position_Mode_Setting_Value = 0x0; /* Mapped at index 0x2062, subindex 0x00 */ +INTEGER32 Velocity_Mode_Setting_Value = 0x0; /* Mapped at index 0x206B, subindex 0x00 */ +UNS16 Configuration_of_Digital_Inputs_Configuration_of_Digital_Input1 = 0xF; /* Mapped at index 0x2070, subindex 0x01 */ +UNS16 Configuration_of_Digital_Inputs_Configuration_of_Digital_Input2 = 0xE; /* Mapped at index 0x2070, subindex 0x02 */ +UNS16 Configuration_of_Digital_Inputs_Configuration_of_Digital_Input3 = 0xD; /* Mapped at index 0x2070, subindex 0x03 */ +UNS16 Configuration_of_Digital_Inputs_Configuration_of_Digital_Input4 = 0x2; /* Mapped at index 0x2070, subindex 0x04 */ +UNS16 Configuration_of_Digital_Inputs_Configuration_of_Digital_Input5 = 0x1; /* Mapped at index 0x2070, subindex 0x05 */ +UNS16 Configuration_of_Digital_Inputs_Configuration_of_Digital_Input6 = 0x0; /* Mapped at index 0x2070, subindex 0x06 */ +UNS16 Digital_Input_Functionalities_Digital_Input_Functionalities_State = 0x0; /* Mapped at index 0x2071, subindex 0x01 */ +UNS16 Digital_Input_Functionalities_Digital_Input_Functionalities_Mask = 0xE007; /* Mapped at index 0x2071, subindex 0x02 */ +UNS16 Digital_Input_Functionalities_Digital_Input_Functionalities_Polarity = 0x0; /* Mapped at index 0x2071, subindex 0x03 */ +UNS16 Digital_Input_Functionalities_Digital_Input_Functionalities_Execution_Mask = 0x8; /* Mapped at index 0x2071, subindex 0x04 */ +INTEGER32 Position_Marker_Position_Marker_Captured_Position = 0x0; /* Mapped at index 0x2074, subindex 0x01 */ +UNS8 Position_Marker_Position_Marker_Edge_Type = 0x0; /* Mapped at index 0x2074, subindex 0x02 */ +UNS8 Position_Marker_Position_Marker_Mode = 0x0; /* Mapped at index 0x2074, subindex 0x03 */ +UNS16 Position_Marker_Position_Marker_Counter = 0x0; /* Mapped at index 0x2074, subindex 0x04 */ +INTEGER32 Position_Marker_Position_Marker_History_1 = 0x0; /* Mapped at index 0x2074, subindex 0x05 */ +INTEGER32 Position_Marker_Position_Marker_History_2 = 0x0; /* Mapped at index 0x2074, subindex 0x06 */ +UNS16 Digital_Output_Functionalities_Digital_Output_State = 0x0; /* Mapped at index 0x2078, subindex 0x01 */ +UNS16 Digital_Output_Functionalities_Digital_Output_Mask = 0x0; /* Mapped at index 0x2078, subindex 0x02 */ +UNS16 Digital_Output_Functionalities_Digital_Output_Polarity = 0x0; /* Mapped at index 0x2078, subindex 0x03 */ +UNS8 Configuration_of_Digital_Outputs_Compatibility_Entry_1 = 0x0; /* Mapped at index 0x2079, subindex 0x01 */ +UNS8 Configuration_of_Digital_Outputs_Compatibility_Entry_2 = 0x0; /* Mapped at index 0x2079, subindex 0x02 */ +UNS16 Configuration_of_Digital_Outputs_Configuration_of_Digital_Output3 = 0xD; /* Mapped at index 0x2079, subindex 0x03 */ +UNS16 Configuration_of_Digital_Outputs_Configuration_of_Digital_Output4 = 0xC; /* Mapped at index 0x2079, subindex 0x04 */ +UNS16 Position_Compare_Position_Compare_Configuration = 0x0; /* Mapped at index 0x207A, subindex 0x01 */ +INTEGER32 Position_Compare_Position_Compare_Reference_Position = 0x0; /* Mapped at index 0x207A, subindex 0x02 */ +INTEGER32 Position_Compare_Position_Compare_Interval_Width = 0x0; /* Mapped at index 0x207A, subindex 0x03 */ +UNS16 Position_Compare_Position_Compare_Interval_Repetitions = 0x0; /* Mapped at index 0x207A, subindex 0x04 */ +UNS16 Position_Compare_Position_Compare_Pulse_Width = 0x0; /* Mapped at index 0x207A, subindex 0x05 */ +UNS16 Configuration_of_Analog_Inputs_Configuration_of_Analog_Input1 = 0xF; /* Mapped at index 0x207B, subindex 0x01 */ +UNS16 Configuration_of_Analog_Inputs_Configuration_of_Analog_Input2 = 0xE; /* Mapped at index 0x207B, subindex 0x02 */ +INTEGER16 Analog_Inputs_Analog_Input_1 = 0x0; /* Mapped at index 0x207C, subindex 0x01 */ +INTEGER16 Analog_Inputs_Analog_Input_2 = 0x0; /* Mapped at index 0x207C, subindex 0x02 */ +UNS16 Analog_Input_Functionalities_Execution_Mask = 0x0; /* Mapped at index 0x207D, subindex 0x00 */ +UNS16 Current_Threshold_for_Homing_Mode = 0x1F4; /* Mapped at index 0x2080, subindex 0x00 */ +INTEGER32 Home_Position = 0x0; /* Mapped at index 0x2081, subindex 0x00 */ +INTEGER32 Home_Position_Displacement = 0x0; /* Mapped at index 0x2082, subindex 0x00 */ +UNS64 Interpolation_Data_Record = 0x0; /* Mapped at index 0x20C1, subindex 0x00 */ +UNS16 Interpolation_Buffer_Interpolation_Buffer_Status = 0x0; /* Mapped at index 0x20C4, subindex 0x01 */ +UNS16 Interpolation_Buffer_Interpolation_Buffer_Underflow_Warning = 0x4; /* Mapped at index 0x20C4, subindex 0x02 */ +UNS16 Interpolation_Buffer_Interpolation_Buffer_Overflow_Warning = 0x3C; /* Mapped at index 0x20C4, subindex 0x03 */ +INTEGER16 Following_Error_Actual_Value = 0x0; /* Mapped at index 0x20F4, subindex 0x00 */ +UNS16 Holding_Brake_Configuration_Brake_Reaction_Rise_Time = 0xA; /* Mapped at index 0x2100, subindex 0x01 */ +UNS16 Holding_Brake_Configuration_Brake_Reaction_Fall_Time = 0xA; /* Mapped at index 0x2100, subindex 0x02 */ +UNS16 Holding_Brake_Configuration_Brake_Timeout = 0xFFFF; /* Mapped at index 0x2100, subindex 0x03 */ +UNS16 Standstill_Window_Configuration_Standstill_Window = 0x1E; /* Mapped at index 0x2101, subindex 0x01 */ +UNS16 Standstill_Window_Configuration_Standstill_Window_Time = 0x32; /* Mapped at index 0x2101, subindex 0x02 */ +UNS16 Standstill_Window_Configuration_Standstill_Timeout = 0x3E8; /* Mapped at index 0x2101, subindex 0x03 */ +UNS32 Sensor_Configuration_Pulse_Number_Incremental_Encoder_1 = 0x1F4; /* Mapped at index 0x2210, subindex 0x01 */ +UNS16 Sensor_Configuration_Position_Sensor_Type = 0x1; /* Mapped at index 0x2210, subindex 0x02 */ +UNS16 Sensor_Configuration_Internal_Absolute_Position_Offset = 0x0; /* Mapped at index 0x2210, subindex 0x03 */ +UNS16 Sensor_Configuration_Position_Sensor_Polarity = 0x0; /* Mapped at index 0x2210, subindex 0x04 */ +UNS16 Controller_Structure = 0x0; /* Mapped at index 0x2220, subindex 0x00 */ +UNS32 Gear_Configuration_Gear_Ratio_Numerator = 0x0; /* Mapped at index 0x2230, subindex 0x01 */ +UNS16 Gear_Configuration_Gear_Ratio_Denominator = 0x0; /* Mapped at index 0x2230, subindex 0x02 */ +UNS32 Gear_Configuration_Gear_Maximal_Speed = 0x0; /* Mapped at index 0x2230, subindex 0x03 */ +INTEGER32 Digital_Position_Input_Digital_Position_Desired_Value = 0x0; /* Mapped at index 0x2300, subindex 0x01 */ +UNS16 Digital_Position_Input_Digital_Position_Scaling_Numerator = 0x1; /* Mapped at index 0x2300, subindex 0x02 */ +UNS16 Digital_Position_Input_Digital_Position_Scaling_Denominator = 0x1; /* Mapped at index 0x2300, subindex 0x03 */ +UNS8 Digital_Position_Input_Digital_Position_Polarity = 0x0; /* Mapped at index 0x2300, subindex 0x04 */ +INTEGER32 Digital_Position_Input_Digital_Position_Offset = 0x0; /* Mapped at index 0x2300, subindex 0x05 */ +INTEGER16 Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint_Scaling = 0x0; /* Mapped at index 0x2301, subindex 0x01 */ +INTEGER16 Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint_Offset = 0x0; /* Mapped at index 0x2301, subindex 0x02 */ +INTEGER8 Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint_Notation_Index = 0x0; /* Mapped at index 0x2301, subindex 0x03 */ +INTEGER16 Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint = 0x0; /* Mapped at index 0x2301, subindex 0x04 */ +INTEGER16 Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint_Scaling = 0x0; /* Mapped at index 0x2302, subindex 0x01 */ +INTEGER32 Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint_Offset = 0x0; /* Mapped at index 0x2302, subindex 0x02 */ +INTEGER8 Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint_Notation_Index = 0x0; /* Mapped at index 0x2302, subindex 0x03 */ +INTEGER32 Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint = 0x0; /* Mapped at index 0x2302, subindex 0x04 */ +INTEGER16 Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint_Scaling = 0x0; /* Mapped at index 0x2303, subindex 0x01 */ +INTEGER32 Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint_Offset = 0x0; /* Mapped at index 0x2303, subindex 0x02 */ +INTEGER8 Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint_Notation_Index = 0x0; /* Mapped at index 0x2303, subindex 0x03 */ +INTEGER32 Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint = 0x0; /* Mapped at index 0x2303, subindex 0x04 */ +UNS16 Internal_P_Autotuning_Parameters_Internal_Cut_off_Frequency_of_Oscillator = 0x0; /* Mapped at index 0x2400, subindex 0x01 */ +UNS32 Internal_P_Autotuning_Parameters_Internal_Target_Amplitude_of_Oscillation = 0x0; /* Mapped at index 0x2400, subindex 0x02 */ +UNS16 Internal_P_Autotuning_Parameters_Internal_Oscillation_Control = 0x0; /* Mapped at index 0x2400, subindex 0x03 */ +UNS32 Internal_P_Autotuning_Values_Internal_Cycle_Duration = 0x0; /* Mapped at index 0x2401, subindex 0x01 */ +UNS32 Internal_P_Autotuning_Values_Internal_Phase_Delay = 0x0; /* Mapped at index 0x2401, subindex 0x02 */ +UNS16 Internal_P_Autotuning_Values_Internal_Set_Value_Ramp_Current = 0x0; /* Mapped at index 0x2401, subindex 0x03 */ +UNS32 Internal_P_Autotuning_Values_Internal_Actual_Position_Peak_Value = 0x0; /* Mapped at index 0x2401, subindex 0x04 */ +UNS32 Internal_P_Autotuning_Values_Internal_Actual_Value_of_Dynamic_Friction = 0x0; /* Mapped at index 0x2401, subindex 0x05 */ +UNS16 Internal_P_Autotuning_Values_Internal_Number_of_Oscillation_Cycles = 0x0; /* Mapped at index 0x2401, subindex 0x06 */ +UNS16 Internal_P_Autotuning_Values_Internal_Maximum_Friction_Current = 0x0; /* Mapped at index 0x2401, subindex 0x07 */ +UNS16 Internal_LR_Identification_Internal_LR_Identification_Control = 0x0; /* Mapped at index 0x2410, subindex 0x01 */ +UNS16 Internal_LR_Identification_Internal_LR_Identification_Current = 0x0; /* Mapped at index 0x2410, subindex 0x02 */ +UNS16 Internal_LR_Identification_Internal_Resistance = 0x0; /* Mapped at index 0x2411, subindex 0x01 */ +UNS16 Internal_LR_Identification_Internal_Inductivity = 0x0; /* Mapped at index 0x2411, subindex 0x02 */ +UNS16 Internal_LR_Identification_Internal_Frequency = 0x0; /* Mapped at index 0x2411, subindex 0x03 */ +UNS32 Internal_Firmware_Download_Internal_Download_Start = 0x0; /* Mapped at index 0x2FFF, subindex 0x01 */ +UNS16 Internal_Firmware_Download_Internal_Download_Number_of_SubSections = 0x0; /* Mapped at index 0x2FFF, subindex 0x02 */ +//INTEGER8 Internal_Firmware_Download_Internal_Download_Code_SubSection[0] = ""; /* Mapped at index 0x2FFF, subindex 0x03 */ +UNS16 Internal_Firmware_Download_Internal_Download_Boot_Code_Version = 0x0; /* Mapped at index 0x2FFF, subindex 0x04 */ +UNS32 Internal_Firmware_Download_Internal_Download_Serial_Number_HighWord = 0x0; /* Mapped at index 0x2FFF, subindex 0x05 */ +UNS32 Internal_Firmware_Download_Internal_Download_Serial_Number_LowWord = 0x0; /* Mapped at index 0x2FFF, subindex 0x06 */ +INTEGER16 Abort_Connection_Option_Code = 0x0; /* Mapped at index 0x6007, subindex 0x00 */ +UNS16 Controlword = 0x0; /* Mapped at index 0x6040, subindex 0x00 */ +UNS16 Statusword = 0x0; /* Mapped at index 0x6041, subindex 0x00 */ +INTEGER16 Shutdown_Option_Code = 0x0; /* Mapped at index 0x605B, subindex 0x00 */ +INTEGER16 Disable_Operation_Option_Code = 0x1; /* Mapped at index 0x605C, subindex 0x00 */ +INTEGER16 Fault_Reaction_Option_Code = 0x2; /* Mapped at index 0x605E, subindex 0x00 */ +INTEGER8 Modes_of_Operation = 0x1; /* Mapped at index 0x6060, subindex 0x00 */ +INTEGER8 Modes_of_Operation_Display = 0x0; /* Mapped at index 0x6061, subindex 0x00 */ +INTEGER32 Position_Demand_Value = 0x0; /* Mapped at index 0x6062, subindex 0x00 */ +INTEGER32 Position_Actual_Value = 0x0; /* Mapped at index 0x6064, subindex 0x00 */ +UNS32 Max_Following_Error = 0x7D0; /* Mapped at index 0x6065, subindex 0x00 */ +UNS32 Position_Window = 0xFFFFFFFF; /* Mapped at index 0x6067, subindex 0x00 */ +UNS16 Position_Window_Time = 0x0; /* Mapped at index 0x6068, subindex 0x00 */ +INTEGER32 Velocity_Sensor_Actual_Value = 0x0; /* Mapped at index 0x6069, subindex 0x00 */ +INTEGER32 Velocity_Demand_Value = 0x0; /* Mapped at index 0x606B, subindex 0x00 */ +INTEGER32 Velocity_Actual_Value = 0x0; /* Mapped at index 0x606C, subindex 0x00 */ +UNS32 Velocity_Window = 0x0; /* Mapped at index 0x606D, subindex 0x00 */ +UNS16 Velocity_Window_Time = 0x0; /* Mapped at index 0x606E, subindex 0x00 */ +INTEGER16 Current_Actual_Value = 0x0; /* Mapped at index 0x6078, subindex 0x00 */ +INTEGER32 Target_Position = 0x0; /* Mapped at index 0x607A, subindex 0x00 */ +INTEGER32 Home_Offset = 0x0; /* Mapped at index 0x607C, subindex 0x00 */ +INTEGER32 Software_Position_Limit_Min_Position_Limit = -2147483648; /* Mapped at index 0x607D, subindex 0x01 */ +INTEGER32 Software_Position_Limit_Max_Position_Limit = 0x7FFFFFFF; /* Mapped at index 0x607D, subindex 0x02 */ +UNS32 Max_Profile_Velocity = 0x61A8; /* Mapped at index 0x607F, subindex 0x00 */ +UNS32 Profile_Velocity = 0x3E8; /* Mapped at index 0x6081, subindex 0x00 */ +UNS32 Profile_Acceleration = 0x2710; /* Mapped at index 0x6083, subindex 0x00 */ +UNS32 Profile_Deceleration = 0x2710; /* Mapped at index 0x6084, subindex 0x00 */ +UNS32 QuickStop_Deceleration = 0x2710; /* Mapped at index 0x6085, subindex 0x00 */ +INTEGER16 Motion_Profile_Type = 0x0; /* Mapped at index 0x6086, subindex 0x00 */ +INTEGER8 Position_Notation_Index = 0x0; /* Mapped at index 0x6089, subindex 0x00 */ +UNS8 Position_Dimension_Index = 0xAC; /* Mapped at index 0x608A, subindex 0x00 */ +INTEGER8 Velocity_Notation_Index = 0x0; /* Mapped at index 0x608B, subindex 0x00 */ +UNS8 Velocity_Dimension_Index = 0xA4; /* Mapped at index 0x608C, subindex 0x00 */ +INTEGER8 Acceleration_Notation_Index = 0x0; /* Mapped at index 0x608D, subindex 0x00 */ +UNS8 Acceleration_Dimension_Index = 0xA4; /* Mapped at index 0x608E, subindex 0x00 */ +INTEGER8 Homing_Method = 0x7; /* Mapped at index 0x6098, subindex 0x00 */ +UNS32 Homing_Speeds_Speed_for_Switch_Search = 0x64; /* Mapped at index 0x6099, subindex 0x01 */ +UNS32 Homing_Speeds_Speed_for_Zero_Search = 0xA; /* Mapped at index 0x6099, subindex 0x02 */ +UNS32 Homing_Acceleration = 0x3E8; /* Mapped at index 0x609A, subindex 0x00 */ +INTEGER16 Interpolation_Sub_Mode_Selection = 0x0; /* Mapped at index 0x60C0, subindex 0x00 */ +UNS8 Interpolation_Time_Period_Interpolation_Time_Periode_Value = 0x1; /* Mapped at index 0x60C2, subindex 0x01 */ +INTEGER8 Interpolation_Time_Period_Interpolation_Time_Index = -3; /* Mapped at index 0x60C2, subindex 0x02 */ +UNS32 Interpolation_Data_Configuration_Maximum_Buffer_Size = 0x0; /* Mapped at index 0x60C4, subindex 0x01 */ +UNS32 Interpolation_Data_Configuration_Actual_Buffer_Size = 0x0; /* Mapped at index 0x60C4, subindex 0x02 */ +UNS8 Interpolation_Data_Configuration_Buffer_Organisation = 0x0; /* Mapped at index 0x60C4, subindex 0x03 */ +UNS16 Interpolation_Data_Configuration_Buffer_Position = 0x0; /* Mapped at index 0x60C4, subindex 0x04 */ +UNS8 Interpolation_Data_Configuration_Size_Of_Data_Record = 0x0; /* Mapped at index 0x60C4, subindex 0x05 */ +UNS8 Interpolation_Data_Configuration_Buffer_Clear = 0x0; /* Mapped at index 0x60C4, subindex 0x06 */ +UNS32 Max_Acceleration = 0xFFFFFFFF; /* Mapped at index 0x60C5, subindex 0x00 */ +INTEGER16 Current_Control_Parameter_Set_Current_Regulator_P_Gain = 0x12C; /* Mapped at index 0x60F6, subindex 0x01 */ +INTEGER16 Current_Control_Parameter_Set_Current_Regulator_I_Gain = 0x64; /* Mapped at index 0x60F6, subindex 0x02 */ +INTEGER16 Velocity_Control_Parameter_Set_Speed_Regulator_P_Gain = 0x3E8; /* Mapped at index 0x60F9, subindex 0x01 */ +INTEGER16 Velocity_Control_Parameter_Set_Speed_Regulator_I_Gain = 0x64; /* Mapped at index 0x60F9, subindex 0x02 */ +UNS8 Velocity_Control_Parameter_Set_Compatibility_Entry = 0x0; /* Mapped at index 0x60F9, subindex 0x03 */ +UNS16 Velocity_Control_Parameter_Set_Velocity_Feedforward_Factor_in_Speed_Regulator = 0x0; /* Mapped at index 0x60F9, subindex 0x04 */ +UNS16 Velocity_Control_Parameter_Set_Acceleration_Feedforward_Factor_in_Speed_Regulator = 0x0; /* Mapped at index 0x60F9, subindex 0x05 */ +INTEGER16 Position_Control_Parameter_Set_Position_Regulator_P_Gain = 0x96; /* Mapped at index 0x60FB, subindex 0x01 */ +INTEGER16 Position_Control_Parameter_Set_Position_Regulator_I_Gain = 0xA; /* Mapped at index 0x60FB, subindex 0x02 */ +INTEGER16 Position_Control_Parameter_Set_Position_Regulator_D_Gain = 0xC8; /* Mapped at index 0x60FB, subindex 0x03 */ +UNS16 Position_Control_Parameter_Set_Velocity_Feedforward_Factor_in_Position_Regulator = 0x0; /* Mapped at index 0x60FB, subindex 0x04 */ +UNS16 Position_Control_Parameter_Set_Acceleration_Feedforward_Factor_in_Position_Regulator = 0x0; /* Mapped at index 0x60FB, subindex 0x05 */ +INTEGER32 Target_Velocity = 0x0; /* Mapped at index 0x60FF, subindex 0x00 */ +UNS16 Motor_Type = 0xA; /* Mapped at index 0x6402, subindex 0x00 */ +UNS16 Motor_Data_Continuous_Current_Limit = 0x7D0; /* Mapped at index 0x6410, subindex 0x01 */ +UNS16 Motor_Data_Output_Current_Limit = 0xFA0; /* Mapped at index 0x6410, subindex 0x02 */ +UNS8 Motor_Data_Pole_Pair_Number = 0x1; /* Mapped at index 0x6410, subindex 0x03 */ +UNS32 Motor_Data_Maximal_Motor_Speed = 0x61A8; /* Mapped at index 0x6410, subindex 0x04 */ +UNS16 Motor_Data_Thermal_Time_Constant_Winding = 0x28; /* Mapped at index 0x6410, subindex 0x05 */ +UNS32 Supported_Drive_Modes = 0x0; /* Mapped at index 0x6502, subindex 0x00 */ + +/**************************************************************************/ +/* Declaration of value range types */ +/**************************************************************************/ + +#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */ +UNS32 _valueRangeTest (UNS8 typeValue, void * value) +{ + switch (typeValue) { + case valueRange_EMC: + if (*(UNS8*)value != (UNS8)0) return OD_VALUE_RANGE_EXCEEDED; + break; + } + return 0; +} + +/**************************************************************************/ +/* The node id */ +/**************************************************************************/ +/* node_id default value.*/ +UNS8 _bDeviceNodeId = 0x00; + +/**************************************************************************/ +/* Array of message processing information */ + +const UNS8 _iam_a_slave = 1; + +TIMER_HANDLE _heartBeatTimers[2] = {TIMER_NONE,TIMER_NONE}; + +/* +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + + OBJECT DICTIONARY + +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +*/ + +/* index 0x1000 : Device Type. */ + UNS32 _obj1000 = 0x0; /* 0 */ + subindex _Index1000[] = + { + { RO, uint32, sizeof (UNS32), (void*)&_obj1000 } + }; + +/* index 0x1001 : Error Register. */ + UNS8 _obj1001 = 0x0; /* 0 */ + subindex _Index1001[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_obj1001 } + }; + +/* index 0x1003 : Pre-defined Error Field. */ + UNS8 _highestSubIndex_obj1003 = 0; /* number of subindex - 1*/ + UNS32 _obj1003[] = + { + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + ODCallback_t _Index1003_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + }; + subindex _Index1003[] = + { + { RW, valueRange_EMC, sizeof (UNS8), (void*)&_highestSubIndex_obj1003 }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1003[0] }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1003[1] }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1003[2] }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1003[3] }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1003[4] } + }; + +/* index 0x1005 : SYNC COB ID. */ + UNS32 _obj1005 = 0x80; /* 128 */ + ODCallback_t _Index1005_callbacks[] = + { + NULL, + }; + subindex _Index1005[] = + { + { RW, uint32, sizeof (UNS32), (void*)&_obj1005 } + }; + +/* index 0x1006 : Communication / Cycle Period */ + UNS32 _obj1006 = 0x0; /* 0 */ + +/* index 0x1008 : Manufacturer Device Name. */ + INTEGER8 _obj1008[10] = ""; + subindex _Index1008[] = + { + { RO, visible_string, 10, (void*)&_obj1008 } + }; + +/* index 0x100C : Guard Time. */ + UNS16 _obj100C = 0x0; /* 0 */ + subindex _Index100C[] = + { + { RW, uint16, sizeof (UNS16), (void*)&_obj100C } + }; + +/* index 0x100D : Life Time Factor. */ + UNS8 _obj100D = 0x0; /* 0 */ + subindex _Index100D[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_obj100D } + }; + +/* index 0x1010 : Store parameters. */ + UNS8 _highestSubIndex_obj1010 = 1; /* number of subindex - 1*/ + UNS32 _obj1010_Save_All_Parameters = 0x0; /* 0 */ + subindex _Index1010[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1010 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1010_Save_All_Parameters } + }; + +/* index 0x1011 : Restore Default Parameters. */ + UNS8 _highestSubIndex_obj1011 = 5; /* number of subindex - 1*/ + UNS32 _obj1011_Restore_All_Default_Parameters = 0x0; /* 0 */ + UNS32 _obj1011_Restore_Communication_Default_Parameters = 0x0; /* 0 */ + UNS32 _obj1011_Restore_Application_Default_Parameters = 0x0; /* 0 */ + UNS32 _obj1011_Restore_Manufacturer_Defined_Default_Parameters_1 = 0x0; /* 0 */ + UNS32 _obj1011_Restore_Manufacturer_Defined_Default_Parameters_2 = 0x0; /* 0 */ + subindex _Index1011[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1011 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1011_Restore_All_Default_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1011_Restore_Communication_Default_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1011_Restore_Application_Default_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1011_Restore_Manufacturer_Defined_Default_Parameters_1 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1011_Restore_Manufacturer_Defined_Default_Parameters_2 } + }; + +/* index 0x1012 : TIME COB ID. */ + UNS32 _obj1012 = 0x100; /* 256 */ + subindex _Index1012[] = + { + { RW, uint32, sizeof (UNS32), (void*)&_obj1012 } + }; + +/* index 0x1013 : High Resolution Timestamp. */ + UNS32 _obj1013 = 0x0; /* 0 */ + subindex _Index1013[] = + { + { RW, uint32, sizeof (UNS32), (void*)&_obj1013 } + }; + +/* index 0x1014 : Emergency COB ID. */ + UNS32 _obj1014 = 0x80; /* 128 */ + subindex _Index1014[] = + { + { RW, uint32, sizeof (UNS32), (void*)&_obj1014 } + }; + +/* index 0x1016 : Consumer Heartbeat Time. */ + UNS8 _highestSubIndex_obj1016 = 2; /* number of subindex - 1*/ + UNS32 _obj1016[] = + { + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1016[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1016 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1016[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1016[1] } + }; + +/* index 0x1017 : Producer Heartbeat Time. */ + UNS16 _obj1017 = 0x0; /* 0 */ + ODCallback_t _Index1017_callbacks[] = + { + NULL, + }; + subindex _Index1017[] = + { + { RW, uint16, sizeof (UNS16), (void*)&_obj1017 } + }; + +/* index 0x1018 : Identity. */ + UNS8 _highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ + UNS32 _obj1018_Vendor_ID = 0x0; /* 0 */ + UNS32 _obj1018_Product_Code = 0x0; /* 0 */ + UNS32 _obj1018_Revision_Number = 0x0; /* 0 */ + UNS32 _obj1018_Serial_Number = 0x0; /* 0 */ + subindex _Index1018[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1018 }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1018_Vendor_ID }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1018_Product_Code }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1018_Revision_Number }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1018_Serial_Number } + }; + +/* index 0x1020 : Verify Configuration. */ + UNS8 _highestSubIndex_obj1020 = 2; /* number of subindex - 1*/ + UNS32 _obj1020_Configuration_Date = 0x0; /* 0 */ + UNS32 _obj1020_Configuration_Time = 0x0; /* 0 */ + subindex _Index1020[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1020 }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1020_Configuration_Date }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1020_Configuration_Time } + }; + +/* index 0x1200 : Server SDO Parameter. */ + UNS8 _highestSubIndex_obj1200 = 2; /* number of subindex - 1*/ + UNS32 _obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x600; /* 1536 */ + UNS32 _obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x580; /* 1408 */ + subindex _Index1200[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1200 }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1200_COB_ID_Client_to_Server_Receive_SDO }, + { RO, uint32, sizeof (UNS32), (void*)&_obj1200_COB_ID_Server_to_Client_Transmit_SDO } + }; + +/* index 0x1400 : Receive PDO 1 Parameter. */ + UNS8 _highestSubIndex_obj1400 = 2; /* number of subindex - 1*/ + UNS32 _obj1400_COB_ID_used_by_PDO = 0x200; /* 512 */ + UNS8 _obj1400_Transmission_Type = 0xFF; /* 255 */ + subindex _Index1400[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1400 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1400_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1400_Transmission_Type } + }; + +/* index 0x1401 : Receive PDO 2 Parameter. */ + UNS8 _highestSubIndex_obj1401 = 2; /* number of subindex - 1*/ + UNS32 _obj1401_COB_ID_used_by_PDO = 0x300; /* 768 */ + UNS8 _obj1401_Transmission_Type = 0xFF; /* 255 */ + subindex _Index1401[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1401 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1401_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1401_Transmission_Type } + }; + +/* index 0x1402 : Receive PDO 3 Parameter. */ + UNS8 _highestSubIndex_obj1402 = 2; /* number of subindex - 1*/ + UNS32 _obj1402_COB_ID_used_by_PDO = 0x400; /* 1024 */ + UNS8 _obj1402_Transmission_Type = 0xFF; /* 255 */ + subindex _Index1402[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1402 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1402_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1402_Transmission_Type } + }; + +/* index 0x1403 : Receive PDO 4 Parameter. */ + UNS8 _highestSubIndex_obj1403 = 2; /* number of subindex - 1*/ + UNS32 _obj1403_COB_ID_used_by_PDO = 0x500; /* 1280 */ + UNS8 _obj1403_Transmission_Type = 0xFF; /* 255 */ + subindex _Index1403[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1403 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1403_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1403_Transmission_Type } + }; + +/* index 0x1600 : Receive PDO 1 Mapping. */ + UNS8 _highestSubIndex_obj1600 = 8; /* number of subindex - 1*/ + UNS32 _obj1600[] = + { + 0x60400010, /* 1614807056 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1600[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1600 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1600[7] } + }; + +/* index 0x1601 : Receive PDO 2 Mapping. */ + UNS8 _highestSubIndex_obj1601 = 8; /* number of subindex - 1*/ + UNS32 _obj1601[] = + { + 0x60400010, /* 1614807056 */ + 0x60600008, /* 1616904200 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1601[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1601 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1601[7] } + }; + +/* index 0x1602 : Receive PDO 3 Mapping. */ + UNS8 _highestSubIndex_obj1602 = 8; /* number of subindex - 1*/ + UNS32 _obj1602[] = + { + 0x60400010, /* 1614807056 */ + 0x607A0020, /* 1618608160 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1602[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1602 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1602[7] } + }; + +/* index 0x1603 : Receive PDO 4 Mapping. */ + UNS8 _highestSubIndex_obj1603 = 8; /* number of subindex - 1*/ + UNS32 _obj1603[] = + { + 0x60400010, /* 1614807056 */ + 0x60FF0020, /* 1627324448 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1603[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1603 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1603[7] } + }; + +/* index 0x1800 : Transmit PDO 1 Parameter. */ + UNS8 _highestSubIndex_obj1800 = 3; /* number of subindex - 1*/ + UNS32 _obj1800_COB_ID_used_by_PDO = 0x40000180; /* 1073742208 */ + UNS8 _obj1800_Transmission_Type = 0xFF; /* 255 */ + UNS16 _obj1800_Inhibit_Time = 0xA; /* 10 */ + ODCallback_t _Index1800_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + }; + subindex _Index1800[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1800 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1800_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1800_Transmission_Type }, + { RW, uint16, sizeof (UNS16), (void*)&_obj1800_Inhibit_Time } + }; + +/* index 0x1801 : Transmit PDO 2 Parameter. */ + UNS8 _highestSubIndex_obj1801 = 3; /* number of subindex - 1*/ + UNS32 _obj1801_COB_ID_used_by_PDO = 0xC0000280; /* 3221226112 */ + UNS8 _obj1801_Transmission_Type = 0xFF; /* 255 */ + UNS16 _obj1801_Inhibit_Time = 0xA; /* 10 */ + ODCallback_t _Index1801_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + }; + subindex _Index1801[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1801 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1801_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1801_Transmission_Type }, + { RW, uint16, sizeof (UNS16), (void*)&_obj1801_Inhibit_Time } + }; + +/* index 0x1802 : Transmit PDO 3 Parameter. */ + UNS8 _highestSubIndex_obj1802 = 3; /* number of subindex - 1*/ + UNS32 _obj1802_COB_ID_used_by_PDO = 0xC0000380; /* 3221226368 */ + UNS8 _obj1802_Transmission_Type = 0xFF; /* 255 */ + UNS16 _obj1802_Inhibit_Time = 0xA; /* 10 */ + ODCallback_t _Index1802_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + }; + subindex _Index1802[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1802 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1802_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1802_Transmission_Type }, + { RW, uint16, sizeof (UNS16), (void*)&_obj1802_Inhibit_Time } + }; + +/* index 0x1803 : Transmit PDO 4 Parameter. */ + UNS8 _highestSubIndex_obj1803 = 3; /* number of subindex - 1*/ + UNS32 _obj1803_COB_ID_used_by_PDO = 0xC0000480; /* 3221226624 */ + UNS8 _obj1803_Transmission_Type = 0xFF; /* 255 */ + UNS16 _obj1803_Inhibit_Time = 0xA; /* 10 */ + ODCallback_t _Index1803_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + }; + subindex _Index1803[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1803 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1803_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&_obj1803_Transmission_Type }, + { RW, uint16, sizeof (UNS16), (void*)&_obj1803_Inhibit_Time } + }; + +/* index 0x1A00 : Transmit PDO 1 Mapping. */ + UNS8 _highestSubIndex_obj1A00 = 8; /* number of subindex - 1*/ + UNS32 _obj1A00[] = + { + 0x60410010, /* 1614872592 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1A00[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1A00 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A00[7] } + }; + +/* index 0x1A01 : Transmit PDO 2 Mapping. */ + UNS8 _highestSubIndex_obj1A01 = 8; /* number of subindex - 1*/ + UNS32 _obj1A01[] = + { + 0x60410010, /* 1614872592 */ + 0x60610008, /* 1616969736 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1A01[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1A01 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A01[7] } + }; + +/* index 0x1A02 : Transmit PDO 3 Mapping. */ + UNS8 _highestSubIndex_obj1A02 = 8; /* number of subindex - 1*/ + UNS32 _obj1A02[] = + { + 0x60410010, /* 1614872592 */ + 0x60640020, /* 1617166368 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1A02[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1A02 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A02[7] } + }; + +/* index 0x1A03 : Transmit PDO 4 Mapping. */ + UNS8 _highestSubIndex_obj1A03 = 8; /* number of subindex - 1*/ + UNS32 _obj1A03[] = + { + 0x60410010, /* 1614872592 */ + 0x606C0020, /* 1617690656 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0, /* 0 */ + 0x0 /* 0 */ + }; + subindex _Index1A03[] = + { + { RW, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj1A03 }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[0] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[1] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[2] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[3] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[4] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[5] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[6] }, + { RW, uint32, sizeof (UNS32), (void*)&_obj1A03[7] } + }; + +/* index 0x2000 : Mapped variable Node ID */ + subindex _Index2000[] = + { + { RW, uint8, sizeof (UNS8), (void*)&Node_ID } + }; + +/* index 0x2001 : Mapped variable CAN Bitrate */ + subindex _Index2001[] = + { + { RW, uint16, sizeof (UNS16), (void*)&CAN_Bitrate } + }; + +/* index 0x2002 : Mapped variable RS232 Baudrate */ + subindex _Index2002[] = + { + { RW, uint16, sizeof (UNS16), (void*)&RS232_Baudrate } + }; + +/* index 0x2003 : Mapped variable Version */ + UNS8 _highestSubIndex_obj2003 = 5; /* number of subindex - 1*/ + subindex _Index2003[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2003 }, + { RO, uint16, sizeof (UNS16), (void*)&Version_Software_Version }, + { RO, uint16, sizeof (UNS16), (void*)&Version_Hardware_Version }, + { RO, uint16, sizeof (UNS16), (void*)&Version_Application_Number }, + { RO, uint16, sizeof (UNS16), (void*)&Version_Application_Version }, + { RO, uint16, sizeof (UNS16), (void*)&Version_Basesector_Version } + }; + +/* index 0x2004 : Mapped variable Serial Number */ + subindex _Index2004[] = + { + { RO, uint64, sizeof (UNS64), (void*)&Serial_Number } + }; + +/* index 0x2005 : Mapped variable RS232 Frame Timeout */ + subindex _Index2005[] = + { + { RW, uint16, sizeof (UNS16), (void*)&RS232_Frame_Timeout } + }; + +/* index 0x2006 : Mapped variable USB Frame Timeout */ + subindex _Index2006[] = + { + { RW, uint16, sizeof (UNS16), (void*)&USB_Frame_Timeout } + }; + +/* index 0x2008 : Mapped variable Miscellaneous Configuration */ + subindex _Index2008[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Miscellaneous_Configuration } + }; + +/* index 0x2009 : Mapped variable Internal Dip Switch State */ + subindex _Index2009[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Internal_Dip_Switch_State } + }; + +/* index 0x200A : Mapped variable CAN Bitrate Display */ + subindex _Index200A[] = + { + { RO, uint16, sizeof (UNS16), (void*)&CAN_Bitrate_Display } + }; + +/* index 0x200C : Mapped variable Custom persistent memory */ + UNS8 _highestSubIndex_obj200C = 4; /* number of subindex - 1*/ + subindex _Index200C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj200C }, + { RW, uint32, sizeof (UNS32), (void*)&Custom_persistent_memory_Custom_persistent_memory_1 }, + { RW, uint32, sizeof (UNS32), (void*)&Custom_persistent_memory_Custom_persistent_memory_2 }, + { RW, uint32, sizeof (UNS32), (void*)&Custom_persistent_memory_Custom_persistent_memory_3 }, + { RW, uint32, sizeof (UNS32), (void*)&Custom_persistent_memory_Custom_persistent_memory_4 } + }; + +/* index 0x2010 : Mapped variable Internal DataRecorder Control */ + subindex _Index2010[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Control } + }; + +/* index 0x2011 : Mapped variable Internal DataRecorder Configuration */ + subindex _Index2011[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Configuration } + }; + +/* index 0x2012 : Mapped variable Internal DataRecorder Sampling Period */ + subindex _Index2012[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Sampling_Period } + }; + +/* index 0x2013 : Mapped variable Internal DataRecorder Number of Preceding Samples */ + subindex _Index2013[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Number_of_Preceding_Samples } + }; + +/* index 0x2014 : Mapped variable Internal DataRecorder Number of Sampling Variables */ + subindex _Index2014[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Number_of_Sampling_Variables } + }; + +/* index 0x2015 : Mapped variable Internal DataRecorder Index of Variables */ + UNS8 _highestSubIndex_obj2015 = 4; /* number of subindex - 1*/ + subindex _Index2015[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2015 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_1 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_2 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_3 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Index_of_Variables_Internal_DataRecorder_Index_of_Variable_4 } + }; + +/* index 0x2016 : Mapped variable Internal DataRecorder SubIndex of Variables */ + UNS8 _highestSubIndex_obj2016 = 4; /* number of subindex - 1*/ + subindex _Index2016[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2016 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_1 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_2 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_3 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_SubIndex_of_Variables_Internal_DataRecorder_SubIndex_of_Variable_4 } + }; + +/* index 0x2017 : Mapped variable Internal DataRecorder Status */ + subindex _Index2017[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Status } + }; + +/* index 0x2018 : Mapped variable Internal DataRecorder Max Number of Samples */ + subindex _Index2018[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Max_Number_of_Samples } + }; + +/* index 0x2019 : Mapped variable Internal DataRecorder Number of Recorded Samples */ + subindex _Index2019[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Number_of_Recorded_Samples } + }; + +/* index 0x201A : Mapped variable Internal DataRecorder Vector Start Offset */ + subindex _Index201A[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Internal_DataRecorder_Vector_Start_Offset } + }; + +/* index 0x2020 : Mapped variable Incremental Encoder 1 Counter */ + subindex _Index2020[] = + { + { RO, uint32, sizeof (UNS32), (void*)&Incremental_Encoder_1_Counter } + }; + +/* index 0x2021 : Mapped variable Incremental Encoder 1 Counter at Index Pulse */ + subindex _Index2021[] = + { + { RO, uint32, sizeof (UNS32), (void*)&Incremental_Encoder_1_Counter_at_Index_Pulse } + }; + +/* index 0x2022 : Mapped variable Hall Sensor Pattern */ + subindex _Index2022[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Hall_Sensor_Pattern } + }; + +/* index 0x2023 : Mapped variable Internal Object Actual Rotor Angle */ + subindex _Index2023[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Internal_Object_Actual_Rotor_Angle } + }; + +/* index 0x2024 : Mapped variable Internal System State */ + subindex _Index2024[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Internal_System_State } + }; + +/* index 0x2025 : Mapped variable Internal Object Reserved */ + subindex _Index2025[] = + { + { WO, uint32, sizeof (UNS32), (void*)&Internal_Object_Reserved } + }; + +/* index 0x2026 : Mapped variable Internal Object ProcessMemory */ + UNS8 _highestSubIndex_obj2026 = 2; /* number of subindex - 1*/ + subindex _Index2026[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2026 }, + { RW, uint32, sizeof (UNS32), (void*)&Internal_Object_ProcessMemory_Internal_Object_MemoryAddress }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_Object_ProcessMemory_Internal_Object_MemoryValue } + }; + +/* index 0x2027 : Mapped variable Current Actual Value Averaged */ + subindex _Index2027[] = + { + { RO, int16, sizeof (INTEGER16), (void*)&Current_Actual_Value_Averaged } + }; + +/* index 0x2028 : Mapped variable Velocity Actual Value Averaged */ + subindex _Index2028[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Velocity_Actual_Value_Averaged } + }; + +/* index 0x202C : Mapped variable Internal Object Internal Parameters */ + UNS8 _highestSubIndex_obj202C = 2; /* number of subindex - 1*/ + subindex _Index202C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj202C }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_Object_Internal_Parameters_Internal_Object_Main_Position_Sensor_Resolution }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_Object_Internal_Parameters_Internal_Object_Maximal_Velocity_Limit } + }; + +/* index 0x202D : Mapped variable Internal Object Internal Values */ + UNS8 _highestSubIndex_obj202D = 5; /* number of subindex - 1*/ + subindex _Index202D[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj202D }, + { RO, int16, sizeof (INTEGER16), (void*)&Internal_Object_Internal_Values_Internal_Object_Maximum_measured_angle_difference }, + { RO, int16, sizeof (INTEGER16), (void*)&Internal_Object_Internal_Values_Internal_Object_Minimum_measured_angle_difference }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_Object_Internal_Values_Internal_Object_Angle_difference_overflow_counter }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_Object_Internal_Values_Internal_Object_Angle_Error_factor_2_pole_motor }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_Object_Internal_Values_Internal_Object_Angle_Error_factor_N_pole_motor } + }; + +/* index 0x202E : Mapped variable Internal Object ADC values */ + UNS8 _highestSubIndex_obj202E = 12; /* number of subindex - 1*/ + subindex _Index202E[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj202E }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_Object_ADC_values_Internal_Object_ADC_NTC_temperature_value }, + { RO, int16, sizeof (INTEGER16), (void*)&Internal_Object_ADC_values_Internal_Object_ADC_current_U_W1 }, + { RO, int16, sizeof (INTEGER16), (void*)&Internal_Object_ADC_values_Internal_Object_ADC_current_V_W2 }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_Object_ADC_values_Internal_Object_ADC_Input_voltage }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_5 }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_6 }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_7 }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_8 }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_9 }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_A }, + { RW, uint8, sizeof (UNS8), (void*)&Internal_Object_ADC_values_Compatibility_Entry_B }, + { RO, int16, sizeof (INTEGER16), (void*)&Internal_Object_ADC_values_Internal_Object_ADC_Supply_Voltage_Udd } + }; + +/* index 0x2030 : Mapped variable Current Mode Setting Value */ + subindex _Index2030[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Current_Mode_Setting_Value } + }; + +/* index 0x2031 : Mapped variable Current Demand Value */ + subindex _Index2031[] = + { + { RO, int16, sizeof (INTEGER16), (void*)&Current_Demand_Value } + }; + +/* index 0x2062 : Mapped variable Position Mode Setting Value */ + subindex _Index2062[] = + { + { RW, int32, sizeof (INTEGER32), (void*)&Position_Mode_Setting_Value } + }; + +/* index 0x206B : Mapped variable Velocity Mode Setting Value */ + subindex _Index206B[] = + { + { RW, int32, sizeof (INTEGER32), (void*)&Velocity_Mode_Setting_Value } + }; + +/* index 0x2070 : Mapped variable Configuration of Digital Inputs */ + UNS8 _highestSubIndex_obj2070 = 6; /* number of subindex - 1*/ + subindex _Index2070[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2070 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Inputs_Configuration_of_Digital_Input1 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Inputs_Configuration_of_Digital_Input2 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Inputs_Configuration_of_Digital_Input3 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Inputs_Configuration_of_Digital_Input4 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Inputs_Configuration_of_Digital_Input5 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Inputs_Configuration_of_Digital_Input6 } + }; + +/* index 0x2071 : Mapped variable Digital Input Functionalities */ + UNS8 _highestSubIndex_obj2071 = 4; /* number of subindex - 1*/ + subindex _Index2071[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2071 }, + { RO, uint16, sizeof (UNS16), (void*)&Digital_Input_Functionalities_Digital_Input_Functionalities_State }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Input_Functionalities_Digital_Input_Functionalities_Mask }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Input_Functionalities_Digital_Input_Functionalities_Polarity }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Input_Functionalities_Digital_Input_Functionalities_Execution_Mask } + }; + +/* index 0x2074 : Mapped variable Position Marker */ + UNS8 _highestSubIndex_obj2074 = 6; /* number of subindex - 1*/ + subindex _Index2074[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2074 }, + { RO, int32, sizeof (INTEGER32), (void*)&Position_Marker_Position_Marker_Captured_Position }, + { RW, uint8, sizeof (UNS8), (void*)&Position_Marker_Position_Marker_Edge_Type }, + { RW, uint8, sizeof (UNS8), (void*)&Position_Marker_Position_Marker_Mode }, + { RW, uint16, sizeof (UNS16), (void*)&Position_Marker_Position_Marker_Counter }, + { RO, int32, sizeof (INTEGER32), (void*)&Position_Marker_Position_Marker_History_1 }, + { RO, int32, sizeof (INTEGER32), (void*)&Position_Marker_Position_Marker_History_2 } + }; + +/* index 0x2078 : Mapped variable Digital Output Functionalities */ + UNS8 _highestSubIndex_obj2078 = 3; /* number of subindex - 1*/ + subindex _Index2078[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2078 }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Output_Functionalities_Digital_Output_State }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Output_Functionalities_Digital_Output_Mask }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Output_Functionalities_Digital_Output_Polarity } + }; + +/* index 0x2079 : Mapped variable Configuration of Digital Outputs */ + UNS8 _highestSubIndex_obj2079 = 4; /* number of subindex - 1*/ + subindex _Index2079[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2079 }, + { RW, uint8, sizeof (UNS8), (void*)&Configuration_of_Digital_Outputs_Compatibility_Entry_1 }, + { RW, uint8, sizeof (UNS8), (void*)&Configuration_of_Digital_Outputs_Compatibility_Entry_2 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Outputs_Configuration_of_Digital_Output3 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Digital_Outputs_Configuration_of_Digital_Output4 } + }; + +/* index 0x207A : Mapped variable Position Compare */ + UNS8 _highestSubIndex_obj207A = 5; /* number of subindex - 1*/ + subindex _Index207A[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj207A }, + { RW, uint16, sizeof (UNS16), (void*)&Position_Compare_Position_Compare_Configuration }, + { RW, int32, sizeof (INTEGER32), (void*)&Position_Compare_Position_Compare_Reference_Position }, + { RW, int32, sizeof (INTEGER32), (void*)&Position_Compare_Position_Compare_Interval_Width }, + { RW, uint16, sizeof (UNS16), (void*)&Position_Compare_Position_Compare_Interval_Repetitions }, + { RW, uint16, sizeof (UNS16), (void*)&Position_Compare_Position_Compare_Pulse_Width } + }; + +/* index 0x207B : Mapped variable Configuration of Analog Inputs */ + UNS8 _highestSubIndex_obj207B = 2; /* number of subindex - 1*/ + subindex _Index207B[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj207B }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Analog_Inputs_Configuration_of_Analog_Input1 }, + { RW, uint16, sizeof (UNS16), (void*)&Configuration_of_Analog_Inputs_Configuration_of_Analog_Input2 } + }; + +/* index 0x207C : Mapped variable Analog Inputs */ + UNS8 _highestSubIndex_obj207C = 2; /* number of subindex - 1*/ + subindex _Index207C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj207C }, + { RO, int16, sizeof (INTEGER16), (void*)&Analog_Inputs_Analog_Input_1 }, + { RO, int16, sizeof (INTEGER16), (void*)&Analog_Inputs_Analog_Input_2 } + }; + +/* index 0x207D : Mapped variable Analog Input Functionalities Execution Mask */ + subindex _Index207D[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Analog_Input_Functionalities_Execution_Mask } + }; + +/* index 0x2080 : Mapped variable Current Threshold for Homing Mode */ + subindex _Index2080[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Current_Threshold_for_Homing_Mode } + }; + +/* index 0x2081 : Mapped variable Home Position */ + subindex _Index2081[] = + { + { RW, int32, sizeof (INTEGER32), (void*)&Home_Position } + }; + +/* index 0x2082 : Mapped variable Home Position Displacement */ + subindex _Index2082[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Home_Position_Displacement } + }; + +/* index 0x20C1 : Mapped variable Interpolation Data Record */ + subindex _Index20C1[] = + { + { WO, uint64, sizeof (UNS64), (void*)&Interpolation_Data_Record } + }; + +/* index 0x20C4 : Mapped variable Interpolation Buffer */ + UNS8 _highestSubIndex_obj20C4 = 3; /* number of subindex - 1*/ + subindex _Index20C4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj20C4 }, + { RO, uint16, sizeof (UNS16), (void*)&Interpolation_Buffer_Interpolation_Buffer_Status }, + { RW, uint16, sizeof (UNS16), (void*)&Interpolation_Buffer_Interpolation_Buffer_Underflow_Warning }, + { RW, uint16, sizeof (UNS16), (void*)&Interpolation_Buffer_Interpolation_Buffer_Overflow_Warning } + }; + +/* index 0x20F4 : Mapped variable Following Error Actual Value */ + subindex _Index20F4[] = + { + { RO, int16, sizeof (INTEGER16), (void*)&Following_Error_Actual_Value } + }; + +/* index 0x2100 : Mapped variable Holding Brake Configuration */ + UNS8 _highestSubIndex_obj2100 = 3; /* number of subindex - 1*/ + subindex _Index2100[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2100 }, + { RW, uint16, sizeof (UNS16), (void*)&Holding_Brake_Configuration_Brake_Reaction_Rise_Time }, + { RW, uint16, sizeof (UNS16), (void*)&Holding_Brake_Configuration_Brake_Reaction_Fall_Time }, + { RW, uint16, sizeof (UNS16), (void*)&Holding_Brake_Configuration_Brake_Timeout } + }; + +/* index 0x2101 : Mapped variable Standstill Window Configuration */ + UNS8 _highestSubIndex_obj2101 = 3; /* number of subindex - 1*/ + subindex _Index2101[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2101 }, + { RW, uint16, sizeof (UNS16), (void*)&Standstill_Window_Configuration_Standstill_Window }, + { RW, uint16, sizeof (UNS16), (void*)&Standstill_Window_Configuration_Standstill_Window_Time }, + { RW, uint16, sizeof (UNS16), (void*)&Standstill_Window_Configuration_Standstill_Timeout } + }; + +/* index 0x2210 : Mapped variable Sensor Configuration */ + UNS8 _highestSubIndex_obj2210 = 4; /* number of subindex - 1*/ + subindex _Index2210[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2210 }, + { RW, uint32, sizeof (UNS32), (void*)&Sensor_Configuration_Pulse_Number_Incremental_Encoder_1 }, + { RW, uint16, sizeof (UNS16), (void*)&Sensor_Configuration_Position_Sensor_Type }, + { RW, uint16, sizeof (UNS16), (void*)&Sensor_Configuration_Internal_Absolute_Position_Offset }, + { RW, uint16, sizeof (UNS16), (void*)&Sensor_Configuration_Position_Sensor_Polarity } + }; + +/* index 0x2220 : Mapped variable Controller Structure */ + subindex _Index2220[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Controller_Structure } + }; + +/* index 0x2230 : Mapped variable Gear Configuration */ + UNS8 _highestSubIndex_obj2230 = 3; /* number of subindex - 1*/ + subindex _Index2230[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2230 }, + { RW, uint32, sizeof (UNS32), (void*)&Gear_Configuration_Gear_Ratio_Numerator }, + { RW, uint16, sizeof (UNS16), (void*)&Gear_Configuration_Gear_Ratio_Denominator }, + { RW, uint32, sizeof (UNS32), (void*)&Gear_Configuration_Gear_Maximal_Speed } + }; + +/* index 0x2300 : Mapped variable Digital Position Input */ + UNS8 _highestSubIndex_obj2300 = 5; /* number of subindex - 1*/ + subindex _Index2300[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2300 }, + { RO, int32, sizeof (INTEGER32), (void*)&Digital_Position_Input_Digital_Position_Desired_Value }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Position_Input_Digital_Position_Scaling_Numerator }, + { RW, uint16, sizeof (UNS16), (void*)&Digital_Position_Input_Digital_Position_Scaling_Denominator }, + { RW, uint8, sizeof (UNS8), (void*)&Digital_Position_Input_Digital_Position_Polarity }, + { RW, int32, sizeof (INTEGER32), (void*)&Digital_Position_Input_Digital_Position_Offset } + }; + +/* index 0x2301 : Mapped variable Analog Current Setpoint Configuration */ + UNS8 _highestSubIndex_obj2301 = 4; /* number of subindex - 1*/ + subindex _Index2301[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2301 }, + { RW, int16, sizeof (INTEGER16), (void*)&Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint_Scaling }, + { RW, int16, sizeof (INTEGER16), (void*)&Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint_Offset }, + { RW, int8, sizeof (INTEGER8), (void*)&Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint_Notation_Index }, + { RO, int16, sizeof (INTEGER16), (void*)&Analog_Current_Setpoint_Configuration_Analog_Current_Setpoint } + }; + +/* index 0x2302 : Mapped variable Analog Velocity Setpoint Configuration */ + UNS8 _highestSubIndex_obj2302 = 4; /* number of subindex - 1*/ + subindex _Index2302[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2302 }, + { RW, int16, sizeof (INTEGER16), (void*)&Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint_Scaling }, + { RW, int32, sizeof (INTEGER32), (void*)&Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint_Offset }, + { RW, int8, sizeof (INTEGER8), (void*)&Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint_Notation_Index }, + { RO, int32, sizeof (INTEGER32), (void*)&Analog_Velocity_Setpoint_Configuration_Analog_Velocity_Setpoint } + }; + +/* index 0x2303 : Mapped variable Analog Position Setpoint Configuration */ + UNS8 _highestSubIndex_obj2303 = 4; /* number of subindex - 1*/ + subindex _Index2303[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2303 }, + { RW, int16, sizeof (INTEGER16), (void*)&Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint_Scaling }, + { RW, int32, sizeof (INTEGER32), (void*)&Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint_Offset }, + { RW, int8, sizeof (INTEGER8), (void*)&Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint_Notation_Index }, + { RO, int32, sizeof (INTEGER32), (void*)&Analog_Position_Setpoint_Configuration_Analog_Position_Setpoint } + }; + +/* index 0x2400 : Mapped variable Internal P Autotuning Parameters */ + UNS8 _highestSubIndex_obj2400 = 3; /* number of subindex - 1*/ + subindex _Index2400[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2400 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_P_Autotuning_Parameters_Internal_Cut_off_Frequency_of_Oscillator }, + { RW, uint32, sizeof (UNS32), (void*)&Internal_P_Autotuning_Parameters_Internal_Target_Amplitude_of_Oscillation }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_P_Autotuning_Parameters_Internal_Oscillation_Control } + }; + +/* index 0x2401 : Mapped variable Internal P Autotuning Values */ + UNS8 _highestSubIndex_obj2401 = 7; /* number of subindex - 1*/ + subindex _Index2401[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2401 }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_P_Autotuning_Values_Internal_Cycle_Duration }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_P_Autotuning_Values_Internal_Phase_Delay }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_P_Autotuning_Values_Internal_Set_Value_Ramp_Current }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_P_Autotuning_Values_Internal_Actual_Position_Peak_Value }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_P_Autotuning_Values_Internal_Actual_Value_of_Dynamic_Friction }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_P_Autotuning_Values_Internal_Number_of_Oscillation_Cycles }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_P_Autotuning_Values_Internal_Maximum_Friction_Current } + }; + +/* index 0x2410 : Mapped variable Internal LR Identification */ + UNS8 _highestSubIndex_obj2410 = 2; /* number of subindex - 1*/ + subindex _Index2410[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2410 }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_LR_Identification_Internal_LR_Identification_Control }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_LR_Identification_Internal_LR_Identification_Current } + }; + +/* index 0x2411 : Mapped variable Internal LR Identification */ + UNS8 _highestSubIndex_obj2411 = 3; /* number of subindex - 1*/ + subindex _Index2411[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2411 }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_LR_Identification_Internal_Resistance }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_LR_Identification_Internal_Inductivity }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_LR_Identification_Internal_Frequency } + }; + +/* index 0x2FFF : Mapped variable Internal Firmware Download */ + UNS8 _highestSubIndex_obj2FFF = 6; /* number of subindex - 1*/ + subindex _Index2FFF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj2FFF }, + { WO, uint32, sizeof (UNS32), (void*)&Internal_Firmware_Download_Internal_Download_Start }, + { RW, uint16, sizeof (UNS16), (void*)&Internal_Firmware_Download_Internal_Download_Number_of_SubSections }, + //{ WO, domain, 0, (void*)&Internal_Firmware_Download_Internal_Download_Code_SubSection }, + { RO, uint16, sizeof (UNS16), (void*)&Internal_Firmware_Download_Internal_Download_Boot_Code_Version }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_Firmware_Download_Internal_Download_Serial_Number_HighWord }, + { RO, uint32, sizeof (UNS32), (void*)&Internal_Firmware_Download_Internal_Download_Serial_Number_LowWord } + }; + +/* index 0x6007 : Mapped variable Abort Connection Option Code */ + subindex _Index6007[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Abort_Connection_Option_Code } + }; + +/* index 0x6040 : Mapped variable Controlword */ + subindex _Index6040[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Controlword } + }; + +/* index 0x6041 : Mapped variable Statusword */ + subindex _Index6041[] = + { + { RO, uint16, sizeof (UNS16), (void*)&Statusword } + }; + +/* index 0x605B : Mapped variable Shutdown Option Code */ + subindex _Index605B[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Shutdown_Option_Code } + }; + +/* index 0x605C : Mapped variable Disable Operation Option Code */ + subindex _Index605C[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Disable_Operation_Option_Code } + }; + +/* index 0x605E : Mapped variable Fault Reaction Option Code */ + subindex _Index605E[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Fault_Reaction_Option_Code } + }; + +/* index 0x6060 : Mapped variable Modes of Operation */ + subindex _Index6060[] = + { + { RW, int8, sizeof (INTEGER8), (void*)&Modes_of_Operation } + }; + +/* index 0x6061 : Mapped variable Modes of Operation Display */ + subindex _Index6061[] = + { + { RO, int8, sizeof (INTEGER8), (void*)&Modes_of_Operation_Display } + }; + +/* index 0x6062 : Mapped variable Position Demand Value */ + subindex _Index6062[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Position_Demand_Value } + }; + +/* index 0x6064 : Mapped variable Position Actual Value */ + subindex _Index6064[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Position_Actual_Value } + }; + +/* index 0x6065 : Mapped variable Max Following Error */ + subindex _Index6065[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Max_Following_Error } + }; + +/* index 0x6067 : Mapped variable Position Window */ + subindex _Index6067[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Position_Window } + }; + +/* index 0x6068 : Mapped variable Position Window Time */ + subindex _Index6068[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Position_Window_Time } + }; + +/* index 0x6069 : Mapped variable Velocity Sensor Actual Value */ + subindex _Index6069[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Velocity_Sensor_Actual_Value } + }; + +/* index 0x606B : Mapped variable Velocity Demand Value */ + subindex _Index606B[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Velocity_Demand_Value } + }; + +/* index 0x606C : Mapped variable Velocity Actual Value */ + subindex _Index606C[] = + { + { RO, int32, sizeof (INTEGER32), (void*)&Velocity_Actual_Value } + }; + +/* index 0x606D : Mapped variable Velocity Window */ + subindex _Index606D[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Velocity_Window } + }; + +/* index 0x606E : Mapped variable Velocity Window Time */ + subindex _Index606E[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Velocity_Window_Time } + }; + +/* index 0x6078 : Mapped variable Current Actual Value */ + subindex _Index6078[] = + { + { RO, int16, sizeof (INTEGER16), (void*)&Current_Actual_Value } + }; + +/* index 0x607A : Mapped variable Target Position */ + subindex _Index607A[] = + { + { RW, int32, sizeof (INTEGER32), (void*)&Target_Position } + }; + +/* index 0x607C : Mapped variable Home Offset */ + subindex _Index607C[] = + { + { RW, int32, sizeof (INTEGER32), (void*)&Home_Offset } + }; + +/* index 0x607D : Mapped variable Software Position Limit */ + UNS8 _highestSubIndex_obj607D = 2; /* number of subindex - 1*/ + subindex _Index607D[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj607D }, + { RW, int32, sizeof (INTEGER32), (void*)&Software_Position_Limit_Min_Position_Limit }, + { RW, int32, sizeof (INTEGER32), (void*)&Software_Position_Limit_Max_Position_Limit } + }; + +/* index 0x607F : Mapped variable Max Profile Velocity */ + subindex _Index607F[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Max_Profile_Velocity } + }; + +/* index 0x6081 : Mapped variable Profile Velocity */ + subindex _Index6081[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Profile_Velocity } + }; + +/* index 0x6083 : Mapped variable Profile Acceleration */ + subindex _Index6083[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Profile_Acceleration } + }; + +/* index 0x6084 : Mapped variable Profile Deceleration */ + subindex _Index6084[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Profile_Deceleration } + }; + +/* index 0x6085 : Mapped variable QuickStop Deceleration */ + subindex _Index6085[] = + { + { RW, uint32, sizeof (UNS32), (void*)&QuickStop_Deceleration } + }; + +/* index 0x6086 : Mapped variable Motion Profile Type */ + subindex _Index6086[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Motion_Profile_Type } + }; + +/* index 0x6089 : Mapped variable Position Notation Index */ + subindex _Index6089[] = + { + { RW, int8, sizeof (INTEGER8), (void*)&Position_Notation_Index } + }; + +/* index 0x608A : Mapped variable Position Dimension Index */ + subindex _Index608A[] = + { + { RW, uint8, sizeof (UNS8), (void*)&Position_Dimension_Index } + }; + +/* index 0x608B : Mapped variable Velocity Notation Index */ + subindex _Index608B[] = + { + { RW, int8, sizeof (INTEGER8), (void*)&Velocity_Notation_Index } + }; + +/* index 0x608C : Mapped variable Velocity Dimension Index */ + subindex _Index608C[] = + { + { RW, uint8, sizeof (UNS8), (void*)&Velocity_Dimension_Index } + }; + +/* index 0x608D : Mapped variable Acceleration Notation Index */ + subindex _Index608D[] = + { + { RW, int8, sizeof (INTEGER8), (void*)&Acceleration_Notation_Index } + }; + +/* index 0x608E : Mapped variable Acceleration Dimension Index */ + subindex _Index608E[] = + { + { RW, uint8, sizeof (UNS8), (void*)&Acceleration_Dimension_Index } + }; + +/* index 0x6098 : Mapped variable Homing Method */ + subindex _Index6098[] = + { + { RW, int8, sizeof (INTEGER8), (void*)&Homing_Method } + }; + +/* index 0x6099 : Mapped variable Homing Speeds */ + UNS8 _highestSubIndex_obj6099 = 2; /* number of subindex - 1*/ + subindex _Index6099[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj6099 }, + { RW, uint32, sizeof (UNS32), (void*)&Homing_Speeds_Speed_for_Switch_Search }, + { RW, uint32, sizeof (UNS32), (void*)&Homing_Speeds_Speed_for_Zero_Search } + }; + +/* index 0x609A : Mapped variable Homing Acceleration */ + subindex _Index609A[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Homing_Acceleration } + }; + +/* index 0x60C0 : Mapped variable Interpolation Sub Mode Selection */ + subindex _Index60C0[] = + { + { RW, int16, sizeof (INTEGER16), (void*)&Interpolation_Sub_Mode_Selection } + }; + +/* index 0x60C2 : Mapped variable Interpolation Time Period */ + UNS8 _highestSubIndex_obj60C2 = 2; /* number of subindex - 1*/ + subindex _Index60C2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj60C2 }, + { RW, uint8, sizeof (UNS8), (void*)&Interpolation_Time_Period_Interpolation_Time_Periode_Value }, + { RW, int8, sizeof (INTEGER8), (void*)&Interpolation_Time_Period_Interpolation_Time_Index } + }; + +/* index 0x60C4 : Mapped variable Interpolation Data Configuration */ + UNS8 _highestSubIndex_obj60C4 = 6; /* number of subindex - 1*/ + subindex _Index60C4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj60C4 }, + { RO, uint32, sizeof (UNS32), (void*)&Interpolation_Data_Configuration_Maximum_Buffer_Size }, + { RO, uint32, sizeof (UNS32), (void*)&Interpolation_Data_Configuration_Actual_Buffer_Size }, + { RW, uint8, sizeof (UNS8), (void*)&Interpolation_Data_Configuration_Buffer_Organisation }, + { RW, uint16, sizeof (UNS16), (void*)&Interpolation_Data_Configuration_Buffer_Position }, + { WO, uint8, sizeof (UNS8), (void*)&Interpolation_Data_Configuration_Size_Of_Data_Record }, + { WO, uint8, sizeof (UNS8), (void*)&Interpolation_Data_Configuration_Buffer_Clear } + }; + +/* index 0x60C5 : Mapped variable Max Acceleration */ + subindex _Index60C5[] = + { + { RW, uint32, sizeof (UNS32), (void*)&Max_Acceleration } + }; + +/* index 0x60F6 : Mapped variable Current Control Parameter Set */ + UNS8 _highestSubIndex_obj60F6 = 2; /* number of subindex - 1*/ + subindex _Index60F6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj60F6 }, + { RW, int16, sizeof (INTEGER16), (void*)&Current_Control_Parameter_Set_Current_Regulator_P_Gain }, + { RW, int16, sizeof (INTEGER16), (void*)&Current_Control_Parameter_Set_Current_Regulator_I_Gain } + }; + +/* index 0x60F9 : Mapped variable Velocity Control Parameter Set */ + UNS8 _highestSubIndex_obj60F9 = 5; /* number of subindex - 1*/ + subindex _Index60F9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj60F9 }, + { RW, int16, sizeof (INTEGER16), (void*)&Velocity_Control_Parameter_Set_Speed_Regulator_P_Gain }, + { RW, int16, sizeof (INTEGER16), (void*)&Velocity_Control_Parameter_Set_Speed_Regulator_I_Gain }, + { RW, uint8, sizeof (UNS8), (void*)&Velocity_Control_Parameter_Set_Compatibility_Entry }, + { RW, uint16, sizeof (UNS16), (void*)&Velocity_Control_Parameter_Set_Velocity_Feedforward_Factor_in_Speed_Regulator }, + { RW, uint16, sizeof (UNS16), (void*)&Velocity_Control_Parameter_Set_Acceleration_Feedforward_Factor_in_Speed_Regulator } + }; + +/* index 0x60FB : Mapped variable Position Control Parameter Set */ + UNS8 _highestSubIndex_obj60FB = 5; /* number of subindex - 1*/ + subindex _Index60FB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj60FB }, + { RW, int16, sizeof (INTEGER16), (void*)&Position_Control_Parameter_Set_Position_Regulator_P_Gain }, + { RW, int16, sizeof (INTEGER16), (void*)&Position_Control_Parameter_Set_Position_Regulator_I_Gain }, + { RW, int16, sizeof (INTEGER16), (void*)&Position_Control_Parameter_Set_Position_Regulator_D_Gain }, + { RW, uint16, sizeof (UNS16), (void*)&Position_Control_Parameter_Set_Velocity_Feedforward_Factor_in_Position_Regulator }, + { RW, uint16, sizeof (UNS16), (void*)&Position_Control_Parameter_Set_Acceleration_Feedforward_Factor_in_Position_Regulator } + }; + +/* index 0x60FF : Mapped variable Target Velocity */ + subindex _Index60FF[] = + { + { RW, int32, sizeof (INTEGER32), (void*)&Target_Velocity } + }; + +/* index 0x6402 : Mapped variable Motor Type */ + subindex _Index6402[] = + { + { RW, uint16, sizeof (UNS16), (void*)&Motor_Type } + }; + +/* index 0x6410 : Mapped variable Motor Data */ + UNS8 _highestSubIndex_obj6410 = 5; /* number of subindex - 1*/ + subindex _Index6410[] = + { + { RO, uint8, sizeof (UNS8), (void*)&_highestSubIndex_obj6410 }, + { RW, uint16, sizeof (UNS16), (void*)&Motor_Data_Continuous_Current_Limit }, + { RW, uint16, sizeof (UNS16), (void*)&Motor_Data_Output_Current_Limit }, + { RW, uint8, sizeof (UNS8), (void*)&Motor_Data_Pole_Pair_Number }, + { RW, uint32, sizeof (UNS32), (void*)&Motor_Data_Maximal_Motor_Speed }, + { RW, uint16, sizeof (UNS16), (void*)&Motor_Data_Thermal_Time_Constant_Winding } + }; + +/* index 0x6502 : Mapped variable Supported Drive Modes */ + subindex _Index6502[] = + { + { RO, uint32, sizeof (UNS32), (void*)&Supported_Drive_Modes } + }; + +/**************************************************************************/ +/* Declaration of pointed variables */ +/**************************************************************************/ + +const indextable _objdict[] = +{ + { (subindex*)_Index1000,sizeof(_Index1000)/sizeof(_Index1000[0]), 0x1000}, + { (subindex*)_Index1001,sizeof(_Index1001)/sizeof(_Index1001[0]), 0x1001}, + { (subindex*)_Index1003,sizeof(_Index1003)/sizeof(_Index1003[0]), 0x1003}, + { (subindex*)_Index1005,sizeof(_Index1005)/sizeof(_Index1005[0]), 0x1005}, + { (subindex*)_Index1008,sizeof(_Index1008)/sizeof(_Index1008[0]), 0x1008}, + { (subindex*)_Index100C,sizeof(_Index100C)/sizeof(_Index100C[0]), 0x100C}, + { (subindex*)_Index100D,sizeof(_Index100D)/sizeof(_Index100D[0]), 0x100D}, + { (subindex*)_Index1010,sizeof(_Index1010)/sizeof(_Index1010[0]), 0x1010}, + { (subindex*)_Index1011,sizeof(_Index1011)/sizeof(_Index1011[0]), 0x1011}, + { (subindex*)_Index1012,sizeof(_Index1012)/sizeof(_Index1012[0]), 0x1012}, + { (subindex*)_Index1013,sizeof(_Index1013)/sizeof(_Index1013[0]), 0x1013}, + { (subindex*)_Index1014,sizeof(_Index1014)/sizeof(_Index1014[0]), 0x1014}, + { (subindex*)_Index1016,sizeof(_Index1016)/sizeof(_Index1016[0]), 0x1016}, + { (subindex*)_Index1017,sizeof(_Index1017)/sizeof(_Index1017[0]), 0x1017}, + { (subindex*)_Index1018,sizeof(_Index1018)/sizeof(_Index1018[0]), 0x1018}, + { (subindex*)_Index1020,sizeof(_Index1020)/sizeof(_Index1020[0]), 0x1020}, + { (subindex*)_Index1200,sizeof(_Index1200)/sizeof(_Index1200[0]), 0x1200}, + { (subindex*)_Index1400,sizeof(_Index1400)/sizeof(_Index1400[0]), 0x1400}, + { (subindex*)_Index1401,sizeof(_Index1401)/sizeof(_Index1401[0]), 0x1401}, + { (subindex*)_Index1402,sizeof(_Index1402)/sizeof(_Index1402[0]), 0x1402}, + { (subindex*)_Index1403,sizeof(_Index1403)/sizeof(_Index1403[0]), 0x1403}, + { (subindex*)_Index1600,sizeof(_Index1600)/sizeof(_Index1600[0]), 0x1600}, + { (subindex*)_Index1601,sizeof(_Index1601)/sizeof(_Index1601[0]), 0x1601}, + { (subindex*)_Index1602,sizeof(_Index1602)/sizeof(_Index1602[0]), 0x1602}, + { (subindex*)_Index1603,sizeof(_Index1603)/sizeof(_Index1603[0]), 0x1603}, + { (subindex*)_Index1800,sizeof(_Index1800)/sizeof(_Index1800[0]), 0x1800}, + { (subindex*)_Index1801,sizeof(_Index1801)/sizeof(_Index1801[0]), 0x1801}, + { (subindex*)_Index1802,sizeof(_Index1802)/sizeof(_Index1802[0]), 0x1802}, + { (subindex*)_Index1803,sizeof(_Index1803)/sizeof(_Index1803[0]), 0x1803}, + { (subindex*)_Index1A00,sizeof(_Index1A00)/sizeof(_Index1A00[0]), 0x1A00}, + { (subindex*)_Index1A01,sizeof(_Index1A01)/sizeof(_Index1A01[0]), 0x1A01}, + { (subindex*)_Index1A02,sizeof(_Index1A02)/sizeof(_Index1A02[0]), 0x1A02}, + { (subindex*)_Index1A03,sizeof(_Index1A03)/sizeof(_Index1A03[0]), 0x1A03}, + { (subindex*)_Index2000,sizeof(_Index2000)/sizeof(_Index2000[0]), 0x2000}, + { (subindex*)_Index2001,sizeof(_Index2001)/sizeof(_Index2001[0]), 0x2001}, + { (subindex*)_Index2002,sizeof(_Index2002)/sizeof(_Index2002[0]), 0x2002}, + { (subindex*)_Index2003,sizeof(_Index2003)/sizeof(_Index2003[0]), 0x2003}, + { (subindex*)_Index2004,sizeof(_Index2004)/sizeof(_Index2004[0]), 0x2004}, + { (subindex*)_Index2005,sizeof(_Index2005)/sizeof(_Index2005[0]), 0x2005}, + { (subindex*)_Index2006,sizeof(_Index2006)/sizeof(_Index2006[0]), 0x2006}, + { (subindex*)_Index2008,sizeof(_Index2008)/sizeof(_Index2008[0]), 0x2008}, + { (subindex*)_Index2009,sizeof(_Index2009)/sizeof(_Index2009[0]), 0x2009}, + { (subindex*)_Index200A,sizeof(_Index200A)/sizeof(_Index200A[0]), 0x200A}, + { (subindex*)_Index200C,sizeof(_Index200C)/sizeof(_Index200C[0]), 0x200C}, + { (subindex*)_Index2010,sizeof(_Index2010)/sizeof(_Index2010[0]), 0x2010}, + { (subindex*)_Index2011,sizeof(_Index2011)/sizeof(_Index2011[0]), 0x2011}, + { (subindex*)_Index2012,sizeof(_Index2012)/sizeof(_Index2012[0]), 0x2012}, + { (subindex*)_Index2013,sizeof(_Index2013)/sizeof(_Index2013[0]), 0x2013}, + { (subindex*)_Index2014,sizeof(_Index2014)/sizeof(_Index2014[0]), 0x2014}, + { (subindex*)_Index2015,sizeof(_Index2015)/sizeof(_Index2015[0]), 0x2015}, + { (subindex*)_Index2016,sizeof(_Index2016)/sizeof(_Index2016[0]), 0x2016}, + { (subindex*)_Index2017,sizeof(_Index2017)/sizeof(_Index2017[0]), 0x2017}, + { (subindex*)_Index2018,sizeof(_Index2018)/sizeof(_Index2018[0]), 0x2018}, + { (subindex*)_Index2019,sizeof(_Index2019)/sizeof(_Index2019[0]), 0x2019}, + { (subindex*)_Index201A,sizeof(_Index201A)/sizeof(_Index201A[0]), 0x201A}, + { (subindex*)_Index2020,sizeof(_Index2020)/sizeof(_Index2020[0]), 0x2020}, + { (subindex*)_Index2021,sizeof(_Index2021)/sizeof(_Index2021[0]), 0x2021}, + { (subindex*)_Index2022,sizeof(_Index2022)/sizeof(_Index2022[0]), 0x2022}, + { (subindex*)_Index2023,sizeof(_Index2023)/sizeof(_Index2023[0]), 0x2023}, + { (subindex*)_Index2024,sizeof(_Index2024)/sizeof(_Index2024[0]), 0x2024}, + { (subindex*)_Index2025,sizeof(_Index2025)/sizeof(_Index2025[0]), 0x2025}, + { (subindex*)_Index2026,sizeof(_Index2026)/sizeof(_Index2026[0]), 0x2026}, + { (subindex*)_Index2027,sizeof(_Index2027)/sizeof(_Index2027[0]), 0x2027}, + { (subindex*)_Index2028,sizeof(_Index2028)/sizeof(_Index2028[0]), 0x2028}, + { (subindex*)_Index202C,sizeof(_Index202C)/sizeof(_Index202C[0]), 0x202C}, + { (subindex*)_Index202D,sizeof(_Index202D)/sizeof(_Index202D[0]), 0x202D}, + { (subindex*)_Index202E,sizeof(_Index202E)/sizeof(_Index202E[0]), 0x202E}, + { (subindex*)_Index2030,sizeof(_Index2030)/sizeof(_Index2030[0]), 0x2030}, + { (subindex*)_Index2031,sizeof(_Index2031)/sizeof(_Index2031[0]), 0x2031}, + { (subindex*)_Index2062,sizeof(_Index2062)/sizeof(_Index2062[0]), 0x2062}, + { (subindex*)_Index206B,sizeof(_Index206B)/sizeof(_Index206B[0]), 0x206B}, + { (subindex*)_Index2070,sizeof(_Index2070)/sizeof(_Index2070[0]), 0x2070}, + { (subindex*)_Index2071,sizeof(_Index2071)/sizeof(_Index2071[0]), 0x2071}, + { (subindex*)_Index2074,sizeof(_Index2074)/sizeof(_Index2074[0]), 0x2074}, + { (subindex*)_Index2078,sizeof(_Index2078)/sizeof(_Index2078[0]), 0x2078}, + { (subindex*)_Index2079,sizeof(_Index2079)/sizeof(_Index2079[0]), 0x2079}, + { (subindex*)_Index207A,sizeof(_Index207A)/sizeof(_Index207A[0]), 0x207A}, + { (subindex*)_Index207B,sizeof(_Index207B)/sizeof(_Index207B[0]), 0x207B}, + { (subindex*)_Index207C,sizeof(_Index207C)/sizeof(_Index207C[0]), 0x207C}, + { (subindex*)_Index207D,sizeof(_Index207D)/sizeof(_Index207D[0]), 0x207D}, + { (subindex*)_Index2080,sizeof(_Index2080)/sizeof(_Index2080[0]), 0x2080}, + { (subindex*)_Index2081,sizeof(_Index2081)/sizeof(_Index2081[0]), 0x2081}, + { (subindex*)_Index2082,sizeof(_Index2082)/sizeof(_Index2082[0]), 0x2082}, + { (subindex*)_Index20C1,sizeof(_Index20C1)/sizeof(_Index20C1[0]), 0x20C1}, + { (subindex*)_Index20C4,sizeof(_Index20C4)/sizeof(_Index20C4[0]), 0x20C4}, + { (subindex*)_Index20F4,sizeof(_Index20F4)/sizeof(_Index20F4[0]), 0x20F4}, + { (subindex*)_Index2100,sizeof(_Index2100)/sizeof(_Index2100[0]), 0x2100}, + { (subindex*)_Index2101,sizeof(_Index2101)/sizeof(_Index2101[0]), 0x2101}, + { (subindex*)_Index2210,sizeof(_Index2210)/sizeof(_Index2210[0]), 0x2210}, + { (subindex*)_Index2220,sizeof(_Index2220)/sizeof(_Index2220[0]), 0x2220}, + { (subindex*)_Index2230,sizeof(_Index2230)/sizeof(_Index2230[0]), 0x2230}, + { (subindex*)_Index2300,sizeof(_Index2300)/sizeof(_Index2300[0]), 0x2300}, + { (subindex*)_Index2301,sizeof(_Index2301)/sizeof(_Index2301[0]), 0x2301}, + { (subindex*)_Index2302,sizeof(_Index2302)/sizeof(_Index2302[0]), 0x2302}, + { (subindex*)_Index2303,sizeof(_Index2303)/sizeof(_Index2303[0]), 0x2303}, + { (subindex*)_Index2400,sizeof(_Index2400)/sizeof(_Index2400[0]), 0x2400}, + { (subindex*)_Index2401,sizeof(_Index2401)/sizeof(_Index2401[0]), 0x2401}, + { (subindex*)_Index2410,sizeof(_Index2410)/sizeof(_Index2410[0]), 0x2410}, + { (subindex*)_Index2411,sizeof(_Index2411)/sizeof(_Index2411[0]), 0x2411}, + { (subindex*)_Index2FFF,sizeof(_Index2FFF)/sizeof(_Index2FFF[0]), 0x2FFF}, + { (subindex*)_Index6007,sizeof(_Index6007)/sizeof(_Index6007[0]), 0x6007}, + { (subindex*)_Index6040,sizeof(_Index6040)/sizeof(_Index6040[0]), 0x6040}, + { (subindex*)_Index6041,sizeof(_Index6041)/sizeof(_Index6041[0]), 0x6041}, + { (subindex*)_Index605B,sizeof(_Index605B)/sizeof(_Index605B[0]), 0x605B}, + { (subindex*)_Index605C,sizeof(_Index605C)/sizeof(_Index605C[0]), 0x605C}, + { (subindex*)_Index605E,sizeof(_Index605E)/sizeof(_Index605E[0]), 0x605E}, + { (subindex*)_Index6060,sizeof(_Index6060)/sizeof(_Index6060[0]), 0x6060}, + { (subindex*)_Index6061,sizeof(_Index6061)/sizeof(_Index6061[0]), 0x6061}, + { (subindex*)_Index6062,sizeof(_Index6062)/sizeof(_Index6062[0]), 0x6062}, + { (subindex*)_Index6064,sizeof(_Index6064)/sizeof(_Index6064[0]), 0x6064}, + { (subindex*)_Index6065,sizeof(_Index6065)/sizeof(_Index6065[0]), 0x6065}, + { (subindex*)_Index6067,sizeof(_Index6067)/sizeof(_Index6067[0]), 0x6067}, + { (subindex*)_Index6068,sizeof(_Index6068)/sizeof(_Index6068[0]), 0x6068}, + { (subindex*)_Index6069,sizeof(_Index6069)/sizeof(_Index6069[0]), 0x6069}, + { (subindex*)_Index606B,sizeof(_Index606B)/sizeof(_Index606B[0]), 0x606B}, + { (subindex*)_Index606C,sizeof(_Index606C)/sizeof(_Index606C[0]), 0x606C}, + { (subindex*)_Index606D,sizeof(_Index606D)/sizeof(_Index606D[0]), 0x606D}, + { (subindex*)_Index606E,sizeof(_Index606E)/sizeof(_Index606E[0]), 0x606E}, + { (subindex*)_Index6078,sizeof(_Index6078)/sizeof(_Index6078[0]), 0x6078}, + { (subindex*)_Index607A,sizeof(_Index607A)/sizeof(_Index607A[0]), 0x607A}, + { (subindex*)_Index607C,sizeof(_Index607C)/sizeof(_Index607C[0]), 0x607C}, + { (subindex*)_Index607D,sizeof(_Index607D)/sizeof(_Index607D[0]), 0x607D}, + { (subindex*)_Index607F,sizeof(_Index607F)/sizeof(_Index607F[0]), 0x607F}, + { (subindex*)_Index6081,sizeof(_Index6081)/sizeof(_Index6081[0]), 0x6081}, + { (subindex*)_Index6083,sizeof(_Index6083)/sizeof(_Index6083[0]), 0x6083}, + { (subindex*)_Index6084,sizeof(_Index6084)/sizeof(_Index6084[0]), 0x6084}, + { (subindex*)_Index6085,sizeof(_Index6085)/sizeof(_Index6085[0]), 0x6085}, + { (subindex*)_Index6086,sizeof(_Index6086)/sizeof(_Index6086[0]), 0x6086}, + { (subindex*)_Index6089,sizeof(_Index6089)/sizeof(_Index6089[0]), 0x6089}, + { (subindex*)_Index608A,sizeof(_Index608A)/sizeof(_Index608A[0]), 0x608A}, + { (subindex*)_Index608B,sizeof(_Index608B)/sizeof(_Index608B[0]), 0x608B}, + { (subindex*)_Index608C,sizeof(_Index608C)/sizeof(_Index608C[0]), 0x608C}, + { (subindex*)_Index608D,sizeof(_Index608D)/sizeof(_Index608D[0]), 0x608D}, + { (subindex*)_Index608E,sizeof(_Index608E)/sizeof(_Index608E[0]), 0x608E}, + { (subindex*)_Index6098,sizeof(_Index6098)/sizeof(_Index6098[0]), 0x6098}, + { (subindex*)_Index6099,sizeof(_Index6099)/sizeof(_Index6099[0]), 0x6099}, + { (subindex*)_Index609A,sizeof(_Index609A)/sizeof(_Index609A[0]), 0x609A}, + { (subindex*)_Index60C0,sizeof(_Index60C0)/sizeof(_Index60C0[0]), 0x60C0}, + { (subindex*)_Index60C2,sizeof(_Index60C2)/sizeof(_Index60C2[0]), 0x60C2}, + { (subindex*)_Index60C4,sizeof(_Index60C4)/sizeof(_Index60C4[0]), 0x60C4}, + { (subindex*)_Index60C5,sizeof(_Index60C5)/sizeof(_Index60C5[0]), 0x60C5}, + { (subindex*)_Index60F6,sizeof(_Index60F6)/sizeof(_Index60F6[0]), 0x60F6}, + { (subindex*)_Index60F9,sizeof(_Index60F9)/sizeof(_Index60F9[0]), 0x60F9}, + { (subindex*)_Index60FB,sizeof(_Index60FB)/sizeof(_Index60FB[0]), 0x60FB}, + { (subindex*)_Index60FF,sizeof(_Index60FF)/sizeof(_Index60FF[0]), 0x60FF}, + { (subindex*)_Index6402,sizeof(_Index6402)/sizeof(_Index6402[0]), 0x6402}, + { (subindex*)_Index6410,sizeof(_Index6410)/sizeof(_Index6410[0]), 0x6410}, + { (subindex*)_Index6502,sizeof(_Index6502)/sizeof(_Index6502[0]), 0x6502}, +}; + +const indextable * _scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) +{ + int i; + *callbacks = NULL; + switch(wIndex){ + case 0x1000: i = 0;break; + case 0x1001: i = 1;break; + case 0x1003: i = 2;*callbacks = _Index1003_callbacks; break; + case 0x1005: i = 3;*callbacks = _Index1005_callbacks; break; + case 0x1008: i = 4;break; + case 0x100C: i = 5;break; + case 0x100D: i = 6;break; + case 0x1010: i = 7;break; + case 0x1011: i = 8;break; + case 0x1012: i = 9;break; + case 0x1013: i = 10;break; + case 0x1014: i = 11;break; + case 0x1016: i = 12;break; + case 0x1017: i = 13;*callbacks = _Index1017_callbacks; break; + case 0x1018: i = 14;break; + case 0x1020: i = 15;break; + case 0x1200: i = 16;break; + case 0x1400: i = 17;break; + case 0x1401: i = 18;break; + case 0x1402: i = 19;break; + case 0x1403: i = 20;break; + case 0x1600: i = 21;break; + case 0x1601: i = 22;break; + case 0x1602: i = 23;break; + case 0x1603: i = 24;break; + case 0x1800: i = 25;*callbacks = _Index1800_callbacks; break; + case 0x1801: i = 26;*callbacks = _Index1801_callbacks; break; + case 0x1802: i = 27;*callbacks = _Index1802_callbacks; break; + case 0x1803: i = 28;*callbacks = _Index1803_callbacks; break; + case 0x1A00: i = 29;break; + case 0x1A01: i = 30;break; + case 0x1A02: i = 31;break; + case 0x1A03: i = 32;break; + case 0x2000: i = 33;break; + case 0x2001: i = 34;break; + case 0x2002: i = 35;break; + case 0x2003: i = 36;break; + case 0x2004: i = 37;break; + case 0x2005: i = 38;break; + case 0x2006: i = 39;break; + case 0x2008: i = 40;break; + case 0x2009: i = 41;break; + case 0x200A: i = 42;break; + case 0x200C: i = 43;break; + case 0x2010: i = 44;break; + case 0x2011: i = 45;break; + case 0x2012: i = 46;break; + case 0x2013: i = 47;break; + case 0x2014: i = 48;break; + case 0x2015: i = 49;break; + case 0x2016: i = 50;break; + case 0x2017: i = 51;break; + case 0x2018: i = 52;break; + case 0x2019: i = 53;break; + case 0x201A: i = 54;break; + case 0x2020: i = 55;break; + case 0x2021: i = 56;break; + case 0x2022: i = 57;break; + case 0x2023: i = 58;break; + case 0x2024: i = 59;break; + case 0x2025: i = 60;break; + case 0x2026: i = 61;break; + case 0x2027: i = 62;break; + case 0x2028: i = 63;break; + case 0x202C: i = 64;break; + case 0x202D: i = 65;break; + case 0x202E: i = 66;break; + case 0x2030: i = 67;break; + case 0x2031: i = 68;break; + case 0x2062: i = 69;break; + case 0x206B: i = 70;break; + case 0x2070: i = 71;break; + case 0x2071: i = 72;break; + case 0x2074: i = 73;break; + case 0x2078: i = 74;break; + case 0x2079: i = 75;break; + case 0x207A: i = 76;break; + case 0x207B: i = 77;break; + case 0x207C: i = 78;break; + case 0x207D: i = 79;break; + case 0x2080: i = 80;break; + case 0x2081: i = 81;break; + case 0x2082: i = 82;break; + case 0x20C1: i = 83;break; + case 0x20C4: i = 84;break; + case 0x20F4: i = 85;break; + case 0x2100: i = 86;break; + case 0x2101: i = 87;break; + case 0x2210: i = 88;break; + case 0x2220: i = 89;break; + case 0x2230: i = 90;break; + case 0x2300: i = 91;break; + case 0x2301: i = 92;break; + case 0x2302: i = 93;break; + case 0x2303: i = 94;break; + case 0x2400: i = 95;break; + case 0x2401: i = 96;break; + case 0x2410: i = 97;break; + case 0x2411: i = 98;break; + case 0x2FFF: i = 99;break; + case 0x6007: i = 100;break; + case 0x6040: i = 101;break; + case 0x6041: i = 102;break; + case 0x605B: i = 103;break; + case 0x605C: i = 104;break; + case 0x605E: i = 105;break; + case 0x6060: i = 106;break; + case 0x6061: i = 107;break; + case 0x6062: i = 108;break; + case 0x6064: i = 109;break; + case 0x6065: i = 110;break; + case 0x6067: i = 111;break; + case 0x6068: i = 112;break; + case 0x6069: i = 113;break; + case 0x606B: i = 114;break; + case 0x606C: i = 115;break; + case 0x606D: i = 116;break; + case 0x606E: i = 117;break; + case 0x6078: i = 118;break; + case 0x607A: i = 119;break; + case 0x607C: i = 120;break; + case 0x607D: i = 121;break; + case 0x607F: i = 122;break; + case 0x6081: i = 123;break; + case 0x6083: i = 124;break; + case 0x6084: i = 125;break; + case 0x6085: i = 126;break; + case 0x6086: i = 127;break; + case 0x6089: i = 128;break; + case 0x608A: i = 129;break; + case 0x608B: i = 130;break; + case 0x608C: i = 131;break; + case 0x608D: i = 132;break; + case 0x608E: i = 133;break; + case 0x6098: i = 134;break; + case 0x6099: i = 135;break; + case 0x609A: i = 136;break; + case 0x60C0: i = 137;break; + case 0x60C2: i = 138;break; + case 0x60C4: i = 139;break; + case 0x60C5: i = 140;break; + case 0x60F6: i = 141;break; + case 0x60F9: i = 142;break; + case 0x60FB: i = 143;break; + case 0x60FF: i = 144;break; + case 0x6402: i = 145;break; + case 0x6410: i = 146;break; + case 0x6502: i = 147;break; + default: + *errorCode = OD_NO_SUCH_OBJECT; + return NULL; + } + *errorCode = OD_SUCCESSFUL; + return &_objdict[i]; +} + +/* + * To count at which received SYNC a PDO must be sent. + * Even if no pdoTransmit are defined, at least one entry is computed + * for compilations issues. + */ +s_PDO_status _PDO_status[4] = {s_PDO_status_Initializer,s_PDO_status_Initializer,s_PDO_status_Initializer,s_PDO_status_Initializer}; + +const quick_index _firstIndex = { + 16, /* SDO_SVR */ + 0, /* SDO_CLT */ + 17, /* PDO_RCV */ + 21, /* PDO_RCV_MAP */ + 25, /* PDO_TRS */ + 29 /* PDO_TRS_MAP */ +}; + +const quick_index _lastIndex = { + 16, /* SDO_SVR */ + 0, /* SDO_CLT */ + 20, /* PDO_RCV */ + 24, /* PDO_RCV_MAP */ + 28, /* PDO_TRS */ + 32 /* PDO_TRS_MAP */ +}; + +const UNS16 _ObjdictSize = sizeof(_objdict)/sizeof(_objdict[0]); + +CO_Data _Data = CANOPEN_NODE_DATA_INITIALIZER(); +