WorkerResumeBroadcast Method

Resumes the sending of a paused periodic CAN message.

Definition

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

Parameters

index  Int32
Represents the zero-based index of the periodic CAN message to be resumed.

Return Value

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

Remarks

This method allows resuming a single broadcast. The property MessageBroadcasting activates/deactivates the broadcasting feature in general.

Example

The following example shows how to reactivate/resume 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);

        // Stop sending the CAN message
        //
        if (myWorker.PauseBroadcast(index))
        {
            Console.WriteLine($"The broadcast object with index '{index}' was successfully paused.");

            // Wait sometime to validate that the message is not sent anymore
            //                        
            System.Threading.Thread.Sleep(3000);

            // Resume sending the CAN message
            //
            if (myWorker.ResumeBroadcast(index))
            {
                // Wait sometime for the message to be sent several times
                //
                Console.WriteLine($"The broadcast object with index '{index}' was successfully resumed.");
                System.Threading.Thread.Sleep(5000);
            }
            else
            {
                Console.WriteLine($"The broadcast object with index '{index}' couldn't be resumed.");
            }
        }
        else
        {
            Console.WriteLine($"The broadcast object with index '{index}' couldn't be paused.");
        }

        // 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].

See Also