Skip to content

Commit

Permalink
fix: Generate incorrect information in the factory_parameter.log if m…
Browse files Browse the repository at this point in the history
…odule name is not defined in factory_param_data.csv

- Closes espressif#350
  • Loading branch information
xcguang committed Feb 26, 2020
1 parent 491e52d commit 3cdeabb
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 12 deletions.
15 changes: 7 additions & 8 deletions tools/esp_at_factory_bin_combine.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
ESP_BIN_SIZE = {"1MB": 1024*1024, "2MB": 2*1024*1024, "4MB": 4*1024*1024, "8MB": 8*1024*1024, "16MB": 16*1024*1024}
ESP_FLASH_SPEED = {"40M": 0, "26M": 1, "20M": 2, "80M": 3}

def esp32_at_combine_bin(modlule, flash_mode, flash_size, flash_speed, build_dir, parameter_file, download_config):
def esp32_at_combine_bin(module, flash_mode, flash_size, flash_speed, build_dir, parameter_file, download_config):
bin_data = bytearray([0xFF] * (ESP_BIN_SIZE[flash_size]))

with open(download_config) as f:
Expand All @@ -57,22 +57,21 @@ def esp32_at_combine_bin(modlule, flash_mode, flash_size, flash_speed, build_dir
if parameter_file != None:
with open(parameter_file) as f:
factory_parameter = f.read()
modlule_name_list = re.compile(r"\S+ \S+ \S+").findall(factory_parameter)
for i, modlule_name_pair in enumerate(modlule_name_list):
modlule_name, default_name, bin_file = list(modlule_name_pair.split(' '))

if modlule == modlule_name:
module_name_list = re.compile(r"\S+ \S+ \S+").findall(factory_parameter)
for i, module_name_pair in enumerate(module_name_list):
module_name, default_name, bin_file = list(module_name_pair.split(' '))
if module == module_name:
addr = bin_list[default_name]
with open(bin_file, 'rb') as f:
data = f.read()

for i, byte_data in enumerate(data):
bin_data[addr + i] = byte_data

factory_bin = os.path.join(os.path.dirname(parameter_file), 'factory_' + modlule_name + '.bin')
factory_bin = os.path.join(os.path.dirname(parameter_file), 'factory_' + module_name + '.bin')
with open(factory_bin, 'wb') as f:
f.write(bin_data)
print("Create %s for %s finished"%(factory_bin, modlule_name))
print("Create %s for %s finished"%(factory_bin, module_name))

else:
factory_bin = os.path.join(build_dir, 'factory.bin')
Expand Down
11 changes: 7 additions & 4 deletions tools/factory_param_generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,13 +191,16 @@ def generate_factory_param_bin(data_lists, type_dicts, target_name, platform, mo
has_parameter_file = 1

if has_parameter_file == 0:
target_bin_name = os.path.splitext(target_name)[0] + '_' + target_name + '.bin'
with open(target_name, 'wb+') as target_f:
memset(byref(factory_param_bin),0xFF, len(factory_param_bin))
target_bin_name = os.path.splitext(target_name)[0] + '_' + module + '.bin'
memset(byref(factory_param_bin),0xFF, len(factory_param_bin))
with open(target_bin_name, 'wb+') as target_f:
target_f.write(factory_param_bin)

with open(target_name, 'wb+') as target_f:
target_f.write(factory_param_bin)

with open(log_file, 'a+') as log_f:
log_f.write("%s %s %s "%(target_name, os.path.basename(target_name), target_bin_name))
log_f.write("%s %s %s "%(module, os.path.basename(target_name), target_bin_name))

def main():
parser = argparse.ArgumentParser()
Expand Down

0 comments on commit 3cdeabb

Please sign in to comment.