Skip to content

Commit 338fdd3

Browse files
committed
8.1.0
1 parent 154c1ee commit 338fdd3

File tree

4 files changed

+56
-52
lines changed

4 files changed

+56
-52
lines changed

qutest/blinky/src/blinky.c

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,26 +41,30 @@
4141

4242
//Q_DEFINE_THIS_MODULE("blinky")
4343

44-
// ask QM to declare the Blinky class...
44+
// ask QM to declare the Blinky class ----------------------------------------
4545
//$declare${AOs::Blinky} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
4646

4747
//${AOs::Blinky} .............................................................
48-
typedef struct {
48+
typedef struct Blinky {
4949
// protected:
5050
QActive super;
5151

5252
// private:
5353
QTimeEvt timeEvt;
54+
55+
// public:
5456
} Blinky;
5557

58+
// the only Blinky instance (Singleton)
59+
extern Blinky Blinky_inst;
60+
5661
// protected:
5762
static QState Blinky_initial(Blinky * const me, void const * const par);
5863
static QState Blinky_off(Blinky * const me, QEvt const * const e);
5964
static QState Blinky_on(Blinky * const me, QEvt const * const e);
6065
//$enddecl${AOs::Blinky} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6166

62-
static Blinky l_blinky;
63-
67+
// define the global opaque pointer to Blinky AO -----------------------------
6468
//$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
6569
// Check for the minimum required QP version
6670
#if (QP_VERSION < 730U) || (QP_VERSION != ((QP_RELEASE^4294967295U)%0x2710U))
@@ -70,30 +74,31 @@ static Blinky l_blinky;
7074
//$define${AOs::AO_Blinky} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
7175

7276
//${AOs::AO_Blinky} ..........................................................
73-
QActive * const AO_Blinky = &l_blinky.super;
77+
QActive * const AO_Blinky = &Blinky_inst.super;
7478
//$enddef${AOs::AO_Blinky} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7579

76-
// ask QM to define the Blinky class...
80+
// ask QM to define the Blinky class (including the state machine) -----------
7781
//$define${AOs::Blinky_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
7882

7983
//${AOs::Blinky_ctor} ........................................................
8084
void Blinky_ctor(void) {
81-
Blinky *me = &l_blinky;
85+
Blinky *me = &Blinky_inst;
8286
QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));
8387
QTimeEvt_ctorX(&me->timeEvt, &me->super, TIMEOUT_SIG, 0U);
8488
}
8589
//$enddef${AOs::Blinky_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8690
//$define${AOs::Blinky} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
8791

8892
//${AOs::Blinky} .............................................................
93+
Blinky Blinky_inst;
8994

9095
//${AOs::Blinky::SM} .........................................................
9196
static QState Blinky_initial(Blinky * const me, void const * const par) {
9297
//${AOs::Blinky::SM::initial}
9398
(void)par; // unused parameter
9499

95-
QS_OBJ_DICTIONARY(&l_blinky);
96-
QS_OBJ_DICTIONARY(&l_blinky.timeEvt);
100+
QS_OBJ_DICTIONARY(&Blinky_inst);
101+
QS_OBJ_DICTIONARY(&Blinky_inst.timeEvt);
97102

98103
QTimeEvt_armX(&me->timeEvt,
99104
BSP_TICKS_PER_SEC/2, BSP_TICKS_PER_SEC/2);

qutest/blinky/src/blinky.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ enum BlinkySignals {
5151
//${AOs::Blinky_ctor} ........................................................
5252
void Blinky_ctor(void);
5353
//$enddecl${AOs::Blinky_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54-
5554
//$declare${AOs::AO_Blinky} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
5655

5756
//${AOs::AO_Blinky} ..........................................................
@@ -60,4 +59,3 @@ extern QActive * const AO_Blinky;
6059
//$enddecl${AOs::AO_Blinky} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6160

6261
#endif // BLINKY_H
63-

qutest/blinky/src/blinky.qm

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,18 @@
99
<class name="Blinky" superclass="qpc::QActive">
1010
<!--${AOs::Blinky::timeEvt}-->
1111
<attribute name="timeEvt" type="QTimeEvt" visibility="0x02" properties="0x00"/>
12+
<!--${AOs::Blinky::inst}-->
13+
<attribute name="inst" type="Blinky" visibility="0x00" properties="0x01">
14+
<documentation>// the only Blinky instance (Singleton)</documentation>
15+
</attribute>
1216
<!--${AOs::Blinky::SM}-->
1317
<statechart properties="0x03">
1418
<!--${AOs::Blinky::SM::initial}-->
1519
<initial target="../1">
1620
<action>(void)par; // unused parameter
1721

18-
QS_OBJ_DICTIONARY(&amp;l_blinky);
19-
QS_OBJ_DICTIONARY(&amp;l_blinky.timeEvt);
22+
QS_OBJ_DICTIONARY(&amp;Blinky_inst);
23+
QS_OBJ_DICTIONARY(&amp;Blinky_inst.timeEvt);
2024

2125
QTimeEvt_armX(&amp;me-&gt;timeEvt,
2226
BSP_TICKS_PER_SEC/2, BSP_TICKS_PER_SEC/2);</action>
@@ -56,11 +60,11 @@ QTimeEvt_armX(&amp;me-&gt;timeEvt,
5660
<!--${AOs::AO_Blinky}-->
5761
<attribute name="AO_Blinky" type="QActive * const" visibility="0x00" properties="0x00">
5862
<documentation>// opaque pointer to the Blinky AO</documentation>
59-
<code>= &amp;l_blinky.super;</code>
63+
<code>= &amp;Blinky_inst.super;</code>
6064
</attribute>
6165
<!--${AOs::Blinky_ctor}-->
6266
<operation name="Blinky_ctor" type="void" visibility="0x00" properties="0x00">
63-
<code>Blinky *me = &amp;l_blinky;
67+
<code>Blinky *me = &amp;Blinky_inst;
6468
QActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Blinky_initial));
6569
QTimeEvt_ctorX(&amp;me-&gt;timeEvt, &amp;me-&gt;super, TIMEOUT_SIG, 0U);</code>
6670
</operation>
@@ -81,11 +85,9 @@ enum BlinkySignals {
8185
};
8286

8387
$declare${AOs::Blinky_ctor}
84-
8588
$declare${AOs::AO_Blinky}
8689

87-
#endif // BLINKY_H
88-
</text>
90+
#endif // BLINKY_H</text>
8991
</file>
9092
<!--${.::blinky.c}-->
9193
<file name="blinky.c">
@@ -95,14 +97,13 @@ $declare${AOs::AO_Blinky}
9597

9698
//Q_DEFINE_THIS_MODULE(&quot;blinky&quot;)
9799

98-
// ask QM to declare the Blinky class...
99-
$declare ${AOs::Blinky}
100-
101-
static Blinky l_blinky;
100+
// ask QM to declare the Blinky class ----------------------------------------
101+
$declare${AOs::Blinky}
102102

103-
$define ${AOs::AO_Blinky}
103+
// define the global opaque pointer to Blinky AO -----------------------------
104+
$define${AOs::AO_Blinky}
104105

105-
// ask QM to define the Blinky class...
106+
// ask QM to define the Blinky class (including the state machine) -----------
106107
$define ${AOs::Blinky_ctor}
107108
$define ${AOs::Blinky}</text>
108109
</file>

qutest/blinky/test/test_blinky.py

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,61 +5,61 @@ def on_reset():
55
expect_pause()
66
glb_filter(GRP_ALL)
77
continue_test()
8-
expect("@timestamp TE0-Arm Obj=l_blinky.timeEvt,AO=l_blinky,*")
9-
expect("===RTC===> St-Init Obj=l_blinky,State=QHsm_top->Blinky_off")
8+
expect("@timestamp TE0-Arm Obj=Blinky_inst.timeEvt,AO=Blinky_inst,*")
9+
expect("===RTC===> St-Init Obj=Blinky_inst,State=QHsm_top->Blinky_off")
1010
expect("@timestamp LED 0")
11-
expect("===RTC===> St-Entry Obj=l_blinky,State=Blinky_off")
12-
expect("@timestamp Init===> Obj=l_blinky,State=Blinky_off")
11+
expect("===RTC===> St-Entry Obj=Blinky_inst,State=Blinky_off")
12+
expect("@timestamp Init===> Obj=Blinky_inst,State=Blinky_off")
1313
expect_run()
14-
current_obj(OBJ_SM,"l_blinky")
15-
current_obj(OBJ_AO,"l_blinky")
16-
current_obj(OBJ_TE,"l_blinky.timeEvt")
14+
current_obj(OBJ_SM,"Blinky_inst")
15+
current_obj(OBJ_AO,"Blinky_inst")
16+
current_obj(OBJ_TE,"Blinky_inst.timeEvt")
1717

1818

19-
test("TIMEOUT_SIG->l_blinky")
19+
test("TIMEOUT_SIG->Blinky_inst")
2020
query_curr(OBJ_SM)
21-
expect("@timestamp Query-SM Obj=l_blinky,State=Blinky_off")
21+
expect("@timestamp Query-SM Obj=Blinky_inst,State=Blinky_off")
2222
query_curr(OBJ_AO)
2323
expect("@timestamp Query-AO Pri=2,Que<Use=0,Free=11,Min=11>")
2424
query_curr(OBJ_TE)
25-
expect("@timestamp Query-TE Obj=l_blinky.timeEvt,Rate=0,Sig=TIMEOUT_SIG,*")
25+
expect("@timestamp Query-TE Obj=Blinky_inst.timeEvt,Rate=0,Sig=TIMEOUT_SIG,*")
2626
current_obj(OBJ_MP,"EvtPool1")
2727
query_curr(OBJ_MP)
2828
expect("@timestamp Query-MP Obj=EvtPool1,*")
2929
post("TIMEOUT_SIG")
3030
expect("@timestamp MP-Get Obj=EvtPool1,*")
3131
expect("@timestamp QF-New Sig=TIMEOUT_SIG,*")
32-
expect("@timestamp AO-Post Sdr=QS_RX,Obj=l_blinky,Evt<Sig=TIMEOUT_SIG,*")
33-
expect("@timestamp AO-GetL Obj=l_blinky,Evt<Sig=TIMEOUT_SIG,*")
34-
expect("@timestamp Disp===> Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off")
32+
expect("@timestamp AO-Post Sdr=QS_RX,Obj=Blinky_inst,Evt<Sig=TIMEOUT_SIG,*")
33+
expect("@timestamp AO-GetL Obj=Blinky_inst,Evt<Sig=TIMEOUT_SIG,*")
34+
expect("@timestamp Disp===> Obj=Blinky_inst,Sig=TIMEOUT_SIG,State=Blinky_off")
3535
expect("@timestamp LED 1")
36-
expect("===RTC===> St-Entry Obj=l_blinky,State=Blinky_on")
37-
expect("@timestamp ===>Tran Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off->Blinky_on")
36+
expect("===RTC===> St-Entry Obj=Blinky_inst,State=Blinky_on")
37+
expect("@timestamp ===>Tran Obj=Blinky_inst,Sig=TIMEOUT_SIG,State=Blinky_off->Blinky_on")
3838
expect("@timestamp QF-gc Evt<Sig=TIMEOUT_SIG,*")
3939
expect("@timestamp MP-Put Obj=EvtPool1,*")
4040
expect("@timestamp Trg-Done QS_RX_EVENT")
4141

4242
test("timeEvt->Blinky_off (tick)")
43-
current_obj(OBJ_TE,"l_blinky.timeEvt")
43+
current_obj(OBJ_TE,"Blinky_inst.timeEvt")
4444
tick()
4545
expect(" Tick<0> Ctr=*")
46-
expect("@timestamp TE0-Post Obj=l_blinky.timeEvt,Sig=TIMEOUT_SIG,AO=l_blinky")
47-
expect("@timestamp AO-Post Sdr=QS_RX,Obj=l_blinky,Evt<Sig=TIMEOUT_SIG,*")
48-
expect("@timestamp AO-GetL Obj=l_blinky,Evt<Sig=TIMEOUT_SIG,*")
49-
expect("@timestamp Disp===> Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off")
46+
expect("@timestamp TE0-Post Obj=Blinky_inst.timeEvt,Sig=TIMEOUT_SIG,AO=Blinky_inst")
47+
expect("@timestamp AO-Post Sdr=QS_RX,Obj=Blinky_inst,Evt<Sig=TIMEOUT_SIG,*")
48+
expect("@timestamp AO-GetL Obj=Blinky_inst,Evt<Sig=TIMEOUT_SIG,*")
49+
expect("@timestamp Disp===> Obj=Blinky_inst,Sig=TIMEOUT_SIG,State=Blinky_off")
5050
expect("@timestamp LED 1")
51-
expect("===RTC===> St-Entry Obj=l_blinky,State=Blinky_on")
52-
expect("@timestamp ===>Tran Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off->Blinky_on")
51+
expect("===RTC===> St-Entry Obj=Blinky_inst,State=Blinky_on")
52+
expect("@timestamp ===>Tran Obj=Blinky_inst,Sig=TIMEOUT_SIG,State=Blinky_off->Blinky_on")
5353
expect("@timestamp Trg-Done QS_RX_TICK")
5454

5555
test("timeEvt->Blinky_on (tick)", NORESET)
5656
tick()
5757
expect(" Tick<0> Ctr=*")
58-
expect("@timestamp TE0-Post Obj=l_blinky.timeEvt,Sig=TIMEOUT_SIG,AO=l_blinky")
59-
expect("@timestamp AO-Post Sdr=QS_RX,Obj=l_blinky,Evt<Sig=TIMEOUT_SIG,*")
60-
expect("@timestamp AO-GetL Obj=l_blinky,Evt<Sig=TIMEOUT_SIG,*")
61-
expect("@timestamp Disp===> Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_on")
58+
expect("@timestamp TE0-Post Obj=Blinky_inst.timeEvt,Sig=TIMEOUT_SIG,AO=Blinky_inst")
59+
expect("@timestamp AO-Post Sdr=QS_RX,Obj=Blinky_inst,Evt<Sig=TIMEOUT_SIG,*")
60+
expect("@timestamp AO-GetL Obj=Blinky_inst,Evt<Sig=TIMEOUT_SIG,*")
61+
expect("@timestamp Disp===> Obj=Blinky_inst,Sig=TIMEOUT_SIG,State=Blinky_on")
6262
expect("@timestamp LED 0")
63-
expect("===RTC===> St-Entry Obj=l_blinky,State=Blinky_off")
64-
expect("@timestamp ===>Tran Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_on->Blinky_off")
63+
expect("===RTC===> St-Entry Obj=Blinky_inst,State=Blinky_off")
64+
expect("@timestamp ===>Tran Obj=Blinky_inst,Sig=TIMEOUT_SIG,State=Blinky_on->Blinky_off")
6565
expect("@timestamp Trg-Done QS_RX_TICK")

0 commit comments

Comments
 (0)