From 15de54a8dff76e5a52974ae88d3e8ca5b94522a2 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Mon, 29 May 2006 07:48:33 +0000 Subject: [PATCH] Changed EEPROM string/property names and changed sii_desc property to sii_name. --- master/slave.c | 36 +++++++++++++++++++++--------------- master/slave.h | 5 +++-- script/ec_list.pl | 16 ++++++++-------- 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/master/slave.c b/master/slave.c index f44587df..e74b5cfb 100644 --- a/master/slave.c +++ b/master/slave.c @@ -66,7 +66,7 @@ EC_SYSFS_READ_ATTR(coupler_address); EC_SYSFS_READ_ATTR(vendor_name); EC_SYSFS_READ_ATTR(product_name); EC_SYSFS_READ_ATTR(product_desc); -EC_SYSFS_READ_ATTR(sii_desc); +EC_SYSFS_READ_ATTR(sii_name); EC_SYSFS_READ_ATTR(type); EC_SYSFS_READ_WRITE_ATTR(state); @@ -76,7 +76,7 @@ static struct attribute *def_attrs[] = { &attr_vendor_name, &attr_product_name, &attr_product_desc, - &attr_sii_desc, + &attr_sii_name, &attr_type, &attr_state, NULL, @@ -145,9 +145,10 @@ int ec_slave_init(ec_slave_t *slave, /**< EtherCAT slave */ slave->type = NULL; slave->registered = 0; slave->fmmu_count = 0; - slave->eeprom_name = NULL; slave->eeprom_group = NULL; - slave->eeprom_desc = NULL; + slave->eeprom_image = NULL; + slave->eeprom_order = NULL; + slave->eeprom_name = NULL; slave->requested_state = EC_SLAVE_STATE_UNKNOWN; slave->current_state = EC_SLAVE_STATE_UNKNOWN; slave->state_error = 0; @@ -215,9 +216,10 @@ void ec_slave_clear(struct kobject *kobj /**< kobject of the slave */) kfree(pdo); } - if (slave->eeprom_name) kfree(slave->eeprom_name); if (slave->eeprom_group) kfree(slave->eeprom_group); - if (slave->eeprom_desc) kfree(slave->eeprom_desc); + if (slave->eeprom_image) kfree(slave->eeprom_image); + if (slave->eeprom_order) kfree(slave->eeprom_order); + if (slave->eeprom_name) kfree(slave->eeprom_name); // free all SDOs list_for_each_entry_safe(sdo, next_sdo, &slave->sdo_dictionary, list) { @@ -648,9 +650,11 @@ int ec_slave_fetch_general(ec_slave_t *slave, /**< EtherCAT slave */ if (ec_slave_locate_string(slave, data[0], &slave->eeprom_group)) return -1; - if (ec_slave_locate_string(slave, data[1], &slave->eeprom_name)) + if (ec_slave_locate_string(slave, data[1], &slave->eeprom_image)) + return -1; + if (ec_slave_locate_string(slave, data[2], &slave->eeprom_order)) return -1; - if (ec_slave_locate_string(slave, data[3], &slave->eeprom_desc)) + if (ec_slave_locate_string(slave, data[3], &slave->eeprom_name)) return -1; for (i = 0; i < 4; i++) @@ -1126,12 +1130,14 @@ void ec_slave_print(const ec_slave_t *slave, /**< EtherCAT slave */ EC_INFO(" Revision number: 0x%08X, Serial number: 0x%08X\n", slave->sii_revision_number, slave->sii_serial_number); - if (slave->eeprom_name) - EC_INFO(" Name: %s\n", slave->eeprom_name); if (slave->eeprom_group) EC_INFO(" Group: %s\n", slave->eeprom_group); - if (slave->eeprom_desc) - EC_INFO(" Description: %s\n", slave->eeprom_desc); + if (slave->eeprom_image) + EC_INFO(" Image: %s\n", slave->eeprom_image); + if (slave->eeprom_order) + EC_INFO(" Order#: %s\n", slave->eeprom_order); + if (slave->eeprom_name) + EC_INFO(" Name: %s\n", slave->eeprom_name); if (!list_empty(&slave->eeprom_syncs)) { EC_INFO(" Sync-Managers:\n"); @@ -1263,9 +1269,9 @@ ssize_t ec_show_slave_attribute(struct kobject *kobj, /**< slave's kobject */ if (slave->type) return sprintf(buffer, "%s\n", slave->type->description); } - else if (attr == &attr_sii_desc) { - if (slave->eeprom_desc) - return sprintf(buffer, "%s\n", slave->eeprom_desc); + else if (attr == &attr_sii_name) { + if (slave->eeprom_name) + return sprintf(buffer, "%s\n", slave->eeprom_name); } else if (attr == &attr_type) { if (slave->type) { diff --git a/master/slave.h b/master/slave.h index f727754a..883a16b7 100644 --- a/master/slave.h +++ b/master/slave.h @@ -265,9 +265,10 @@ struct ec_slave struct list_head eeprom_syncs; /**< EEPROM SYNC MANAGER categories */ struct list_head eeprom_pdos; /**< EEPROM [RT]XPDO categories */ - char *eeprom_name; /**< slave name acc. to EEPROM */ char *eeprom_group; /**< slave group acc. to EEPROM */ - char *eeprom_desc; /**< slave description acc. to EEPROM */ + char *eeprom_image; /**< slave image name acc. to EEPROM */ + char *eeprom_order; /**< slave order number acc. to EEPROM */ + char *eeprom_name; /**< slave name acc. to EEPROM */ struct list_head sdo_dictionary; /**< SDO directory list */ diff --git a/script/ec_list.pl b/script/ec_list.pl index aadf29da..966bb7dd 100755 --- a/script/ec_list.pl +++ b/script/ec_list.pl @@ -42,7 +42,7 @@ use Getopt::Std; my $master_index; my $master_dir; -my $show_sii_desc; +my $show_sii_naming; #------------------------------------------------------------------------------ @@ -86,7 +86,7 @@ sub query_slaves &read_integer("$slave_dir/ring_position"); $slave->{'coupler_address'} = &read_string("$slave_dir/coupler_address"); - unless ($show_sii_desc) { + unless ($show_sii_naming) { $slave->{'vendor_name'} = &read_string("$slave_dir/vendor_name"); $slave->{'product_name'} = @@ -95,8 +95,8 @@ sub query_slaves &read_string("$slave_dir/product_desc"); } else { - $slave->{'sii_desc'} = - &read_string("$slave_dir/sii_desc"); + $slave->{'sii_name'} = + &read_string("$slave_dir/sii_name"); } $slave->{'type'} = &read_string("$slave_dir/type"); @@ -115,12 +115,12 @@ sub query_slaves $abs = sprintf "%i", $slave->{'ring_position'}; printf(" %3s %8s ", $abs, $slave->{'coupler_address'}); - unless ($show_sii_desc) { + unless ($show_sii_naming) { printf("%-12s %-10s %s\n", $slave->{'vendor_name'}, $slave->{'product_name'}, $slave->{'product_desc'}); } else { - printf("%s\n", $slave->{'sii_desc'}); + printf("%s\n", $slave->{'sii_name'}); } } } @@ -174,7 +174,7 @@ sub get_options $master_index = 0; } - $show_sii_desc = defined $opt{'s'}; + $show_sii_naming = defined $opt{'s'}; } #------------------------------------------------------------------------------ @@ -183,7 +183,7 @@ sub print_usage { print "Usage: ec_list [OPTIONS]\n"; print " -m <IDX> Query master <IDX>.\n"; - print " -s Show SII slave description instead of"; + print " -s Show SII naming instead of"; print " vendor/product/description.\n"; print " -h Show this help.\n"; exit 0; -- GitLab