@@ -116,7 +116,7 @@ def __init__(self, serial_boot, kernel_image, kernel_address):
116
116
self .reader_alive = False
117
117
self .writer_alive = False
118
118
119
- self .promp_detect_buffer = bytes (len (sfl_prompt_req ))
119
+ self .prompt_detect_buffer = bytes (len (sfl_prompt_req ))
120
120
self .magic_detect_buffer = bytes (len (sfl_magic_req ))
121
121
122
122
def open (self , port , baudrate ):
@@ -182,8 +182,8 @@ def boot(self):
182
182
183
183
def detect_prompt (self , data ):
184
184
if len (data ):
185
- self .promp_detect_buffer = self .promp_detect_buffer [1 :] + data
186
- return self .promp_detect_buffer == sfl_prompt_req
185
+ self .prompt_detect_buffer = self .prompt_detect_buffer [1 :] + data
186
+ return self .prompt_detect_buffer == sfl_prompt_req
187
187
else :
188
188
return False
189
189
@@ -213,11 +213,7 @@ def reader(self):
213
213
if c == b"\r " :
214
214
sys .stdout .write (b"\n " )
215
215
else :
216
- try :
217
- # TODO: cleanup
218
- sys .stdout .write (c .decode ())
219
- except :
220
- pass
216
+ sys .stdout .buffer .write (c )
221
217
sys .stdout .flush ()
222
218
223
219
if self .kernel_image is not None :
@@ -243,10 +239,7 @@ def stop_reader(self):
243
239
def writer (self ):
244
240
try :
245
241
while self .writer_alive :
246
- try :
247
- b = getkey ()
248
- except KeyboardInterrupt :
249
- b = b"\x03 "
242
+ b = getkey ()
250
243
if b == b"\x03 " :
251
244
self .stop ()
252
245
elif b == b"\n " :
@@ -296,13 +289,12 @@ def _get_args():
296
289
def main ():
297
290
args = _get_args ()
298
291
flterm = Flterm (args .serial_boot , args .kernel , args .kernel_adr )
299
- flterm .open (args .port , args .speed )
300
- flterm .start ()
301
292
try :
293
+ flterm .open (args .port , args .speed )
294
+ flterm .start ()
302
295
flterm .join (True )
303
- except KeyboardInterrupt :
304
- pass
305
- flterm .close ()
296
+ finally :
297
+ flterm .close ()
306
298
307
299
308
300
if __name__ == "__main__" :
0 commit comments