@@ -69,26 +69,22 @@ void time_deinit(void) {
6969
7070// Convert a time expressed in seconds since the Epoch into an 8-tuple which
7171// contains: (year, month, mday, hour, minute, second, weekday, yearday)
72- static mp_obj_t mp_time_localtime_get (void ) {
72+ static void mp_time_localtime_get (timeutils_struct_time_t * time ) {
7373 struct tm current_date_time = {0 };
7474 cy_rslt_t result = cyhal_rtc_read (& psoc6_rtc , & current_date_time );
7575
7676 if (CY_RSLT_SUCCESS != result ) {
7777 mp_raise_ValueError (MP_ERROR_TEXT ("cyhal_rtc_read failed !" ));
7878 }
7979
80- mp_obj_t tuple [8 ] = {
81- mp_obj_new_int (current_date_time .tm_year ),
82- mp_obj_new_int (current_date_time .tm_mon ),
83- mp_obj_new_int (current_date_time .tm_mday ),
84- mp_obj_new_int (current_date_time .tm_hour ),
85- mp_obj_new_int (current_date_time .tm_min ),
86- mp_obj_new_int (current_date_time .tm_sec ),
87- mp_obj_new_int (current_date_time .tm_wday ),
88- mp_obj_new_int (timeutils_year_day (current_date_time .tm_year , current_date_time .tm_mon , current_date_time .tm_mday )),
89- };
90-
91- return mp_obj_new_tuple (8 , tuple );
80+ time -> tm_year = current_date_time .tm_year ;
81+ time -> tm_mon = current_date_time .tm_mon ;
82+ time -> tm_mday = current_date_time .tm_mday ;
83+ time -> tm_hour = current_date_time .tm_hour ;
84+ time -> tm_min = current_date_time .tm_min ;
85+ time -> tm_sec = current_date_time .tm_sec ;
86+ time -> tm_wday = current_date_time .tm_wday ;
87+ time -> tm_yday = timeutils_year_day (current_date_time .tm_year , current_date_time .tm_mon , current_date_time .tm_mday );
9288}
9389
9490// time()
0 commit comments