master/master.c
changeset 336 360e5287c888
parent 335 1e37c856b74e
child 337 6fd537c56448
equal deleted inserted replaced
335:1e37c856b74e 336:360e5287c888
   705 ssize_t ec_master_info(ec_master_t *master, /**< EtherCAT master */
   705 ssize_t ec_master_info(ec_master_t *master, /**< EtherCAT master */
   706                        char *buffer /**< memory to store data */
   706                        char *buffer /**< memory to store data */
   707                        )
   707                        )
   708 {
   708 {
   709     off_t off = 0;
   709     off_t off = 0;
       
   710     ec_eoe_t *eoe;
   710     uint32_t cur, sum, min, max, pos, i;
   711     uint32_t cur, sum, min, max, pos, i;
   711 
   712 
   712     off += sprintf(buffer + off, "\nMode: ");
   713     off += sprintf(buffer + off, "\nMode: ");
   713     switch (master->mode) {
   714     switch (master->mode) {
   714         case EC_MASTER_MODE_ORPHANED:
   715         case EC_MASTER_MODE_ORPHANED:
   750         if (cur < min) min = cur;
   751         if (cur < min) min = cur;
   751         if (cur > max) max = cur;
   752         if (cur > max) max = cur;
   752     }
   753     }
   753     off += sprintf(buffer + off, "  EoE cycle: %u / %u.%u / %u\n",
   754     off += sprintf(buffer + off, "  EoE cycle: %u / %u.%u / %u\n",
   754                    min, sum / HZ, (sum * 100 / HZ) % 100, max);
   755                    min, sum / HZ, (sum * 100 / HZ) % 100, max);
       
   756 
       
   757     if (!list_empty(&master->eoe_handlers))
       
   758         off += sprintf(buffer + off, "\nEoE Statistics (RX/TX) [bps]:");
       
   759     list_for_each_entry(eoe, &master->eoe_handlers, list) {
       
   760         off += sprintf(buffer + off, "  %s: %u / %u\n",
       
   761                        eoe->dev->name, eoe->rx_rate, eoe->tx_rate);
       
   762     }
   755 
   763 
   756     off += sprintf(buffer + off, "\n");
   764     off += sprintf(buffer + off, "\n");
   757 
   765 
   758     return off;
   766     return off;
   759 }
   767 }