# HG changeset patch # User Florian Pose # Date 1204196774 0 # Node ID 860a5bacea6a0657e86e7d86427b15ad375ad570 # Parent 23fd8b510803d7960329cefc7b5c78b3eedc24b5 Display notLRW flag. diff -r 23fd8b510803 -r 860a5bacea6a master/slave.c --- a/master/slave.c Thu Feb 28 10:58:43 2008 +0000 +++ b/master/slave.c Thu Feb 28 11:06:14 2008 +0000 @@ -150,6 +150,7 @@ slave->sii.order = NULL; slave->sii.name = NULL; memset(&slave->sii.coe_details, 0x00, sizeof(ec_sii_coe_details_t)); + memset(&slave->sii.general_flags, 0x00, sizeof(ec_sii_general_flags_t)); slave->sii.current_on_ebus = 0; slave->sii.syncs = NULL; @@ -441,6 +442,7 @@ (data[4] & (0x03 << (i * 2))) >> (i * 2); memcpy(&slave->sii.coe_details, data + 5, 1); + memcpy(&slave->sii.general_flags, data + 0x000b, 1); slave->sii.current_on_ebus = EC_READ_S16(data + 0x0C); slave->sii.has_general = 1; return 0; @@ -739,6 +741,11 @@ ? "yes" : "no"); } + buf += sprintf(buf, " Flags:\n"); + buf += sprintf(buf, " Enable SafeOp: %s\n", + slave->sii.general_flags.enable_safeop ? "yes" : "no"); + buf += sprintf(buf, " Enable notLRW: %s\n", + slave->sii.general_flags.enable_not_lrw ? "yes" : "no"); buf += sprintf(buf, " Current consumption: %i mA\n\n", slave->sii.current_on_ebus); } diff -r 23fd8b510803 -r 860a5bacea6a master/slave.h --- a/master/slave.h Thu Feb 28 10:58:43 2008 +0000 +++ b/master/slave.h Thu Feb 28 11:06:14 2008 +0000 @@ -103,19 +103,28 @@ /*****************************************************************************/ -/** Slave information interface CAnopen-over-EtherCAT details flags. +/** Slave information interface CANopen-over-EtherCAT details flags. */ typedef struct { uint8_t enable_sdo : 1; /**< Enable Sdo access. */ uint8_t enable_sdo_info : 1; /**< SDO information service available. */ uint8_t enable_pdo_assign : 1; /**< Pdo mapping configurable. */ uint8_t enable_pdo_configuration : 1; /**< Pdo configuration possible. */ - uint8_t enable_upload_at_startup : 1; /**< ? */ + uint8_t enable_upload_at_startup : 1; /**< ?. */ uint8_t enable_sdo_complete_access : 1; /**< Complete access possible. */ } ec_sii_coe_details_t; /*****************************************************************************/ +/** Slave information interface general flags. + */ +typedef struct { + uint8_t enable_safeop : 1; /**< ?. */ + uint8_t enable_not_lrw : 1; /**< Slave does not support LRW. */ +} ec_sii_general_flags_t; + +/*****************************************************************************/ + /** Slave information interface data. */ typedef struct { @@ -143,6 +152,7 @@ char *name; /**< slave name acc. to EEPROM */ uint8_t physical_layer[4]; /**< port media */ ec_sii_coe_details_t coe_details; /**< CoE detail flags. */ + ec_sii_general_flags_t general_flags; /**< General flags. */ int16_t current_on_ebus; /**< power consumption */ // SyncM