cc3200: Add make_new method to the RTC, like in stmhal.
This commit is contained in:
parent
5a0c5f8fea
commit
fca3493442
@ -266,7 +266,7 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MICROPY_HW_ENABLE_RTC
|
#if MICROPY_HW_ENABLE_RTC
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_RTC), (mp_obj_t)&pyb_rtc_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_RTC), (mp_obj_t)&pyb_rtc_type },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_Pin), (mp_obj_t)&pin_type },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_Pin), (mp_obj_t)&pin_type },
|
||||||
|
@ -71,6 +71,7 @@ typedef struct {
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
STATIC pybrtc_data_t pybrtc_data;
|
STATIC pybrtc_data_t pybrtc_data;
|
||||||
STATIC const mp_cb_methods_t pybrtc_cb_methods;
|
STATIC const mp_cb_methods_t pybrtc_cb_methods;
|
||||||
|
STATIC const mp_obj_base_t pyb_rtc_obj = {&pyb_rtc_type};
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
DECLARE PUBLIC FUNCTIONS
|
DECLARE PUBLIC FUNCTIONS
|
||||||
@ -123,6 +124,16 @@ STATIC void pyb_rtc_callback_enable (mp_obj_t self_in) {
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
// Micro Python bindings
|
// Micro Python bindings
|
||||||
|
|
||||||
|
/// \classmethod \constructor()
|
||||||
|
/// Create an RTC object.
|
||||||
|
STATIC mp_obj_t pyb_rtc_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) {
|
||||||
|
// check arguments
|
||||||
|
mp_arg_check_num(n_args, n_kw, 0, 0, false);
|
||||||
|
|
||||||
|
// return constant object
|
||||||
|
return (mp_obj_t)&pyb_rtc_obj;
|
||||||
|
}
|
||||||
|
|
||||||
/// \method datetime([datetimetuple])
|
/// \method datetime([datetimetuple])
|
||||||
/// Get or set the date and time of the RTC.
|
/// Get or set the date and time of the RTC.
|
||||||
///
|
///
|
||||||
@ -235,9 +246,10 @@ STATIC const mp_map_elem_t pyb_rtc_locals_dict_table[] = {
|
|||||||
};
|
};
|
||||||
STATIC MP_DEFINE_CONST_DICT(pyb_rtc_locals_dict, pyb_rtc_locals_dict_table);
|
STATIC MP_DEFINE_CONST_DICT(pyb_rtc_locals_dict, pyb_rtc_locals_dict_table);
|
||||||
|
|
||||||
STATIC const mp_obj_type_t pyb_rtc_type = {
|
const mp_obj_type_t pyb_rtc_type = {
|
||||||
{ &mp_type_type },
|
{ &mp_type_type },
|
||||||
.name = MP_QSTR_RTC,
|
.name = MP_QSTR_RTC,
|
||||||
|
.make_new = pyb_rtc_make_new,
|
||||||
.locals_dict = (mp_obj_t)&pyb_rtc_locals_dict,
|
.locals_dict = (mp_obj_t)&pyb_rtc_locals_dict,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -246,5 +258,3 @@ STATIC const mp_cb_methods_t pybrtc_cb_methods = {
|
|||||||
.enable = pyb_rtc_callback_enable,
|
.enable = pyb_rtc_callback_enable,
|
||||||
.disable = pyb_rtc_callback_disable,
|
.disable = pyb_rtc_callback_disable,
|
||||||
};
|
};
|
||||||
|
|
||||||
const mp_obj_base_t pyb_rtc_obj = {&pyb_rtc_type};
|
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#define RTC_U16MS_CYCLES(msec) ((msec * 1024) / 1000)
|
#define RTC_U16MS_CYCLES(msec) ((msec * 1024) / 1000)
|
||||||
#define RTC_CYCLES_U16MS(cycles) ((cycles * 1000) / 1024)
|
#define RTC_CYCLES_U16MS(cycles) ((cycles * 1000) / 1024)
|
||||||
|
|
||||||
extern const mp_obj_base_t pyb_rtc_obj;
|
extern const mp_obj_type_t pyb_rtc_type;
|
||||||
|
|
||||||
void pybrtc_init(void);
|
void pybrtc_init(void);
|
||||||
void pyb_rtc_callback_disable (mp_obj_t self_in);
|
void pyb_rtc_callback_disable (mp_obj_t self_in);
|
||||||
|
Loading…
Reference in New Issue
Block a user