summaryrefslogtreecommitdiffstatshomepage
path: root/extmod/machine_signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'extmod/machine_signal.c')
-rw-r--r--extmod/machine_signal.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/extmod/machine_signal.c b/extmod/machine_signal.c
index fb179c438c..de6c3ff320 100644
--- a/extmod/machine_signal.c
+++ b/extmod/machine_signal.c
@@ -92,8 +92,22 @@ STATIC mp_obj_t signal_value(size_t n_args, const mp_obj_t *args) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(signal_value_obj, 1, 2, signal_value);
+STATIC mp_obj_t signal_on(mp_obj_t self_in) {
+ mp_virtual_pin_write(self_in, 1);
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(signal_on_obj, signal_on);
+
+STATIC mp_obj_t signal_off(mp_obj_t self_in) {
+ mp_virtual_pin_write(self_in, 0);
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(signal_off_obj, signal_off);
+
STATIC const mp_rom_map_elem_t signal_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_value), MP_ROM_PTR(&signal_value_obj) },
+ { MP_ROM_QSTR(MP_QSTR_on), MP_ROM_PTR(&signal_on_obj) },
+ { MP_ROM_QSTR(MP_QSTR_off), MP_ROM_PTR(&signal_off_obj) },
};
STATIC MP_DEFINE_CONST_DICT(signal_locals_dict, signal_locals_dict_table);