From bddbcfcf6d96b85076c1a3844b5664ee62bc7a18 Mon Sep 17 00:00:00 2001 From: Kyle Schwarz Date: Fri, 1 Dec 2023 22:20:41 +0000 Subject: [PATCH] CI: Fix warnings --- CMakeLists.txt | 3 + .../packet/supportedfeaturespacket.cpp | 3 + device/device.cpp | 2 - device/idevicesettings.cpp | 2 +- examples/c/interactive/CMakeLists.txt | 12 -- examples/c/interactive/src/main.c | 4 +- examples/c/legacy/CMakeLists.txt | 3 - examples/c/simple/CMakeLists.txt | 12 -- examples/c/simple/lin/main.c | 4 +- examples/cpp/a2b/CMakeLists.txt | 25 ---- examples/cpp/coremini/CMakeLists.txt | 25 ---- examples/cpp/interactive/CMakeLists.txt | 25 ---- examples/cpp/lin/CMakeLists.txt | 25 ---- examples/cpp/lin/src/LINExample.cpp | 120 +++++++++++------- examples/cpp/livedata/CMakeLists.txt | 25 ---- examples/cpp/mdio/CMakeLists.txt | 25 ---- examples/cpp/simple/CMakeLists.txt | 25 ---- examples/cpp/vsa/CMakeLists.txt | 25 ---- include/icsneo/device/idevicesettings.h | 4 +- include/icsneo/disk/vsa/vsa.h | 1 + 20 files changed, 87 insertions(+), 283 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1281009..ea73763 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.12) project(libicsneo VERSION 0.3.0) cmake_policy(SET CMP0074 NEW) +if(POLICY CMP0135) + cmake_policy(SET CMP0135 NEW) +endif() option(LIBICSNEO_BUILD_TESTS "Build all tests." OFF) option(LIBICSNEO_BUILD_DOCS "Build documentation. Don't use in Visual Studio." OFF) diff --git a/communication/packet/supportedfeaturespacket.cpp b/communication/packet/supportedfeaturespacket.cpp index a396212..1493241 100644 --- a/communication/packet/supportedfeaturespacket.cpp +++ b/communication/packet/supportedfeaturespacket.cpp @@ -23,6 +23,9 @@ std::shared_ptr SupportedFeaturesPacket::DecodeToMessa } // Get a reference to the payload to fully validate the length const auto& response = *reinterpret_cast(bytes.data()); + if(response.cmdVersion != SupportedFeaturesCommandVersion) { + return msg; + } // Expected size is the header, cmdVersion and numValidBits fields, plus the number of 32-bit bitfields in the response based on numValidBits auto expectedSize = sizeof(ExtendedResponseMessage::ResponseHeader) + 4 + ((response.numValidBits + 31) / 32) * 4; // If the response is malformed (too small), return an empty message diff --git a/device/device.cpp b/device/device.cpp index c0e566b..22edd0c 100644 --- a/device/device.cpp +++ b/device/device.cpp @@ -2980,7 +2980,6 @@ bool Device::parseVSA( std::vector buffer; bool success = true; bool moreToRead = true; - uint64_t numBytesRead = 0; // The number of bytes that have been read from the vsa buffer for this parse call VSAParser::Settings parserSettings = VSAParser::Settings::messageRecords(); VSAParser parser(report, parserSettings); parser.setMessageFilter(filter); @@ -3017,7 +3016,6 @@ bool Device::parseVSA( ++readAttempt; } - numBytesRead += amount; success = parser.parseBytes(buffer.data(), amount); if(!success) { report(APIEvent::Type::VSAByteParseFailure, APIEvent::Severity::Error); diff --git a/device/idevicesettings.cpp b/device/idevicesettings.cpp index e0bae9a..81408a3 100644 --- a/device/idevicesettings.cpp +++ b/device/idevicesettings.cpp @@ -545,7 +545,7 @@ bool IDeviceSettings::setBaudrateFor(Network net, int64_t baudrate) { report(APIEvent::Type::BaudrateNotFound, APIEvent::Severity::Error); return false; } - cfg->Baudrate = baudrate; + cfg->Baudrate = (uint32_t)baudrate; return true; } default: diff --git a/examples/c/interactive/CMakeLists.txt b/examples/c/interactive/CMakeLists.txt index 4cb603a..e852c6c 100644 --- a/examples/c/interactive/CMakeLists.txt +++ b/examples/c/interactive/CMakeLists.txt @@ -1,15 +1,3 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneoc-interactive-example VERSION 0.2.0) - -include(GNUInstallDirs) - -# Include libicsneo's include directory -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../include) - -if(UNIX) - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) -endif() - add_executable(libicsneoc-interactive-example src/main.c) if(UNIX) target_link_libraries(libicsneoc-interactive-example ${CMAKE_DL_LIBS}) diff --git a/examples/c/interactive/src/main.c b/examples/c/interactive/src/main.c index 2ede3fa..e507037 100644 --- a/examples/c/interactive/src/main.c +++ b/examples/c/interactive/src/main.c @@ -166,7 +166,9 @@ char getCharInput(int numArgs, ...) { va_end(vaList); while(!found) { - fgets(input, 99, stdin); + if(fgets(input, 99, stdin) == NULL) { + break; + } if(strlen(input) == 2) { for(int i = 0; i < numArgs; ++i) { if(input[0] == *(list + i)) { diff --git a/examples/c/legacy/CMakeLists.txt b/examples/c/legacy/CMakeLists.txt index 4109b53..921d452 100644 --- a/examples/c/legacy/CMakeLists.txt +++ b/examples/c/legacy/CMakeLists.txt @@ -1,6 +1,3 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneoc-legacy-lin-example VERSION 0.2.0) - add_executable(libicsneoc-legacy-lin-example lin/main.c) add_executable(libicsneoc-legacy-device-settings-example deviceSettings/main.c) target_link_libraries(libicsneoc-legacy-lin-example icsneolegacy) diff --git a/examples/c/simple/CMakeLists.txt b/examples/c/simple/CMakeLists.txt index be83cd0..faf526a 100644 --- a/examples/c/simple/CMakeLists.txt +++ b/examples/c/simple/CMakeLists.txt @@ -1,15 +1,3 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneoc-simple-lin-example VERSION 0.2.0) - -include(GNUInstallDirs) - -# Include libicsneo's include directory -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../include) - -if(UNIX) - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) -endif() - add_executable(libicsneoc-simple-lin-example lin/main.c) if(UNIX) target_link_libraries(libicsneoc-simple-lin-example ${CMAKE_DL_LIBS}) diff --git a/examples/c/simple/lin/main.c b/examples/c/simple/lin/main.c index ef4ad0d..34f24d0 100644 --- a/examples/c/simple/lin/main.c +++ b/examples/c/simple/lin/main.c @@ -161,7 +161,9 @@ char getCharInput(int numArgs, ...) { va_end(vaList); while(!found) { - fgets(input, 99, stdin); + if(fgets(input, 99, stdin) == NULL) { + break; + } if(strlen(input) == 2) { for(int i = 0; i < numArgs; ++i) { if(input[0] == *(list + i)) { diff --git a/examples/cpp/a2b/CMakeLists.txt b/examples/cpp/a2b/CMakeLists.txt index dca64b2..4073e8d 100644 --- a/examples/cpp/a2b/CMakeLists.txt +++ b/examples/cpp/a2b/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-a2b VERSION 0.2.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-a2b src/a2b.cpp) target_link_libraries(libicsneocpp-a2b icsneocpp) \ No newline at end of file diff --git a/examples/cpp/coremini/CMakeLists.txt b/examples/cpp/coremini/CMakeLists.txt index aeabd27..32ed6f1 100644 --- a/examples/cpp/coremini/CMakeLists.txt +++ b/examples/cpp/coremini/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-coremini VERSION 0.2.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-coremini src/coremini.cpp) target_link_libraries(libicsneocpp-coremini icsneocpp) \ No newline at end of file diff --git a/examples/cpp/interactive/CMakeLists.txt b/examples/cpp/interactive/CMakeLists.txt index ea897b7..ff1d900 100644 --- a/examples/cpp/interactive/CMakeLists.txt +++ b/examples/cpp/interactive/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-interactive-example VERSION 0.2.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-interactive-example src/InteractiveExample.cpp) target_link_libraries(libicsneocpp-interactive-example icsneocpp) \ No newline at end of file diff --git a/examples/cpp/lin/CMakeLists.txt b/examples/cpp/lin/CMakeLists.txt index f72e1a1..86a6163 100644 --- a/examples/cpp/lin/CMakeLists.txt +++ b/examples/cpp/lin/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-lin VERSION 0.1.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-lin src/LINExample.cpp) target_link_libraries(libicsneocpp-lin icsneocpp) \ No newline at end of file diff --git a/examples/cpp/lin/src/LINExample.cpp b/examples/cpp/lin/src/LINExample.cpp index 5c5a61b..888f2ec 100644 --- a/examples/cpp/lin/src/LINExample.cpp +++ b/examples/cpp/lin/src/LINExample.cpp @@ -55,8 +55,78 @@ int main() { continue; } std::cout << "OK" << std::endl; + /* + std::cout << "\nApply default settings... "; + ret &= device->settings->applyDefaults(); + if(!ret) { + std::cout << "FAIL\n" << std::endl; + device->close(); + continue; + } + std::cout << "OK" << std::endl; + */ + int64_t baud = 19200; + + std::cout << "Enable LIN commander resistor... "; + ret &= device->settings->setCommanderResistorFor(icsneo::Network::NetID::LIN, true); + std::cout << (ret ? "OK" : "FAIL") << std::endl; - // The concept of going "online" tells the connected device to start listening, i.e. ACKing traffic and giving it to us + std::cout << "Disable LIN2 commander resistor... "; + ret &= device->settings->setCommanderResistorFor(icsneo::Network::NetID::LIN2, false); + std::cout << (ret ? "OK" : "FAIL") << std::endl; + + std::cout << "Setting LIN to operate at " << baud << "bit/s... "; + ret = device->settings->setBaudrateFor(icsneo::Network::NetID::LIN, baud); + std::cout << (ret ? "OK" : "FAIL") << std::endl; + + std::cout << "Setting LIN2 to operate at " << baud << "bit/s... "; + ret = device->settings->setBaudrateFor(icsneo::Network::NetID::LIN2, baud); + std::cout << (ret ? "OK" : "FAIL") << std::endl; + + std::cout << "Setting LIN mode to NORMAL... "; + ret = device->settings->setLINModeFor(icsneo::Network::NetID::LIN, NORMAL_MODE); + std::cout << (ret ? "OK" : "FAIL") << std::endl; + + std::cout << "Setting LIN2 mode to NORMAL... "; + ret = device->settings->setLINModeFor(icsneo::Network::NetID::LIN2, NORMAL_MODE); + std::cout << (ret ? "OK" : "FAIL") << std::endl; + + std::cout << "Applying settings... "; + ret = device->settings->apply(true); + std::cout << (ret ? "OK" : "FAIL") << std::endl; + + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + std::cout << "\tGetting LIN Baudrate... "; + int64_t readBaud = device->settings->getBaudrateFor(icsneo::Network::NetID::LIN); + if(readBaud < 0) + std::cout << "FAIL" << std::endl; + else + std::cout << "OK, " << (readBaud) << "bit/s" << std::endl; + + readBaud = device->settings->getBaudrateFor(icsneo::Network::NetID::LIN2); + if(readBaud < 0) + std::cout << "FAIL" << std::endl; + else + std::cout << "OK, " << (readBaud) << "bit/s" << std::endl; + + auto handler = device->addMessageCallback(std::make_shared([&](std::shared_ptr message) { + if(icsneo::Message::Type::Frame == message->type) { + auto frame = std::static_pointer_cast(message); + if(icsneo::Network::Type::LIN == frame->network.getType()) { + auto msg = std::static_pointer_cast(message); + std::cout << msg->network << " RX frame | ID: 0x" << std::hex << static_cast(msg->ID) << " | "; + std::cout << "Protected ID: 0x" << static_cast(msg->protectedID) << "\n" << "Data: "; + for(uint8_t& each : msg->data) { + std::cout << "0x" << static_cast(each) << " "; + } + std::cout << "\nChecksum type: " << (msg->isEnhancedChecksum ? "Enhanced" : "Classic"); + std::cout << "\nChecksum: 0x" << static_cast(msg->checksum) << "\n"; + std::cout << "Is checksum valid: " << ((!msg->errFlags.ErrChecksumMatch) ? "yes" : "no") << "\n\n"; + } + } + })); + + // The concept of going "online" tells the connected device to start listening, i.e. ACKing traffic and giving it to us std::cout << "\tGoing online... "; ret = device->goOnline(); if(!ret) { @@ -77,54 +147,6 @@ int main() { } std::cout << "OK" << std::endl; - std::cout << "\tGetting LIN Baudrate... "; - int64_t baud = device->settings->getBaudrateFor(icsneo::Network::NetID::LIN); - if(baud < 0) - std::cout << "FAIL" << std::endl; - else - std::cout << "OK, " << (baud) << "bit/s" << std::endl; - - std::cout << "Enable LIN commander resistor... "; - ret &= device->settings->setCommanderResistorFor(icsneo::Network::NetID::LIN, true); - std::cout << (ret ? "OK" : "FAIL") << std::endl; - - std::cout << "Setting LIN2 to operate at " << baud << "bit/s... "; - ret = device->settings->setBaudrateFor(icsneo::Network::NetID::LIN2, baud); - std::cout << (ret ? "OK" : "FAIL") << std::endl; - - std::cout << "Setting LIN mode to NORMAL... "; - ret = device->settings->setLINModeFor(icsneo::Network::NetID::LIN, NORMAL_MODE); - std::cout << (ret ? "OK" : "FAIL") << std::endl; - - std::cout << "Setting LIN2 mode to NORMAL... "; - ret = device->settings->setLINModeFor(icsneo::Network::NetID::LIN2, NORMAL_MODE); - std::cout << (ret ? "OK" : "FAIL") << std::endl; - - std::cout << "Disable LIN2 commander resistor... "; - ret &= device->settings->setCommanderResistorFor(icsneo::Network::NetID::LIN2, false); - std::cout << (ret ? "OK" : "FAIL") << std::endl; - - std::cout << "Applying settings... "; - ret = device->settings->apply(true); - std::cout << (ret ? "OK" : "FAIL") << std::endl; - - auto handler = device->addMessageCallback(std::make_shared([&](std::shared_ptr message) { - if(icsneo::Message::Type::Frame == message->type) { - auto frame = std::static_pointer_cast(message); - if(icsneo::Network::Type::LIN == frame->network.getType()) { - auto msg = std::static_pointer_cast(message); - std::cout << msg->network << " RX frame | ID: 0x" << std::hex << static_cast(msg->ID) << " | "; - std::cout << "Protected ID: 0x" << static_cast(msg->protectedID) << "\n" << "Data: "; - for(uint8_t& each : msg->data) { - std::cout << "0x" << static_cast(each) << " "; - } - std::cout << "\nChecksum type: " << (msg->isEnhancedChecksum ? "Enhanced" : "Classic"); - std::cout << "\nChecksum: 0x" << static_cast(msg->checksum) << "\n"; - std::cout << "Is checksum valid: " << ((!msg->errFlags.ErrChecksumMatch) ? "yes" : "no") << "\n\n"; - } - } - })); - // We can transmit messages std::cout << "\tTransmitting a LIN responder data frame... "; auto lin_r = std::make_shared(); diff --git a/examples/cpp/livedata/CMakeLists.txt b/examples/cpp/livedata/CMakeLists.txt index 0bcc2c4..4fd4768 100644 --- a/examples/cpp/livedata/CMakeLists.txt +++ b/examples/cpp/livedata/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-livedata VERSION 0.1.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-livedata src/LiveDataExample.cpp) target_link_libraries(libicsneocpp-livedata icsneocpp) \ No newline at end of file diff --git a/examples/cpp/mdio/CMakeLists.txt b/examples/cpp/mdio/CMakeLists.txt index c3b0815..9759426 100644 --- a/examples/cpp/mdio/CMakeLists.txt +++ b/examples/cpp/mdio/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-mdio VERSION 0.1.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-mdio src/MDIOExample.cpp) target_link_libraries(libicsneocpp-mdio icsneocpp) \ No newline at end of file diff --git a/examples/cpp/simple/CMakeLists.txt b/examples/cpp/simple/CMakeLists.txt index 4a5f5ec..1e443db 100644 --- a/examples/cpp/simple/CMakeLists.txt +++ b/examples/cpp/simple/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-simple-example VERSION 0.2.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-simple-example src/SimpleExample.cpp) target_link_libraries(libicsneocpp-simple-example icsneocpp) \ No newline at end of file diff --git a/examples/cpp/vsa/CMakeLists.txt b/examples/cpp/vsa/CMakeLists.txt index b7d82fd..8eed9cf 100644 --- a/examples/cpp/vsa/CMakeLists.txt +++ b/examples/cpp/vsa/CMakeLists.txt @@ -1,27 +1,2 @@ -cmake_minimum_required(VERSION 3.2) -project(libicsneocpp-vsa-example VERSION 0.1.0) - -set(CMAKE_CXX_STANDARD_REQUIRED 11) - -include(GNUInstallDirs) - -# Add an include directory like so if desired -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - -# Enable Warnings -if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") -endif() - -# Add libicsneo, usually a git submodule within your project works well -#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libicsneo ${CMAKE_CURRENT_BINARY_DIR}/third-party/libicsneo) - add_executable(libicsneocpp-vsa-example src/VSAExample.cpp) target_link_libraries(libicsneocpp-vsa-example icsneocpp) \ No newline at end of file diff --git a/include/icsneo/device/idevicesettings.h b/include/icsneo/device/idevicesettings.h index 3969068..326f9d2 100644 --- a/include/icsneo/device/idevicesettings.h +++ b/include/icsneo/device/idevicesettings.h @@ -536,8 +536,8 @@ enum BPS117647 }; -/* MasterResistor in LIN_SETTINGS */ -enum +/* CommanderResistor in LIN_SETTINGS */ +enum : uint8_t { RESISTOR_ON, RESISTOR_OFF diff --git a/include/icsneo/disk/vsa/vsa.h b/include/icsneo/disk/vsa/vsa.h index b15d4de..585aa4b 100644 --- a/include/icsneo/disk/vsa/vsa.h +++ b/include/icsneo/disk/vsa/vsa.h @@ -83,6 +83,7 @@ struct VSAExtractionSettings { */ class VSA { public: + virtual ~VSA() = default; static constexpr size_t StandardRecordSize = 32; // Size of most VSA records static constexpr uint64_t RecordStartOffset = 0x06000000u; // Offset of VSA record ring buffer from start of VSA log file