1+ /*
2+ * This file is part of the MicroPython project, http://micropython.org/
3+ *
4+ * The MIT License (MIT)
5+ *
6+ * Copyright (c) 2013, 2014 Damien P. George
7+ *
8+ * Permission is hereby granted, free of charge, to any person obtaining a copy
9+ * of this software and associated documentation files (the "Software"), to deal
10+ * in the Software without restriction, including without limitation the rights
11+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+ * copies of the Software, and to permit persons to whom the Software is
13+ * furnished to do so, subject to the following conditions:
14+ *
15+ * The above copyright notice and this permission notice shall be included in
16+ * all copies or substantial portions of the Software.
17+ *
18+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24+ * THE SOFTWARE.
25+ */
26+
27+ #include <stdio.h>
28+ #include <string.h>
29+
30+ #include "py/runtime.h"
31+ #include "py/smallint.h"
32+ #include "py/obj.h"
33+ #include "extmod/utime_mphal.h"
34+
35+
36+ STATIC const mp_rom_map_elem_t time_module_globals_table [] = {
37+ { MP_ROM_QSTR (MP_QSTR___name__ ), MP_ROM_QSTR (MP_QSTR_utime ) },
38+
39+ { MP_ROM_QSTR (MP_QSTR_sleep ), MP_ROM_PTR (& mp_utime_sleep_obj ) },
40+ { MP_ROM_QSTR (MP_QSTR_sleep_ms ), MP_ROM_PTR (& mp_utime_sleep_ms_obj ) },
41+ { MP_ROM_QSTR (MP_QSTR_sleep_us ), MP_ROM_PTR (& mp_utime_sleep_us_obj ) },
42+ { MP_ROM_QSTR (MP_QSTR_ticks_ms ), MP_ROM_PTR (& mp_utime_ticks_ms_obj ) },
43+ { MP_ROM_QSTR (MP_QSTR_ticks_us ), MP_ROM_PTR (& mp_utime_ticks_us_obj ) },
44+ { MP_ROM_QSTR (MP_QSTR_ticks_cpu ), MP_ROM_PTR (& mp_utime_ticks_cpu_obj ) },
45+ { MP_ROM_QSTR (MP_QSTR_ticks_add ), MP_ROM_PTR (& mp_utime_ticks_add_obj ) },
46+ { MP_ROM_QSTR (MP_QSTR_ticks_diff ), MP_ROM_PTR (& mp_utime_ticks_diff_obj ) },
47+ };
48+
49+ STATIC MP_DEFINE_CONST_DICT (time_module_globals , time_module_globals_table );
50+
51+ const mp_obj_module_t mp_module_utime = {
52+ .base = { & mp_type_module },
53+ .globals = (mp_obj_dict_t * )& time_module_globals ,
54+ };
55+
56+ // Register the module to make it available in Python
57+ MP_REGISTER_MODULE (MP_QSTR_utime , mp_module_utime , MICROPY_PY_UTIME );
0 commit comments