mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-08-05 01:18:36 +02:00
CAN FD baudrate settings
This commit is contained in:
@@ -192,6 +192,9 @@ bool IDeviceSettings::setBaudrateFor(Network net, uint32_t baudrate) {
|
||||
|
||||
switch(net.getType()) {
|
||||
case Network::Type::CAN: {
|
||||
if(baudrate > 1000000) // This is an FD baudrate. Use setFDBaudrateFor instead.
|
||||
return false;
|
||||
|
||||
CAN_SETTINGS* cfg = getCANSettingsFor(net);
|
||||
if(cfg == nullptr)
|
||||
return false;
|
||||
@@ -209,6 +212,27 @@ bool IDeviceSettings::setBaudrateFor(Network net, uint32_t baudrate) {
|
||||
}
|
||||
}
|
||||
|
||||
bool IDeviceSettings::setFDBaudrateFor(Network net, uint32_t baudrate) {
|
||||
if(disabled || readonly)
|
||||
return false;
|
||||
|
||||
switch(net.getType()) {
|
||||
case Network::Type::CAN: {
|
||||
CANFD_SETTINGS* cfg = getCANFDSettingsFor(net);
|
||||
if(cfg == nullptr)
|
||||
return false;
|
||||
|
||||
uint8_t newBaud = getEnumValueForBaudrate(baudrate);
|
||||
if(newBaud == 0xFF)
|
||||
return false;
|
||||
cfg->FDBaudrate = newBaud;
|
||||
return true;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T> bool IDeviceSettings::setStructure(const T& newStructure) {
|
||||
if(disabled || readonly)
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user