/// <summary>
 /// Create a VisiLEDThreadedComPort for a VisiLED unit. This port type should be used when the unit connection
 /// state is unknown. Functions are provided to be notified of connections and status changes. When using
 /// a static configuration, consider using the VisiLEDComPort classes instead.
 /// </summary>
 /// <param name="threadName">Name of the thread.</param>
 /// <param name="closingWorker">The ClosingWorker to add this thread too</param>
 /// <param name="portName">The port to connect to in format 'COM#'</param>
 public VisiLEDThreadedComPort(string threadName, ClosingWorker closingWorker, string portName)
     : base(threadName, closingWorker, VisiLEDComPort.ComParameters(), ConnectionMode.SelectionRule, port => port.Port == portName)
 {
 }
 /// <summary>
 /// Change the connection method of the VisiLEDThreadedComPort.
 /// </summary>
 /// <param name="portName">The port to connect to in format 'COM#'</param>
 public void ChangeMode(string portName)
 {
     ConnectionParameters.CopyFrom(VisiLEDComPort.ComParameters());
     base.ChangeMode(ConnectionMode.SelectionRule, port => port.Port == portName);
 }
 /// <summary>
 /// Create a VisiLEDThreadedComPort for a VisiLED unit. This port type should be used when the unit connection
 /// state is unknown. Functions are provided to be notified of connections and status changes. When using
 /// a static configuration, consider using the VisiLEDComPort classes instead.
 /// </summary>
 /// <param name="threadName">Name of the thread.</param>
 /// <param name="closingWorker">The ClosingWorker to add this thread too</param>
 public VisiLEDThreadedComPort(string threadName, ClosingWorker closingWorker)
     : base(threadName, closingWorker, VisiLEDComPort.ComParameters(), ConnectionMode.AnyCom)
 {
 }
 /// <summary>
 /// Change the connection method of the VisiLEDThreadedComPort to select any VisiLED.
 /// </summary>
 public void ChangeMode()
 {
     ConnectionParameters.CopyFrom(VisiLEDComPort.ComParameters());
     base.ChangeMode(ConnectionMode.AnyCom);
 }