WorkerUpdateBroadcast(Int32, PcanMessage) Method

Adjusts the content of a periodic CAN message from the list of registered Broadcast objects.

Definition

Namespace: Peak.Can.Basic
Assembly: PCANBasic.NET (in PCANBasic.NET.dll) Version: 4.9.0
C#
public bool UpdateBroadcast(
	int index,
	PcanMessage message
)

Parameters

index  Int32
Represents the zero-based index associated to a Broadcast object.
message  PcanMessage
The CAN message to be periodically written.

Return Value

Boolean
true if the Broadcast object was modified; false otherwise.

Example

The following example shows how to update a Broadcast object.

In case of failure, an error messages is written to the console output using English as output language.

C#
// Create the object using the default configuration
//
Worker myWorker = new Worker();

// Create the CAN message to broadcast
//
PcanMessage message = new PcanMessage(0x100, MessageType.Standard, 3, new byte[] { 1, 2, 3 }, false);

// Add the new broadcast using a CAN message and its interval
//
int index = myWorker.AddBroadcast(message, 100);
if (index < 0)
{
    Console.WriteLine("The broadcast couldn't be configured");
}
else
{
    Console.WriteLine($"The broadcast object with index '{index}' was configured successfully.");

    try
    { 
        // Activate the worker object
        //
        myWorker.Start();
        Console.WriteLine("The Worker object was activated successfully.");

        // Wait sometime for the message to be sent several times
        //
        Console.WriteLine("Broadcast is working....");
        System.Threading.Thread.Sleep(5000);

        // Update the CAN message being sent
        //
        message.ID = 0x200;
        message.DLC = 8;
        message.Data = new byte[] { 8, 7, 6, 5, 4, 3, 2, 1 };
        if(myWorker.UpdateBroadcast(index, message))
        {
            Console.WriteLine($"The broadcast object with index '{index}' was successfully updated.");

            // Wait sometime for the message to be sent several times
            //
            Console.WriteLine("Broadcast is working....");
            System.Threading.Thread.Sleep(5000);
        }
        else
        {
            Console.WriteLine($"The broadcast object with index '{index}' couldn't be updated.");
        }

        // Deactivate the worker object, when it is no longer needed
        //
        myWorker.Stop();
        Console.WriteLine("The Worker object was deactivated.");
    }
    catch(Exception ex)
    {
        Console.WriteLine($"An exception occurred by activating the Worker object. {ex.Message}");
    }
}

Exceptions

IndexOutOfRangeExceptionThe index parameter value is out of range. This must be in the range [0...MaximumBroadcastCount-1].
ArgumentNullExceptionThe message parameter value is null. An object of type PcanMessage is required.

See Also