1
0
Fork 0

CO_SDOserver: static analysis: enum constants not used within default switch

This commit is contained in:
temi54c1l8 2024-06-14 09:49:21 +02:00
parent cbf3df74e9
commit 29bb7992d2

View file

@ -924,8 +924,8 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
break;
}
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
case CO_SDO_ST_DOWNLOAD_SEGMENT_REQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
if ((SDO->CANrxData[0] & 0xE0U) == 0x00U) {
SDO->finished = (SDO->CANrxData[0] & 0x01U) != 0U;
@ -967,17 +967,17 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
abortCode = CO_SDO_AB_CMD;
SDO->state = CO_SDO_ST_ABORT;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED */
break;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED */
case CO_SDO_ST_UPLOAD_INITIATE_REQ: {
SDO->state = CO_SDO_ST_UPLOAD_INITIATE_RSP;
break;
}
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
case CO_SDO_ST_UPLOAD_SEGMENT_REQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
if ((SDO->CANrxData[0] & 0xEFU) == 0x60U) {
/* verify and alternate toggle bit */
uint8_t toggle = SDO->CANrxData[0] & 0x10U;
@ -992,12 +992,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
abortCode = CO_SDO_AB_CMD;
SDO->state = CO_SDO_ST_ABORT;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED */
break;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED */
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
case CO_SDO_ST_DOWNLOAD_BLK_INITIATE_REQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
SDO->block_crcEnabled = (SDO->CANrxData[0] & 0x04) != 0;
/* is size indicated? */
@ -1030,15 +1030,19 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
}
SDO->state = CO_SDO_ST_DOWNLOAD_BLK_INITIATE_RSP;
SDO->finished = false;
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_REQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
/* data are copied directly in the receive function */
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_DOWNLOAD_BLK_END_REQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
if ((SDO->CANrxData[0] & 0xE3) == 0xC1) {
/* Get number of data bytes in last segment, that do not
* contain data. Then reduce buffer. */
@ -1067,10 +1071,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
abortCode = CO_SDO_AB_CMD;
SDO->state = CO_SDO_ST_ABORT;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_UPLOAD_BLK_INITIATE_REQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
/* if pst (protocol switch threshold, byte5) is larger than data
* size of OD variable, then switch to segmented transfer */
if (SDO->sizeInd > 0 && SDO->CANrxData[5] > 0
@ -1104,10 +1110,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
}
SDO->state = CO_SDO_ST_UPLOAD_BLK_INITIATE_RSP;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_UPLOAD_BLK_INITIATE_REQ2: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
if (SDO->CANrxData[0] == 0xA3) {
SDO->block_seqno = 0;
SDO->state = CO_SDO_ST_UPLOAD_BLK_SUBBLOCK_SREQ;
@ -1116,11 +1124,13 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
abortCode = CO_SDO_AB_CMD;
SDO->state = CO_SDO_ST_ABORT;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_UPLOAD_BLK_SUBBLOCK_SREQ:
case CO_SDO_ST_UPLOAD_BLK_SUBBLOCK_CRSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
if (SDO->CANrxData[0] == 0xA2) {
SDO->block_blksize = SDO->CANrxData[2];
if (SDO->block_blksize < 1 || SDO->block_blksize > 127) {
@ -1162,10 +1172,24 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
abortCode = CO_SDO_AB_CMD;
SDO->state = CO_SDO_ST_ABORT;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
case CO_SDO_ST_IDLE:
case CO_SDO_ST_ABORT:
case CO_SDO_ST_DOWNLOAD_LOCAL_TRANSFER:
case CO_SDO_ST_DOWNLOAD_INITIATE_RSP:
case CO_SDO_ST_DOWNLOAD_SEGMENT_RSP:
case CO_SDO_ST_UPLOAD_LOCAL_TRANSFER:
case CO_SDO_ST_UPLOAD_INITIATE_RSP:
case CO_SDO_ST_UPLOAD_SEGMENT_RSP:
case CO_SDO_ST_DOWNLOAD_BLK_INITIATE_RSP:
case CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_RSP:
case CO_SDO_ST_DOWNLOAD_BLK_END_RSP:
case CO_SDO_ST_UPLOAD_BLK_INITIATE_RSP:
case CO_SDO_ST_UPLOAD_BLK_END_SREQ:
case CO_SDO_ST_UPLOAD_BLK_END_CRSP:
default: {
/* unknown message received */
abortCode = CO_SDO_AB_CMD;
@ -1269,8 +1293,8 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
break;
}
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
case CO_SDO_ST_DOWNLOAD_SEGMENT_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
SDO->CANtxBuff->data[0] = 0x20U | SDO->toggle;
SDO->toggle = (SDO->toggle == 0x00U) ? 0x10U : 0x00U;
@ -1284,9 +1308,9 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
else {
SDO->state = CO_SDO_ST_DOWNLOAD_SEGMENT_REQ;
}
#endif
break;
}
#endif
case CO_SDO_ST_UPLOAD_INITIATE_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
@ -1357,8 +1381,8 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
break;
}
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
case CO_SDO_ST_UPLOAD_SEGMENT_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED) != 0
/* refill the data buffer if necessary */
if (!readFromOd(SDO, &abortCode, 7, false)) {
break;
@ -1408,12 +1432,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
/* send message */
(void)CO_CANsend(SDO->CANdevTx, SDO->CANtxBuff);
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED */
break;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_SEGMENTED */
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
case CO_SDO_ST_DOWNLOAD_BLK_INITIATE_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
SDO->CANtxBuff->data[0] = 0xA4;
SDO->CANtxBuff->data[1] = (uint8_t)SDO->index;
SDO->CANtxBuff->data[2] = (uint8_t)(SDO->index >> 8);
@ -1442,10 +1466,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
SDO->state = CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_REQ;
CO_FLAG_CLEAR(SDO->CANrxNew);
(void)CO_CANsend(SDO->CANdevTx, SDO->CANtxBuff);
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
SDO->CANtxBuff->data[0] = 0xA2;
SDO->CANtxBuff->data[1] = SDO->block_seqno;
#ifdef CO_DEBUG_SDO_SERVER
@ -1497,19 +1523,23 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
CO_DEBUG_SDO_SERVER(msg);
}
#endif
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_DOWNLOAD_BLK_END_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
SDO->CANtxBuff->data[0] = 0xA1;
(void)CO_CANsend(SDO->CANdevTx, SDO->CANtxBuff);
SDO->state = CO_SDO_ST_IDLE;
ret = CO_SDO_RT_ok_communicationEnd;
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_UPLOAD_BLK_INITIATE_RSP: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
SDO->CANtxBuff->data[0] = 0xC4;
SDO->CANtxBuff->data[1] = (uint8_t)SDO->index;
SDO->CANtxBuff->data[2] = (uint8_t)(SDO->index >> 8);
@ -1526,10 +1556,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
SDO->timeoutTimer = 0;
(void)CO_CANsend(SDO->CANdevTx, SDO->CANtxBuff);
SDO->state = CO_SDO_ST_UPLOAD_BLK_INITIATE_REQ2;
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_UPLOAD_BLK_SUBBLOCK_SREQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
/* write header and get current count */
SDO->CANtxBuff->data[0] = ++SDO->block_seqno;
OD_size_t count = SDO->bufOffsetWr - SDO->bufOffsetRd;
@ -1581,10 +1613,12 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
/* reset timeout timer and send message */
SDO->timeoutTimer = 0;
(void)CO_CANsend(SDO->CANdevTx, SDO->CANtxBuff);
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
case CO_SDO_ST_UPLOAD_BLK_END_SREQ: {
#if ((CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK) != 0
SDO->CANtxBuff->data[0] = 0xC1 | (SDO->block_noData << 2);
SDO->CANtxBuff->data[1] = (uint8_t) SDO->block_crc;
SDO->CANtxBuff->data[2] = (uint8_t) (SDO->block_crc >> 8);
@ -1593,10 +1627,26 @@ CO_SDO_return_t CO_SDOserver_process(CO_SDOserver_t *SDO,
SDO->timeoutTimer = 0;
(void)CO_CANsend(SDO->CANdevTx, SDO->CANtxBuff);
SDO->state = CO_SDO_ST_UPLOAD_BLK_END_CRSP;
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
break;
}
#endif /* (CO_CONFIG_SDO_SRV) & CO_CONFIG_SDO_SRV_BLOCK */
case CO_SDO_ST_IDLE:
case CO_SDO_ST_ABORT:
case CO_SDO_ST_DOWNLOAD_LOCAL_TRANSFER:
case CO_SDO_ST_DOWNLOAD_INITIATE_REQ:
case CO_SDO_ST_DOWNLOAD_SEGMENT_REQ:
case CO_SDO_ST_UPLOAD_LOCAL_TRANSFER:
case CO_SDO_ST_UPLOAD_INITIATE_REQ:
case CO_SDO_ST_UPLOAD_SEGMENT_REQ:
case CO_SDO_ST_DOWNLOAD_BLK_INITIATE_REQ:
case CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_REQ:
case CO_SDO_ST_DOWNLOAD_BLK_END_REQ:
case CO_SDO_ST_UPLOAD_BLK_INITIATE_REQ:
case CO_SDO_ST_UPLOAD_BLK_INITIATE_REQ2:
case CO_SDO_ST_UPLOAD_BLK_SUBBLOCK_CRSP:
case CO_SDO_ST_UPLOAD_BLK_END_CRSP:
default: {
/* none */
break;