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
57884996
Commit
57884996
authored
Dec 28, 2015
by
Damien George
Committed by
Paul Sokolovsky
Mar 04, 2016
Browse files
esp8266: Add time.{sleep_ms,sleep_us,ticks_ms,ticks_us,ticks_diff}.
Framework for time.ticks_cpu added, but not implemented.
parent
b41a14a4
Changes
2
Hide whitespace changes
Inline
Side-by-side
esp8266/modutime.c
View file @
57884996
...
...
@@ -33,6 +33,7 @@
#include "py/gc.h"
#include "py/runtime.h"
#include "py/mphal.h"
#include "py/smallint.h"
#include "modpyb.h"
#include "modpybrtc.h"
#include "timeutils.h"
...
...
@@ -106,6 +107,42 @@ STATIC mp_obj_t time_sleep(mp_obj_t seconds_o) {
}
MP_DEFINE_CONST_FUN_OBJ_1
(
time_sleep_obj
,
time_sleep
);
STATIC
mp_obj_t
time_sleep_ms
(
mp_obj_t
arg
)
{
mp_hal_delay_ms
(
mp_obj_get_int
(
arg
));
return
mp_const_none
;
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_1
(
time_sleep_ms_obj
,
time_sleep_ms
);
STATIC
mp_obj_t
time_sleep_us
(
mp_obj_t
arg
)
{
mp_hal_delay_us
(
mp_obj_get_int
(
arg
));
return
mp_const_none
;
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_1
(
time_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
);
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_0
(
time_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
);
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_0
(
time_ticks_us_obj
,
time_ticks_us
);
STATIC
mp_obj_t
time_ticks_cpu
(
void
)
{
// TODO
return
MP_OBJ_NEW_SMALL_INT
(
0
&
MP_SMALL_INT_POSITIVE_MASK
);
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_0
(
time_ticks_cpu_obj
,
time_ticks_cpu
);
STATIC
mp_obj_t
time_ticks_diff
(
mp_obj_t
start_in
,
mp_obj_t
end_in
)
{
// we assume that the arguments come from ticks_xx so are small ints
uint32_t
start
=
MP_OBJ_SMALL_INT_VALUE
(
start_in
);
uint32_t
end
=
MP_OBJ_SMALL_INT_VALUE
(
end_in
);
return
MP_OBJ_NEW_SMALL_INT
((
end
-
start
)
&
MP_SMALL_INT_POSITIVE_MASK
);
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_2
(
time_ticks_diff_obj
,
time_ticks_diff
);
/// \function time()
/// Returns the number of seconds, as an integer, since 1/1/2000.
STATIC
mp_obj_t
time_time
(
void
)
{
...
...
@@ -120,6 +157,12 @@ STATIC const mp_map_elem_t time_module_globals_table[] = {
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_localtime
),
(
mp_obj_t
)
&
time_localtime_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_mktime
),
(
mp_obj_t
)
&
time_mktime_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_sleep
),
(
mp_obj_t
)
&
time_sleep_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_sleep_ms
),
(
mp_obj_t
)
&
time_sleep_ms_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_sleep_us
),
(
mp_obj_t
)
&
time_sleep_us_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_ticks_ms
),
(
mp_obj_t
)
&
time_ticks_ms_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_ticks_us
),
(
mp_obj_t
)
&
time_ticks_us_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_ticks_cpu
),
(
mp_obj_t
)
&
time_ticks_cpu_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_ticks_diff
),
(
mp_obj_t
)
&
time_ticks_diff_obj
},
{
MP_OBJ_NEW_QSTR
(
MP_QSTR_time
),
(
mp_obj_t
)
&
time_time_obj
},
};
...
...
esp8266/qstrdefsport.h
View file @
57884996
...
...
@@ -140,4 +140,10 @@ Q(utime)
Q
(
localtime
)
Q
(
mktime
)
Q
(
sleep
)
Q
(
sleep_ms
)
Q
(
sleep_us
)
Q
(
ticks_ms
)
Q
(
ticks_us
)
Q
(
ticks_cpu
)
Q
(
ticks_diff
)
Q
(
time
)
Write
Preview
Markdown
is supported
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