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; |