Timers
Last updated
Last updated
Timers allow Flows to be executed at specific times. This list shows the Timers that have been created and may be used in Logic Flows. The page shows up to date information as the Timer states changes.
Reference | Column/Button | Notes |
1 | Name | The name of the Timer. |
2 | Type | The type of Timer. |
3 | Interval | In the case of Interval Timers, this column will display the time in milliseconds. In the case of Day of week Timers, the column will display the days per week that are selected. This column is not used for Date/Time Timers. |
4 | LastRaise | This column displays the date and time when the Timer last elapsed. If the Timer has never elapsed, it will display a default minimum date time value. |
5 | NextRaise | This column displays the date and time when the Timer is next scheduled to elapse. If the Timer has never been enabled, this column may also show a default minimum date time value. |
6 | Elapsed | The elapsed column will turn true if a Timer has elapsed. It is important to note that if a Timer is set to Autoreset, this value will immediately turn false again. |
7 | Enabled | This column displays whether the Timer is currently enabled. A Timer which is not enabled will never elapse. |
8 | Autoreset | A value of true indicates an Interval Timers set to auto reset. When the Timer elapses, it will automatically update its next raise time and start counting down again. |
9 | Edit | Clicking the Edit link allows you to edit and change the parameters of a Timer. |
10 | Delete | Clicking the minus icon allows you to delete a Timer from the system. |
11 | Add | Clicking the add icon allows the user to create a new Timer. |
To create a new Timer, click the Add icon on the Timers dialog to open the Timer Editor.
Three types of Timers can be created in Pathfinder Core PRO: Interval, Day of Week, and Date/Time.
If you want to create a Logic Flow with a delayed action, you could use a delay directly in the Flow, or you could create an Interval Timer. An Interval Timer raises an Elapsed property after a specified number of milliseconds.
Interval Timers can also be programmed to autoreset. An autoresetting Interval Timer will set the Elapsed flag to true after the Interval, and then immediately set it back to false and restart the countdown.
Leave the Autoreset and Enabled properties as false. Type a name for this Timer and apply it.
Now we can use this Timer in Logic Flows:
For example, an Interval Timer can be used in a Logic Flow so when GPI 1 goes low, it enables the Timer. Then the Elapsed property 5-seconds later causes GPI 2 pin to be set low:
Interval Timers have three additional write-only properties:
Reset: If the Timer is enabled, this property will disable and then re-enable the Timer to start the countdown over. If the Timer is disabled, this will set the elapsed property to false.
ResetStart: Stops the Timer (if it is running) and then starts the Timer to reset the countdown.
ResetStop: Disables the Timer and changes the elapsed state to false.
These are available in the Logic Flows simple tree when an Interval Timer endpoint is selected in the Logic Flow. Since these are write-only properties they will not be shown when Interval Timer start points are selected – only endpoints.
All three properties accept true/false values and setting any of them to true will initiate the reset. They do not need to be set to false again afterwards as passing the true value is just a trigger to initiate the reset. The value is not retained. These properties can be thought of more as actions than traditional properties.
If we want something to happen at a specific time every Monday, we could create a Day of Week Timer. With this type of Timer, you can specify a time and the days of the week on which the Timer should set its Elapsed property to true.
If we want something to happen on a specific day and time, we could create a Date/Time Timer. The Timer’s Elapsed property will be set to true at that day and time.
Clicking the calendar icon will present a user-friendly calendar for configuring the date and time.
In both the Day of Week and Date/Time Timers, it is important to understand the difference between clock time and fixed time. Within Pathfinder Core PRO, all times are stored with a UTC offset. Clock time means that the event will happen at a specific time (say 7PM) according to the clock regardless of the UTC offset. If you want an event to happen at 7PM according to what the clock shows both before and after a daylight savings shift, you should pick the clock time option.
However, if you are picking up a satellite feed and the region from which the feed originates does not shift their clock to daylight savings time, then you should select fixed time because the event will happen at a different time (according to your wall clock) before and after the daylight savings time shift. In this case, it is fixed to the time and UTC offset.
It is also important to understand that creating a Timer in Pathfinder Core PRO will not actually cause any changes to take place in the system. To do that, you would need to create a Logic Flow as shown above with a start point that uses the Timer’s elapsed property to then change some other property in the system. For example, if you wanted to execute a scene change every Monday at a specific time, you would create a Logic Flow that uses the Day of Week Timer shown above.
In this way, we can use Timers to cause delays, do repetitive operations (using the autoreset property of Interval Timers), or execute actions at specific days/times and/or on a recurring daily schedule.