From ffe2d34799fc4da0e7f95476ab7a337882908496 Mon Sep 17 00:00:00 2001 From: Paul Hollinsky Date: Tue, 1 Jun 2021 22:40:26 -0400 Subject: [PATCH] Settings: Make getBaudrateFor work for SWCAN and LSFTCAN --- device/idevicesettings.cpp | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/device/idevicesettings.cpp b/device/idevicesettings.cpp index 88c9417..6b89eab 100644 --- a/device/idevicesettings.cpp +++ b/device/idevicesettings.cpp @@ -375,7 +375,35 @@ int64_t IDeviceSettings::getBaudrateFor(Network net) const { case Network::Type::CAN: { const CAN_SETTINGS* cfg = getCANSettingsFor(net); if(cfg == nullptr) { - report(APIEvent::Type::CANFDSettingsNotAvailable, APIEvent::Severity::Error); + report(APIEvent::Type::CANSettingsNotAvailable, APIEvent::Severity::Error); + return -1; + } + + int64_t baudrate = GetBaudrateValueForEnum((CANBaudrate)cfg->Baudrate); + if(baudrate == -1) { + report(APIEvent::Type::BaudrateNotFound, APIEvent::Severity::Error); + return -1; + } + return baudrate; + } + case Network::Type::SWCAN: { + const SWCAN_SETTINGS* cfg = getSWCANSettingsFor(net); + if(cfg == nullptr) { + report(APIEvent::Type::SWCANSettingsNotAvailable, APIEvent::Severity::Error); + return -1; + } + + int64_t baudrate = GetBaudrateValueForEnum((CANBaudrate)cfg->Baudrate); + if(baudrate == -1) { + report(APIEvent::Type::BaudrateNotFound, APIEvent::Severity::Error); + return -1; + } + return baudrate; + } + case Network::Type::LSFTCAN: { + const CAN_SETTINGS* cfg = getLSFTCANSettingsFor(net); + if(cfg == nullptr) { + report(APIEvent::Type::LSFTCANSettingsNotAvailable, APIEvent::Severity::Error); return -1; }