xref: /OK3568_Linux_fs/external/rk_pcba_test/common.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  *  Copyright (c) 2017 Rockchip Electronics Co. Ltd.
3*4882a593Smuzhiyun  *  Author: Bin Yang <yangbin@rock-chips.com>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Licensed under the Apache License, Version 2.0 (the "License");
6*4882a593Smuzhiyun  * you may not use this file except in compliance with the License.
7*4882a593Smuzhiyun  * You may obtain a copy of the License at
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * 	 http://www.apache.org/licenses/LICENSE-2.0
10*4882a593Smuzhiyun  *
11*4882a593Smuzhiyun  * Unless required by applicable law or agreed to in writing, software
12*4882a593Smuzhiyun  * distributed under the License is distributed on an "AS IS" BASIS,
13*4882a593Smuzhiyun  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*4882a593Smuzhiyun  * See the License for the specific language governing permissions and
15*4882a593Smuzhiyun  * limitations under the License.
16*4882a593Smuzhiyun  */
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #ifndef __COMMON_H__
19*4882a593Smuzhiyun #define __COMMON_H__
20*4882a593Smuzhiyun #include <stdio.h>
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun #ifdef PCBA_PX3SE
23*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "PX3SE"
24*4882a593Smuzhiyun #endif
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #ifdef PCBA_ECHO
27*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "ECHO"
28*4882a593Smuzhiyun #endif
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #ifdef PCBA_CVR
31*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "CVR"
32*4882a593Smuzhiyun #endif
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun #ifdef PCBA_3308
35*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3308"
36*4882a593Smuzhiyun #endif
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #ifdef PCBA_3229GVA
39*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "GVA"
40*4882a593Smuzhiyun #endif
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #ifdef PCBA_1808
43*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "1808"
44*4882a593Smuzhiyun #endif
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun #ifdef PCBA_3326
47*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3326"
48*4882a593Smuzhiyun #endif
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #ifdef PCBA_PX30
51*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "PX30"
52*4882a593Smuzhiyun #endif
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #ifdef PCBA_3288
55*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3288"
56*4882a593Smuzhiyun #endif
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #ifdef PCBA_312X
59*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "312X"
60*4882a593Smuzhiyun #endif
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun #ifdef PCBA_3328
63*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3328"
64*4882a593Smuzhiyun #endif
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun #ifdef PCBA_3399
67*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3399"
68*4882a593Smuzhiyun #endif
69*4882a593Smuzhiyun 
70*4882a593Smuzhiyun #ifdef PCBA_3399PRO
71*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3399PRO"
72*4882a593Smuzhiyun #endif
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun #ifdef PCBA_1126_1109
75*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "1126_1109"
76*4882a593Smuzhiyun #endif
77*4882a593Smuzhiyun 
78*4882a593Smuzhiyun #ifdef PCBA_356X
79*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "356X"
80*4882a593Smuzhiyun #endif
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun #ifdef PCBA_3588
83*4882a593Smuzhiyun #define   PCBA_TEST_PLATFORM            "3588"
84*4882a593Smuzhiyun #endif
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun #define   PCBA_VERSION                  "1.2.0"
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun typedef enum {
90*4882a593Smuzhiyun 	/* format parse*/
91*4882a593Smuzhiyun 	CMD_CHK_OK              =  0,
92*4882a593Smuzhiyun 	CMD_TYPE_ERR            = -1,
93*4882a593Smuzhiyun 	TEST_ITEM_ERR           = -2,
94*4882a593Smuzhiyun 	CMD_ERR                 = -3,
95*4882a593Smuzhiyun 	MSG_ERR                 = -4,
96*4882a593Smuzhiyun 	SEND_FORMAT_ERR         = -5,
97*4882a593Smuzhiyun 	TCP_SEND_ERR            = -6,
98*4882a593Smuzhiyun 	QUERY_RESULT_ERR        = -7,
99*4882a593Smuzhiyun 	RECV_FORMAT_ERR         = -8,
100*4882a593Smuzhiyun 	CMD_OVERLONG            = -9,
101*4882a593Smuzhiyun 
102*4882a593Smuzhiyun 	/* process  parse */
103*4882a593Smuzhiyun 	TEST_MODE_ERR           = -10,
104*4882a593Smuzhiyun 	ENTER_TEST_ERR          = -11,
105*4882a593Smuzhiyun 	EXIT_TEST_ERR           = -12,
106*4882a593Smuzhiyun 	TEST_ITEM_BUSY          = -13,
107*4882a593Smuzhiyun 	STOP_TEST_ERR           = -14,
108*4882a593Smuzhiyun 	SAVE_RESULE_ERR         = -15,
109*4882a593Smuzhiyun 	TEST_FORK_ERR           = -16,
110*4882a593Smuzhiyun 	TEST_RESULT_EXIST       = -17,
111*4882a593Smuzhiyun 
112*4882a593Smuzhiyun 	/* write storage */
113*4882a593Smuzhiyun 	WRITE_VENDOR_ERR        = -20,
114*4882a593Smuzhiyun 	READ_VENDOR_ERR         = -21,
115*4882a593Smuzhiyun 	/* ptz  test */
116*4882a593Smuzhiyun 	PTZ_TEST_ERR            = -30,
117*4882a593Smuzhiyun 	/* key test */
118*4882a593Smuzhiyun 	KEY_OPEN_FAIL           = -40,
119*4882a593Smuzhiyun 	KEY_EVENT_TIMEOUT       = -41,
120*4882a593Smuzhiyun 	KEY_PROC_ERR            = -42,
121*4882a593Smuzhiyun 	KEY_QUERY_FAIL          = -43,
122*4882a593Smuzhiyun 	/* ROTARY test */
123*4882a593Smuzhiyun 	ROTARY_OPEN_FAIL        = -50,
124*4882a593Smuzhiyun 	ROTARY_EVENT_TIMEOUT    = -51,
125*4882a593Smuzhiyun 	ROTARY_QUERY_FAIL       = -52,
126*4882a593Smuzhiyun 	ROTARY_PROC_ERR         = -53,
127*4882a593Smuzhiyun //	/* light test */
128*4882a593Smuzhiyun //	LIGHT_PATH_ERR          = -50,
129*4882a593Smuzhiyun //	LIGHT_DEV_ERR           = -51,
130*4882a593Smuzhiyun //	/* ircut test */
131*4882a593Smuzhiyun //	IRCUT_STATE_ERR         = -60,
132*4882a593Smuzhiyun //	IRCUT_OPEN_ERR	        = -61,
133*4882a593Smuzhiyun //	IRCUT_SET_ERR	        = -62,
134*4882a593Smuzhiyun 	/* sdcard test */
135*4882a593Smuzhiyun 	SDCARD_SIZE_ERR         = -70,
136*4882a593Smuzhiyun 	SDCARD_WRITE_ERR        = -71,
137*4882a593Smuzhiyun 	SDCARD_READ_ERR         = -72,
138*4882a593Smuzhiyun 	SDCARD_UNKNOWN_ERR      = -73,
139*4882a593Smuzhiyun 	SDCARD_TIMEOUT_ERR      = -74,
140*4882a593Smuzhiyun 	SDCARD_MOUNT_ERR        = -75,
141*4882a593Smuzhiyun 	/* audio test */
142*4882a593Smuzhiyun 	AUDIO_PLAY_ERR          = -80,
143*4882a593Smuzhiyun 	AUDIO_RECORD_ERR        = -81,
144*4882a593Smuzhiyun 	AUDIO_TYPE_ERR          = -82,
145*4882a593Smuzhiyun 	/* wifi test */
146*4882a593Smuzhiyun 	WIFI_RES_FILE_ERR       = -90,
147*4882a593Smuzhiyun 	WIFI_RUN_ERR            = -91,
148*4882a593Smuzhiyun 	WIFI_PROC_ERR           = -92,
149*4882a593Smuzhiyun 	WIFI_UNKNOWN_ERR        = -93,
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun 	/* ddr test */
152*4882a593Smuzhiyun 	DDR_PROC_ERR            = -100,
153*4882a593Smuzhiyun 	/* emmc test*/
154*4882a593Smuzhiyun 	EMMC_PROC_ERR           = -110,
155*4882a593Smuzhiyun 
156*4882a593Smuzhiyun 	/*usb host test*/
157*4882a593Smuzhiyun 	USBHOST_UNKNOWN_ERR     = -120,
158*4882a593Smuzhiyun 	USBHOST_TIMEOUT_ERR     = -121,
159*4882a593Smuzhiyun 	USBHOST_MOUNT_ERR       = -122,
160*4882a593Smuzhiyun 
161*4882a593Smuzhiyun 	/*infrard ray test*/
162*4882a593Smuzhiyun 	IR_OPEN_FAIL            = -130,
163*4882a593Smuzhiyun 	IR_EVENT_TIMEOUT        = -131,
164*4882a593Smuzhiyun 	IR_QUERY_FAIL           = -132,
165*4882a593Smuzhiyun 
166*4882a593Smuzhiyun 	/* camera test */
167*4882a593Smuzhiyun 	CAMERA_PROC_ERR         = -200,
168*4882a593Smuzhiyun 	CAMERA_DATA_ERR         = -201,
169*4882a593Smuzhiyun } RET_STA;
170*4882a593Smuzhiyun 
171*4882a593Smuzhiyun typedef enum _SDCARD_EVENT_ID {
172*4882a593Smuzhiyun 	SDCARD_NOT_EVENT        = 0,
173*4882a593Smuzhiyun 	SDCARD_UNMOUNT_EVENT    = 1,
174*4882a593Smuzhiyun 	SDCARD_MOUNT_EVENT      = 2,
175*4882a593Smuzhiyun 	SDCARD_MOUNT_NOTFIT     = 3,
176*4882a593Smuzhiyun 	SDCARD_MOUNT_FAIL       = 4,
177*4882a593Smuzhiyun }SDCARD_EVENT_ID;
178*4882a593Smuzhiyun 
179*4882a593Smuzhiyun typedef enum _HDMI_EVENT_ID {
180*4882a593Smuzhiyun 	HDMI_NOT_EVENT          = 0,
181*4882a593Smuzhiyun 	HDMI_IN_EVENT           = 1,
182*4882a593Smuzhiyun 	HDMI_OUT_EVENT          = 2,
183*4882a593Smuzhiyun }HDMI_EVENT_ID;
184*4882a593Smuzhiyun 
185*4882a593Smuzhiyun #define COMMAND_NAMESIZE        20
186*4882a593Smuzhiyun #define COMMAND_VALUESIZE       100
187*4882a593Smuzhiyun 
188*4882a593Smuzhiyun #define SDCARD_PATH             "/mnt/sdcard"
189*4882a593Smuzhiyun #define TEST_RESULT_SAVE_PATH   "/tmp"
190*4882a593Smuzhiyun 
191*4882a593Smuzhiyun //#define TEST_RESULT_SAVE_PATH "/data/cfg/rk_pcba_test"
192*4882a593Smuzhiyun 
193*4882a593Smuzhiyun 
194*4882a593Smuzhiyun //#define PCBA_TEST_PATH "/tmp"
195*4882a593Smuzhiyun //#define PCBA_TEST_PATH "/data/cfg/rk_pcba_test"
196*4882a593Smuzhiyun 
197*4882a593Smuzhiyun #define PCBA_TEST_PATH          "/data/"
198*4882a593Smuzhiyun #define MANUAL_TEST_TIMEOUT     60000000
199*4882a593Smuzhiyun #define RESULT_TESTING          "TESTING"
200*4882a593Smuzhiyun #define RESULT_PASS             "PASS"
201*4882a593Smuzhiyun #define RESULT_FAIL             "FAIL"
202*4882a593Smuzhiyun #define RESULT_VERIFY           "VERIFY"
203*4882a593Smuzhiyun #define RESULT_KEY_PRESS        "PRESS"
204*4882a593Smuzhiyun 
205*4882a593Smuzhiyun #define TESTITEM_SEND_PARSE	    "%*[^<]<%[^>]>,<%[^>]>,<%d>"
206*4882a593Smuzhiyun #define TESTITEM_SEND_PARSE_NOMSG "%*[^<]<>,<%[^>]>,<%d>"
207*4882a593Smuzhiyun #define TESTITEM_SEND_HEAD      "[tcp_server]"
208*4882a593Smuzhiyun #define TESTITEM_SEND_FORMAT    "%s<%s>,<%s>,<%d>\n"
209*4882a593Smuzhiyun 
210*4882a593Smuzhiyun #define send_msg_to_server(msg, result, err_code) \
211*4882a593Smuzhiyun 	printf(TESTITEM_SEND_FORMAT, TESTITEM_SEND_HEAD, msg, result, err_code)
212*4882a593Smuzhiyun #define send_msg_to_buf(buf, msg, result, err_code) \
213*4882a593Smuzhiyun 	snprintf(buf, COMMAND_VALUESIZE, TESTITEM_SEND_FORMAT, TESTITEM_SEND_HEAD, msg, result, err_code)
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun 
216*4882a593Smuzhiyun #define LOG_DEBUG_LEVEL         (1)
217*4882a593Smuzhiyun #define LOG_ERROR_FLAG          (4)
218*4882a593Smuzhiyun #define LOG_WARING_FLAG         (3)
219*4882a593Smuzhiyun #define LOG_INFO_FLAG           (2)
220*4882a593Smuzhiyun #define LOG_DEBUG_FLAG          (1)
221*4882a593Smuzhiyun 
222*4882a593Smuzhiyun #define LOG_PRINTF(level, format, ...) \
223*4882a593Smuzhiyun 	do { \
224*4882a593Smuzhiyun 		if (level > LOG_DEBUG_LEVEL) { \
225*4882a593Smuzhiyun 			printf("[%s]: "format, LOG_TAG, ##__VA_ARGS__); \
226*4882a593Smuzhiyun 		} \
227*4882a593Smuzhiyun 	} while(0)
228*4882a593Smuzhiyun #define log_info(format, ...) LOG_PRINTF(LOG_INFO_FLAG, format, ##__VA_ARGS__)
229*4882a593Smuzhiyun #define log_dbg(format, ...) LOG_PRINTF(LOG_DEBUG_FLAG, format, ##__VA_ARGS__)
230*4882a593Smuzhiyun #define log_warn(format, ...) LOG_PRINTF(LOG_WARING_FLAG, format, ##__VA_ARGS__)
231*4882a593Smuzhiyun #define log_err(format, ...) LOG_PRINTF(LOG_ERROR_FLAG, format, ##__VA_ARGS__)
232*4882a593Smuzhiyun 
233*4882a593Smuzhiyun #endif
234