Skip to content

Commit 07321dd

Browse files
committed
adds support for passing special esp-idf config values
This adds support for adding a file named sdkconfig in a display driver directory. In that file you would put any ESP-IDF config settings needed to use that display..
1 parent fd85fd1 commit 07321dd

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=192

builder/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ def generate_manifest(
189189
entry = f"freeze('{file_path}', '{file_name}')"
190190
manifest_files.append(entry)
191191

192+
display_paths = []
193+
192194
for file in displays:
193195
if not os.path.exists(file):
194196
tmp_file = (
@@ -198,11 +200,15 @@ def generate_manifest(
198200
if not os.path.exists(tmp_file):
199201
raise RuntimeError(f'Display not found "{file}"')
200202

203+
display_paths.append(tmp_file)
201204
for file_name in os.listdir(tmp_file):
205+
if not file_name.endswith('.py'):
206+
continue
207+
202208
print(file_name)
209+
203210
entry = f"freeze('{tmp_file}', '{file_name}')"
204211
manifest_files.append(entry)
205-
continue
206212

207213
print(file)
208214
file_path, file_name = os.path.split(file)
@@ -214,6 +220,8 @@ def generate_manifest(
214220
with open('build/manifest.py', 'w') as f:
215221
f.write(manifest_files)
216222

223+
return display_paths
224+
217225

218226
def get_lvgl():
219227
cmd_ = [

builder/esp32.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,9 @@ def has_correct_idf():
519519
)
520520

521521

522+
set_displays = []
523+
524+
522525
def build_manifest(
523526
target, script_dir, lvgl_api, displays, indevs, frozen_manifest
524527
):
@@ -538,11 +541,11 @@ def build_manifest(
538541

539542
manifest_path = 'lib/micropython/ports/esp32/boards/manifest.py'
540543

541-
generate_manifest(
544+
set_displays.extend(generate_manifest(
542545
script_dir, lvgl_api, manifest_path,
543546
displays, indevs, frozen_manifest,
544547
f'{script_dir}/api_drivers/common_api_drivers/frozen/other/spi3wire.py'
545-
)
548+
))
546549

547550

548551
def force_clean(clean_mpy_cross):
@@ -1091,6 +1094,13 @@ def build_sdkconfig(*args):
10911094
if oct_flash:
10921095
base_config.append('CONFIG_ESPTOOLPY_OCT_FLASH=y')
10931096

1097+
for display_path in set_displays:
1098+
display_path = os.path.join(display_path, 'sdkconfig')
1099+
if not os.path.exists(display_path):
1100+
continue
1101+
1102+
base_config.extend(read_file(display_path).split('\n'))
1103+
10941104
with open(SDKCONFIG_PATH, 'w') as f:
10951105
f.write('\n'.join(base_config))
10961106

0 commit comments

Comments
 (0)