Skip to content

Commit c9843c3

Browse files
IhorNehrutsajimmo
authored andcommitted
extmod/machine_signal: Add signal_print() as repr() function.
Test code is: ``` from machine import Pin, Signal signal22= Signal(Pin(22, mode=Pin.OUT)) signal22 signal21= Signal(Pin(21, mode=Pin.IN), invert=True) signal21 ``` Ounput is: ``` Signal(Pin(22)) Signal(Pin(21), invert=True) ``` instead of ``` <Signal> <Signal> ``` Co-Authored-By: Jim Mussared <[email protected]> Signed-off-by: IhorNehrutsa <[email protected]>
1 parent a00c9d5 commit c9843c3

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

extmod/machine_signal.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,16 @@ STATIC mp_obj_t signal_make_new(const mp_obj_type_t *type, size_t n_args, size_t
113113
return MP_OBJ_FROM_PTR(o);
114114
}
115115

116+
STATIC void signal_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
117+
machine_signal_t *self = MP_OBJ_TO_PTR(self_in);
118+
mp_printf(print, "Signal(");
119+
mp_obj_print_helper(print, self->pin, PRINT_STR);
120+
if (self->invert) {
121+
mp_printf(print, ", invert=True");
122+
}
123+
mp_printf(print, ")");
124+
}
125+
116126
STATIC mp_uint_t signal_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_t arg, int *errcode) {
117127
(void)errcode;
118128
machine_signal_t *self = MP_OBJ_TO_PTR(self_in);
@@ -176,6 +186,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
176186
MP_QSTR_Signal,
177187
MP_TYPE_FLAG_NONE,
178188
make_new, signal_make_new,
189+
print, signal_print,
179190
call, signal_call,
180191
protocol, &signal_pin_p,
181192
locals_dict, &signal_locals_dict

0 commit comments

Comments
 (0)