Skip to content

Commit eb116c8

Browse files
authored
Merge pull request #26 from PsychedelicPalimpsest/main
Fix intel hex crash on TiOS
2 parents ee19c5b + a7354b8 commit eb116c8

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

tivars/flash.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from sys import version_info
88
from typing import BinaryIO
99
from warnings import warn
10+
from string import hexdigits
1011

1112
from .data import *
1213
from .file import *
@@ -327,6 +328,10 @@ def dict(self, **kwargs) -> dict:
327328
"dataHex": self.data.hex().upper()
328329
}
329330

331+
def split_intelhex(data):
332+
for i, c in enumerate(data):
333+
if chr(c) == ':' and chr(data[i+1]) in hexdigits:
334+
yield data[i:]
330335

331336
class FlashData(Converter[bytes | list[TIFlashBlock]]):
332337
"""
@@ -347,7 +352,7 @@ def get(cls, data: bytes, *, instance=None) -> bytes | list[TIFlashBlock]:
347352
"""
348353

349354
if instance is None or instance.binary_flag == 0x01:
350-
return list(map(TIFlashBlock, data.split(b'\r\n')))
355+
return list(map(TIFlashBlock, split_intelhex(data)))
351356

352357
else:
353358
return data

0 commit comments

Comments
 (0)