include/ecrt.h
branchstable-1.1
changeset 1732 1cc865ba17c2
parent 1715 e675450f2174
child 1733 69f0fbc0dcab
equal deleted inserted replaced
1731:60b2aad9d40b 1732:1cc865ba17c2
    84     uint8_t pdo_subindex; /**< PDO subindex */
    84     uint8_t pdo_subindex; /**< PDO subindex */
    85     void **data_ptr; /**< address of the process data pointer */
    85     void **data_ptr; /**< address of the process data pointer */
    86 }
    86 }
    87 ec_pdo_reg_t;
    87 ec_pdo_reg_t;
    88 
    88 
       
    89 /**
       
    90    Direction type for ec_domain_register_pdo_range()
       
    91 */
       
    92 
       
    93 typedef enum {EC_DIR_INPUT, EC_DIR_OUTPUT} ec_direction_t;
       
    94 
    89 /******************************************************************************
    95 /******************************************************************************
    90  *  Master request functions
    96  *  Master request functions
    91  *****************************************************************************/
    97  *****************************************************************************/
    92 
    98 
    93 ec_master_t *ecrt_request_master(unsigned int master_index);
    99 ec_master_t *ecrt_request_master(unsigned int master_index);
   101                            void (*release_cb)(void *), void *cb_data);
   107                            void (*release_cb)(void *), void *cb_data);
   102 
   108 
   103 ec_domain_t *ecrt_master_create_domain(ec_master_t *master);
   109 ec_domain_t *ecrt_master_create_domain(ec_master_t *master);
   104 
   110 
   105 int ecrt_master_activate(ec_master_t *master);
   111 int ecrt_master_activate(ec_master_t *master);
   106 void ecrt_master_deactivate(ec_master_t *master);
   112 void ecrt_master_deactivate(ec_master_t *master); // deprecated!
   107 
   113 
   108 void ecrt_master_prepare(ec_master_t *master);
   114 void ecrt_master_prepare(ec_master_t *master);
   109 
   115 
   110 void ecrt_master_send(ec_master_t *master);
   116 void ecrt_master_send(ec_master_t *master);
   111 void ecrt_master_receive(ec_master_t *master);
   117 void ecrt_master_receive(ec_master_t *master);
   125                                      uint32_t vendor_id,
   131                                      uint32_t vendor_id,
   126                                      uint32_t product_code,
   132                                      uint32_t product_code,
   127                                      uint16_t pdo_index,
   133                                      uint16_t pdo_index,
   128                                      uint8_t pdo_subindex,
   134                                      uint8_t pdo_subindex,
   129                                      void **data_ptr);
   135                                      void **data_ptr);
       
   136 
   130 int ecrt_domain_register_pdo_list(ec_domain_t *domain,
   137 int ecrt_domain_register_pdo_list(ec_domain_t *domain,
   131                                   const ec_pdo_reg_t *pdos);
   138                                   const ec_pdo_reg_t *pdos);
       
   139 
       
   140 ec_slave_t *ecrt_domain_register_pdo_range(ec_domain_t *domain,
       
   141                                            const char *address,
       
   142                                            uint32_t vendor_id,
       
   143                                            uint32_t product_code,
       
   144                                            ec_direction_t direction,
       
   145                                            uint16_t offset,
       
   146                                            uint16_t length,
       
   147                                            void **data_ptr);
   132 
   148 
   133 void ecrt_domain_process(ec_domain_t *domain);
   149 void ecrt_domain_process(ec_domain_t *domain);
   134 int ecrt_domain_state(const ec_domain_t *domain);
   150 int ecrt_domain_state(const ec_domain_t *domain);
   135 
   151 
   136 /******************************************************************************
   152 /******************************************************************************
   143                           uint8_t sdo_subindex, uint16_t value);
   159                           uint8_t sdo_subindex, uint16_t value);
   144 int ecrt_slave_conf_sdo32(ec_slave_t *slave, uint16_t sdo_index,
   160 int ecrt_slave_conf_sdo32(ec_slave_t *slave, uint16_t sdo_index,
   145                           uint8_t sdo_subindex, uint32_t value);
   161                           uint8_t sdo_subindex, uint32_t value);
   146 
   162 
   147 int ecrt_slave_pdo_size(ec_slave_t *slave, uint16_t pdo_index,
   163 int ecrt_slave_pdo_size(ec_slave_t *slave, uint16_t pdo_index,
   148                         uint8_t pdo_subindex, size_t size);
   164                         uint8_t pdo_subindex, size_t size); // deprecated
   149 
   165 
   150 /******************************************************************************
   166 /******************************************************************************
   151  *  Bitwise read/write macros
   167  *  Bitwise read/write macros
   152  *****************************************************************************/
   168  *****************************************************************************/
   153 
   169