15
15
from Protocol import Protocol
16
16
17
17
logger = logging .getLogger ('Modem' )
18
- logging .basicConfig (format = '%(asctime)s %(levelname)s: %(message)s' ,level = logging .DEBUG , datefmt = '%Y-%m-%d %H:%M:%S' )
18
+ logging .basicConfig (format = '%(asctime)s %(levelname)s: %(message)s' , level = logging .ERROR , datefmt = '%Y-%m-%d %H:%M:%S' )
19
19
20
20
SOH = b'\x01 '
21
21
STX = b'\x02 '
@@ -164,7 +164,6 @@ def send(self, trans_file, retry=10, timeout=1, callback=None):
164
164
crc_mode = self ._wait_c (timeout , retry )
165
165
if not crc_mode :
166
166
return False
167
-
168
167
# send file body and wait ACK
169
168
sequence = 1
170
169
while True :
@@ -179,7 +178,6 @@ def send(self, trans_file, retry=10, timeout=1, callback=None):
179
178
else :
180
179
break
181
180
sequence = (sequence + 1 ) % 0x100
182
-
183
181
# send EOT and wait NAK
184
182
self .writer .write (EOT )
185
183
logger .debug ("[Sender]: EOT sent and awaiting NAK" )
@@ -205,30 +203,21 @@ def _make_file_header_info(self, packet_size, crc_mode, info=None):
205
203
if self .program_features & USE_LENGTH_FIELD :
206
204
data += bytes (1 )
207
205
data += str (info ["length" ]).encode ("utf-8" )
208
- '''
209
- Optional field: Modification Date
210
- oct() has different representations of octal numbers in different versions of Python:
211
- Python 2+: 0123456
212
- Python 3+: 0o123456
213
- '''
214
206
if self .program_features & USE_DATE_FIELD :
215
207
mtime = oct (int (info ["mtime" ]))
216
208
if mtime .startswith ("0o" ):
217
209
data += (" " + mtime [2 :]).encode ("utf-8" )
218
210
else :
219
211
data += (" " + mtime [1 :]).encode ("utf-8" )
220
-
221
212
# Optional field: Mode
222
213
if self .program_features & USE_MODE_FIELD :
223
214
if info ["source" ] == "Unix" :
224
215
data += (" " + oct (0x8000 )).encode ("utf-8" )
225
216
else :
226
217
data += " 0" .encode ("utf-8" )
227
-
228
218
# Optional field: Serial Number
229
219
if self .program_features & USE_MODE_FIELD :
230
220
data += " 0" .encode ("utf-8" )
231
-
232
221
data = data .ljust (packet_size , b"\x00 " )
233
222
checksum = self ._make_send_checksum (crc_mode , data )
234
223
return header + data + checksum
@@ -273,7 +262,6 @@ def _wait_c(self, cancel=0, timeout=10, retry=10):
273
262
logger .error ("[Sender]: Error, expected NAK, CRC, EOT or CAN but got %r" , char )
274
263
else :
275
264
logger .debug ("[Sender]: No valid data was read" )
276
-
277
265
error_count += 1
278
266
if error_count > retry :
279
267
logger .error ("[Sender]: Error, error_count reached {}, aborting..." .format (retry ))
@@ -388,10 +376,9 @@ def send_callback(total_size, success_count, filename):
388
376
389
377
sender_write (b"import example\r \n " )
390
378
sender_write (b"example.exec('/usr/ymodem.py')\r \n " )
391
- time .sleep (2 )
379
+ time .sleep (1 )
392
380
serial_io .read (serial_io .inWaiting ())
393
-
394
- file_list = [] # [["main.py", "/usr/main_1.py"], ["Test-Result.xlsx", "/usr/Test-Result.xlsx"]]
381
+ file_list = []
395
382
for i in args [1 :]:
396
383
file_list .append (i )
397
384
sender = Modem (sender_read , sender_write )
@@ -401,5 +388,4 @@ def send_callback(total_size, success_count, filename):
401
388
402
389
if __name__ == '__main__' :
403
390
fire .Fire (send_file )
404
- # ["main.py", "/usr/main_1.py"]
405
- # send_file("COM63", ["run_std_1.log", "/usr/run_std_1.log"])
391
+ # send_file("COM63", ["main.py", "/usr/main_1.py")
0 commit comments