Skip to content

Commit

Permalink
mp utime
Browse files Browse the repository at this point in the history
  • Loading branch information
mvladic committed Dec 7, 2019
1 parent d202a13 commit 9bd70d7
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 5 deletions.
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -523,10 +523,12 @@ endif()

set(src_third_party_micropython_extmod
src/third_party/micropython/extmod/virtpin.c
src/third_party/micropython/extmod/utime_mphal.c
)
list (APPEND src_files ${src_third_party_micropython_extmod})
set(header_third_party_micropython_extmod
src/third_party/micropython/extmod/virtpin.h
src/third_party/micropython/extmod/utime_mphal.h
)
list (APPEND header_files ${header_third_party_micropython_extmod})
source_group("third_party\\micropython\\extmod" FILES ${src_third_party_micropython_extmod} ${header_third_party_micropython_extmod})
Expand Down Expand Up @@ -564,6 +566,12 @@ set(header_third_party_micropython_ports_bb3_mod_eez
list (APPEND header_files ${header_third_party_micropython_ports_bb3_mod_eez})
source_group("third_party\\micropython\\ports\\bb3\\modeez" FILES ${src_third_party_micropython_ports_bb3_mod_eez} ${header_third_party_micropython_ports_bb3_mod_eez})

set(src_third_party_micropython_ports_bb3_mod_utime
src/third_party/micropython/ports/bb3/mod/utime/modutime.c
)
list (APPEND src_files ${src_third_party_micropython_ports_bb3_mod_utime})
source_group("third_party\\micropython\\ports\\bb3\\utime" FILES ${src_third_party_micropython_ports_bb3_mod_utime})

set(src_third_party_micropython_py
src/third_party/micropython/py/argcheck.c
src/third_party/micropython/py/asmarm.c
Expand Down
5 changes: 5 additions & 0 deletions scripts/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import ustruct
import utime

print(ustruct.pack('hhl', 1, 2, 3))
print(utime.ticks_ms())
3 changes: 2 additions & 1 deletion src/third_party/micropython/ports/bare-arm/mpconfigport.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT)
#define MICROPY_USE_INTERNAL_PRINTF (0)

#define MICROPY_PY_UTIME_MP_HAL (1)
#define MICROPY_PY_UTIME (1)
#define MICROPY_PY_UTIME_MP_HAL (1)

// type definitions for the specific machine

Expand Down
8 changes: 8 additions & 0 deletions src/third_party/micropython/ports/bb3/genhdr/moduledefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,16 @@
#define MODULE_DEF_MP_QSTR_UARRAY
#endif

#if (MICROPY_PY_UTIME)
extern const struct _mp_obj_module_t mp_module_utime;
#define MODULE_DEF_MP_QSTR_UTIME { MP_ROM_QSTR(MP_QSTR_utime), MP_ROM_PTR(&mp_module_utime) },
#else
#define MODULE_DEF_MP_QSTR_UTIME
#endif


#define MICROPY_REGISTERED_MODULES \
MODULE_DEF_MP_QSTR_EEZ \
MODULE_DEF_MP_QSTR_UARRAY \
MODULE_DEF_MP_QSTR_UTIME \
// MICROPY_REGISTERED_MODULES
6 changes: 3 additions & 3 deletions src/third_party/micropython/ports/bb3/genhdr/mpversion.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was generated by py/makeversionhdr.py
#define MICROPY_GIT_TAG "919ff07-dirty"
#define MICROPY_GIT_HASH "919ff07-dirty"
#define MICROPY_BUILD_DATE "2019-12-04"
#define MICROPY_GIT_TAG "d202a13-dirty"
#define MICROPY_GIT_HASH "d202a13-dirty"
#define MICROPY_BUILD_DATE "2019-12-06"
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,15 @@ QDEF(MP_QSTR_pack_into, (const byte*)"\x1f\x09" "pack_into")
QDEF(MP_QSTR_pend_throw, (const byte*)"\xf3\x0a" "pend_throw")
QDEF(MP_QSTR_real, (const byte*)"\xbf\x04" "real")
QDEF(MP_QSTR_scpi, (const byte*)"\xec\x04" "scpi")
QDEF(MP_QSTR_sleep, (const byte*)"\xea\x05" "sleep")
QDEF(MP_QSTR_sleep_ms, (const byte*)"\x0b\x08" "sleep_ms")
QDEF(MP_QSTR_sleep_us, (const byte*)"\x13\x08" "sleep_us")
QDEF(MP_QSTR_ticks_add, (const byte*)"\x9d\x09" "ticks_add")
QDEF(MP_QSTR_ticks_cpu, (const byte*)"\x1a\x09" "ticks_cpu")
QDEF(MP_QSTR_ticks_diff, (const byte*)"\xb1\x0a" "ticks_diff")
QDEF(MP_QSTR_ticks_ms, (const byte*)"\x42\x08" "ticks_ms")
QDEF(MP_QSTR_ticks_us, (const byte*)"\x5a\x08" "ticks_us")
QDEF(MP_QSTR_unpack, (const byte*)"\x07\x06" "unpack")
QDEF(MP_QSTR_unpack_from, (const byte*)"\x0e\x0b" "unpack_from")
QDEF(MP_QSTR_ustruct, (const byte*)"\x47\x07" "ustruct")
QDEF(MP_QSTR_utime, (const byte*)"\xe5\x05" "utime")
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
EEZ_MOD_DIR := $(USERMOD_DIR)

# Add all C files to SRC_USERMOD.
SRC_USERMOD += $(EEZ_MOD_DIR)/modutime.c
57 changes: 57 additions & 0 deletions src/third_party/micropython/ports/bb3/mod/utime/modutime.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2013, 2014 Damien P. George
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/

#include <stdio.h>
#include <string.h>

#include "py/runtime.h"
#include "py/smallint.h"
#include "py/obj.h"
#include "extmod/utime_mphal.h"


STATIC const mp_rom_map_elem_t time_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_utime) },

{ MP_ROM_QSTR(MP_QSTR_sleep), MP_ROM_PTR(&mp_utime_sleep_obj) },
{ MP_ROM_QSTR(MP_QSTR_sleep_ms), MP_ROM_PTR(&mp_utime_sleep_ms_obj) },
{ MP_ROM_QSTR(MP_QSTR_sleep_us), MP_ROM_PTR(&mp_utime_sleep_us_obj) },
{ MP_ROM_QSTR(MP_QSTR_ticks_ms), MP_ROM_PTR(&mp_utime_ticks_ms_obj) },
{ MP_ROM_QSTR(MP_QSTR_ticks_us), MP_ROM_PTR(&mp_utime_ticks_us_obj) },
{ MP_ROM_QSTR(MP_QSTR_ticks_cpu), MP_ROM_PTR(&mp_utime_ticks_cpu_obj) },
{ MP_ROM_QSTR(MP_QSTR_ticks_add), MP_ROM_PTR(&mp_utime_ticks_add_obj) },
{ MP_ROM_QSTR(MP_QSTR_ticks_diff), MP_ROM_PTR(&mp_utime_ticks_diff_obj) },
};

STATIC MP_DEFINE_CONST_DICT(time_module_globals, time_module_globals_table);

const mp_obj_module_t mp_module_utime = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&time_module_globals,
};

// Register the module to make it available in Python
MP_REGISTER_MODULE(MP_QSTR_utime, mp_module_utime, MICROPY_PY_UTIME);
3 changes: 2 additions & 1 deletion src/third_party/micropython/ports/bb3/mpconfigport.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT)
#define MICROPY_USE_INTERNAL_PRINTF (0)

#define MICROPY_PY_UTIME_MP_HAL (1)
#define MICROPY_PY_UTIME (1)
#define MICROPY_PY_UTIME_MP_HAL (1)

// type definitions for the specific machine

Expand Down

0 comments on commit 9bd70d7

Please sign in to comment.