diff --git a/intelhex/__init__.py b/intelhex/__init__.py index 8af27c3..28ff48d 100644 --- a/intelhex/__init__.py +++ b/intelhex/__init__.py @@ -532,7 +532,7 @@ class IntelHex(object): """Return count of bytes with real values.""" return len(dict_keys(self._buf)) - def write_hex_file(self, f, write_start_addr=True): + def write_hex_file(self, f, write_start_addr=True, data_rec_len=16): """Write data to file f in HEX format. @param f filename or file-like object for writing @@ -639,7 +639,7 @@ class IntelHex(object): # produce one record low_addr = cur_addr & 0x0FFFF # chain_len off by 1 - chain_len = min(15, 65535-low_addr, maxaddr-cur_addr) + chain_len = min(data_rec_len-1, 65535-low_addr, maxaddr-cur_addr) # search continuous chain stop_addr = cur_addr + chain_len