Clk_TS_ToTS_Unix

Clk_TS_ToTS_Unix

Convert Clock timestamp to Unix timestamp.

Files

clk.h/clk.c

Prototype

CPU_BOOLEAN Clk_TS_ToTS_Unix (CLK_TS_SEC ts_sec, CLK_TS_SEC *p_ts_unix_sec);

Arguments

ts_sec

Timestamp to convert.

p_ts_unix_sec

Pointer to variable that will receive the Unix timestamp:

In seconds UTC+00, if no errors;
CLK_TS_SEC_NONE, otherwise.

Returned Values

DEF_OK, if timestamp successfully converted.

DEF_FAIL, otherwise.

Required Configuration

Available only if CLK_CFG_UNIX_EN is DEF_ENABLED in clk_cfg.h (see Module Configuration).

Notes / Warnings

Returned timestamp does not include any time zone offset. Thus any local time zone offset should be applied before or after calling Clk_TS_ToTS_Unix().

Only years supported by Clock and Unix can be converted, thus the timestamp date must be greater than or equal to CLK_EPOCH_YR_START and less than CLK_UNIX_EPOCH_YR_END.

Example Usage

Listing - Clk_TS_ToTS_Unix() Example Usage
CLK_TS_SEC ts_sec; CLK_TS_SEC ts_unix_sec; CPU_BOOLEAN valid; ts_sec = 0; valid = Clk_TS_ToTS_Unix(ts_sec, &ts_unix_sec); if (valid == DEF_OK) { printf("Timestamp = %u", ts_unix_sec); } else { printf("Convert timestamp error\n\r"); }