796 buf += sprintf(buf, " Current consumption: %i mA\n\n", |
796 buf += sprintf(buf, " Current consumption: %i mA\n\n", |
797 slave->sii.current_on_ebus); |
797 slave->sii.current_on_ebus); |
798 } |
798 } |
799 |
799 |
800 if (slave->sii.sync_count) { |
800 if (slave->sii.sync_count) { |
801 buf += sprintf(buf, "Sync managers / Pdo mapping:\n"); |
801 buf += sprintf(buf, "Sync managers / assigned Pdos:\n"); |
802 |
802 |
803 for (i = 0; i < slave->sii.sync_count; i++) { |
803 for (i = 0; i < slave->sii.sync_count; i++) { |
804 sync = &slave->sii.syncs[i]; |
804 sync = &slave->sii.syncs[i]; |
805 buf += sprintf(buf, |
805 buf += sprintf(buf, |
806 " SM%u: addr 0x%04X, size %u, control 0x%02X, %s\n", |
806 " SM%u: addr 0x%04X, size %u, control 0x%02X, %s\n", |
807 sync->index, sync->physical_start_address, |
807 sync->index, sync->physical_start_address, |
808 sync->length, sync->control_register, |
808 sync->length, sync->control_register, |
809 sync->enable ? "enable" : "disable"); |
809 sync->enable ? "enable" : "disable"); |
810 |
810 |
811 if (list_empty(&sync->mapping.pdos)) { |
811 if (list_empty(&sync->pdos.list)) { |
812 buf += sprintf(buf, " No Pdos mapped.\n"); |
812 buf += sprintf(buf, " No Pdos assigned.\n"); |
813 } else if (sync->mapping_source != EC_SYNC_MAPPING_NONE) { |
813 } else if (sync->assign_source != EC_ASSIGN_NONE) { |
814 buf += sprintf(buf, |
814 buf += sprintf(buf, " Pdo assignment from "); |
815 " Pdo mapping information from %s.\n", |
815 switch (sync->assign_source) { |
816 sync->mapping_source == EC_SYNC_MAPPING_SII |
816 case EC_ASSIGN_SII: |
817 ? "SII" : "CoE"); |
817 buf += sprintf(buf, "SII"); |
|
818 break; |
|
819 case EC_ASSIGN_COE: |
|
820 buf += sprintf(buf, "CoE"); |
|
821 break; |
|
822 case EC_ASSIGN_CUSTOM: |
|
823 buf += sprintf(buf, "application"); |
|
824 break; |
|
825 default: |
|
826 buf += sprintf(buf, "?"); |
|
827 break; |
|
828 } |
|
829 buf += sprintf(buf, ".\n"); |
818 } |
830 } |
819 |
831 |
820 list_for_each_entry(pdo, &sync->mapping.pdos, list) { |
832 list_for_each_entry(pdo, &sync->pdos.list, list) { |
821 buf += sprintf(buf, " %s 0x%04X \"%s\"\n", |
833 buf += sprintf(buf, " %s 0x%04X \"%s\"\n", |
822 pdo->dir == EC_DIR_OUTPUT ? "RxPdo" : "TxPdo", |
834 pdo->dir == EC_DIR_OUTPUT ? "RxPdo" : "TxPdo", |
823 pdo->index, pdo->name ? pdo->name : "???"); |
835 pdo->index, pdo->name ? pdo->name : "???"); |
824 |
836 |
825 list_for_each_entry(pdo_entry, &pdo->entries, list) { |
837 list_for_each_entry(pdo_entry, &pdo->entries, list) { |
841 list_for_each_entry(pdo, &slave->sii.pdos, list) { |
853 list_for_each_entry(pdo, &slave->sii.pdos, list) { |
842 buf += sprintf(buf, " %s 0x%04X \"%s\"", |
854 buf += sprintf(buf, " %s 0x%04X \"%s\"", |
843 pdo->dir == EC_DIR_OUTPUT ? "RxPdo" : "TxPdo", |
855 pdo->dir == EC_DIR_OUTPUT ? "RxPdo" : "TxPdo", |
844 pdo->index, pdo->name ? pdo->name : "???"); |
856 pdo->index, pdo->name ? pdo->name : "???"); |
845 if (pdo->sync_index >= 0) |
857 if (pdo->sync_index >= 0) |
846 buf += sprintf(buf, ", default mapping: SM%u.\n", |
858 buf += sprintf(buf, ", default assignment: SM%u.\n", |
847 pdo->sync_index); |
859 pdo->sync_index); |
848 else |
860 else |
849 buf += sprintf(buf, ", no default mapping.\n"); |
861 buf += sprintf(buf, ", no default assignment.\n"); |
850 |
862 |
851 list_for_each_entry(pdo_entry, &pdo->entries, list) { |
863 list_for_each_entry(pdo_entry, &pdo->entries, list) { |
852 buf += sprintf(buf, " 0x%04X:%X \"%s\", %u bit\n", |
864 buf += sprintf(buf, " 0x%04X:%X \"%s\", %u bit\n", |
853 pdo_entry->index, pdo_entry->subindex, |
865 pdo_entry->index, pdo_entry->subindex, |
854 pdo_entry->name ? pdo_entry->name : "???", |
866 pdo_entry->name ? pdo_entry->name : "???", |