static analysis: enumerator 'CO_CAN_ID_EMERGENCY' reuses the constant value '128' previously used by enumerator 'CO_CAN_ID_SYNC'
refactoring changed enum with define
This commit is contained in:
parent
691728f71a
commit
686ab04ee9
4 changed files with 34 additions and 33 deletions
|
|
@ -138,7 +138,7 @@ static ODR_t OD_read_1014_default(OD_stream_t *stream, void *buf,
|
|||
CO_EM_t *em = (CO_EM_t *)stream->object;
|
||||
|
||||
uint32_t COB_IDEmergency32 = em->producerEnabled ? 0U : 0x80000000U;
|
||||
COB_IDEmergency32 |= (uint32_t)CO_CAN_ID_EMERGENCY + em->nodeId;
|
||||
COB_IDEmergency32 |= CO_CAN_ID_EMERGENCY + em->nodeId;
|
||||
(void)CO_setUint32(buf, COB_IDEmergency32);
|
||||
|
||||
*countRead = sizeof(uint32_t);
|
||||
|
|
@ -441,7 +441,7 @@ CO_ReturnError_t CO_EM_init(CO_EM_t *em,
|
|||
* to add nodeId of this node to the stored value. */
|
||||
if (producerCanId == CO_CAN_ID_EMERGENCY) producerCanId += nodeId;
|
||||
#else
|
||||
uint32_t producerCanId = (uint32_t)CO_CAN_ID_EMERGENCY + nodeId;
|
||||
uint32_t producerCanId = CO_CAN_ID_EMERGENCY + nodeId;
|
||||
em->producerEnabled = (COB_IDEmergency32 & 0x80000000U) == 0U;
|
||||
|
||||
em->OD_1014_extension.object = em;
|
||||
|
|
|
|||
|
|
@ -352,8 +352,8 @@ CO_ReturnError_t CO_SDOserver_init(CO_SDOserver_t *SDO,
|
|||
/* configure default SDO channel */
|
||||
if ((nodeId < 1U) || (nodeId > 127U)) { return CO_ERROR_ILLEGAL_ARGUMENT; }
|
||||
|
||||
CanId_ClientToServer = (uint16_t)CO_CAN_ID_SDO_CLI + nodeId;
|
||||
CanId_ServerToClient = (uint16_t)CO_CAN_ID_SDO_SRV + nodeId;
|
||||
CanId_ClientToServer = CO_CAN_ID_SDO_CLI + nodeId;
|
||||
CanId_ServerToClient = CO_CAN_ID_SDO_SRV + nodeId;
|
||||
SDO->valid = true;
|
||||
}
|
||||
else {
|
||||
|
|
@ -365,8 +365,8 @@ CO_ReturnError_t CO_SDOserver_init(CO_SDOserver_t *SDO,
|
|||
return CO_ERROR_ILLEGAL_ARGUMENT;
|
||||
}
|
||||
|
||||
CanId_ClientToServer = (uint16_t)CO_CAN_ID_SDO_CLI + nodeId;
|
||||
CanId_ServerToClient = (uint16_t)CO_CAN_ID_SDO_SRV + nodeId;
|
||||
CanId_ClientToServer = CO_CAN_ID_SDO_CLI + nodeId;
|
||||
CanId_ServerToClient = CO_CAN_ID_SDO_SRV + nodeId;
|
||||
SDO->valid = true;
|
||||
|
||||
(void)OD_set_u32(OD_1200_SDOsrvPar, 1, CanId_ClientToServer, true);
|
||||
|
|
|
|||
|
|
@ -469,34 +469,35 @@ typedef struct {
|
|||
|
||||
|
||||
/**
|
||||
* Default CANopen identifiers.
|
||||
* @defgroup CO_Default_CAN_ID_t Default CANopen identifiers
|
||||
* @{
|
||||
*
|
||||
* Default CANopen identifiers for CANopen communication objects. Same as
|
||||
* 11-bit addresses of CAN messages. These are default identifiers and
|
||||
* can be changed in CANopen. Especially PDO identifiers are configured
|
||||
* in PDO linking phase of the CANopen network configuration.
|
||||
*/
|
||||
typedef enum {
|
||||
CO_CAN_ID_NMT_SERVICE = 0x000U, /**< 0x000, Network management */
|
||||
CO_CAN_ID_GFC = 0x001U, /**< 0x001, Global fail-safe command */
|
||||
CO_CAN_ID_SYNC = 0x080U, /**< 0x080, Synchronous message */
|
||||
CO_CAN_ID_EMERGENCY = 0x080U, /**< 0x080, Emergency messages (+nodeID) */
|
||||
CO_CAN_ID_TIME = 0x100U, /**< 0x100, Time message */
|
||||
CO_CAN_ID_SRDO_1 = 0x0FFU, /**< 0x0FF, Default SRDO1 (+2*nodeID) */
|
||||
CO_CAN_ID_TPDO_1 = 0x180U, /**< 0x180, Default TPDO1 (+nodeID) */
|
||||
CO_CAN_ID_RPDO_1 = 0x200U, /**< 0x200, Default RPDO1 (+nodeID) */
|
||||
CO_CAN_ID_TPDO_2 = 0x280U, /**< 0x280, Default TPDO2 (+nodeID) */
|
||||
CO_CAN_ID_RPDO_2 = 0x300U, /**< 0x300, Default RPDO2 (+nodeID) */
|
||||
CO_CAN_ID_TPDO_3 = 0x380U, /**< 0x380, Default TPDO3 (+nodeID) */
|
||||
CO_CAN_ID_RPDO_3 = 0x400U, /**< 0x400, Default RPDO3 (+nodeID) */
|
||||
CO_CAN_ID_TPDO_4 = 0x480U, /**< 0x480, Default TPDO4 (+nodeID) */
|
||||
CO_CAN_ID_RPDO_4 = 0x500U, /**< 0x500, Default RPDO5 (+nodeID) */
|
||||
CO_CAN_ID_SDO_SRV = 0x580U, /**< 0x580, SDO response from server (+nodeID) */
|
||||
CO_CAN_ID_SDO_CLI = 0x600U, /**< 0x600, SDO request from client (+nodeID) */
|
||||
CO_CAN_ID_HEARTBEAT = 0x700U, /**< 0x700, Heartbeat message */
|
||||
CO_CAN_ID_LSS_SLV = 0x7E4U, /**< 0x7E4, LSS response from slave */
|
||||
CO_CAN_ID_LSS_MST = 0x7E5U /**< 0x7E5, LSS request from master */
|
||||
} CO_Default_CAN_ID_t;
|
||||
#define CO_CAN_ID_NMT_SERVICE 0x000U /**< 0x000 Network management */
|
||||
#define CO_CAN_ID_GFC 0x001U /**< 0x001 Global fail-safe command */
|
||||
#define CO_CAN_ID_SYNC 0x080U /**< 0x080 Synchronous message */
|
||||
#define CO_CAN_ID_EMERGENCY 0x080U /**< 0x080 Emergency messages (+nodeID) */
|
||||
#define CO_CAN_ID_TIME 0x100U /**< 0x100 Time message */
|
||||
#define CO_CAN_ID_SRDO_1 0x0FFU /**< 0x0FF Default SRDO1 (+2*nodeID) */
|
||||
#define CO_CAN_ID_TPDO_1 0x180U /**< 0x180 Default TPDO1 (+nodeID) */
|
||||
#define CO_CAN_ID_RPDO_1 0x200U /**< 0x200 Default RPDO1 (+nodeID) */
|
||||
#define CO_CAN_ID_TPDO_2 0x280U /**< 0x280 Default TPDO2 (+nodeID) */
|
||||
#define CO_CAN_ID_RPDO_2 0x300U /**< 0x300 Default RPDO2 (+nodeID) */
|
||||
#define CO_CAN_ID_TPDO_3 0x380U /**< 0x380 Default TPDO3 (+nodeID) */
|
||||
#define CO_CAN_ID_RPDO_3 0x400U /**< 0x400 Default RPDO3 (+nodeID) */
|
||||
#define CO_CAN_ID_TPDO_4 0x480U /**< 0x480 Default TPDO4 (+nodeID) */
|
||||
#define CO_CAN_ID_RPDO_4 0x500U /**< 0x500 Default RPDO5 (+nodeID) */
|
||||
#define CO_CAN_ID_SDO_SRV 0x580U /**< 0x580 SDO response from server (+nodeID) */
|
||||
#define CO_CAN_ID_SDO_CLI 0x600U /**< 0x600 SDO request from client (+nodeID) */
|
||||
#define CO_CAN_ID_HEARTBEAT 0x700U /**< 0x700 Heartbeat message */
|
||||
#define CO_CAN_ID_LSS_SLV 0x7E4U /**< 0x7E4 LSS response from slave */
|
||||
#define CO_CAN_ID_LSS_MST 0x7E5U /**< 0x7E5 LSS request from master */
|
||||
|
||||
/** @} */ /* CO_Default_CAN_ID_t */
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
10
CANopen.c
10
CANopen.c
|
|
@ -1058,7 +1058,7 @@ CO_ReturnError_t CO_CANopenInit(CO_t *co,
|
|||
#endif
|
||||
co->CANmodule,
|
||||
CO_GET_CO(TX_IDX_HB_PROD),
|
||||
(uint16_t)CO_CAN_ID_HEARTBEAT + nodeId,
|
||||
CO_CAN_ID_HEARTBEAT + nodeId,
|
||||
errInfo);
|
||||
if (err != CO_ERROR_NO) { return err; }
|
||||
}
|
||||
|
|
@ -1082,7 +1082,7 @@ CO_ReturnError_t CO_CANopenInit(CO_t *co,
|
|||
OD_GET(H100C, OD_H100C_GUARD_TIME),
|
||||
OD_GET(H100D, OD_H100D_LIFETIME_FACTOR),
|
||||
em,
|
||||
(uint16_t)CO_CAN_ID_HEARTBEAT + nodeId,
|
||||
CO_CAN_ID_HEARTBEAT + nodeId,
|
||||
co->CANmodule,
|
||||
CO_GET_CO(RX_IDX_NG_SLV),
|
||||
co->CANmodule,
|
||||
|
|
@ -1258,7 +1258,7 @@ CO_ReturnError_t CO_CANopenInitPDO(CO_t *co,
|
|||
uint16_t preDefinedCanId = 0;
|
||||
if (i < CO_RPDO_DEFAULT_CANID_COUNT) {
|
||||
#if CO_RPDO_DEFAULT_CANID_COUNT <= 4
|
||||
preDefinedCanId = ((uint16_t)CO_CAN_ID_RPDO_1 + (i * 0x100U)) + nodeId;
|
||||
preDefinedCanId = (CO_CAN_ID_RPDO_1 + (i * 0x100U)) + nodeId;
|
||||
#else
|
||||
uint16_t pdoOffset = i % 4;
|
||||
uint16_t nodeIdOffset = i / 4;
|
||||
|
|
@ -1292,7 +1292,7 @@ CO_ReturnError_t CO_CANopenInitPDO(CO_t *co,
|
|||
uint16_t preDefinedCanId = 0;
|
||||
if (i < CO_TPDO_DEFAULT_CANID_COUNT) {
|
||||
#if CO_TPDO_DEFAULT_CANID_COUNT <= 4
|
||||
preDefinedCanId = ((uint16_t)CO_CAN_ID_TPDO_1 + (i * 0x100U)) + nodeId;
|
||||
preDefinedCanId = (CO_CAN_ID_TPDO_1 + (i * 0x100U)) + nodeId;
|
||||
#else
|
||||
uint16_t pdoOffset = i % 4;
|
||||
uint16_t nodeIdOffset = i / 4;
|
||||
|
|
@ -1374,7 +1374,7 @@ CO_ReturnError_t CO_CANopenInitSRDO(CO_t *co,
|
|||
od,
|
||||
em,
|
||||
nodeId,
|
||||
((i == 0U) ? (uint16_t)CO_CAN_ID_SRDO_1 : 0U),
|
||||
((i == 0U) ? CO_CAN_ID_SRDO_1 : 0U),
|
||||
SRDOcomm++,
|
||||
SRDOmap++,
|
||||
OD_GET(H13FE, OD_H13FE_SRDO_VALID),
|
||||
|
|
|
|||
Loading…
Reference in a new issue