PCANBasicGetValue(UInt16, TPCANParameter, UInt32, UInt32) Method

Retrieves a PCAN Channel value.

Definition

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

Parameters

Channel  UInt16
The handle of a PCAN Channel (see PCAN Handle Definitions).
Parameter  TPCANParameter
The code of the information to be retrieved.
NumericBuffer  UInt32
The buffer to return the required 32-bit numeric value (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.

Remarks

Use the method GetValue to get information about PCAN environment as parameters like the PCAN Channel device ID. 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 retrieved, 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 GetValue(UInt16, TPCANParameter, UInt32, UInt32) method on the channel PCAN_USBBUS1 to check if the Message Filter is fully opened. 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;
UInt32 iBuffer;

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

// ... channel is initialized ...

// The status of the message filter of the PCAN-USB Channel 1 is asked
//
result = PCANBasic.GetValue(PCANBasic.PCAN_USBBUS1, TPCANParameter.PCAN_MESSAGE_FILTER, out iBuffer, sizeof(UInt32));
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
{
    // A text is shown giving information about the current status of the filter
    //
    switch (iBuffer)
    {
        case PCANBasic.PCAN_FILTER_OPEN:
            Console.WriteLine("The message filter for the PCAN-USB, channel 1, is completely opened.");
            break;
        case PCANBasic.PCAN_FILTER_CLOSE:
            Console.WriteLine("The message filter for the PCAN-USB, channel 1, is closed.");
            break;
        case PCANBasic.PCAN_FILTER_CUSTOM:
            Console.WriteLine("The message filter for the PCAN-USB, channel 1, is custom configured.");
            break;
    }
}

See Also