Commit Graph

55 Commits

Author SHA1 Message Date
Xiang Xiao
985f33e42c time.h: Sprinkle strftime format attribute
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-13 16:39:24 +08:00
chao.an
8ac184633b clock/time: add CLOCK_BOOTTIME definition
Change-Id: I1adc0445dcdd8284d11aec44bd67b447b2b0490f
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-10 06:40:47 -06:00
chao.an
06e78dc883 libc/time: redirect timegm(3) to mktime(3)
See the reference here:
https://man7.org/linux/man-pages/man3/timegm.3.html

Change-Id: Ic583b1bd5c7da02086aef7ff043003e402faa4d4
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-09-19 01:04:17 -07:00
chao.an
b8fa1e51d8 time/tm: add "tm_zone" member into tm
base/time/time_exploded_posix.cc:190:14: error: ‘struct tm’ has no member named ‘tm_zone’; did you mean ‘tm_mon’?
  190 |   timestruct.tm_zone = nullptr;  // not a POSIX field, so mktime/timegm ignore
      |              ^~~~~~~
      |              tm_mon

Change-Id: I9f93e63b50c0692a7a2bfc47abd9d07aa2c8e8db
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-09-18 20:03:05 -07:00
Xiang Xiao
6670bc2b27 libc/time: Implement tm::tm_gmtoff field
defined by BSD and GNU library extension:
https://www.gnu.org/software/libc/manual/html_node/Broken_002ddown-Time.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I33113bc322f038a3602880db4fb9cf93001947ac
2020-08-21 07:48:52 -03:00
Xiang Xiao
e1ecb3e27c libc: Don't define localtime[_r] to macro when CONFIG_LIBC_LOCALTIME not define
since libc++ declare these function in ctime by:
using ::localtime[_r];

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic0bb68b44c0cab838ab7cc34baee2aaa3ca8a9b5
2020-07-19 19:35:21 -07:00
Xiang Xiao
60fe0a0f96 libc: Refine the inline handling
1.Remove CONFIG_HAVE_INLINE macro
2.Change the ANSI C function to normal function
3.Other simple non ANSI function to macro

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-04 11:10:29 +09:00
Xiang Xiao
a7174cee30 libc: Unify the selection of inline or macro
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I44a26550ff856af07d2d96a6f0a6066f988d6da3
2020-06-02 09:32:25 -06:00
Xiang Xiao
d1343df68f libc/time: Implement timespec_get for C11
https://en.cppreference.com/w/c/chrono/timespec_get

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I3eb19c687cb0dc905380b10c931d66e8bb20ac55
2020-06-01 07:10:50 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
Xiang Xiao
1e3f457c9e Remove TIME_EXTENDED option to more conform C standard
Gregory Nutt <gnutt@nuttx.org>

    Run all .c and .h files modified in this PR through nxstyle and correct all coding standard problems.

Xiang Xiao <xiaoxiang@xiaomi.com>

    Remove TIME_EXTENDED option to more conform C standard

    Note: the code/data size increment is small
2020-01-23 08:17:22 -06:00
Gregory Nutt
35ee844590 sched/signal/sig_nanosleep.c and libc/time/lib_nanosleep.c: Implement clock_nanosleep(). nanosleep() is now reduced to a libc wrapper around clock_nanosleep(). 2017-11-11 17:44:59 -06:00
Sebastien Lorquet
51596dc457 Updata difftime. Add a version of difftime for the case where the platform does not support type double 2016-08-25 08:00:50 -06:00
Sebastien Lorquet
a626ba5b70 libc/time: This commit adds the difftime() function. Since the function returns a double, I have isolated it in a CONFIG_LIBC_DIFFTIME option (It also depends on the toolchain-dependent CONFIG_HAVE_DOUBLE so is not available on tiny platforms). 2016-08-24 15:43:57 -06:00
Manuel Stühn
4350b0ba0c Move macros timeradd() and friends from time.h to sys/time.h. 2015-12-24 07:09:39 -06:00
Gregory Nutt
7110634a38 Trivial typo fix in a comment 2015-12-23 16:09:49 -06:00
Gregory Nutt
5d84cd5d11 Improve a few comments 2015-12-23 15:17:16 -06:00
Manuel Stühn
3002023798 time.h: Add timeradd(), timersub(), timerclear(), timerisset(), and timercmp() as macros. These are non-POSIX interfaces, but included in most BSD deriviatives, included Linux. From Manuel Stühn 2015-12-23 15:13:01 -06:00
Gregory Nutt
e5f27f5865 Fix some conditional compilation. CONFIG_LIBC_LOCALTIME should be checked in most of the same places wehre CONFIG_TIME_EXTENDED is checked 2015-11-25 12:51:45 -06:00
Gregory Nutt
bf9e1943a4 Clean up and review of header files for conformance to standards 2015-06-12 18:07:47 -06:00
Gregory Nutt
718d4d23ad Add asctime(), asctime_r(), ctime(), and ctime_r(). 2015-06-12 11:52:49 -06:00
Gregory Nutt
4608544f65 time.h: Add localtime prototypes; NSH: Correct test for gmtime_r return value 2015-04-21 09:26:18 -06:00
Gregory Nutt
f087e35676 A little localtime clean-up 2015-04-14 10:46:05 -06:00
Gregory Nutt
190c9adef0 Implements CONFIG_TIME_EXTENDED as we discussed relative to providing the last 3 members of the tm struct and support for filling them in and even using the wday in the STM32 RTC. From David Sidrane. 2015-04-08 06:56:43 -06:00
Gregory Nutt
0ec67181c9 Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/. 2015-04-01 12:37:44 -06:00
Gregory Nutt
60bdc27d25 Fix a couple of typos in recent commit. Found by David Sidrane 2015-02-17 19:21:07 -06:00
Gregory Nutt
f357897b6c Some files that now include sys/time.h should no longer include timer.h 2015-02-15 16:38:18 -06:00
Gregory Nutt
d6704a1cd7 Suffer the consequences of moving struct timeval to its correct location 2015-02-15 15:18:35 -06:00
Gregory Nutt
fd8d374bfe Move struct timveval from include/time.h to include/sys/time.h where it belongs. 2015-02-15 13:00:44 -06:00
Gregory Nutt
eed1d6c619 When reading the system timer, don't read a struct timespec, convert it to a fake tick count, then back to a timespec. Remove CLOCK_ACTIVETIME.. it is non-standard, unused, and gets in the way of changes like this 2014-08-15 03:55:41 -06:00
Gregory Nutt
7025465109 Adds support for localtime. From Max Neklyudov 2014-08-12 06:18:22 -06:00
Gregory Nutt
0aa7209765 Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK. This gives more options for system timers in general, but more importantly, let's us realize higher resolution for the case of CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new interger overvflow problems 2014-08-07 13:42:47 -06:00
Gregory Nutt
0daf30675c Fix conditional compilation for CLOCK_MONTONIC. From Manuel Stühn 2014-06-23 11:01:31 -06:00
Gregory Nutt
4f59bc5878 Add CONFIG_CLOCK_MONTONIC 2014-03-31 10:01:03 -06:00
Gregory Nutt
8772a4e104 Add support for CLOCK_MONOTONIC. From Macs N 2014-03-31 09:25:50 -06:00
Gregory Nutt
342e777029 Add nanosleep() 2013-12-12 20:12:33 -06:00
patacongo
387d4afebd Restore CLOCK_ACTIVETIME
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4009 42af7a65-404d-4744-a932-0658087f49c3
2011-10-03 12:21:20 +00:00
patacongo
1d9602b67b Add FAT date/time stamp
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4008 42af7a65-404d-4744-a932-0658087f49c3
2011-10-02 17:53:17 +00:00
patacongo
d8c4138e74 Remove support for UTC time; add support for 64-bit time
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4006 42af7a65-404d-4744-a932-0658087f49c3
2011-10-02 14:16:30 +00:00
patacongo
3f4af2fe30 Add support for lo- and hi-res RTC hardware
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4005 42af7a65-404d-4744-a932-0658087f49c3
2011-10-01 22:09:00 +00:00
patacongo
9ecda2e9fa More timer changes from Uros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3572 42af7a65-404d-4744-a932-0658087f49c3
2011-05-06 21:10:00 +00:00
patacongo
f96fb2fa03 Add rtc.h header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3493 42af7a65-404d-4744-a932-0658087f49c3
2011-04-12 14:14:47 +00:00
patacongo
21ae727f6f Add syscall directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3438 42af7a65-404d-4744-a932-0658087f49c3
2011-03-30 02:59:01 +00:00
patacongo
a117c6bc8e Add AVR32 system timer
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3021 42af7a65-404d-4744-a932-0658087f49c3
2010-10-16 02:15:50 +00:00
patacongo
eeec4073a9 Switching to C99 stdint.h types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2340 42af7a65-404d-4744-a932-0658087f49c3
2009-12-14 23:32:23 +00:00
patacongo
92b110e0e2 Changing NuttX fixed size type names to C99 standard names -- things will be broken for awhile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2335 42af7a65-404d-4744-a932-0658087f49c3
2009-12-14 15:46:55 +00:00
patacongo
49a834785b Add strftime
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1977 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 15:16:00 +00:00
patacongo
b32b7cb4b2 Add gmtime and localtime
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1976 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 00:41:06 +00:00
patacongo
cd37d9323a cosmetic updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1709 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:21:22 +00:00
patacongo
85911f6a9d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1256 42af7a65-404d-4744-a932-0658087f49c3
2008-11-16 16:36:30 +00:00