ALMA has a distributed HW pulse, with a 48 ms interval, that the
hardware will synchronize to[RD01
- 8.1.3. Distributed timing][RD30].
Also devices on the CAN bus will be connected to the time bus to
allow synchronization.
All time data in ACS (APIs, timestampsā¦.) is based on the array
time [RD01 - 8.1.1. Standard].
We assume that non-Real-Time boxes are simply synchronized to the
array time using standard protocols, like NTP.
The Time System provides basic service for time handling. It
includes:
Abstract API to access time information in ISO format [RD01
- 8.1.2. API] and to perform time conversion, arithmetic and
formatting [RD01 - 5.3.1.
Time conversion] to/from various time systems (UTC, TAIā¦).
An abstract API for synchronization between applications based on
array time.
Applications can create instances of the timer class and register
callbacks to be executed when the timer event is triggered
Timers can be periodic (retriggerable) or oneshot
events
Absolute Time is internally represented in 100 ns since
1582-10-15 00:00:00, based on the OMG Time Service Specification. An
IDL typedef is used to define the Time type:
typedef unsigned long long Time;
A TimeInterval is defined as the difference between two absolute
time points:
typedef long long TimeInterval;
ISO format will be used "internally" whenever a string
representation of time is needed. At User Interface level, more
formats might be required. We provide now only ISO format. Users can
request more formats via the Change Request SPR mechanism.