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