Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
76146b3d
Commit
76146b3d
authored
Oct 30, 2016
by
Paul Sokolovsky
Browse files
extmod/utime_mphal: Allow ticks functions period be configurable by a port.
Using MICROPY_PY_UTIME_TICKS_PERIOD config var.
parent
1ba4db56
Changes
2
Hide whitespace changes
Inline
Side-by-side
extmod/utime_mphal.c
View file @
76146b3d
...
...
@@ -71,17 +71,17 @@ STATIC mp_obj_t time_sleep_us(mp_obj_t arg) {
MP_DEFINE_CONST_FUN_OBJ_1
(
mp_utime_sleep_us_obj
,
time_sleep_us
);
STATIC
mp_obj_t
time_ticks_ms
(
void
)
{
return
MP_OBJ_NEW_SMALL_INT
(
mp_hal_ticks_ms
()
&
MP_SMALL_INT_POSITIVE_MASK
);
return
MP_OBJ_NEW_SMALL_INT
(
mp_hal_ticks_ms
()
&
(
MICROPY_PY_UTIME_TICKS_PERIOD
-
1
)
);
}
MP_DEFINE_CONST_FUN_OBJ_0
(
mp_utime_ticks_ms_obj
,
time_ticks_ms
);
STATIC
mp_obj_t
time_ticks_us
(
void
)
{
return
MP_OBJ_NEW_SMALL_INT
(
mp_hal_ticks_us
()
&
MP_SMALL_INT_POSITIVE_MASK
);
return
MP_OBJ_NEW_SMALL_INT
(
mp_hal_ticks_us
()
&
(
MICROPY_PY_UTIME_TICKS_PERIOD
-
1
)
);
}
MP_DEFINE_CONST_FUN_OBJ_0
(
mp_utime_ticks_us_obj
,
time_ticks_us
);
STATIC
mp_obj_t
time_ticks_cpu
(
void
)
{
return
MP_OBJ_NEW_SMALL_INT
(
mp_hal_ticks_cpu
()
&
MP_SMALL_INT_POSITIVE_MASK
);
return
MP_OBJ_NEW_SMALL_INT
(
mp_hal_ticks_cpu
()
&
(
MICROPY_PY_UTIME_TICKS_PERIOD
-
1
)
);
}
MP_DEFINE_CONST_FUN_OBJ_0
(
mp_utime_ticks_cpu_obj
,
time_ticks_cpu
);
...
...
@@ -97,7 +97,7 @@ STATIC mp_obj_t time_ticks_add(mp_obj_t ticks_in, mp_obj_t delta_in) {
// we assume that first argument come from ticks_xx so is small int
uint32_t
ticks
=
MP_OBJ_SMALL_INT_VALUE
(
ticks_in
);
uint32_t
delta
=
(
uint32_t
)
mp_obj_get_int
(
delta_in
);
return
MP_OBJ_NEW_SMALL_INT
((
ticks
+
delta
)
&
MP_SMALL_INT_POSITIVE_MASK
);
return
MP_OBJ_NEW_SMALL_INT
((
ticks
+
delta
)
&
(
MICROPY_PY_UTIME_TICKS_PERIOD
-
1
)
);
}
MP_DEFINE_CONST_FUN_OBJ_2
(
mp_utime_ticks_add_obj
,
time_ticks_add
);
...
...
py/mpconfig.h
View file @
76146b3d
...
...
@@ -866,6 +866,16 @@ typedef double mp_float_t;
#define MICROPY_PY_UTIME_MP_HAL (0)
#endif
// Period of values returned by utime.ticks_ms(), ticks_us(), ticks_cpu()
// functions. Should be power of two. All functions above use the same
// period, so if underlying hardware/API has different periods, the
// minimum of them should be used. The value below is the maximum value
// this parameter can take (corresponding to 30 bit tick values on 32-bit
// system).
#ifndef MICROPY_PY_UTIME_TICKS_PERIOD
#define MICROPY_PY_UTIME_TICKS_PERIOD (MP_SMALL_INT_POSITIVE_MASK + 1)
#endif
// Whether to provide "_thread" module
#ifndef MICROPY_PY_THREAD
#define MICROPY_PY_THREAD (0)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment