Hello,
I am evaluating the QP/C 6.5.1 and QTools 6.6.0 on a PIC32 based platform and trying to get work the QUTest, but observing some strange behaviour.
The event USER_STANDBY_SIG is posted to the AO l_arbitre. After the message AO-POST I expected to find the AO-Get, but there is no such. Where could be the problem? It's looking like the posted message remains in the AO queue (29 of 30 slots free) but the AO never gets it. Who is supposed to check the AO queue and extract the messages in the test fixture?
It's worth mentionning that QS_onTestLoop is missing for the PIC32. Here is my code:
void QS_onTestLoop() {
QF_INT_ENABLE();
QS_rxPriv_.inTestLoop = true;
while (QS_rxPriv_.inTestLoop) {
QS_rxParse(); /* parse all the received bytes */ if (U4STAbits.UTXBF == 0) { /* TX Buffer not full? */ uint16_t b; QF_INT_DISABLE(); b = QS_getByte(); QF_INT_ENABLE(); if (b != QS_EOD) { /* End-Of-Data reached? */ UART4_Write(b); } } } /* set inTestLoop to true in case calls to QS_onTestLoop() nest,
* which can happen through the calls to QS_TEST_PAUSE().
*/
QS_rxPriv_.inTestLoop = true;
}
Here is the complete QS log where I do two tests, perhaps it would be helpful to find the problem:
I copied the missing section to the qf_port.h of pic32 port and my AO started to get messages. However now there are plenty of compiler warnings about macros redifinition.
What I am missing?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The QP support for PIC32 is still missing the "qutest port" at this time. This would need to be added (perahps by copying and modifiying the existing qutest port for ARM Cortex-M).
Hello,
I am evaluating the QP/C 6.5.1 and QTools 6.6.0 on a PIC32 based platform and trying to get work the QUTest, but observing some strange behaviour.
The event USER_STANDBY_SIG is posted to the AO l_arbitre. After the message AO-POST I expected to find the AO-Get, but there is no such. Where could be the problem? It's looking like the posted message remains in the AO queue (29 of 30 slots free) but the AO never gets it. Who is supposed to check the AO queue and extract the messages in the test fixture?
It's worth mentionning that QS_onTestLoop is missing for the PIC32. Here is my code:
Here is the complete QS log where I do two tests, perhaps it would be helpful to find the problem:
Last edit: Mikhail Nagoga 2019-10-18
Update
After some searching I found that the following macro defined in the qv.h:
This macro is redefined in the port to arm-cm (qpc_6_5_1/ports/arm-cm/qutest/qf_port.h) but not to pic32 as following:
I copied the missing section to the qf_port.h of pic32 port and my AO started to get messages. However now there are plenty of compiler warnings about macros redifinition.
What I am missing?
The QP support for PIC32 is still missing the "qutest port" at this time. This would need to be added (perahps by copying and modifiying the existing qutest port for ARM Cortex-M).
--MMS
Last edit: Quantum Leaps 2019-10-18