diff options
author | Dominik Holland <dominik.holland@qt.io> | 2020-04-01 14:58:35 +0200 |
---|---|---|
committer | Dominik Holland <dominik.holland@qt.io> | 2020-04-02 12:02:47 +0200 |
commit | b7bc4dc7adb541c21c49305485d1dbaa83ac6812 (patch) | |
tree | b59c2d9b3f4874c417afb3023ba5807e7ecd52ba /src | |
parent | a051faa209cad89d16f7155198083e691f2ec779 (diff) | |
download | qtivi-b7bc4dc7adb541c21c49305485d1dbaa83ac6812.tar.gz |
ivigenerator: Improve support support for zoned default_value data
When creating the simulationData for structs the zoned values where
ignored and always ended in qface errors.
The filter function which generates the simulationData is now able
to handle those zoned values as well and they are now also part
of the autotests.
Change-Id: Ie097b1cba2498d0d1e61fb0524548869c2c96502
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/ivigenerator/generator/filters.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/tools/ivigenerator/generator/filters.py b/src/tools/ivigenerator/generator/filters.py index 737143c..b7ee9ff 100644 --- a/src/tools/ivigenerator/generator/filters.py +++ b/src/tools/ivigenerator/generator/filters.py @@ -437,8 +437,19 @@ def simulationData(module): and p in property.tags['config_simulator']): if property.name not in iData: iData[property.name] = {} - iData[property.name][p] = symbolToJson(property.tags['config_simulator'][p], - property.type) + if p not in iData[property.name]: + iData[property.name][p] = {} + zones = iData.get('zones', None) + res = property.tags['config_simulator'][p] + if isinstance(res, dict) and zones: + for zone in zones: + if zone in res: + iData[property.name][p][zone] = symbolToJson(res[zone], property.type) + # Also check the entry for the general zone (=) + if "=" in res: + iData[property.name][p]["="] = symbolToJson(res["="], property.type) + else: + iData[property.name][p] = symbolToJson(res, property.type) data[interface.name] = iData return json.dumps(data, indent=' ') |