diff --git a/CPP_Demo/CPP_Demo.vcxproj b/CPP_Demo/CPP_Demo.vcxproj index 55993bb..2c8d260 100644 --- a/CPP_Demo/CPP_Demo.vcxproj +++ b/CPP_Demo/CPP_Demo.vcxproj @@ -166,6 +166,8 @@ + + @@ -181,10 +183,11 @@ + + + - - diff --git a/CPP_Demo/CPP_Demo.vcxproj.filters b/CPP_Demo/CPP_Demo.vcxproj.filters index 553b471..f0b316a 100644 --- a/CPP_Demo/CPP_Demo.vcxproj.filters +++ b/CPP_Demo/CPP_Demo.vcxproj.filters @@ -29,11 +29,15 @@ src + + src + + + src + - - src @@ -73,6 +77,15 @@ src + + src + + + src + + + src + diff --git a/C_Demo/C_Demo.vcxproj b/C_Demo/C_Demo.vcxproj index 9356ead..edc7ed6 100644 --- a/C_Demo/C_Demo.vcxproj +++ b/C_Demo/C_Demo.vcxproj @@ -162,6 +162,8 @@ + + @@ -176,11 +178,12 @@ + + + - - diff --git a/C_Demo/C_Demo.vcxproj.filters b/C_Demo/C_Demo.vcxproj.filters index ed08c78..1ddd078 100644 --- a/C_Demo/C_Demo.vcxproj.filters +++ b/C_Demo/C_Demo.vcxproj.filters @@ -24,11 +24,16 @@ src + + src + + + src + - src @@ -47,7 +52,6 @@ src - src @@ -63,6 +67,15 @@ src + + src + + + src + + + src + diff --git a/XCPlite/XCPlite.vcxproj b/XCPlite/XCPlite.vcxproj index 1e5daa9..bd7c65e 100644 --- a/XCPlite/XCPlite.vcxproj +++ b/XCPlite/XCPlite.vcxproj @@ -162,6 +162,8 @@ + + @@ -174,9 +176,10 @@ + + + - - diff --git a/XCPlite/XCPlite.vcxproj.filters b/XCPlite/XCPlite.vcxproj.filters index a433a65..e5b348e 100644 --- a/XCPlite/XCPlite.vcxproj.filters +++ b/XCPlite/XCPlite.vcxproj.filters @@ -20,9 +20,14 @@ src + + src + + + src + - src @@ -36,7 +41,6 @@ src - src @@ -52,6 +56,15 @@ src + + src + + + src + + + src + diff --git a/src/xcpEthTl.c b/src/xcpEthTl.c index 75f4f3b..ecdc661 100644 --- a/src/xcpEthTl.c +++ b/src/xcpEthTl.c @@ -149,7 +149,7 @@ void XcpEthTlSendMulticastCrm(const uint8_t* packet, uint16_t packet_size, const //------------------------------------------------------------------------------ -static int handleXcpCommand(tXcpCtoMessage *p, uint8_t *srcAddr, uint16_t srcPort) { +static BOOL handleXcpCommand(tXcpCtoMessage *p, uint8_t *srcAddr, uint16_t srcPort) { int connected; @@ -175,7 +175,7 @@ static int handleXcpCommand(tXcpCtoMessage *p, uint8_t *srcAddr, uint16_t srcPor DBG_PRINTF_WARNING("WARNING: message from unknown new master %u.%u.%u.%u, disconnecting!\n", srcAddr[0], srcAddr[1], srcAddr[2], srcAddr[3]); XcpDisconnect(); gXcpTl.MasterAddrValid = FALSE; - return 1; // Disconnect + return TRUE; // Disconnect } // Check unicast master udp port, not allowed to change @@ -183,11 +183,11 @@ static int handleXcpCommand(tXcpCtoMessage *p, uint8_t *srcAddr, uint16_t srcPor DBG_PRINTF_WARNING("WARNING: master port changed from %u to %u, disconnecting!\n", gXcpTl.MasterPort, srcPort); XcpDisconnect(); gXcpTl.MasterAddrValid = FALSE; - return 1; // Disconnect + return TRUE; // Disconnect } } #endif // UDP - if (p->dlc>XCPTL_MAX_CTO_SIZE) return 0; + if (p->dlc>XCPTL_MAX_CTO_SIZE) return FALSE; XcpCommand((const uint32_t*)&p->packet[0], (uint8_t)p->dlc); // Handle command } @@ -222,7 +222,7 @@ static int handleXcpCommand(tXcpCtoMessage *p, uint8_t *srcAddr, uint16_t srcPor } // not connected before #endif // UDP - return 1; // Ok + return TRUE; // Ok } diff --git a/src/xcpLite.c b/src/xcpLite.c index 70347b8..e565b64 100644 --- a/src/xcpLite.c +++ b/src/xcpLite.c @@ -1047,7 +1047,7 @@ static void XcpSendResponse(const tXcpCto* crm, uint8_t crmLen) { } // Transmit multicast command response -#ifdef PLATFORM_ENABLE_GET_LOCAL_ADDR +#ifdef XCPTL_ENABLE_MULTICAST static void XcpSendMulticastResponse( const tXcpCto* crm, uint8_t crmLen, uint8_t *addr, uint16_t port) { XcpEthTlSendMulticastCrm((const uint8_t*)crm, crmLen, addr, port); @@ -2246,9 +2246,9 @@ static void XcpPrintCmd(const tXcpCto* cmdBuf) { #endif // >= 0x0104 +#ifdef XCP_ENABLE_DAQ_CLOCK_MULTICAST case CC_TRANSPORT_LAYER_CMD: switch (CRO_TL_SUBCOMMAND) { -#ifdef XCP_ENABLE_DAQ_CLOCK_MULTICAST case CC_TL_GET_DAQ_CLOCK_MULTICAST: { printf("GET_DAQ_CLOCK_MULTICAST counter=%u, cluster=%u\n", CRO_GET_DAQ_CLOCK_MCAST_COUNTER, CRO_GET_DAQ_CLOCK_MCAST_CLUSTER_IDENTIFIER); @@ -2258,9 +2258,9 @@ static void XcpPrintCmd(const tXcpCto* cmdBuf) { case CC_TL_GET_SERVER_ID: printf("GET_SERVER_ID %u:%u:%u:%u:%u\n", CRO_TL_GET_SERVER_ID_ADDR(0), CRO_TL_GET_SERVER_ID_ADDR(1), CRO_TL_GET_SERVER_ID_ADDR(2), CRO_TL_GET_SERVER_ID_ADDR(3), CRO_TL_GET_SERVER_ID_PORT ); break; -#endif // XCP_ENABLE_DAQ_CLOCK_MULTICAST default: printf("UNKNOWN TRANSPORT LAYER COMMAND %02X\n", CRO_TL_SUBCOMMAND); break; } // switch (CRO_TL_SUBCOMMAND) +#endif // XCP_ENABLE_DAQ_CLOCK_MULTICAST } // switch (CRO_CMD) } @@ -2397,9 +2397,10 @@ static void XcpPrintRes(const tXcpCto* crm) { break; #endif +#if defined(XCP_ENABLE_DAQ_CLOCK_MULTICAST) || defined(XCPTL_ENABLE_MULTICAST) case CC_TRANSPORT_LAYER_CMD: switch (gXcp.CmdLast1) { -#ifdef XCP_ENABLE_DAQ_CLOCK_MULTICAST + #ifdef XCP_ENABLE_DAQ_CLOCK_MULTICAST case CC_TL_GET_DAQ_CLOCK_MULTICAST: { if (isLegacyMode()) { @@ -2421,16 +2422,17 @@ static void XcpPrintRes(const tXcpCto* crm) { } break; -#endif // XCP_ENABLE_DAQ_CLOCK_MULTICAST + #endif // XCP_ENABLE_DAQ_CLOCK_MULTICAST -#ifdef XCPTL_ENABLE_MULTICAST + #ifdef XCPTL_ENABLE_MULTICAST case CC_TL_GET_SERVER_ID: printf("<- %u.%u.%u.%u:%u %s\n", CRM_TL_GET_SERVER_ID_ADDR(0), CRM_TL_GET_SERVER_ID_ADDR(1), CRM_TL_GET_SERVER_ID_ADDR(2), CRM_TL_GET_SERVER_ID_ADDR(3), CRM_TL_GET_SERVER_ID_PORT, &CRM_TL_GET_SERVER_ID_ID); break; -#endif + #endif } break; +#endif default: if (DBG_LEVEL >= 5) { diff --git a/src/xcpTl.c b/src/xcpTl.c index 7d02400..e1744ed 100644 --- a/src/xcpTl.c +++ b/src/xcpTl.c @@ -85,7 +85,7 @@ uint8_t XcpTlCommand( uint16_t msgLen, const uint8_t* msgBuf) { /* Connected */ if (connected) { if (p->dlc>XCPTL_MAX_CTO_SIZE) return CRC_CMD_SYNTAX; - return XcpCommand((const uint32_t*)&p->packet[0], p->dlc); // Handle command + return XcpCommand((const uint32_t*)&p->packet[0], (uint8_t)p->dlc); // Handle command } /* Not connected yet */ diff --git a/src/xcpTl.h b/src/xcpTl.h index a551a63..9b398ec 100644 --- a/src/xcpTl.h +++ b/src/xcpTl.h @@ -21,7 +21,7 @@ typedef struct { uint16_t dlc; // XCP TL header lenght uint16_t ctr; // XCP TL Header message counter - uint8_t data[]; + uint8_t data[1]; } tXcpDtoMessage; #pragma pack(pop)