More _extract_matrix_info fixes

This commit is contained in:
zvecr 2025-07-06 13:28:14 +01:00
parent fa4e122ff4
commit 598a139b2b

View File

@ -567,7 +567,6 @@ def _extract_matrix_info(info_data, config_c):
row_pins = config_c.get('MATRIX_ROW_PINS', '').replace('{', '').replace('}', '').strip()
col_pins = config_c.get('MATRIX_COL_PINS', '').replace('{', '').replace('}', '').strip()
direct_pins = config_c.get('DIRECT_PINS', '').replace(' ', '')[1:-1]
info_snippet = {}
if 'MATRIX_ROWS' in config_c and 'MATRIX_COLS' in config_c:
if 'matrix_size' in info_data:
@ -582,17 +581,20 @@ def _extract_matrix_info(info_data, config_c):
if 'matrix_pins' in info_data and 'cols' in info_data['matrix_pins'] and 'rows' in info_data['matrix_pins']:
_log_warning(info_data, 'Matrix pins are specified in both info.json and config.h, the config.h values win.')
info_snippet['cols'] = _extract_pins(col_pins)
info_snippet['rows'] = _extract_pins(row_pins)
if 'matrix_pins' not in info_data:
info_data['matrix_pins'] = {}
info_data['matrix_pins']['cols'] = _extract_pins(col_pins)
info_data['matrix_pins']['rows'] = _extract_pins(row_pins)
if direct_pins:
if 'matrix_pins' in info_data and 'direct' in info_data['matrix_pins']:
_log_warning(info_data, 'Direct pins are specified in both info.json and config.h, the config.h values win.')
info_snippet['direct'] = _extract_direct_matrix(direct_pins)
if 'matrix_pins' not in info_data:
info_data['matrix_pins'] = {}
if info_snippet:
info_data['matrix_pins'] = info_snippet
info_data['matrix_pins']['direct'] = _extract_direct_matrix(direct_pins)
return info_data