2 Replies Latest reply on Feb 12, 2019 9:22 AM by BrBr_1320441

    Feature request for dynamic configuration of schematic pages or component properties

    BrBr_1320441

      I have developed firmware for a family of products that we sell, all targeting the PSoC 5LP, which can be configured to be run on one of a few different products. Essentially I have a configuration file to compile against, and then I selectively enable/disable certain pages containing hardware that is product-specific (by manually disabling/enabling the schematic pages).

       

      I am in the middle of working on an automated build system, and ideally it would automatically create a firmware build package for each separate product whenever I push new firmware.

       

      In order to do this, I would need the ability to automatically do some of the things I manually have to do. After a bit of experimenting, I get the impression that there is no way to do this (please correct me if I am wrong).

       

      Any of these options would be solutions that would solve my problem:

      • Ability to disable a schematic page from a CLI or configuration file
      • Ability to disable a component and all APIs for that component instance from CLI or configuration file
      • Ability to change the environmental variable CY_REMOVE/CY_SUPPRESS_API_GEN for a component instance from a CLI or a configuration file
      • Ability to have CY_REMOVE/CY_SUPPRESS_API_GEN in each component instance depend on some user controllable variable/configuration. (For instance, change the value of CY_REMOVE from "false" to "GetConfig()==$config1", where config1 is held in some config file that can be updated and GetConfig() is some user defined function)
      • Ability to make changes to a non-binary format of the cysch file that would be reflected in the cysch file (such as make a change to the .cysem/.cyvis files that would actually change the .cysch file)

       

      I am hoping that I can make a feature request that would solve this problem for me. For now, my workaround is to have multiple copies of the project that all point to the same source, and any schematic changes that I make in shared portions of the designs (90%), I need to remember to make that change to all versions.

       

      Thank you.