We are looking to utilize qspy in our application for debugging and testing purposes. Currently we have not been using qspy but have been using the qp framework. To see data displaying on the terminal when using qspy do we need to define specific data? Or will qspy automatically show raw data on the terminal after enabling and setting up qspy. From my understanding, defining dictionaries is only helping the readability of the data displaying. Main purpose as of now is to see state transition.
Is there also documentation on setting up qs on the target component?
Thank you,
Alex
Last edit: Alexander Moua 2021-04-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
But if you mean pre-defined data, you typically will use the flexible application-specific data records, which carry the formatting information with them. Therefore, QSPY will be able to correctly display any of your application-specific data records, without you doing anything special. Please just see the documentation for the examples of such data records.
Regarding the dictionary records, they can be useful even for your user-specific data records. For example, if you send an object pointer or a function pointer, or an event-signal. If QSPY has dictionaries for these object/function/signal, it will show the symbolic name(s). Otherwise, it will be able to show you only hex-values of the addresses.
But in the end, it is just so much easier to just see how it works by simply trying one of the dozens of provided examples. You can also watch some videos that show QP/Spy output:
Hi KJC,
Perhaps you solved your problem with duplication of "Q_BUILD_DATE & Q_BUILD_TIME" in the Spy build configuration. But for the sake of other people with similar issue I'd like to quuicky explain.
So, the symbols (Q_BUILD_DATE & Q_BUILD_TIME) are defined in the source file qstamp.c, which is provided in qpc\include and in qpc\src\qpc. Of course, only one such file is needed and the recommended one is qpc\src\qpc\qstamp.c. The duplicate in qpc\include\qstamp.c is provided for backwards compatibility not to break existing builds. I hope this clarifies the situation.
--MMS
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
We are looking to utilize qspy in our application for debugging and testing purposes. Currently we have not been using qspy but have been using the qp framework. To see data displaying on the terminal when using qspy do we need to define specific data? Or will qspy automatically show raw data on the terminal after enabling and setting up qspy. From my understanding, defining dictionaries is only helping the readability of the data displaying. Main purpose as of now is to see state transition.
Is there also documentation on setting up qs on the target component?
Thank you,
Alex
Last edit: Alexander Moua 2021-04-13
Hi Alexander,
I'm not quite sure what you mean by "define specific data".
The QSPY host application will display only data that have been produced by the target-resident QS component, so, you have to produce some data...
But if you mean pre-defined data, you typically will use the flexible application-specific data records, which carry the formatting information with them. Therefore, QSPY will be able to correctly display any of your application-specific data records, without you doing anything special. Please just see the documentation for the examples of such data records.
Regarding the dictionary records, they can be useful even for your user-specific data records. For example, if you send an object pointer or a function pointer, or an event-signal. If QSPY has dictionaries for these object/function/signal, it will show the symbolic name(s). Otherwise, it will be able to show you only hex-values of the addresses.
But in the end, it is just so much easier to just see how it works by simply trying one of the dozens of provided examples. You can also watch some videos that show QP/Spy output:
--MMS
Last edit: Quantum Leaps 2021-04-13
Last edit: KJC 2023-04-21
Hi KJC,
Perhaps you solved your problem with duplication of "Q_BUILD_DATE & Q_BUILD_TIME" in the Spy build configuration. But for the sake of other people with similar issue I'd like to quuicky explain.
So, the symbols (Q_BUILD_DATE & Q_BUILD_TIME) are defined in the source file
qstamp.c
, which is provided inqpc\include
and inqpc\src\qpc
. Of course, only one such file is needed and the recommended one isqpc\src\qpc\qstamp.c
. The duplicate inqpc\include\qstamp.c
is provided for backwards compatibility not to break existing builds. I hope this clarifies the situation.--MMS