4
4
* The MIT License (MIT)
5
5
*
6
6
* Copyright (c) 2014-2017 Paul Sokolovsky
7
- * Copyright (c) 2014-2017 Damien P. George
7
+ * Copyright (c) 2014-2023 Damien P. George
8
8
*
9
9
* Permission is hereby granted, free of charge, to any person obtaining a copy
10
10
* of this software and associated documentation files (the "Software"), to deal
25
25
* THE SOFTWARE.
26
26
*/
27
27
28
- #include "py/mpconfig.h"
29
- #if MICROPY_PY_UTIME
30
-
31
28
#include <unistd.h>
32
29
#include <errno.h>
33
30
#include <string.h>
34
31
#include <time.h>
35
32
#include <sys/time.h>
36
33
#include <math.h>
37
34
38
- #include "py/runtime.h"
39
- #include "py/smallint.h"
40
35
#include "py/mphal.h"
41
- #include "extmod/modutime .h"
36
+ #include "py/runtime .h"
42
37
43
38
#ifdef _WIN32
44
39
static inline int msec_sleep_tv (struct timeval * tv ) {
@@ -66,7 +61,7 @@ static inline int msec_sleep_tv(struct timeval *tv) {
66
61
#error Unsupported clock() implementation
67
62
#endif
68
63
69
- STATIC mp_obj_t mod_time_time (void ) {
64
+ STATIC mp_obj_t mp_utime_time_get (void ) {
70
65
#if MICROPY_PY_BUILTINS_FLOAT && MICROPY_FLOAT_IMPL == MICROPY_FLOAT_IMPL_DOUBLE
71
66
struct timeval tv ;
72
67
gettimeofday (& tv , NULL );
@@ -76,7 +71,6 @@ STATIC mp_obj_t mod_time_time(void) {
76
71
return mp_obj_new_int ((mp_int_t )time (NULL ));
77
72
#endif
78
73
}
79
- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (mod_time_time_obj , mod_time_time );
80
74
81
75
// Note: this is deprecated since CPy3.3, but pystone still uses it.
82
76
STATIC mp_obj_t mod_time_clock (void ) {
@@ -91,7 +85,7 @@ STATIC mp_obj_t mod_time_clock(void) {
91
85
}
92
86
STATIC MP_DEFINE_CONST_FUN_OBJ_0 (mod_time_clock_obj , mod_time_clock );
93
87
94
- STATIC mp_obj_t mod_time_sleep (mp_obj_t arg ) {
88
+ STATIC mp_obj_t mp_utime_sleep (mp_obj_t arg ) {
95
89
#if MICROPY_PY_BUILTINS_FLOAT
96
90
struct timeval tv ;
97
91
mp_float_t val = mp_obj_get_float (arg );
@@ -130,7 +124,6 @@ STATIC mp_obj_t mod_time_sleep(mp_obj_t arg) {
130
124
#endif
131
125
return mp_const_none ;
132
126
}
133
- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (mod_time_sleep_obj , mod_time_sleep );
134
127
135
128
STATIC mp_obj_t mod_time_gm_local_time (size_t n_args , const mp_obj_t * args , struct tm * (* time_func )(const time_t * timep )) {
136
129
time_t t ;
@@ -207,31 +200,8 @@ STATIC mp_obj_t mod_time_mktime(mp_obj_t tuple) {
207
200
}
208
201
MP_DEFINE_CONST_FUN_OBJ_1 (mod_time_mktime_obj , mod_time_mktime );
209
202
210
- STATIC const mp_rom_map_elem_t mp_module_time_globals_table [] = {
211
- { MP_ROM_QSTR (MP_QSTR___name__ ), MP_ROM_QSTR (MP_QSTR_utime ) },
212
- { MP_ROM_QSTR (MP_QSTR_clock ), MP_ROM_PTR (& mod_time_clock_obj ) },
213
- { MP_ROM_QSTR (MP_QSTR_sleep ), MP_ROM_PTR (& mod_time_sleep_obj ) },
214
- { MP_ROM_QSTR (MP_QSTR_sleep_ms ), MP_ROM_PTR (& mp_utime_sleep_ms_obj ) },
215
- { MP_ROM_QSTR (MP_QSTR_sleep_us ), MP_ROM_PTR (& mp_utime_sleep_us_obj ) },
216
- { MP_ROM_QSTR (MP_QSTR_time ), MP_ROM_PTR (& mod_time_time_obj ) },
217
- { MP_ROM_QSTR (MP_QSTR_ticks_ms ), MP_ROM_PTR (& mp_utime_ticks_ms_obj ) },
218
- { MP_ROM_QSTR (MP_QSTR_ticks_us ), MP_ROM_PTR (& mp_utime_ticks_us_obj ) },
219
- { MP_ROM_QSTR (MP_QSTR_ticks_cpu ), MP_ROM_PTR (& mp_utime_ticks_cpu_obj ) },
220
- { MP_ROM_QSTR (MP_QSTR_ticks_add ), MP_ROM_PTR (& mp_utime_ticks_add_obj ) },
221
- { MP_ROM_QSTR (MP_QSTR_ticks_diff ), MP_ROM_PTR (& mp_utime_ticks_diff_obj ) },
222
- { MP_ROM_QSTR (MP_QSTR_time_ns ), MP_ROM_PTR (& mp_utime_time_ns_obj ) },
223
- { MP_ROM_QSTR (MP_QSTR_gmtime ), MP_ROM_PTR (& mod_time_gmtime_obj ) },
224
- { MP_ROM_QSTR (MP_QSTR_localtime ), MP_ROM_PTR (& mod_time_localtime_obj ) },
203
+ #define MICROPY_PY_UTIME_EXTRA_GLOBALS \
204
+ { MP_ROM_QSTR(MP_QSTR_clock), MP_ROM_PTR(&mod_time_clock_obj) }, \
205
+ { MP_ROM_QSTR(MP_QSTR_gmtime), MP_ROM_PTR(&mod_time_gmtime_obj) }, \
206
+ { MP_ROM_QSTR(MP_QSTR_localtime), MP_ROM_PTR(&mod_time_localtime_obj) }, \
225
207
{ MP_ROM_QSTR(MP_QSTR_mktime), MP_ROM_PTR(&mod_time_mktime_obj) },
226
- };
227
-
228
- STATIC MP_DEFINE_CONST_DICT (mp_module_time_globals , mp_module_time_globals_table );
229
-
230
- const mp_obj_module_t mp_module_time = {
231
- .base = { & mp_type_module },
232
- .globals = (mp_obj_dict_t * )& mp_module_time_globals ,
233
- };
234
-
235
- MP_REGISTER_MODULE (MP_QSTR_utime , mp_module_time );
236
-
237
- #endif // MICROPY_PY_UTIME
0 commit comments