xref: /btstack/test/hfp/test_sequences.c (revision c3a23b29cd997c08ac8e30491a1ceb32255dedf8)
1dc5611fdSMilanka Ringwald /*
2dc5611fdSMilanka Ringwald  * Copyright (C) 2014 BlueKitchen GmbH
3dc5611fdSMilanka Ringwald  *
4dc5611fdSMilanka Ringwald  * Redistribution and use in source and binary forms, with or without
5dc5611fdSMilanka Ringwald  * modification, are permitted provided that the following conditions
6dc5611fdSMilanka Ringwald  * are met:
7dc5611fdSMilanka Ringwald  *
8dc5611fdSMilanka Ringwald  * 1. Redistributions of source code must retain the above copyright
9dc5611fdSMilanka Ringwald  *    notice, this list of conditions and the following disclaimer.
10dc5611fdSMilanka Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
11dc5611fdSMilanka Ringwald  *    notice, this list of conditions and the following disclaimer in the
12dc5611fdSMilanka Ringwald  *    documentation and/or other materials provided with the distribution.
13dc5611fdSMilanka Ringwald  * 3. Neither the name of the copyright holders nor the names of
14dc5611fdSMilanka Ringwald  *    contributors may be used to endorse or promote products derived
15dc5611fdSMilanka Ringwald  *    from this software without specific prior written permission.
16dc5611fdSMilanka Ringwald  * 4. Any redistribution, use, or modification is done solely for
17dc5611fdSMilanka Ringwald  *    personal benefit and not for any commercial purpose or for
18dc5611fdSMilanka Ringwald  *    monetary gain.
19dc5611fdSMilanka Ringwald  *
20dc5611fdSMilanka Ringwald  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21dc5611fdSMilanka Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22dc5611fdSMilanka Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23dc5611fdSMilanka Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
24dc5611fdSMilanka Ringwald  * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25dc5611fdSMilanka Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26dc5611fdSMilanka Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27dc5611fdSMilanka Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28dc5611fdSMilanka Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29dc5611fdSMilanka Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30dc5611fdSMilanka Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31dc5611fdSMilanka Ringwald  * SUCH DAMAGE.
32dc5611fdSMilanka Ringwald  *
33dc5611fdSMilanka Ringwald  * Please inquire about commercial licensing options at
34dc5611fdSMilanka Ringwald  * [email protected]
35dc5611fdSMilanka Ringwald  *
36dc5611fdSMilanka Ringwald  */
37dc5611fdSMilanka Ringwald 
38dc5611fdSMilanka Ringwald // *****************************************************************************
39dc5611fdSMilanka Ringwald //
40dc5611fdSMilanka Ringwald // HFP Test Sequences
41dc5611fdSMilanka Ringwald //
42dc5611fdSMilanka Ringwald // *****************************************************************************
43dc5611fdSMilanka Ringwald 
44dc5611fdSMilanka Ringwald #include <stdint.h>
45dc5611fdSMilanka Ringwald #include <stdio.h>
46dc5611fdSMilanka Ringwald #include <stdlib.h>
47dc5611fdSMilanka Ringwald #include <string.h>
48dc5611fdSMilanka Ringwald 
49dc5611fdSMilanka Ringwald #include "test_sequences.h"
50dc5611fdSMilanka Ringwald 
51dc5611fdSMilanka Ringwald 
520cacd247SMilanka Ringwald #define TEST_SEQUENCE(test_sequence) { (char *)#test_sequence, (char**)test_sequence, sizeof(test_sequence) / sizeof(char *)}
53dc5611fdSMilanka Ringwald 
54dc5611fdSMilanka Ringwald /* Service Level Connection (slc) test sequences */
55dc5611fdSMilanka Ringwald 
56555cc8adSMilanka Ringwald // with codec negotiation feature
57dc5611fdSMilanka Ringwald const char * slc_test1[] = {
580cacd247SMilanka Ringwald     "AT+BRSF=127",
590cacd247SMilanka Ringwald     "+BRSF:4079",
60dc5611fdSMilanka Ringwald     "OK",
61dc5611fdSMilanka Ringwald     "AT+BAC=1,2",
62dc5611fdSMilanka Ringwald     "OK",
63dc5611fdSMilanka Ringwald     "AT+CIND=?",
64dc5611fdSMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))",
65dc5611fdSMilanka Ringwald     "OK",
66dc5611fdSMilanka Ringwald     "AT+CIND?",
67dc5611fdSMilanka Ringwald     "+CIND:1,0,0,3,5,0,0",
68dc5611fdSMilanka Ringwald     "OK",
69dc5611fdSMilanka Ringwald     "AT+CMER=3,0,0,1",
70dc5611fdSMilanka Ringwald     "OK",
71dc5611fdSMilanka Ringwald     "AT+CHLD=?",
72dc5611fdSMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)",
73dc5611fdSMilanka Ringwald     "OK"
74dc5611fdSMilanka Ringwald };
75dc5611fdSMilanka Ringwald 
76555cc8adSMilanka Ringwald // without codec negotiation feature
77555cc8adSMilanka Ringwald const char * slc_test2[] = {
78555cc8adSMilanka Ringwald     "AT+BRSF=438",
79555cc8adSMilanka Ringwald     "+BRSF:495",
80555cc8adSMilanka Ringwald     "OK",
81555cc8adSMilanka Ringwald     "AT+CIND=?",
82555cc8adSMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))",
83555cc8adSMilanka Ringwald     "OK",
84555cc8adSMilanka Ringwald     "AT+CIND?",
85555cc8adSMilanka Ringwald     "+CIND:1,0,0,3,5,0,0",
86555cc8adSMilanka Ringwald     "OK",
87555cc8adSMilanka Ringwald     "AT+CMER=3,0,0,1",
88555cc8adSMilanka Ringwald     "OK",
89555cc8adSMilanka Ringwald     "AT+CHLD=?",
90555cc8adSMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)",
91555cc8adSMilanka Ringwald     "OK"
92555cc8adSMilanka Ringwald };
93555cc8adSMilanka Ringwald 
940cacd247SMilanka Ringwald 
95dc5611fdSMilanka Ringwald hfp_test_item_t slc_tests[] = {
96555cc8adSMilanka Ringwald     TEST_SEQUENCE(slc_test1),
97555cc8adSMilanka Ringwald     TEST_SEQUENCE(slc_test2)
98dc5611fdSMilanka Ringwald };
99dc5611fdSMilanka Ringwald 
100dc5611fdSMilanka Ringwald /* Service Level Connection (slc) common commands */
101dc5611fdSMilanka Ringwald const char * slc_cmds_test1[] = {
102dc5611fdSMilanka Ringwald     "AT+BAC=1,3",
103dc5611fdSMilanka Ringwald     "OK"
104dc5611fdSMilanka Ringwald };
105dc5611fdSMilanka Ringwald 
106dc5611fdSMilanka Ringwald hfp_test_item_t slc_cmds_tests[] = {
107dc5611fdSMilanka Ringwald     TEST_SEQUENCE(slc_cmds_test1)
108dc5611fdSMilanka Ringwald };
109c26caa21SMilanka Ringwald 
110dc5611fdSMilanka Ringwald /* Codecs Connection (cc) test sequences */
111dc5611fdSMilanka Ringwald const char * cc_test1[] = {
112dc5611fdSMilanka Ringwald     "AT+BCC",
113dc5611fdSMilanka Ringwald     "OK",
114dc5611fdSMilanka Ringwald     "+BCS:1",
115dc5611fdSMilanka Ringwald     "AT+BCS=1",
116dc5611fdSMilanka Ringwald     "OK"
117dc5611fdSMilanka Ringwald };
118dc5611fdSMilanka Ringwald 
119dc5611fdSMilanka Ringwald const char * cc_test2[] = {
12062656e33SMilanka Ringwald     "AT+BAC=1,2",
12162656e33SMilanka Ringwald     "OK",
122dc5611fdSMilanka Ringwald     "AT+BCC",
123dc5611fdSMilanka Ringwald     "OK",
124af03d747SMilanka Ringwald     "BCS:1",
125656f7353SMilanka Ringwald     "AT+BCS=1",
126656f7353SMilanka Ringwald     "OK"
127656f7353SMilanka Ringwald };
128656f7353SMilanka Ringwald 
12962656e33SMilanka Ringwald 
130656f7353SMilanka Ringwald const char * cc_test3[] = {
131656f7353SMilanka Ringwald     "AT+BAC=1,2",
132656f7353SMilanka Ringwald     "OK",
133656f7353SMilanka Ringwald     "AT+BCC",
134656f7353SMilanka Ringwald     "OK",
135656f7353SMilanka Ringwald     "+BCS:1",
136656f7353SMilanka Ringwald     "AT+BAC=2,3",
137656f7353SMilanka Ringwald     "OK",
138af03d747SMilanka Ringwald     "+BCS:3",
139af03d747SMilanka Ringwald     "AT+BCS=3",
140656f7353SMilanka Ringwald     "OK"
141656f7353SMilanka Ringwald };
142656f7353SMilanka Ringwald 
14362656e33SMilanka Ringwald const char * cc_test4[] = {
144656f7353SMilanka Ringwald     "AT+BCC",
145656f7353SMilanka Ringwald     "OK",
146dc5611fdSMilanka Ringwald     "+BCS:1",
147dc5611fdSMilanka Ringwald     "AT+BAC=2,3",
148dc5611fdSMilanka Ringwald     "OK",
149af03d747SMilanka Ringwald     "+BCS:3",
150af03d747SMilanka Ringwald     "AT+BCS=3",
151dc5611fdSMilanka Ringwald     "OK"
152dc5611fdSMilanka Ringwald };
153dc5611fdSMilanka Ringwald 
154d212fbd8SMilanka Ringwald 
155dc5611fdSMilanka Ringwald hfp_test_item_t cc_tests[] = {
15662656e33SMilanka Ringwald     TEST_SEQUENCE(cc_test1),
157ec0ee77dSMilanka Ringwald     TEST_SEQUENCE(cc_test2),
158ec0ee77dSMilanka Ringwald     TEST_SEQUENCE(cc_test3),
159ec0ee77dSMilanka Ringwald     TEST_SEQUENCE(cc_test4)
160dc5611fdSMilanka Ringwald };
161dc5611fdSMilanka Ringwald 
162deaf6c13SMilanka Ringwald /* Incoming call sequence */
163deaf6c13SMilanka Ringwald const char * ic_test1[] = {
164deaf6c13SMilanka Ringwald     "+CIEV:3,1",
165deaf6c13SMilanka Ringwald     "BCS:1",
166deaf6c13SMilanka Ringwald     "AT+BCS=1",
167*c3a23b29SMilanka Ringwald     "OK"
168deaf6c13SMilanka Ringwald };
169deaf6c13SMilanka Ringwald 
170deaf6c13SMilanka Ringwald const char * ic_alert_test1[] = {
1711872f848SMilanka Ringwald     "ATA",
1721872f848SMilanka Ringwald     "OK",
1731872f848SMilanka Ringwald     "+CIEV:2,1", // call = 1
174a8714e14SMilanka Ringwald     "+CIEV:3,0",
175a8714e14SMilanka Ringwald };
176a8714e14SMilanka Ringwald 
177a8714e14SMilanka Ringwald const char * ic_ag_terminates_call[] = {
178a8714e14SMilanka Ringwald     // AG terminates call
179a8714e14SMilanka Ringwald     "+CIEV:2,0"
180a8714e14SMilanka Ringwald };
181a8714e14SMilanka Ringwald 
182a8714e14SMilanka Ringwald const char * ic_hf_terminates_call[] = {
183a8714e14SMilanka Ringwald     // HF terminates call
184a8714e14SMilanka Ringwald     "AT+CHUP",
185968c1e89SMilanka Ringwald     "OK",
186a8714e14SMilanka Ringwald     "+CIEV:2,0"
187deaf6c13SMilanka Ringwald };
188deaf6c13SMilanka Ringwald 
189deaf6c13SMilanka Ringwald hfp_test_item_t ic_tests[] = {
190deaf6c13SMilanka Ringwald     TEST_SEQUENCE(ic_test1)
191deaf6c13SMilanka Ringwald };
192deaf6c13SMilanka Ringwald 
1930cacd247SMilanka Ringwald // PTS test sequences
194dc5611fdSMilanka Ringwald 
1950cacd247SMilanka Ringwald const char * TC_AG_SLC_BV_01_C[] = {
1960cacd247SMilanka Ringwald     "AT+BRSF=127" ,
1970cacd247SMilanka Ringwald     "+BRSF:4079" ,
1980cacd247SMilanka Ringwald     "OK" ,
1990cacd247SMilanka Ringwald     "AT+CIND=?" ,
2000cacd247SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
2010cacd247SMilanka Ringwald     "OK" ,
2020cacd247SMilanka Ringwald     "AT+CIND?" ,
2030cacd247SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
2040cacd247SMilanka Ringwald     "OK" ,
2050cacd247SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
2060cacd247SMilanka Ringwald     "OK" ,
2070cacd247SMilanka Ringwald     "AT+CHLD=?" ,
2080cacd247SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
2090cacd247SMilanka Ringwald     "OK" ,
2100cacd247SMilanka Ringwald     "AT+VGS=9" ,
2110cacd247SMilanka Ringwald     "OK" ,
2120cacd247SMilanka Ringwald     "AT+VGM=9" ,
2130cacd247SMilanka Ringwald     "OK" ,
2140cacd247SMilanka Ringwald     "AT+CLIP=1" ,
2150cacd247SMilanka Ringwald     "OK" ,
2160cacd247SMilanka Ringwald     "AT+CCWA=1" ,
2170cacd247SMilanka Ringwald     "OK" ,
2180cacd247SMilanka Ringwald     "AT+CMEE=1" ,
2190cacd247SMilanka Ringwald     "OK"
2200cacd247SMilanka Ringwald };
2210cacd247SMilanka Ringwald 
22218602070SMilanka Ringwald const char * TC_AG_SLC_BV_02_C[] = {
22318602070SMilanka Ringwald     "AT+BRSF=127" ,
22418602070SMilanka Ringwald     "+BRSF:4079" ,
22518602070SMilanka Ringwald     "OK" ,
22618602070SMilanka Ringwald     "AT+CIND=?" ,
22718602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
22818602070SMilanka Ringwald     "OK" ,
22918602070SMilanka Ringwald     "AT+CIND?" ,
23018602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
23118602070SMilanka Ringwald     "OK" ,
23218602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
23318602070SMilanka Ringwald     "OK" ,
23418602070SMilanka Ringwald     "AT+CHLD=?" ,
23518602070SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
23618602070SMilanka Ringwald     "OK" ,
23718602070SMilanka Ringwald     "AT+VGS=9" ,
23818602070SMilanka Ringwald     "OK" ,
23918602070SMilanka Ringwald     "AT+VGM=9" ,
24018602070SMilanka Ringwald     "OK" ,
24118602070SMilanka Ringwald     "AT+CLIP=1" ,
24218602070SMilanka Ringwald     "OK" ,
24318602070SMilanka Ringwald     "AT+CCWA=1" ,
24418602070SMilanka Ringwald     "OK" ,
24518602070SMilanka Ringwald     "AT+CMEE=1" ,
24618602070SMilanka Ringwald     "OK"
24718602070SMilanka Ringwald };
24818602070SMilanka Ringwald 
24918602070SMilanka Ringwald const char * TC_AG_SLC_BV_03_C[] = {
25018602070SMilanka Ringwald     "AT+BRSF=125" ,
25118602070SMilanka Ringwald     "+BRSF:4079" ,
25218602070SMilanka Ringwald     "OK" ,
25318602070SMilanka Ringwald     "AT+CIND=?" ,
25418602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
25518602070SMilanka Ringwald     "OK" ,
25618602070SMilanka Ringwald     "AT+CIND?" ,
25718602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
25818602070SMilanka Ringwald     "OK" ,
25918602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
26018602070SMilanka Ringwald     "OK" ,
26118602070SMilanka Ringwald     "AT+VGS=9" ,
26218602070SMilanka Ringwald     "OK" ,
26318602070SMilanka Ringwald     "AT+VGM=9" ,
26418602070SMilanka Ringwald     "OK" ,
26518602070SMilanka Ringwald     "AT+CLIP=1" ,
26618602070SMilanka Ringwald     "OK" ,
26718602070SMilanka Ringwald     "AT+CCWA=1" ,
26818602070SMilanka Ringwald     "OK" ,
26918602070SMilanka Ringwald     "AT+CMEE=1" ,
27018602070SMilanka Ringwald     "OK"
27118602070SMilanka Ringwald };
27218602070SMilanka Ringwald 
27318602070SMilanka Ringwald const char * TC_AG_SLC_BV_04_C[] = {
27418602070SMilanka Ringwald     "AT+BRSF=125" ,
27518602070SMilanka Ringwald     "+BRSF:4079" ,
27618602070SMilanka Ringwald     "OK" ,
27718602070SMilanka Ringwald     "AT+CIND=?" ,
27818602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
27918602070SMilanka Ringwald     "OK" ,
28018602070SMilanka Ringwald     "AT+CIND?" ,
28118602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
28218602070SMilanka Ringwald     "OK" ,
28318602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
28418602070SMilanka Ringwald     "OK" ,
28518602070SMilanka Ringwald     "AT+VGS=9" ,
28618602070SMilanka Ringwald     "OK" ,
28718602070SMilanka Ringwald     "AT+VGM=9" ,
28818602070SMilanka Ringwald     "OK" ,
28918602070SMilanka Ringwald     "AT+CLIP=1" ,
29018602070SMilanka Ringwald     "OK" ,
29118602070SMilanka Ringwald     "AT+CCWA=1" ,
29218602070SMilanka Ringwald     "OK" ,
29318602070SMilanka Ringwald     "AT+CMEE=1" ,
29418602070SMilanka Ringwald     "OK"
29518602070SMilanka Ringwald };
29618602070SMilanka Ringwald 
29718602070SMilanka Ringwald const char * TC_AG_SLC_BV_05_I[] = {
29818602070SMilanka Ringwald     "AT+BRSF=255" ,
29918602070SMilanka Ringwald     "+BRSF:4079" ,
30018602070SMilanka Ringwald     "OK" ,
30118602070SMilanka Ringwald     "AT+BAC=1" ,
30218602070SMilanka Ringwald     "OK" ,
30318602070SMilanka Ringwald     "AT+CIND=?" ,
30418602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
30518602070SMilanka Ringwald     "OK" ,
30618602070SMilanka Ringwald     "AT+CIND?" ,
30718602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
30818602070SMilanka Ringwald     "OK" ,
30918602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
31018602070SMilanka Ringwald     "OK" ,
31118602070SMilanka Ringwald     "AT+CHLD=?" ,
31218602070SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
31318602070SMilanka Ringwald     "OK" ,
31418602070SMilanka Ringwald     "AT+VGS=9" ,
31518602070SMilanka Ringwald     "OK" ,
31618602070SMilanka Ringwald     "AT+VGM=9" ,
31718602070SMilanka Ringwald     "OK" ,
31818602070SMilanka Ringwald     "AT+CLIP=1" ,
31918602070SMilanka Ringwald     "OK" ,
32018602070SMilanka Ringwald     "AT+CCWA=1" ,
32118602070SMilanka Ringwald     "OK" ,
32218602070SMilanka Ringwald     "AT+CMEE=1" ,
32318602070SMilanka Ringwald     "OK"
32418602070SMilanka Ringwald };
32518602070SMilanka Ringwald 
32618602070SMilanka Ringwald const char * TC_AG_SLC_BV_06_I[] = {
32718602070SMilanka Ringwald     "AT+BRSF=255" ,
32818602070SMilanka Ringwald     "+BRSF:4079" ,
32918602070SMilanka Ringwald     "OK" ,
33018602070SMilanka Ringwald     "AT+BAC=1" ,
33118602070SMilanka Ringwald     "OK" ,
33218602070SMilanka Ringwald     "AT+CIND=?" ,
33318602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
33418602070SMilanka Ringwald     "OK" ,
33518602070SMilanka Ringwald     "AT+CIND?" ,
33618602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
33718602070SMilanka Ringwald     "OK" ,
33818602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
33918602070SMilanka Ringwald     "OK" ,
34018602070SMilanka Ringwald     "AT+CHLD=?" ,
34118602070SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
34218602070SMilanka Ringwald     "OK" ,
34318602070SMilanka Ringwald     "AT+VGS=9" ,
34418602070SMilanka Ringwald     "OK" ,
34518602070SMilanka Ringwald     "AT+VGM=9" ,
34618602070SMilanka Ringwald     "OK" ,
34718602070SMilanka Ringwald     "AT+CLIP=1" ,
34818602070SMilanka Ringwald     "OK" ,
34918602070SMilanka Ringwald     "AT+CCWA=1" ,
35018602070SMilanka Ringwald     "OK" ,
35118602070SMilanka Ringwald     "AT+CMEE=1" ,
35218602070SMilanka Ringwald     "OK"
35318602070SMilanka Ringwald };
35418602070SMilanka Ringwald 
35518602070SMilanka Ringwald const char * TC_AG_SLC_BV_07_I[] = {
35618602070SMilanka Ringwald     "AT+BRSF=127" ,
35718602070SMilanka Ringwald     "+BRSF:4079" ,
35818602070SMilanka Ringwald     "OK" ,
35918602070SMilanka Ringwald     "AT+CIND=?" ,
36018602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
36118602070SMilanka Ringwald     "OK" ,
36218602070SMilanka Ringwald     "AT+CIND?" ,
36318602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
36418602070SMilanka Ringwald     "OK" ,
36518602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
36618602070SMilanka Ringwald     "OK" ,
36718602070SMilanka Ringwald     "AT+CHLD=?" ,
36818602070SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
36918602070SMilanka Ringwald     "OK" ,
37018602070SMilanka Ringwald     "AT+VGS=9" ,
37118602070SMilanka Ringwald     "OK" ,
37218602070SMilanka Ringwald     "AT+VGM=9" ,
37318602070SMilanka Ringwald     "OK" ,
37418602070SMilanka Ringwald     "AT+CLIP=1" ,
37518602070SMilanka Ringwald     "OK" ,
37618602070SMilanka Ringwald     "AT+CCWA=1" ,
37718602070SMilanka Ringwald     "OK" ,
37818602070SMilanka Ringwald     "AT+CMEE=1" ,
37918602070SMilanka Ringwald     "OK"
38018602070SMilanka Ringwald };
38118602070SMilanka Ringwald 
38218602070SMilanka Ringwald const char * TC_AG_SLC_BV_09_I[] = {
38318602070SMilanka Ringwald     "AT+BRSF=895" ,
38418602070SMilanka Ringwald     "+BRSF:4079" ,
38518602070SMilanka Ringwald     "OK" ,
38618602070SMilanka Ringwald     "AT+CIND=?" ,
38718602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
38818602070SMilanka Ringwald     "OK" ,
38918602070SMilanka Ringwald     "AT+CIND?" ,
39018602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
39118602070SMilanka Ringwald     "OK" ,
39218602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
39318602070SMilanka Ringwald     "OK" ,
39418602070SMilanka Ringwald     "AT+CHLD=?" ,
39518602070SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
39618602070SMilanka Ringwald     "OK" ,
39718602070SMilanka Ringwald     "AT+BIND=1,99" ,
39818602070SMilanka Ringwald     "OK" ,
39918602070SMilanka Ringwald     "AT+BIND=?" ,
40018602070SMilanka Ringwald     "+BIND:(1,2,)" ,
40118602070SMilanka Ringwald     "OK" ,
40218602070SMilanka Ringwald     "AT+BIND?" ,
40318602070SMilanka Ringwald     "+BIND:1,1",
40418602070SMilanka Ringwald     "+BIND:2,1" ,
40518602070SMilanka Ringwald     "OK" ,
40618602070SMilanka Ringwald     "AT+VGS=9" ,
40718602070SMilanka Ringwald     "OK" ,
40818602070SMilanka Ringwald     "AT+VGM=9" ,
40918602070SMilanka Ringwald     "OK" ,
41018602070SMilanka Ringwald     "AT+CLIP=1" ,
41118602070SMilanka Ringwald     "OK" ,
41218602070SMilanka Ringwald     "AT+CCWA=1" ,
41318602070SMilanka Ringwald     "OK" ,
41418602070SMilanka Ringwald     "AT+CMEE=1" ,
41518602070SMilanka Ringwald     "OK"
41618602070SMilanka Ringwald };
41718602070SMilanka Ringwald 
41818602070SMilanka Ringwald const char * TC_AG_SLC_BV_10_I[] = {
41918602070SMilanka Ringwald     "AT+BRSF=127" ,
42018602070SMilanka Ringwald     "+BRSF:4079" ,
42118602070SMilanka Ringwald     "OK" ,
42218602070SMilanka Ringwald     "AT+CIND=?" ,
42318602070SMilanka Ringwald     "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" ,
42418602070SMilanka Ringwald     "OK" ,
42518602070SMilanka Ringwald     "AT+CIND?" ,
42618602070SMilanka Ringwald     "+CIND:1,0,0,3,5,0,0" ,
42718602070SMilanka Ringwald     "OK" ,
42818602070SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
42918602070SMilanka Ringwald     "OK" ,
43018602070SMilanka Ringwald     "AT+CHLD=?" ,
43118602070SMilanka Ringwald     "+CHLD:(1,1x,2,2x,3)" ,
43218602070SMilanka Ringwald     "OK" ,
43318602070SMilanka Ringwald     "AT+VGS=9" ,
43418602070SMilanka Ringwald     "OK" ,
43518602070SMilanka Ringwald     "AT+VGM=9" ,
43618602070SMilanka Ringwald     "OK" ,
43718602070SMilanka Ringwald     "AT+CLIP=1" ,
43818602070SMilanka Ringwald     "OK" ,
43918602070SMilanka Ringwald     "AT+CCWA=1" ,
44018602070SMilanka Ringwald     "OK" ,
44118602070SMilanka Ringwald     "AT+CMEE=1" ,
44218602070SMilanka Ringwald     "OK"
44318602070SMilanka Ringwald };
44418602070SMilanka Ringwald 
445*c3a23b29SMilanka Ringwald hfp_test_item_t pts_ag_slc_tests[] = {
44618602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_01_C),
44718602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_02_C),
44818602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_03_C),
44918602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_04_C),
45018602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_05_I),
45118602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_06_I),
45218602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_07_I),
45318602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_09_I),
45418602070SMilanka Ringwald     TEST_SEQUENCE(TC_AG_SLC_BV_10_I)
4550cacd247SMilanka Ringwald };
456dc5611fdSMilanka Ringwald 
457*c3a23b29SMilanka Ringwald 
458*c3a23b29SMilanka Ringwald const char * TC_HF_SLC_BV_01_C[] = {
459*c3a23b29SMilanka Ringwald     "AT+BRSF=951" ,
460*c3a23b29SMilanka Ringwald     "+BRSF: 511" ,
461*c3a23b29SMilanka Ringwald     "OK" ,
462*c3a23b29SMilanka Ringwald     "AT+CIND=?" ,
463*c3a23b29SMilanka Ringwald     "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" ,
464*c3a23b29SMilanka Ringwald     "OK" ,
465*c3a23b29SMilanka Ringwald     "AT+CIND?" ,
466*c3a23b29SMilanka Ringwald     "+CIND: 1,0,0,0,5,0,5" ,
467*c3a23b29SMilanka Ringwald     "OK" ,
468*c3a23b29SMilanka Ringwald     "AT+CMER=3,0,0,1" ,
469*c3a23b29SMilanka Ringwald     "OK" ,
470*c3a23b29SMilanka Ringwald     "AT+CHLD=?" ,
471*c3a23b29SMilanka Ringwald     "+CHLD: (0,1,1x,2,2x,3,4)" ,
472*c3a23b29SMilanka Ringwald     "OK" ,
473*c3a23b29SMilanka Ringwald     "AT+VGM=9" ,
474*c3a23b29SMilanka Ringwald     "+BSIR: 0" ,
475*c3a23b29SMilanka Ringwald     "AT+VGS=9" ,
476*c3a23b29SMilanka Ringwald     "OK" ,
477*c3a23b29SMilanka Ringwald     "OK"
478*c3a23b29SMilanka Ringwald };
479*c3a23b29SMilanka Ringwald 
480*c3a23b29SMilanka Ringwald 
481*c3a23b29SMilanka Ringwald hfp_test_item_t pts_hf_slc_tests[] = {
482*c3a23b29SMilanka Ringwald     TEST_SEQUENCE(TC_HF_SLC_BV_01_C),
483*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_02_C),
484*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_03_C),
485*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_04_C),
486*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_05_I),
487*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_06_I),
488*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_07_I),
489*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_09_I),
490*c3a23b29SMilanka Ringwald //    TEST_SEQUENCE(TC_HF_SLC_BV_10_I),
491*c3a23b29SMilanka Ringwald };
492*c3a23b29SMilanka Ringwald 
493dc5611fdSMilanka Ringwald //////////////
494dc5611fdSMilanka Ringwald 
495656f7353SMilanka Ringwald static int test_item_size = sizeof(hfp_test_item_t);
496dc5611fdSMilanka Ringwald 
497dc5611fdSMilanka Ringwald // SLC
4980cacd247SMilanka Ringwald int hfp_slc_tests_size(){ return sizeof(slc_tests)/test_item_size;}
499656f7353SMilanka Ringwald hfp_test_item_t * hfp_slc_tests(){ return slc_tests;}
5000cacd247SMilanka Ringwald hfp_test_item_t * default_hfp_slc_test(){return  &slc_tests[0];}
501dc5611fdSMilanka Ringwald 
502656f7353SMilanka Ringwald // SLC commands
5030cacd247SMilanka Ringwald int hfp_slc_cmds_tests_size(){ return sizeof(slc_cmds_tests)/test_item_size;}
504656f7353SMilanka Ringwald hfp_test_item_t * hfp_slc_cmds_tests(){ return slc_cmds_tests;}
5050cacd247SMilanka Ringwald hfp_test_item_t * default_slc_cmds_test() { return  &slc_tests[0];}
506dc5611fdSMilanka Ringwald 
507dc5611fdSMilanka Ringwald // CC
5080cacd247SMilanka Ringwald int hfp_cc_tests_size(){ return sizeof(cc_tests) /test_item_size;}
509656f7353SMilanka Ringwald hfp_test_item_t * hfp_cc_tests(){ return cc_tests;}
5100cacd247SMilanka Ringwald hfp_test_item_t * default_hfp_cc_test(){ return &cc_tests[0];}
511deaf6c13SMilanka Ringwald 
5120cacd247SMilanka Ringwald // PTS
513*c3a23b29SMilanka Ringwald int hfp_pts_ag_slc_tests_size(){ return sizeof(pts_ag_slc_tests)/test_item_size;}
514*c3a23b29SMilanka Ringwald hfp_test_item_t * hfp_pts_ag_slc_tests(){ return pts_ag_slc_tests;}
515*c3a23b29SMilanka Ringwald 
516*c3a23b29SMilanka Ringwald int hfp_pts_hf_slc_tests_size(){ return sizeof(pts_hf_slc_tests)/test_item_size;}
517*c3a23b29SMilanka Ringwald hfp_test_item_t * hfp_pts_hf_slc_tests(){ return pts_hf_slc_tests;}
518656f7353SMilanka Ringwald 
519a8714e14SMilanka Ringwald