Skip to content

File syn_cia402.h

FileList > proto > syn_cia402.h

Go to the source code of this file

CANopen CiA 402 Device Profile for Drives and Motion Control. More...

  • #include "../common/syn_defs.h"
  • #include "syn_canopen.h"
  • #include <stdbool.h>
  • #include <stddef.h>
  • #include <stdint.h>

Classes

Type Name
struct SYN_CIA402_Axis
CiA 402 Axis Instance.
struct SYN_CIA402_Config
CiA 402 axis configuration parameters.
struct SYN_CIA402_Setpoints
CiA 402 motion controller setpoint outputs for motor loop / FOC.

Public Types

Type Name
enum SYN_CIA402_Mode
CiA 402 operation modes.
enum SYN_CIA402_State
CiA 402 Finite State Machine state enumeration.
typedef SYN_CIA402_Config SYN_CiA402Config
typedef SYN_CIA402_Axis SYN_CiA402Drive
typedef SYN_CIA402_State SYN_CiA402State

Public Functions

Type Name
SYN_Status syn_cia402_feed_feedback (SYN_CIA402_Axis * axis, int32_t pos_actual, int32_t vel_actual, int16_t torque_actual)
Feed measured actual values (encoder position, velocity, torque) to axis.
uint16_t syn_cia402_get_controlword (const SYN_CIA402_Axis * axis)
Read current Controlword (Index 0x6040).
int8_t syn_cia402_get_mode (const SYN_CIA402_Axis * axis)
Get requested Mode of Operation (Index 0x6060).
int8_t syn_cia402_get_mode_display (const SYN_CIA402_Axis * axis)
Get active Mode of Operation Display (Index 0x6061).
SYN_CIA402_State syn_cia402_get_state (const SYN_CIA402_Axis * axis)
Get current FSM state.
uint16_t syn_cia402_get_statusword (const SYN_CIA402_Axis * axis)
Read current Statusword (Index 0x6041).
SYN_Status syn_cia402_init (SYN_CIA402_Axis * axis, const SYN_CIA402_Config * cfg)
Initialize CiA 402 Axis controller.
size_t syn_cia402_populate_od (SYN_CANOpenODEntry * od_table, size_t max_entries, SYN_CIA402_Axis * axis)
Populate a CANopen Object Dictionary table with standard CiA 402 objects.
SYN_Status syn_cia402_report_actuals (SYN_CIA402_Axis * axis, int32_t pos_actual, int32_t vel_actual, int16_t torque_actual)
Feed measured actual values alias for compatibility.
SYN_Status syn_cia402_set_controlword (SYN_CIA402_Axis * axis, uint16_t cw)
Set Controlword (Index 0x6040) from master / RPDO / SDO.
SYN_Status syn_cia402_set_mode (SYN_CIA402_Axis * axis, int8_t mode)
Request Mode of Operation (Index 0x6060).
SYN_Status syn_cia402_set_target_position (SYN_CIA402_Axis * axis, int32_t pos)
Set target position (Index 0x607A).
SYN_Status syn_cia402_set_target_torque (SYN_CIA402_Axis * axis, int16_t torque)
Set target torque (Index 0x6071).
SYN_Status syn_cia402_set_target_velocity (SYN_CIA402_Axis * axis, int32_t vel)
Set target velocity (Index 0x60FF).
SYN_Status syn_cia402_step (SYN_CIA402_Axis * axis, uint32_t dt_us, SYN_CIA402_Setpoints * out_setpoints)
Execute periodic CiA 402 control loop step in microseconds.
SYN_Status syn_cia402_trigger_fault (SYN_CIA402_Axis * axis, uint16_t error_code)
Trigger a drive fault and enter FAULT_REACTION_ACTIVE / FAULT state.
SYN_Status syn_cia402_update (SYN_CIA402_Axis * axis, uint32_t dt_ms)
Periodic motion update in milliseconds.

Macros

Type Name
define SYN_CIA402_CW_CHANGE_IMMEDIATELY (1U &lt;&lt; 5)
define SYN_CIA402_CW_CHANGE_ON_SETPOINT (1U &lt;&lt; 9)
define SYN_CIA402_CW_ENABLE_OPERATION (1U &lt;&lt; 3)
define SYN_CIA402_CW_ENABLE_VOLTAGE (1U &lt;&lt; 1)
define SYN_CIA402_CW_FAULT_RESET (1U &lt;&lt; 7)
define SYN_CIA402_CW_HALT (1U &lt;&lt; 8)
define SYN_CIA402_CW_NEW_SETPOINT (1U &lt;&lt; 4)
define SYN_CIA402_CW_QUICK_STOP (1U &lt;&lt; 2)
define SYN_CIA402_CW_RELATIVE (1U &lt;&lt; 6)
define SYN_CIA402_CW_SWITCH_ON (1U &lt;&lt; 0)
define SYN_CIA402_OD_CONTROLWORD 0x6040U
define SYN_CIA402_OD_FOLLOWING_ERROR_WINDOW 0x6065U
define SYN_CIA402_OD_HOMING_ACCELERATION 0x609BU
define SYN_CIA402_OD_HOMING_METHOD 0x6098U
define SYN_CIA402_OD_HOMING_SPEED_FAST 0x6099U
define SYN_CIA402_OD_HOMING_SPEED_SLOW 0x609AU
define SYN_CIA402_OD_MAX_TORQUE 0x6072U
define SYN_CIA402_OD_MODES_OF_OPERATION 0x6060U
define SYN_CIA402_OD_MODES_OF_OPERATION_DISPLAY 0x6061U
define SYN_CIA402_OD_POSITION_ACTUAL_VALUE 0x6064U
define SYN_CIA402_OD_POSITION_DEMAND_VALUE 0x6062U
define SYN_CIA402_OD_POSITION_WINDOW 0x6067U
define SYN_CIA402_OD_PROFILE_ACCELERATION 0x6083U
define SYN_CIA402_OD_PROFILE_DECELERATION 0x6084U
define SYN_CIA402_OD_PROFILE_VELOCITY 0x6081U
define SYN_CIA402_OD_QUICK_STOP_DECELERATION 0x6085U
define SYN_CIA402_OD_QUICK_STOP_OPTION 0x605AU
define SYN_CIA402_OD_SOFTWARE_POS_LIMIT_MAX 0x607EU
define SYN_CIA402_OD_SOFTWARE_POS_LIMIT_MIN 0x607DU
define SYN_CIA402_OD_STATUSWORD 0x6041U
define SYN_CIA402_OD_TARGET_POSITION 0x607AU
define SYN_CIA402_OD_TARGET_TORQUE 0x6071U
define SYN_CIA402_OD_TARGET_VELOCITY 0x60FFU
define SYN_CIA402_OD_TORQUE_ACTUAL_VALUE 0x6077U
define SYN_CIA402_OD_TORQUE_SLOPE 0x6087U
define SYN_CIA402_OD_VELOCITY_ACTUAL_VALUE 0x606CU
define SYN_CIA402_SW_FAULT (1U &lt;&lt; 3)
define SYN_CIA402_SW_FOLLOWING_ERROR (1U &lt;&lt; 13)
define SYN_CIA402_SW_HOMING_ATTAINED (1U &lt;&lt; 12)
define SYN_CIA402_SW_HOMING_ERROR (1U &lt;&lt; 13)
define SYN_CIA402_SW_INTERNAL_LIMIT (1U &lt;&lt; 11)
define SYN_CIA402_SW_MANUFACTURER_8 (1U &lt;&lt; 8)
define SYN_CIA402_SW_OPERATION_ENABLED (1U &lt;&lt; 2)
define SYN_CIA402_SW_QUICK_STOP (1U &lt;&lt; 5)
define SYN_CIA402_SW_READY_TO_SWITCH_ON (1U &lt;&lt; 0)
define SYN_CIA402_SW_REMOTE (1U &lt;&lt; 9)
define SYN_CIA402_SW_SETPOINT_ACK (1U &lt;&lt; 12)
define SYN_CIA402_SW_SPEED_ZERO (1U &lt;&lt; 12)
define SYN_CIA402_SW_SWITCHED_ON (1U &lt;&lt; 1)
define SYN_CIA402_SW_SWITCH_ON_DISABLED (1U &lt;&lt; 6)
define SYN_CIA402_SW_TARGET_REACHED (1U &lt;&lt; 10)
define SYN_CIA402_SW_VOLTAGE_ENABLED (1U &lt;&lt; 4)
define SYN_CIA402_SW_WARNING (1U &lt;&lt; 7)

Detailed Description

Implements a zero-heap, deterministic CiA 402 Drive Finite State Machine (Controlword 0x6040 / Statusword 0x6041), Motion Modes of Operation (PP, PV, PT, HM, CSP, CSV, CST), trapezoidal trajectory generation, following error supervision, and standard CANopen Object Dictionary binding.

Public Types Documentation

enum SYN_CIA402_Mode

CiA 402 operation modes.

enum SYN_CIA402_Mode {
    SYN_CIA402_MODE_NO_MODE = 0,
    SYN_CIA402_MODE_PROFILE_POSITION = 1,
    SYN_CIA402_MODE_PP = 1,
    SYN_CIA402_MODE_PROFILE_VELOCITY = 3,
    SYN_CIA402_MODE_PV = 3,
    SYN_CIA402_MODE_PROFILE_TORQUE = 4,
    SYN_CIA402_MODE_PT = 4,
    SYN_CIA402_MODE_HOMING = 6,
    SYN_CIA402_MODE_HM = 6,
    SYN_CIA402_MODE_CYCLIC_SYNC_POSITION = 8,
    SYN_CIA402_MODE_CSP = 8,
    SYN_CIA402_MODE_CYCLIC_SYNC_VELOCITY = 9,
    SYN_CIA402_MODE_CSV = 9,
    SYN_CIA402_MODE_CYCLIC_SYNC_TORQUE = 10,
    SYN_CIA402_MODE_CST = 10
};


enum SYN_CIA402_State

CiA 402 Finite State Machine state enumeration.

enum SYN_CIA402_State {
    SYN_CIA402_STATE_NOT_READY_TO_SWITCH_ON = 0,
    SYN_CIA402_STATE_NOT_READY = 0,
    SYN_CIA402_STATE_SWITCH_ON_DISABLED = 1,
    SYN_CIA402_STATE_READY_TO_SWITCH_ON = 2,
    SYN_CIA402_STATE_SWITCHED_ON = 3,
    SYN_CIA402_STATE_OPERATION_ENABLED = 4,
    SYN_CIA402_STATE_QUICK_STOP_ACTIVE = 5,
    SYN_CIA402_STATE_FAULT_REACTION_ACTIVE = 6,
    SYN_CIA402_STATE_FAULT = 7
};


typedef SYN_CiA402Config

typedef SYN_CIA402_Config SYN_CiA402Config;

Alias for SYN_CIA402_Config for backwards-compatibility.


typedef SYN_CiA402Drive

typedef SYN_CIA402_Axis SYN_CiA402Drive;

Alias for SYN_CIA402_Axis for backwards-compatibility.


typedef SYN_CiA402State

typedef SYN_CIA402_State SYN_CiA402State;

Alias for SYN_CIA402_State for backwards-compatibility.


Public Functions Documentation

function syn_cia402_feed_feedback

Feed measured actual values (encoder position, velocity, torque) to axis.

SYN_Status syn_cia402_feed_feedback (
    SYN_CIA402_Axis * axis,
    int32_t pos_actual,
    int32_t vel_actual,
    int16_t torque_actual
) 

Parameters:

  • axis Axis instance.
  • pos_actual Actual position (counts).
  • vel_actual Actual velocity (counts/s).
  • torque_actual Actual torque (0.1% rated).

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_get_controlword

Read current Controlword (Index 0x6040).

uint16_t syn_cia402_get_controlword (
    const SYN_CIA402_Axis * axis
) 

Parameters:

  • axis Axis instance.

Returns:

Controlword value (0 on NULL).


function syn_cia402_get_mode

Get requested Mode of Operation (Index 0x6060).

int8_t syn_cia402_get_mode (
    const SYN_CIA402_Axis * axis
) 

Parameters:

  • axis Axis instance.

Returns:

Mode of operation.


function syn_cia402_get_mode_display

Get active Mode of Operation Display (Index 0x6061).

int8_t syn_cia402_get_mode_display (
    const SYN_CIA402_Axis * axis
) 

Parameters:

  • axis Axis instance.

Returns:

Mode of operation display.


function syn_cia402_get_state

Get current FSM state.

SYN_CIA402_State syn_cia402_get_state (
    const SYN_CIA402_Axis * axis
) 

Parameters:

  • axis Axis instance.

Returns:

Current FSM state.


function syn_cia402_get_statusword

Read current Statusword (Index 0x6041).

uint16_t syn_cia402_get_statusword (
    const SYN_CIA402_Axis * axis
) 

Parameters:

  • axis Axis instance.

Returns:

Statusword value (0 on NULL).


function syn_cia402_init

Initialize CiA 402 Axis controller.

SYN_Status syn_cia402_init (
    SYN_CIA402_Axis * axis,
    const SYN_CIA402_Config * cfg
) 

Parameters:

  • axis Axis instance.
  • cfg Initial configuration parameters.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL parameters.


function syn_cia402_populate_od

Populate a CANopen Object Dictionary table with standard CiA 402 objects.

size_t syn_cia402_populate_od (
    SYN_CANOpenODEntry * od_table,
    size_t max_entries,
    SYN_CIA402_Axis * axis
) 

Binds 0x6040 (Controlword), 0x6041 (Statusword), 0x6060..0x60FF objects directly to the live fields of the given axis instance.

Parameters:

  • od_table Destination array of Object Dictionary entries.
  • max_entries Size of od_table.
  • axis Axis instance to bind.

Returns:

Number of entries populated (0 on error or insufficient capacity).


function syn_cia402_report_actuals

Feed measured actual values alias for compatibility.

SYN_Status syn_cia402_report_actuals (
    SYN_CIA402_Axis * axis,
    int32_t pos_actual,
    int32_t vel_actual,
    int16_t torque_actual
) 

Parameters:

  • axis Axis instance.
  • pos_actual Actual position (counts).
  • vel_actual Actual velocity (counts/s).
  • torque_actual Actual torque (0.1% rated).

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_set_controlword

Set Controlword (Index 0x6040) from master / RPDO / SDO.

SYN_Status syn_cia402_set_controlword (
    SYN_CIA402_Axis * axis,
    uint16_t cw
) 

Parameters:

  • axis Axis instance.
  • cw Controlword value.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_set_mode

Request Mode of Operation (Index 0x6060).

SYN_Status syn_cia402_set_mode (
    SYN_CIA402_Axis * axis,
    int8_t mode
) 

Parameters:

  • axis Axis instance.
  • mode Requested mode (SYN_CIA402_MODE_*).

Returns:

SYN_OK on success, SYN_INVALID_PARAM on invalid mode.


function syn_cia402_set_target_position

Set target position (Index 0x607A).

SYN_Status syn_cia402_set_target_position (
    SYN_CIA402_Axis * axis,
    int32_t pos
) 

Parameters:

  • axis Axis instance.
  • pos Target position in counts.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_set_target_torque

Set target torque (Index 0x6071).

SYN_Status syn_cia402_set_target_torque (
    SYN_CIA402_Axis * axis,
    int16_t torque
) 

Parameters:

  • axis Axis instance.
  • torque Target torque in 0.1% rated torque.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_set_target_velocity

Set target velocity (Index 0x60FF).

SYN_Status syn_cia402_set_target_velocity (
    SYN_CIA402_Axis * axis,
    int32_t vel
) 

Parameters:

  • axis Axis instance.
  • vel Target velocity in counts/s.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_step

Execute periodic CiA 402 control loop step in microseconds.

SYN_Status syn_cia402_step (
    SYN_CIA402_Axis * axis,
    uint32_t dt_us,
    SYN_CIA402_Setpoints * out_setpoints
) 

Evaluates state machine transitions, computes motion ramps, performs following error supervision, updates Statusword, and outputs motor setpoints.

Parameters:

  • axis Axis instance.
  • dt_us Time elapsed since last step in microseconds.
  • out_setpoints Output setpoint commands (may be NULL if not needed).

Returns:

SYN_OK on success, error code on failure.


function syn_cia402_trigger_fault

Trigger a drive fault and enter FAULT_REACTION_ACTIVE / FAULT state.

SYN_Status syn_cia402_trigger_fault (
    SYN_CIA402_Axis * axis,
    uint16_t error_code
) 

Parameters:

  • axis Axis instance.
  • error_code Fault error code (e.g. overcurrent, limit tripped, tracking error).

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


function syn_cia402_update

Periodic motion update in milliseconds.

SYN_Status syn_cia402_update (
    SYN_CIA402_Axis * axis,
    uint32_t dt_ms
) 

Parameters:

  • axis Axis instance.
  • dt_ms Time delta in milliseconds.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on NULL.


Macro Definition Documentation

define SYN_CIA402_CW_CHANGE_IMMEDIATELY

#define SYN_CIA402_CW_CHANGE_IMMEDIATELY `(1U << 5)`

Bit 5: Change Set-point Immediately (PP) \


define SYN_CIA402_CW_CHANGE_ON_SETPOINT

#define SYN_CIA402_CW_CHANGE_ON_SETPOINT `(1U << 9)`

Bit 9: Change on Set-point (PP)


define SYN_CIA402_CW_ENABLE_OPERATION

#define SYN_CIA402_CW_ENABLE_OPERATION `(1U << 3)`

Bit 3: Enable Operation


define SYN_CIA402_CW_ENABLE_VOLTAGE

#define SYN_CIA402_CW_ENABLE_VOLTAGE `(1U << 1)`

Bit 1: Enable Voltage


define SYN_CIA402_CW_FAULT_RESET

#define SYN_CIA402_CW_FAULT_RESET `(1U << 7)`

Bit 7: Fault Reset (0 -> 1 rising edge)


define SYN_CIA402_CW_HALT

#define SYN_CIA402_CW_HALT `(1U << 8)`

Bit 8: Halt axis


define SYN_CIA402_CW_NEW_SETPOINT

#define SYN_CIA402_CW_NEW_SETPOINT `(1U << 4)`

Bit 4: New Set-point (PP) / Start Homing (HM)


define SYN_CIA402_CW_QUICK_STOP

#define SYN_CIA402_CW_QUICK_STOP `(1U << 2)`

Bit 2: Quick Stop (active low: 0=stop)


define SYN_CIA402_CW_RELATIVE

#define SYN_CIA402_CW_RELATIVE `(1U << 6)`

Bit 6: Relative Positioning (PP: 0=Abs, 1=Rel)


define SYN_CIA402_CW_SWITCH_ON

#define SYN_CIA402_CW_SWITCH_ON `(1U << 0)`

Bit 0: Switch On


define SYN_CIA402_OD_CONTROLWORD

#define SYN_CIA402_OD_CONTROLWORD `0x6040U`

Controlword (U16)


define SYN_CIA402_OD_FOLLOWING_ERROR_WINDOW

#define SYN_CIA402_OD_FOLLOWING_ERROR_WINDOW `0x6065U`

Following Error Window (U32)


define SYN_CIA402_OD_HOMING_ACCELERATION

#define SYN_CIA402_OD_HOMING_ACCELERATION `0x609BU`

Homing Acceleration (U32)


define SYN_CIA402_OD_HOMING_METHOD

#define SYN_CIA402_OD_HOMING_METHOD `0x6098U`

Homing Method (I8)


define SYN_CIA402_OD_HOMING_SPEED_FAST

#define SYN_CIA402_OD_HOMING_SPEED_FAST `0x6099U`

Homing Speed Switch (U32)


define SYN_CIA402_OD_HOMING_SPEED_SLOW

#define SYN_CIA402_OD_HOMING_SPEED_SLOW `0x609AU`

Homing Speed Zero (U32)


define SYN_CIA402_OD_MAX_TORQUE

#define SYN_CIA402_OD_MAX_TORQUE `0x6072U`

Max Torque (U16, 0.1% rated)


define SYN_CIA402_OD_MODES_OF_OPERATION

#define SYN_CIA402_OD_MODES_OF_OPERATION `0x6060U`

Modes of Operation (I8)


define SYN_CIA402_OD_MODES_OF_OPERATION_DISPLAY

#define SYN_CIA402_OD_MODES_OF_OPERATION_DISPLAY `0x6061U`

Modes of Operation Display (I8)


define SYN_CIA402_OD_POSITION_ACTUAL_VALUE

#define SYN_CIA402_OD_POSITION_ACTUAL_VALUE `0x6064U`

Position Actual Value (I32)


define SYN_CIA402_OD_POSITION_DEMAND_VALUE

#define SYN_CIA402_OD_POSITION_DEMAND_VALUE `0x6062U`

Position Demand Value (I32)


define SYN_CIA402_OD_POSITION_WINDOW

#define SYN_CIA402_OD_POSITION_WINDOW `0x6067U`

Position Window (U32)


define SYN_CIA402_OD_PROFILE_ACCELERATION

#define SYN_CIA402_OD_PROFILE_ACCELERATION `0x6083U`

Profile Acceleration (U32)


define SYN_CIA402_OD_PROFILE_DECELERATION

#define SYN_CIA402_OD_PROFILE_DECELERATION `0x6084U`

Profile Deceleration (U32)


define SYN_CIA402_OD_PROFILE_VELOCITY

#define SYN_CIA402_OD_PROFILE_VELOCITY `0x6081U`

Profile Velocity (U32)


define SYN_CIA402_OD_QUICK_STOP_DECELERATION

#define SYN_CIA402_OD_QUICK_STOP_DECELERATION `0x6085U`

Quick Stop Deceleration (U32)


define SYN_CIA402_OD_QUICK_STOP_OPTION

#define SYN_CIA402_OD_QUICK_STOP_OPTION `0x605AU`

Quick Stop Option Code (I16)


define SYN_CIA402_OD_SOFTWARE_POS_LIMIT_MAX

#define SYN_CIA402_OD_SOFTWARE_POS_LIMIT_MAX `0x607EU`

Software Position Limit Max (I32)


define SYN_CIA402_OD_SOFTWARE_POS_LIMIT_MIN

#define SYN_CIA402_OD_SOFTWARE_POS_LIMIT_MIN `0x607DU`

Software Position Limit Min (I32)


define SYN_CIA402_OD_STATUSWORD

#define SYN_CIA402_OD_STATUSWORD `0x6041U`

Statusword (U16)


define SYN_CIA402_OD_TARGET_POSITION

#define SYN_CIA402_OD_TARGET_POSITION `0x607AU`

Target Position (I32)


define SYN_CIA402_OD_TARGET_TORQUE

#define SYN_CIA402_OD_TARGET_TORQUE `0x6071U`

Target Torque (I16, 0.1% rated)


define SYN_CIA402_OD_TARGET_VELOCITY

#define SYN_CIA402_OD_TARGET_VELOCITY `0x60FFU`

Target Velocity (I32)


define SYN_CIA402_OD_TORQUE_ACTUAL_VALUE

#define SYN_CIA402_OD_TORQUE_ACTUAL_VALUE `0x6077U`

Torque Actual Value (I16)


define SYN_CIA402_OD_TORQUE_SLOPE

#define SYN_CIA402_OD_TORQUE_SLOPE `0x6087U`

Torque Slope (U32, units/s)


define SYN_CIA402_OD_VELOCITY_ACTUAL_VALUE

#define SYN_CIA402_OD_VELOCITY_ACTUAL_VALUE `0x606CU`

Velocity Actual Value (I32)


define SYN_CIA402_SW_FAULT

#define SYN_CIA402_SW_FAULT `(1U << 3)`

Bit 3: Fault Active


define SYN_CIA402_SW_FOLLOWING_ERROR

#define SYN_CIA402_SW_FOLLOWING_ERROR `(1U << 13)`

Bit 13: Following Error Active (PP)


define SYN_CIA402_SW_HOMING_ATTAINED

#define SYN_CIA402_SW_HOMING_ATTAINED `(1U << 12)`

Bit 12: Homing Attained (HM)


define SYN_CIA402_SW_HOMING_ERROR

#define SYN_CIA402_SW_HOMING_ERROR `(1U << 13)`

Bit 13: Homing Error (HM)


define SYN_CIA402_SW_INTERNAL_LIMIT

#define SYN_CIA402_SW_INTERNAL_LIMIT `(1U << 11)`

Bit 11: Internal / Software Limit Active


define SYN_CIA402_SW_MANUFACTURER_8

#define SYN_CIA402_SW_MANUFACTURER_8 `(1U << 8)`

Bit 8: Manufacturer Specific


define SYN_CIA402_SW_OPERATION_ENABLED

#define SYN_CIA402_SW_OPERATION_ENABLED `(1U << 2)`

Bit 2: Operation Enabled


define SYN_CIA402_SW_QUICK_STOP

#define SYN_CIA402_SW_QUICK_STOP `(1U << 5)`

Bit 5: Quick Stop Inactive (1=normal, 0=quick stop)


define SYN_CIA402_SW_READY_TO_SWITCH_ON

#define SYN_CIA402_SW_READY_TO_SWITCH_ON `(1U << 0)`

Bit 0: Ready to Switch On


define SYN_CIA402_SW_REMOTE

#define SYN_CIA402_SW_REMOTE `(1U << 9)`

Bit 9: Remote Control Active


define SYN_CIA402_SW_SETPOINT_ACK

#define SYN_CIA402_SW_SETPOINT_ACK `(1U << 12)`

Bit 12: Setpoint Acknowledge (PP)


define SYN_CIA402_SW_SPEED_ZERO

#define SYN_CIA402_SW_SPEED_ZERO `(1U << 12)`

Bit 12: Speed 0 (PV)


define SYN_CIA402_SW_SWITCHED_ON

#define SYN_CIA402_SW_SWITCHED_ON `(1U << 1)`

Bit 1: Switched On


define SYN_CIA402_SW_SWITCH_ON_DISABLED

#define SYN_CIA402_SW_SWITCH_ON_DISABLED `(1U << 6)`

Bit 6: Switch On Disabled


define SYN_CIA402_SW_TARGET_REACHED

#define SYN_CIA402_SW_TARGET_REACHED `(1U << 10)`

Bit 10: Target Position / Velocity Reached


define SYN_CIA402_SW_VOLTAGE_ENABLED

#define SYN_CIA402_SW_VOLTAGE_ENABLED `(1U << 4)`

Bit 4: Power Stage Voltage Enabled


define SYN_CIA402_SW_WARNING

#define SYN_CIA402_SW_WARNING `(1U << 7)`

Bit 7: Drive Warning



The documentation for this class was generated from the following file src/syntropic/proto/syn_cia402.h