2525 */
2626
2727#include "shared-bindings/gnss/GNSS.h"
28+ #include "shared-bindings/time/__init__.h"
2829#include "shared-bindings/util.h"
2930
3031#include "py/objproperty.h"
@@ -170,6 +171,25 @@ const mp_obj_property_t gnss_altitude_obj = {
170171 (mp_obj_t )& mp_const_none_obj },
171172};
172173
174+ //| timestamp: Any = ...
175+ //| """Time when the position data was updated."""
176+ //|
177+ STATIC mp_obj_t gnss_obj_get_timestamp (mp_obj_t self_in ) {
178+ gnss_obj_t * self = MP_OBJ_TO_PTR (self_in );
179+ check_for_deinit (self );
180+ timeutils_struct_time_t tm ;
181+ common_hal_gnss_get_timestamp (self , & tm );
182+ return struct_time_from_tm (& tm );
183+ }
184+ MP_DEFINE_CONST_FUN_OBJ_1 (gnss_get_timestamp_obj , gnss_obj_get_timestamp );
185+
186+ const mp_obj_property_t gnss_timestamp_obj = {
187+ .base .type = & mp_type_property ,
188+ .proxy = {(mp_obj_t )& gnss_get_timestamp_obj ,
189+ (mp_obj_t )& mp_const_none_obj ,
190+ (mp_obj_t )& mp_const_none_obj },
191+ };
192+
173193//| fix: Any = ...
174194//| """Fix mode."""
175195//|
@@ -194,6 +214,7 @@ STATIC const mp_rom_map_elem_t gnss_locals_dict_table[] = {
194214 { MP_ROM_QSTR (MP_QSTR_latitude ), MP_ROM_PTR (& gnss_latitude_obj ) },
195215 { MP_ROM_QSTR (MP_QSTR_longitude ), MP_ROM_PTR (& gnss_longitude_obj ) },
196216 { MP_ROM_QSTR (MP_QSTR_altitude ), MP_ROM_PTR (& gnss_altitude_obj ) },
217+ { MP_ROM_QSTR (MP_QSTR_timestamp ), MP_ROM_PTR (& gnss_timestamp_obj ) },
197218 { MP_ROM_QSTR (MP_QSTR_fix ), MP_ROM_PTR (& gnss_fix_obj ) }
198219};
199220STATIC MP_DEFINE_CONST_DICT (gnss_locals_dict , gnss_locals_dict_table );
0 commit comments