From component_author_guide:
"Implementing with software is simply omitting the references for hardware. You would not use a schematic or Verilog; just software files. Everything else in the process would be the same as any other type of component.
One example of a software only component might be an interface that links the code of several
components."
I can't understand that. Can anyone help me?
Solved! Go to Solution.
When you do not need any hardware (VeriLog, DataPath, signals) for a component (for instance: A software algorithm for an averaging filter) you just care for the generation of the .h and the .c -file and use all your programmed APIs when you drop the symbol onto your schematic. What you will need are
the symbol file (you must have something to drag to the schematic)
A .h file with the correct syntax to expand the instance-names
A .c file with similar syntax
Bob
When you do not need any hardware (VeriLog, DataPath, signals) for a component (for instance: A software algorithm for an averaging filter) you just care for the generation of the .h and the .c -file and use all your programmed APIs when you drop the symbol onto your schematic. What you will need are
the symbol file (you must have something to drag to the schematic)
A .h file with the correct syntax to expand the instance-names
A .c file with similar syntax
Bob
Now I understand, except for this part:
"One example of a software only component might be an interface that links the code of several components."
How can I do this interface linking several components?
To be honest, I do not know what Cypress tries to express with this words, so let me ask: What do you want to do?
Bob
Now I understand, except for this part:
"One example of a software only component might be an interface that links the code of several components."
I could imagine that it's meant as follows (example):
Assume your project needs a LCD with UART interface. So, you can either use the UART and the LCD component and 'link' them together by your own application code OR you can link them inside an 'UART-LCD' component. The link is either a 'full version' where the UART and LCD component are buried inside the new component OR the link is simply the code connection between a UART component and a LCD component, where the component names must be configured in the 'link header file'.
I, for myself would prefer a way to have a customizer code which is able to detect if a given component type is present in the project and takes the corresponding component name automatically.
Regards,
Ralf
Thanks for the help.
"I, for myself would prefer a way to have a customizer code which is able to detect if a given component type is present in the project and takes the corresponding component name automatically."
How can I do that?
The answer for my own question is to use the `$INSTANCE_NAME` code?
The answer for my own question is to use the `$INSTANCE_NAME` code?
'$INSTANCE_NAME' is the name of the component itself, not the name of another component in the project. For example, if you have an UART component named UART_1, '$INSTANCE_NAME' would give UART_1 for the UART instance name.
Regards,
Ralf
Ralf, could be more specific about the customizer code?
"I, for myself would prefer a way to have a customizer code which is able to detect if a given component type is present in the project and takes the corresponding component name automatically."
Thanks,
Alexandre
Hi Alex,
regarding the customizer code, I haven't created an own customizer by myself yet. This is one of the things I want to do next. As far as I know the customizer system API allows for getting such things as clock values, etc. so I assume that it should also be possible to detect all components used in a schematic.
The PSoC Creator installation directory also includes some examples for customizers. Maybe you want to create a support case for detection of other components by customizers and report the results here.
Regards,
Ralf
I'll do that. Thanks for your help.
Regards,
Alexandre