#include "onepy_dev_led.h"#include "../onepy_m_d_shared.h"static void onepy_led_print(const mp_print_t *print, mp_obj_t self_in,mp_print_kind_t kind) {onepy_device_led_t *led = (onepy_device_led_t *)self_in;mp_printf(print, "<pin:%d, status:%s>", led->pin,led->open_flag ? "opened" : "closed");return;}static mp_obj_t onepy_led_make_new(const mp_obj_type_t *type, size_t n_args,size_t n_kw, const mp_obj_t *args) {mp_arg_check_num(n_args, n_kw, 1, 1, false);onepy_device_led_t *led = m_new_obj(onepy_device_led_t);led->base.type = &onepy_device_led_type;led->pin = mp_obj_get_int(args[0]);ONEPY_CLOSE(led);return (mp_obj_t)led;}static mp_obj_t onepy_dev_led_init(mp_obj_t self_in) {ONEPY_IS_ALREADY_OPENED((onepy_device_led_t *)self_in);onepy_led_ctrl(((onepy_device_led_t *)self_in)->pin, ONEPY_LED_INIT, NULL);ONEPY_OPEN((onepy_device_led_t *)self_in);return mp_const_none;}MP_DEFINE_CONST_FUN_OBJ_1(onepy_dev_led_init_obj, onepy_dev_led_init);static mp_obj_t onepy_dev_led_deinit(mp_obj_t self_in) {ONEPY_DEINIT(self_in, onepy_device_led_t, onepy_led_ctrl,((onepy_device_led_t *)self_in)->pin, ONEPY_LED_DEINIT, NULL);return mp_const_none;}MP_DEFINE_CONST_FUN_OBJ_1(onepy_dev_led_deinit_obj, onepy_dev_led_deinit);static mp_obj_t onepy_dev_led_open(mp_obj_t self_in) {ONEPY_CHECK_OPEN_ERROR(self_in, onepy_device_led_t, "LED");onepy_led_ctrl(((onepy_device_led_t *)self_in)->pin, ONEPY_LED_ENABLE, NULL);return mp_const_none;}MP_DEFINE_CONST_FUN_OBJ_1(onepy_dev_led_open_obj, onepy_dev_led_open);static mp_obj_t onepy_dev_led_close(mp_obj_t self_in) {ONEPY_CHECK_OPEN_ERROR(self_in, onepy_device_led_t, "LED");onepy_led_ctrl(((onepy_device_led_t *)self_in)->pin, ONEPY_LED_DISABLE, NULL);return mp_const_none;}MP_DEFINE_CONST_FUN_OBJ_1(onepy_dev_led_close_obj, onepy_dev_led_close);static mp_obj_t onepy_dev_led_get_pin(mp_obj_t self_in) {ONEPY_GET_PROPERTY_WITH_RETURN(self_in, onepy_device_led_t,MP_OBJ_NEW_SMALL_INT, pin, "LED");}MP_DEFINE_CONST_FUN_OBJ_1(onepy_dev_led_get_pin_obj, onepy_dev_led_get_pin);static const mp_rom_map_elem_t onepy_device_g_led_table[] = {{MP_ROM_QSTR(MP_QSTR_init), MP_ROM_PTR(&onepy_dev_led_init_obj)},{MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&onepy_dev_led_deinit_obj)},{MP_ROM_QSTR(MP_QSTR_open), MP_ROM_PTR(&onepy_dev_led_open_obj)},{MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&onepy_dev_led_close_obj)},{MP_ROM_QSTR(MP_QSTR_pin), MP_ROM_PTR(&onepy_dev_led_get_pin_obj)},};static MP_DEFINE_CONST_DICT(onepy_device_led_dict, onepy_device_g_led_table);const mp_obj_type_t onepy_device_led_type = {{&mp_type_type},.name = MP_QSTR_LED,.print = onepy_led_print,.make_new = onepy_led_make_new,.locals_dict = (mp_obj_dict_t *)&onepy_device_led_dict,};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。