mirror of
https://github.com/micropython/micropython.git
synced 2026-01-04 19:20:22 +01:00
rp2: Integrate RP2350 and use aon_timer instead of rtc API.
This commit separates various build settings and include files that are specific to RP2040 and RP2350, and uses the aon_timer interface instead of rtc, to work across both MCU variants. Signed-off-by: Damien George <damien@micropython.org> Signed-off-by: Phil Howard <phil@gadgetoid.com>
This commit is contained in:
committed by
Damien George
parent
27aeade832
commit
d2c85c74da
@@ -26,28 +26,30 @@
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "shared/timeutils/timeutils.h"
|
||||
#include "hardware/rtc.h"
|
||||
#include "pico/aon_timer.h"
|
||||
|
||||
// Return the localtime as an 8-tuple.
|
||||
static mp_obj_t mp_time_localtime_get(void) {
|
||||
datetime_t t;
|
||||
rtc_get_datetime(&t);
|
||||
struct timespec ts;
|
||||
aon_timer_get_time(&ts);
|
||||
timeutils_struct_time_t tm;
|
||||
timeutils_seconds_since_epoch_to_struct_time(ts.tv_sec, &tm);
|
||||
mp_obj_t tuple[8] = {
|
||||
mp_obj_new_int(t.year),
|
||||
mp_obj_new_int(t.month),
|
||||
mp_obj_new_int(t.day),
|
||||
mp_obj_new_int(t.hour),
|
||||
mp_obj_new_int(t.min),
|
||||
mp_obj_new_int(t.sec),
|
||||
mp_obj_new_int(t.dotw),
|
||||
mp_obj_new_int(timeutils_year_day(t.year, t.month, t.day)),
|
||||
mp_obj_new_int(tm.tm_year),
|
||||
mp_obj_new_int(tm.tm_mon),
|
||||
mp_obj_new_int(tm.tm_mday),
|
||||
mp_obj_new_int(tm.tm_hour),
|
||||
mp_obj_new_int(tm.tm_min),
|
||||
mp_obj_new_int(tm.tm_sec),
|
||||
mp_obj_new_int(tm.tm_wday),
|
||||
mp_obj_new_int(tm.tm_yday),
|
||||
};
|
||||
return mp_obj_new_tuple(8, tuple);
|
||||
}
|
||||
|
||||
// Return the number of seconds since the Epoch.
|
||||
static mp_obj_t mp_time_time_get(void) {
|
||||
datetime_t t;
|
||||
rtc_get_datetime(&t);
|
||||
return mp_obj_new_int_from_ull(timeutils_seconds_since_epoch(t.year, t.month, t.day, t.hour, t.min, t.sec));
|
||||
struct timespec ts;
|
||||
aon_timer_get_time(&ts);
|
||||
return mp_obj_new_int_from_ull(ts.tv_sec);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user