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