master/ioctl.h
changeset 1413 44c2b7c0ae1a
parent 1401 96baef8a3162
child 1415 9d1cdbf41247
equal deleted inserted replaced
1412:8f7bbbd3b7ac 1413:44c2b7c0ae1a
    84 #define EC_IOCTL_CREATE_SLAVE_CONFIG  EC_IOWR(0x1a, ec_ioctl_config_t)
    84 #define EC_IOCTL_CREATE_SLAVE_CONFIG  EC_IOWR(0x1a, ec_ioctl_config_t)
    85 #define EC_IOCTL_ACTIVATE              EC_IOR(0x1b, size_t)
    85 #define EC_IOCTL_ACTIVATE              EC_IOR(0x1b, size_t)
    86 #define EC_IOCTL_SEND                   EC_IO(0x1c)
    86 #define EC_IOCTL_SEND                   EC_IO(0x1c)
    87 #define EC_IOCTL_RECEIVE                EC_IO(0x1d)
    87 #define EC_IOCTL_RECEIVE                EC_IO(0x1d)
    88 #define EC_IOCTL_MASTER_STATE          EC_IOR(0x1e, ec_master_state_t)
    88 #define EC_IOCTL_MASTER_STATE          EC_IOR(0x1e, ec_master_state_t)
    89 #define EC_IOCTL_SC_SYNC               EC_IOW(0x1f, ec_ioctl_config_t)
    89 #define EC_IOCTL_SYNC_REF              EC_IOW(0x1f, ec_ioctl_dc_t)
    90 #define EC_IOCTL_SC_ADD_PDO            EC_IOW(0x20, ec_ioctl_config_pdo_t)
    90 #define EC_IOCTL_SYNC_SLAVES           EC_IOW(0x20, ec_ioctl_dc_t)
    91 #define EC_IOCTL_SC_CLEAR_PDOS         EC_IOW(0x21, ec_ioctl_config_pdo_t)
    91 #define EC_IOCTL_SC_SYNC               EC_IOW(0x21, ec_ioctl_config_t)
    92 #define EC_IOCTL_SC_ADD_ENTRY          EC_IOW(0x22, ec_ioctl_add_pdo_entry_t)
    92 #define EC_IOCTL_SC_ADD_PDO            EC_IOW(0x22, ec_ioctl_config_pdo_t)
    93 #define EC_IOCTL_SC_CLEAR_ENTRIES      EC_IOW(0x23, ec_ioctl_config_pdo_t)
    93 #define EC_IOCTL_SC_CLEAR_PDOS         EC_IOW(0x23, ec_ioctl_config_pdo_t)
    94 #define EC_IOCTL_SC_REG_PDO_ENTRY     EC_IOWR(0x24, ec_ioctl_reg_pdo_entry_t)
    94 #define EC_IOCTL_SC_ADD_ENTRY          EC_IOW(0x24, ec_ioctl_add_pdo_entry_t)
    95 #define EC_IOCTL_SC_SDO                EC_IOW(0x25, ec_ioctl_sc_sdo_t)
    95 #define EC_IOCTL_SC_CLEAR_ENTRIES      EC_IOW(0x25, ec_ioctl_config_pdo_t)
    96 #define EC_IOCTL_SC_SDO_REQUEST       EC_IOWR(0x26, ec_ioctl_sdo_request_t)
    96 #define EC_IOCTL_SC_REG_PDO_ENTRY     EC_IOWR(0x26, ec_ioctl_reg_pdo_entry_t)
    97 #define EC_IOCTL_SC_VOE               EC_IOWR(0x27, ec_ioctl_voe_t)
    97 #define EC_IOCTL_SC_DC_ASSIGN          EC_IOW(0x27, ec_ioctl_sc_dc_t)
    98 #define EC_IOCTL_SC_STATE             EC_IOWR(0x28, ec_ioctl_sc_state_t)
    98 #define EC_IOCTL_SC_DC_CYCLE           EC_IOW(0x28, ec_ioctl_sc_dc_t)
    99 #define EC_IOCTL_DOMAIN_OFFSET          EC_IO(0x29)
    99 #define EC_IOCTL_SC_DC_SHIFT           EC_IOW(0x29, ec_ioctl_sc_dc_t)
   100 #define EC_IOCTL_DOMAIN_PROCESS         EC_IO(0x2a)
   100 #define EC_IOCTL_SC_SDO                EC_IOW(0x2a, ec_ioctl_sc_sdo_t)
   101 #define EC_IOCTL_DOMAIN_QUEUE           EC_IO(0x2b)
   101 #define EC_IOCTL_SC_SDO_REQUEST       EC_IOWR(0x2b, ec_ioctl_sdo_request_t)
   102 #define EC_IOCTL_DOMAIN_STATE         EC_IOWR(0x2c, ec_ioctl_domain_state_t)
   102 #define EC_IOCTL_SC_VOE               EC_IOWR(0x2c, ec_ioctl_voe_t)
   103 #define EC_IOCTL_SDO_REQUEST_TIMEOUT  EC_IOWR(0x2d, ec_ioctl_sdo_request_t)
   103 #define EC_IOCTL_SC_STATE             EC_IOWR(0x2d, ec_ioctl_sc_state_t)
   104 #define EC_IOCTL_SDO_REQUEST_STATE    EC_IOWR(0x2e, ec_ioctl_sdo_request_t)
   104 #define EC_IOCTL_DOMAIN_OFFSET          EC_IO(0x2e)
   105 #define EC_IOCTL_SDO_REQUEST_READ     EC_IOWR(0x2f, ec_ioctl_sdo_request_t)
   105 #define EC_IOCTL_DOMAIN_PROCESS         EC_IO(0x2f)
   106 #define EC_IOCTL_SDO_REQUEST_WRITE    EC_IOWR(0x30, ec_ioctl_sdo_request_t)
   106 #define EC_IOCTL_DOMAIN_QUEUE           EC_IO(0x30)
   107 #define EC_IOCTL_SDO_REQUEST_DATA     EC_IOWR(0x31, ec_ioctl_sdo_request_t)
   107 #define EC_IOCTL_DOMAIN_STATE         EC_IOWR(0x31, ec_ioctl_domain_state_t)
   108 #define EC_IOCTL_VOE_SEND_HEADER       EC_IOW(0x32, ec_ioctl_voe_t)
   108 #define EC_IOCTL_SDO_REQUEST_TIMEOUT  EC_IOWR(0x32, ec_ioctl_sdo_request_t)
   109 #define EC_IOCTL_VOE_REC_HEADER       EC_IOWR(0x33, ec_ioctl_voe_t)
   109 #define EC_IOCTL_SDO_REQUEST_STATE    EC_IOWR(0x33, ec_ioctl_sdo_request_t)
   110 #define EC_IOCTL_VOE_READ              EC_IOW(0x34, ec_ioctl_voe_t)
   110 #define EC_IOCTL_SDO_REQUEST_READ     EC_IOWR(0x34, ec_ioctl_sdo_request_t)
   111 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x35, ec_ioctl_voe_t)
   111 #define EC_IOCTL_SDO_REQUEST_WRITE    EC_IOWR(0x35, ec_ioctl_sdo_request_t)
   112 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x36, ec_ioctl_voe_t)
   112 #define EC_IOCTL_SDO_REQUEST_DATA     EC_IOWR(0x36, ec_ioctl_sdo_request_t)
   113 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x37, ec_ioctl_voe_t)
   113 #define EC_IOCTL_VOE_SEND_HEADER       EC_IOW(0x37, ec_ioctl_voe_t)
   114 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x38, ec_ioctl_voe_t)
   114 #define EC_IOCTL_VOE_REC_HEADER       EC_IOWR(0x38, ec_ioctl_voe_t)
       
   115 #define EC_IOCTL_VOE_READ              EC_IOW(0x39, ec_ioctl_voe_t)
       
   116 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x3a, ec_ioctl_voe_t)
       
   117 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x3b, ec_ioctl_voe_t)
       
   118 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x3c, ec_ioctl_voe_t)
       
   119 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x3d, ec_ioctl_voe_t)
   115 
   120 
   116 /*****************************************************************************/
   121 /*****************************************************************************/
   117 
   122 
   118 #define EC_IOCTL_STRING_SIZE 64
   123 #define EC_IOCTL_STRING_SIZE 64
   119 
   124 
   380 
   385 
   381 /*****************************************************************************/
   386 /*****************************************************************************/
   382 
   387 
   383 typedef struct {
   388 typedef struct {
   384     // inputs
   389     // inputs
       
   390     struct timeval app_time;
       
   391 } ec_ioctl_dc_t;
       
   392 
       
   393 /*****************************************************************************/
       
   394 
       
   395 typedef struct {
       
   396     // inputs
   385     uint32_t config_index;
   397     uint32_t config_index;
   386     uint8_t sync_index;
   398     uint8_t sync_index;
   387     uint16_t pdo_pos;
   399     uint16_t pdo_pos;
   388 
   400 
   389     // outputs
   401     // outputs
   443     uint32_t domain_index;
   455     uint32_t domain_index;
   444     
   456     
   445     // outputs
   457     // outputs
   446     unsigned int bit_position;
   458     unsigned int bit_position;
   447 } ec_ioctl_reg_pdo_entry_t;
   459 } ec_ioctl_reg_pdo_entry_t;
       
   460 
       
   461 /*****************************************************************************/
       
   462 
       
   463 typedef struct {
       
   464     // inputs
       
   465     uint32_t config_index;
       
   466     uint16_t assign_activate;
       
   467     uint32_t cycle[2];
       
   468     uint32_t shift[2];
       
   469 } ec_ioctl_sc_dc_t;
   448 
   470 
   449 /*****************************************************************************/
   471 /*****************************************************************************/
   450 
   472 
   451 typedef struct {
   473 typedef struct {
   452     // inputs
   474     // inputs