master/domain.c
changeset 101 b0c19892145a
parent 98 f564d0929292
child 104 052bc82d5442
equal deleted inserted replaced
100:d3d4654e499d 101:b0c19892145a
   125                     )
   125                     )
   126 {
   126 {
   127     ec_field_reg_t *field_reg;
   127     ec_field_reg_t *field_reg;
   128     ec_slave_t *slave;
   128     ec_slave_t *slave;
   129     ec_fmmu_t *fmmu;
   129     ec_fmmu_t *fmmu;
   130     unsigned int i, j, found, data_offset;
   130     unsigned int i, j, found;
       
   131     uint32_t data_offset;
   131 
   132 
   132     if (domain->data) {
   133     if (domain->data) {
   133         EC_ERR("Domain already allocated!\n");
   134         EC_ERR("Domain already allocated!\n");
   134         return -1;
   135         return -1;
   135     }
   136     }
   347    Setzt Prozessdaten-Kommandos in die Warteschlange des Masters.
   348    Setzt Prozessdaten-Kommandos in die Warteschlange des Masters.
   348 */
   349 */
   349 
   350 
   350 void EtherCAT_rt_domain_queue(ec_domain_t *domain /**< Domäne */)
   351 void EtherCAT_rt_domain_queue(ec_domain_t *domain /**< Domäne */)
   351 {
   352 {
   352     unsigned int offset, i;
   353     unsigned int i;
   353     size_t size;
   354     size_t size;
       
   355     off_t offset;
   354 
   356 
   355     offset = 0;
   357     offset = 0;
   356     for (i = 0; i < domain->command_count; i++) {
   358     for (i = 0; i < domain->command_count; i++) {
   357         size = domain->data_size - offset;
   359         size = domain->data_size - offset;
   358         if (size > EC_MAX_DATA_SIZE) size = EC_MAX_DATA_SIZE;
   360         if (size > EC_MAX_DATA_SIZE) size = EC_MAX_DATA_SIZE;
   370    Verarbeitet empfangene Prozessdaten.
   372    Verarbeitet empfangene Prozessdaten.
   371 */
   373 */
   372 
   374 
   373 void EtherCAT_rt_domain_process(ec_domain_t *domain /**< Domäne */)
   375 void EtherCAT_rt_domain_process(ec_domain_t *domain /**< Domäne */)
   374 {
   376 {
   375     unsigned int offset, working_counter_sum, i;
   377     unsigned int working_counter_sum, i;
   376     ec_command_t *command;
   378     ec_command_t *command;
   377     size_t size;
   379     size_t size;
       
   380     off_t offset;
   378 
   381 
   379     working_counter_sum = 0;
   382     working_counter_sum = 0;
   380 
   383 
   381     offset = 0;
   384     offset = 0;
   382     for (i = 0; i < domain->command_count; i++) {
   385     for (i = 0; i < domain->command_count; i++) {