master/ioctl.h
changeset 1509 a864688e7de5
parent 1507 68e89abadd19
child 1516 e3b09f847512
equal deleted inserted replaced
1508:60a116ed3897 1509:a864688e7de5
    89 #define EC_IOCTL_MASTER_STATE          EC_IOR(0x1f, ec_master_state_t)
    89 #define EC_IOCTL_MASTER_STATE          EC_IOR(0x1f, ec_master_state_t)
    90 #define EC_IOCTL_APP_TIME              EC_IOW(0x20, ec_ioctl_app_time_t)
    90 #define EC_IOCTL_APP_TIME              EC_IOW(0x20, ec_ioctl_app_time_t)
    91 #define EC_IOCTL_SYNC_REF               EC_IO(0x21)
    91 #define EC_IOCTL_SYNC_REF               EC_IO(0x21)
    92 #define EC_IOCTL_SYNC_SLAVES            EC_IO(0x22)
    92 #define EC_IOCTL_SYNC_SLAVES            EC_IO(0x22)
    93 #define EC_IOCTL_SC_SYNC               EC_IOW(0x23, ec_ioctl_config_t)
    93 #define EC_IOCTL_SC_SYNC               EC_IOW(0x23, ec_ioctl_config_t)
    94 #define EC_IOCTL_SC_ADD_PDO            EC_IOW(0x24, ec_ioctl_config_pdo_t)
    94 #define EC_IOCTL_SC_WATCHDOG           EC_IOW(0x24, ec_ioctl_config_t)
    95 #define EC_IOCTL_SC_CLEAR_PDOS         EC_IOW(0x25, ec_ioctl_config_pdo_t)
    95 #define EC_IOCTL_SC_ADD_PDO            EC_IOW(0x25, ec_ioctl_config_pdo_t)
    96 #define EC_IOCTL_SC_ADD_ENTRY          EC_IOW(0x26, ec_ioctl_add_pdo_entry_t)
    96 #define EC_IOCTL_SC_CLEAR_PDOS         EC_IOW(0x26, ec_ioctl_config_pdo_t)
    97 #define EC_IOCTL_SC_CLEAR_ENTRIES      EC_IOW(0x27, ec_ioctl_config_pdo_t)
    97 #define EC_IOCTL_SC_ADD_ENTRY          EC_IOW(0x27, ec_ioctl_add_pdo_entry_t)
    98 #define EC_IOCTL_SC_REG_PDO_ENTRY     EC_IOWR(0x28, ec_ioctl_reg_pdo_entry_t)
    98 #define EC_IOCTL_SC_CLEAR_ENTRIES      EC_IOW(0x28, ec_ioctl_config_pdo_t)
    99 #define EC_IOCTL_SC_DC                 EC_IOW(0x29, ec_ioctl_config_t)
    99 #define EC_IOCTL_SC_REG_PDO_ENTRY     EC_IOWR(0x29, ec_ioctl_reg_pdo_entry_t)
   100 #define EC_IOCTL_SC_SDO                EC_IOW(0x2a, ec_ioctl_sc_sdo_t)
   100 #define EC_IOCTL_SC_DC                 EC_IOW(0x2a, ec_ioctl_config_t)
   101 #define EC_IOCTL_SC_SDO_REQUEST       EC_IOWR(0x2b, ec_ioctl_sdo_request_t)
   101 #define EC_IOCTL_SC_SDO                EC_IOW(0x2b, ec_ioctl_sc_sdo_t)
   102 #define EC_IOCTL_SC_VOE               EC_IOWR(0x2c, ec_ioctl_voe_t)
   102 #define EC_IOCTL_SC_SDO_REQUEST       EC_IOWR(0x2c, ec_ioctl_sdo_request_t)
   103 #define EC_IOCTL_SC_STATE             EC_IOWR(0x2d, ec_ioctl_sc_state_t)
   103 #define EC_IOCTL_SC_VOE               EC_IOWR(0x2d, ec_ioctl_voe_t)
   104 #define EC_IOCTL_DOMAIN_OFFSET          EC_IO(0x2e)
   104 #define EC_IOCTL_SC_STATE             EC_IOWR(0x2e, ec_ioctl_sc_state_t)
   105 #define EC_IOCTL_DOMAIN_PROCESS         EC_IO(0x2f)
   105 #define EC_IOCTL_DOMAIN_OFFSET          EC_IO(0x2f)
   106 #define EC_IOCTL_DOMAIN_QUEUE           EC_IO(0x30)
   106 #define EC_IOCTL_DOMAIN_PROCESS         EC_IO(0x20)
   107 #define EC_IOCTL_DOMAIN_STATE         EC_IOWR(0x31, ec_ioctl_domain_state_t)
   107 #define EC_IOCTL_DOMAIN_QUEUE           EC_IO(0x31)
   108 #define EC_IOCTL_SDO_REQUEST_TIMEOUT  EC_IOWR(0x32, ec_ioctl_sdo_request_t)
   108 #define EC_IOCTL_DOMAIN_STATE         EC_IOWR(0x32, ec_ioctl_domain_state_t)
   109 #define EC_IOCTL_SDO_REQUEST_STATE    EC_IOWR(0x33, ec_ioctl_sdo_request_t)
   109 #define EC_IOCTL_SDO_REQUEST_TIMEOUT  EC_IOWR(0x33, ec_ioctl_sdo_request_t)
   110 #define EC_IOCTL_SDO_REQUEST_READ     EC_IOWR(0x34, ec_ioctl_sdo_request_t)
   110 #define EC_IOCTL_SDO_REQUEST_STATE    EC_IOWR(0x34, ec_ioctl_sdo_request_t)
   111 #define EC_IOCTL_SDO_REQUEST_WRITE    EC_IOWR(0x35, ec_ioctl_sdo_request_t)
   111 #define EC_IOCTL_SDO_REQUEST_READ     EC_IOWR(0x35, ec_ioctl_sdo_request_t)
   112 #define EC_IOCTL_SDO_REQUEST_DATA     EC_IOWR(0x36, ec_ioctl_sdo_request_t)
   112 #define EC_IOCTL_SDO_REQUEST_WRITE    EC_IOWR(0x36, ec_ioctl_sdo_request_t)
   113 #define EC_IOCTL_VOE_SEND_HEADER       EC_IOW(0x37, ec_ioctl_voe_t)
   113 #define EC_IOCTL_SDO_REQUEST_DATA     EC_IOWR(0x37, ec_ioctl_sdo_request_t)
   114 #define EC_IOCTL_VOE_REC_HEADER       EC_IOWR(0x38, ec_ioctl_voe_t)
   114 #define EC_IOCTL_VOE_SEND_HEADER       EC_IOW(0x38, ec_ioctl_voe_t)
   115 #define EC_IOCTL_VOE_READ              EC_IOW(0x39, ec_ioctl_voe_t)
   115 #define EC_IOCTL_VOE_REC_HEADER       EC_IOWR(0x39, ec_ioctl_voe_t)
   116 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x3a, ec_ioctl_voe_t)
   116 #define EC_IOCTL_VOE_READ              EC_IOW(0x3a, ec_ioctl_voe_t)
   117 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x3b, ec_ioctl_voe_t)
   117 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x3b, ec_ioctl_voe_t)
   118 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x3c, ec_ioctl_voe_t)
   118 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x3c, ec_ioctl_voe_t)
   119 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x3d, ec_ioctl_voe_t)
   119 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x3d, ec_ioctl_voe_t)
       
   120 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x3e, ec_ioctl_voe_t)
   120 
   121 
   121 /*****************************************************************************/
   122 /*****************************************************************************/
   122 
   123 
   123 #define EC_IOCTL_STRING_SIZE 64
   124 #define EC_IOCTL_STRING_SIZE 64
   124 
   125 
   387     uint16_t position;
   388     uint16_t position;
   388     uint32_t vendor_id;
   389     uint32_t vendor_id;
   389     uint32_t product_code;
   390     uint32_t product_code;
   390     struct {
   391     struct {
   391         ec_direction_t dir;
   392         ec_direction_t dir;
       
   393         ec_watchdog_mode_t watchdog_mode;
   392         uint32_t pdo_count;
   394         uint32_t pdo_count;
       
   395         uint8_t config_this;
   393     } syncs[EC_MAX_SYNC_MANAGERS];
   396     } syncs[EC_MAX_SYNC_MANAGERS];
       
   397     uint16_t watchdog_divider;
       
   398     uint16_t watchdog_intervals;
   394     uint32_t sdo_count;
   399     uint32_t sdo_count;
   395     int32_t slave_position;
   400     int32_t slave_position;
   396     uint16_t dc_assign_activate;
   401     uint16_t dc_assign_activate;
   397     ec_sync_signal_t dc_sync[EC_SYNC_SIGNAL_COUNT];
   402     ec_sync_signal_t dc_sync[EC_SYNC_SIGNAL_COUNT];
   398 } ec_ioctl_config_t;
   403 } ec_ioctl_config_t;