Silicon-Heaven (SHV) is an open source communication infrastructure that implements an open protocol for data serialization. Support of SHV in pysimCoder allows the runtime tuning of model parameters and runtime block diagram introspection. This issue is an introduction to upcoming commits bringing SHV support to pysimCoder mainline. The complete manual will be presented on pysimCoder wiki.
Code Generation process changes
The SHV support brings following major changes to code generation files:
SHVgen.py: new file taking care of SHV related C code generation. Implements generation of required SHV headers, env variables, entry point function or static tree generation if selected. The generation functions are called from RCPgen.py.
scene.py: Function generateCCode newly defines additional parameters like block name or parameters' names, also sets environmental variables with SHV setting.
Silicon-Heaven (SHV) is an open source communication infrastructure that implements an open protocol for data serialization. Support of SHV in pysimCoder allows the runtime tuning of model parameters and runtime block diagram introspection. This issue is an introduction to upcoming commits bringing SHV support to pysimCoder mainline. The complete manual will be presented on pysimCoder wiki.
Code Generation process changes
The SHV support brings following major changes to code generation files:
ExtLibs
New folder ExtLibs was added to pysimCoder root directory. Additional external libraries are downloaded into this folder if required.
Template Makefile
LinuxRT and NuttX template makefiles were changed to include header files from SHV related external libraries if libraries are downloaded.
CodeGen/Common
SHV related code is located in new folder CodeGen/Common/shv. The source code consists of four files:
pyblock.h
Two additional structures added to pyblock.h for SHV support.
Documentation
Documentation describing pysimCoder setting for SHV support and compilation of required additional applications can be found on pysimCoder wiki.
Future Improvements
SHV can currently only read and write double parameters, integer parameters and lists are not supported.
CC @robertobucher @ppisa