Class SynchronizationManager

extends Object
Synchronizes the output of multiple Out channels.
Not all hardware supports this feature. The ESP32 does not, but the ESP32C3, ESP32C6, ESP32P4, ESP32S2, and ESP32S3 do.

Class summary


constructor channels/List
Creates a sync manager for the given channels.

Constructors

constructor channels/List
Creates a sync manager for the given channels.
The manager ensures that all channels start writing at the same time. It waits until all channels have been instructed to Out.write before actually emitting any signal.

Methods

close -> none
Closes the synchronization manager.

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

reset -> none
Resets the sync manager, allowing for another synchronized write.

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.