93 #define EC_IOCTL_SC_ADD_PDO EC_IOW(0x23, ec_ioctl_config_pdo_t) |
93 #define EC_IOCTL_SC_ADD_PDO EC_IOW(0x23, ec_ioctl_config_pdo_t) |
94 #define EC_IOCTL_SC_CLEAR_PDOS EC_IOW(0x24, ec_ioctl_config_pdo_t) |
94 #define EC_IOCTL_SC_CLEAR_PDOS EC_IOW(0x24, ec_ioctl_config_pdo_t) |
95 #define EC_IOCTL_SC_ADD_ENTRY EC_IOW(0x25, ec_ioctl_add_pdo_entry_t) |
95 #define EC_IOCTL_SC_ADD_ENTRY EC_IOW(0x25, ec_ioctl_add_pdo_entry_t) |
96 #define EC_IOCTL_SC_CLEAR_ENTRIES EC_IOW(0x26, ec_ioctl_config_pdo_t) |
96 #define EC_IOCTL_SC_CLEAR_ENTRIES EC_IOW(0x26, ec_ioctl_config_pdo_t) |
97 #define EC_IOCTL_SC_REG_PDO_ENTRY EC_IOWR(0x27, ec_ioctl_reg_pdo_entry_t) |
97 #define EC_IOCTL_SC_REG_PDO_ENTRY EC_IOWR(0x27, ec_ioctl_reg_pdo_entry_t) |
98 #define EC_IOCTL_SC_DC EC_IOW(0x28, ec_ioctl_sc_dc_t) |
98 #define EC_IOCTL_SC_DC EC_IOW(0x28, ec_ioctl_config_t) |
99 #define EC_IOCTL_SC_SDO EC_IOW(0x29, ec_ioctl_sc_sdo_t) |
99 #define EC_IOCTL_SC_SDO EC_IOW(0x29, ec_ioctl_sc_sdo_t) |
100 #define EC_IOCTL_SC_SDO_REQUEST EC_IOWR(0x2a, ec_ioctl_sdo_request_t) |
100 #define EC_IOCTL_SC_SDO_REQUEST EC_IOWR(0x2a, ec_ioctl_sdo_request_t) |
101 #define EC_IOCTL_SC_VOE EC_IOWR(0x2b, ec_ioctl_voe_t) |
101 #define EC_IOCTL_SC_VOE EC_IOWR(0x2b, ec_ioctl_voe_t) |
102 #define EC_IOCTL_SC_STATE EC_IOWR(0x2c, ec_ioctl_sc_state_t) |
102 #define EC_IOCTL_SC_STATE EC_IOWR(0x2c, ec_ioctl_sc_state_t) |
103 #define EC_IOCTL_DOMAIN_OFFSET EC_IO(0x2d) |
103 #define EC_IOCTL_DOMAIN_OFFSET EC_IO(0x2d) |
389 ec_direction_t dir; |
389 ec_direction_t dir; |
390 uint32_t pdo_count; |
390 uint32_t pdo_count; |
391 } syncs[EC_MAX_SYNC_MANAGERS]; |
391 } syncs[EC_MAX_SYNC_MANAGERS]; |
392 uint32_t sdo_count; |
392 uint32_t sdo_count; |
393 int32_t slave_position; |
393 int32_t slave_position; |
|
394 uint16_t dc_assign_activate; |
|
395 ec_sync_signal_t dc_sync[EC_SYNC_SIGNAL_COUNT]; |
394 } ec_ioctl_config_t; |
396 } ec_ioctl_config_t; |
395 |
|
396 /*****************************************************************************/ |
|
397 |
|
398 typedef struct { |
|
399 // inputs |
|
400 uint64_t app_time; |
|
401 } ec_ioctl_app_time_t; |
|
402 |
397 |
403 /*****************************************************************************/ |
398 /*****************************************************************************/ |
404 |
399 |
405 typedef struct { |
400 typedef struct { |
406 // inputs |
401 // inputs |
465 uint32_t domain_index; |
460 uint32_t domain_index; |
466 |
461 |
467 // outputs |
462 // outputs |
468 unsigned int bit_position; |
463 unsigned int bit_position; |
469 } ec_ioctl_reg_pdo_entry_t; |
464 } ec_ioctl_reg_pdo_entry_t; |
470 |
|
471 /*****************************************************************************/ |
|
472 |
|
473 typedef struct { |
|
474 // inputs |
|
475 uint32_t config_index; |
|
476 uint16_t assign_activate; |
|
477 ec_sync_signal_t sync[EC_SYNC_SIGNAL_COUNT]; |
|
478 } ec_ioctl_sc_dc_t; |
|
479 |
465 |
480 /*****************************************************************************/ |
466 /*****************************************************************************/ |
481 |
467 |
482 typedef struct { |
468 typedef struct { |
483 // inputs |
469 // inputs |