1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34
35 package ti.sysbios.interfaces;
36
37 import xdc.runtime.Types;
38
39 /*!
40 * ======== ITimestamp ========
41 * Timestamp Interface
42 *
43 * This interface defines the methods used by client applications to
44 * get timestamp values. It is implemented by the
45 * `{@link xdc.runtime.Timestamp Timestamp}` module.
46 */
47 interface ITimestamp inherits xdc.runtime.ITimestampProvider
48 {
49 /*!
50 * ======== getFreqMeta ========
51 * Get timestamp frequency in Hz.
52 *
53 * @_nodoc
54 * This function is currently used by UIA and is called in the
55 * UIAMetaData validate() function.
56 */
57 metaonly Types.FreqHz getFreqMeta();
58
59 /*!
60 * ======== get32 ========
61 * Return a 32-bit timestamp
62 *
63 * @a(returns)
64 * Returns a 32-bit timestamp value.
65 * Use `{@link #getFreq}` to convert this value into units of real time.
66 *
67 * @see #get64
68 */
69 override Bits32 get32();
70
71 /*!
72 * ======== get64 ========
73 * Return a 64-bit timestamp
74 *
75 * @param(result) pointer to 64-bit result
76 *
77 * This parameter is a pointer to a structure representing a 64-bit
78 * wide timestamp value where the current timestamp is written.
79 *
80 * If the underlying hardware does not support 64-bit resolution, the
81 * `hi` field of `result` is always set to 0; see
82 * `{@link xdc.runtime.Types#Timestamp64}`. So, it is possible for
83 * the `lo` field to wrap around without any change to the `hi` field.
84 * Use `{@link #getFreq}` to convert this value into units of real
85 * time.
86 *
87 * @see #get32
88 */
89 override Void get64(xdc.runtime.Types.Timestamp64 *result);
90
91 /*!
92 * ======== getFreq ========
93 * Get the timestamp timer's frequency (in Hz)
94 *
95 * @param(freq) pointer to a 64-bit result
96 *
97 * This parameter is a pointer to a structure representing a 64-bit
98 * wide frequency value where the timer's frequency (in Hz)
99 * is written; see `{@link xdc.runtime.Types#FreqHz}`.
100 * This function provides a way of converting timestamp
101 * values into units of real time.
102 *
103 * @see #get32
104 * @see #get64
105 */
106 override Void getFreq(xdc.runtime.Types.FreqHz *freq);
107 }