Can Fd Set Configuration
Syntax
long canFdSetConfiguration(long channel, canSettings abrSettings, canSettings dbrSettings);
long canFdGetConfiguration(long channel, canSettings abrSettings, canSettings dbrSettings);
Function
The CAN controller parameters for arbitration and data phase can be set or read canFdSetConfigurationperforms an automatic reset of the CAN controller.
Parameters
Channel The CAN channel.
structcanSettings {float baudrate; //in bit/sunsigned char tseg1, tseg2; //length of the time segments 1 and 2 in time quantaunsigned char sjw; //sync jump width in time quantaunsigned char sam; //number of sampling points (1 or 3). Only valid for CAN. For CAN FD "sam" is hard coded to 1.unsigned int flags; //see description below}; Flags forcanFdGetConfiguration: Flags BitcanFdSetConfiguration:
Return Values
1 = success0 = error
int ret;int channel = 1;CANsettings abrSettings;CANsettings dbrSettings;abrSettings.baudrate = 1000000;abrSettings.tseg1=5;abrSettings.tseg2=2;abrSettings.sjw=2;abrSettings.sam=1;abrSettings.flags = 0;dbrSettings.baudrate = 4000000;dbrSettings.tseg1=6;dbrSettings.tseg2=3;dbrSettings.sjw=2;dbrSettings.sam=1;dbrSettings.flags = 0;write("Set 1 MB");ret = canFdSetConfiguration(channel, abrSettings, dbrSettings);if (ret){write("Arbitration settings: baud= %f, tseg1 = %d, tseg2= %d, sjw = %d, sam = %d, flags = 0x%x",abrSettings.baudrate, abrSettings.tseg1, abrSettings.tseg2, abrSettings.sjw, abrSettings.sam, abrSettings.flags);write("Data settings: baud= %f, tseg1 = %d, tseg2= %d, sjw = %d, sam = %d, flags = 0x%x",dbrSettings.baudrate, dbrSettings.tseg1, dbrSettings.tseg2, dbrSettings.sjw, dbrSettings.sam, dbrSettings.flags);}