master/slave.c
changeset 464 6c21a8d8c785
parent 461 b9eda9235173
child 465 3779b60a7c9b
equal deleted inserted replaced
463:938de5ebe1ca 464:6c21a8d8c785
   572     off_t off = 0;
   572     off_t off = 0;
   573     ec_sii_sync_t *sync;
   573     ec_sii_sync_t *sync;
   574     ec_sii_pdo_t *pdo;
   574     ec_sii_pdo_t *pdo;
   575     ec_sii_pdo_entry_t *pdo_entry;
   575     ec_sii_pdo_entry_t *pdo_entry;
   576     int first, i;
   576     int first, i;
       
   577     ec_sdo_data_t *sdodata;
       
   578     char str[20];
   577 
   579 
   578     off += sprintf(buffer + off, "\nName: ");
   580     off += sprintf(buffer + off, "\nName: ");
   579 
   581 
   580     if (slave->sii_name)
   582     if (slave->sii_name)
   581         off += sprintf(buffer + off, "%s", slave->sii_name);
   583         off += sprintf(buffer + off, "%s", slave->sii_name);
   701             off += sprintf(buffer + off, "    \"%s\" 0x%04X:%X, %i bit\n",
   703             off += sprintf(buffer + off, "    \"%s\" 0x%04X:%X, %i bit\n",
   702                            pdo_entry->name ? pdo_entry->name : "???",
   704                            pdo_entry->name ? pdo_entry->name : "???",
   703                            pdo_entry->index, pdo_entry->subindex,
   705                            pdo_entry->index, pdo_entry->subindex,
   704                            pdo_entry->bit_length);
   706                            pdo_entry->bit_length);
   705         }
   707         }
       
   708     }
       
   709 
       
   710     if (!list_empty(&slave->sdo_confs))
       
   711         off += sprintf(buffer + off, "\nSDO configurations:\n");
       
   712 
       
   713     list_for_each_entry(sdodata, &slave->sdo_confs, list) {
       
   714         switch (sdodata->size) {
       
   715             case 1: sprintf(str, "%i", EC_READ_U8(sdodata->data)); break;
       
   716             case 2: sprintf(str, "%i", EC_READ_U16(sdodata->data)); break;
       
   717             case 4: sprintf(str, "%i", EC_READ_U32(sdodata->data)); break;
       
   718             default: sprintf(str, "(invalid size)"); break;
       
   719         }
       
   720         off += sprintf(buffer + off, "  0x%04X:%-3i -> %s\n",
       
   721                        sdodata->index, sdodata->subindex, str);
   706     }
   722     }
   707 
   723 
   708     off += sprintf(buffer + off, "\n");
   724     off += sprintf(buffer + off, "\n");
   709 
   725 
   710     return off;
   726     return off;