PCANBasicSetValue(UInt16, TPCANParameter, UInt64, UInt32) Method

Configures a feature of a PCAN Channel.

Definition

Namespace: Peak.Can.Basic.BackwardCompatibility
Assembly: PCANBasic.NET (in PCANBasic.NET.dll) Version: 4.9.0
C#
public static TPCANStatus SetValue(
	ushort Channel,
	TPCANParameter Parameter,
	ref ulong NumericBuffer,
	uint BufferLength
)

Parameters

Channel  UInt16
The handle of a PCAN Channel (see PCAN Handle Definitions).
Parameter  TPCANParameter
The code of the value to be set.
NumericBuffer  UInt64
The buffer containing the 64-bit numeric value to be set (see Parameter Value Definitions).
BufferLength  UInt32
The length in bytes of the given buffer.

Return Value

TPCANStatus

The return value is a TPCANStatus value. PCAN_ERROR_OK is returned on success. The typical errors in case of failure are:

  • PCAN_ERROR_INITIALIZE: Indicates that the given PCAN channel was not found in the list of initialized channels of the calling application.
  • PCAN_ERROR_ILLPARAMVAL: Indicates that one or more parameters passed to the method are invalid.
  • PCAN_ERROR_ILLHW: Indicates that the given PCAN Channel is not available.
  • PCAN_ERROR_ILLHANDLE: Indicates that the given PCAN Channel is not valid.
  • PCAN_ERROR_ILLPARAMTYPE: Indicates that the requested information is not available for the given PCAN Channel. Check the value of Parameter; some values are not available for all PCAN-Channels or cannot be read.
  • PCAN_ERROR_ILLOPERATION: An underlying process that is generated by a call to this method with the current parameters, is temporarily not allowed. The configuration in relation to the used Parameter must be checked.

Remarks

Use the method SetValue to change the behavior of a PCAN Channel like its Acceptance Filter (Mask/Code). Take in account that not all parameters are supported for all PCAN Channels. The access's type of the parameters can also be different.

For more information about the possible values that can be used for parameter configuration, see Parameter Value Definitions

  Important

For more information about each available TPCANParameter, please refer to the companion PDF documentation PCAN-Parameter_Documentation.pdf.

Example

The following example shows the use of SetValue(UInt16, TPCANParameter, UInt64, UInt32) method on the channel PCAN_USBBUS1 to set an acceptance filter as a 11-bit code and mask, allowing only IDs from 0x100 to 0x103. In case of failure, the returned code will be translated to a text (according with the operating system language) in English, German, Italian, French or Spanish, and it will be shown to the user.

  Note

It is assumed that the channel was already initialized.

C#
TPCANStatus result;
System.Text.StringBuilder strMsg;
UInt64 i64Buffer;

strMsg = new System.Text.StringBuilder(256);

// The acceptance code and mask are packed as 64-bit value
//
i64Buffer = 0x100;  // Acceptance code
i64Buffer <<= 32;
i64Buffer |= 0x003; // Acceptance mask
result = PCANBasic.SetValue(PCANBasic.PCAN_USBBUS1, TPCANParameter.PCAN_ACCEPTANCE_FILTER_11BIT, ref i64Buffer, sizeof(UInt64));
if (result != TPCANStatus.PCAN_ERROR_OK)
{
    // An error occurred, get a text describing the error and show it
    //
    PCANBasic.GetErrorText(result, 0, strMsg);
    Console.WriteLine(strMsg.ToString());
}
else
    Console.WriteLine("The 11-bit acceptance filter was configured successfully");

See Also