@@ -160,7 +160,7 @@ class Responder(Channel):
160
160
def __init__ (self , i2c , pin , pinack , verbose = True ):
161
161
super ().__init__ (i2c , pinack , pin , verbose , self .rxbufsize )
162
162
self ._handle_rxd_ref = self ._handle_rxd # Alocate RAM here
163
- self ._re_enable_ref = self ._re_enable
163
+ self ._handler_ref = self ._handler
164
164
loop = asyncio .get_event_loop ()
165
165
loop .create_task (self ._run ())
166
166
@@ -171,9 +171,6 @@ async def _run(self):
171
171
await asyncio .sleep (1 )
172
172
gc .collect ()
173
173
174
- def _re_enable (self , _ ):
175
- self .rem .irq (handler = self ._handler , trigger = machine .Pin .IRQ_RISING , hard = True )
176
-
177
174
# Request was received: immediately read payload size, then payload
178
175
# On Pyboard blocks for 380μs to 1.2ms for small amounts of data
179
176
def _handler (self , _ , sn = bytearray (2 ), txnull = bytearray (2 )):
@@ -218,5 +215,5 @@ def _handler(self, _, sn=bytearray(2), txnull=bytearray(2)):
218
215
self .own (0 )
219
216
self .waitfor (0 )
220
217
self ._txdone () # Invalidate source
221
- schedule ( self ._re_enable_ref , 0 )
218
+ self . rem . irq ( handler = self ._handler_ref , trigger = machine . Pin . IRQ_RISING , hard = True )
222
219
# print('Time: ', utime.ticks_diff(utime.ticks_us(), tstart))
0 commit comments