blob: b3db7685f338ce81dddd70ce033ef5f07d91f0d0
1 | #ifndef C_FBC_COMMUNICATION_H |
2 | #define C_FBC_COMMUNICATION_H |
3 | #include "tvutils/CHdmiCecCmd.h" |
4 | #include "tvutils/CSerialPort.h" |
5 | #include "tvutils/zepoll.h" |
6 | #include "tvutils/CThread.h" |
7 | #include <sys/time.h> |
8 | #include "tvutils//CTvInput.h" |
9 | #include "../tvutils/CMsgQueue.h" |
10 | typedef enum COMM_DEV_TYPE_NO { |
11 | COMM_DEV_CEC = 0, |
12 | COMM_DEV_SERIAL = 1, |
13 | } COMM_DEV_TYPE_E; |
14 | typedef enum vpu_modules_e { |
15 | VPU_MODULE_NULL = 0, |
16 | VPU_MODULE_VPU, //vpu uint |
17 | VPU_MODULE_TIMGEN, |
18 | VPU_MODULE_PATGEN, |
19 | VPU_MODULE_GAMMA, |
20 | VPU_MODULE_WB, //WhiteBalance |
21 | VPU_MODULE_BC, //Brightness&Contrast |
22 | VPU_MODULE_BCRGB, //RGB Brightness&Contrast |
23 | VPU_MODULE_CM2, |
24 | VPU_MODULE_CSC1, |
25 | VPU_MODULE_DNLP, |
26 | VPU_MODULE_CSC0, |
27 | VPU_MODULE_OSD, |
28 | VPU_MODULE_BLEND, |
29 | VPU_MODULE_DEMURE, //15 |
30 | VPU_MODULE_OUTPUT, //LVDS/VX1 output |
31 | VPU_MODULE_OSDDEC, //OSD decoder |
32 | VPU_MODULE_MAX, |
33 | } vpu_modules_t; |
34 | |
35 | typedef enum fbc_command_e { |
36 | VPU_CMD_NULL = 0, |
37 | FBC_REBOOT_UPGRADE = 0x1, |
38 | FBC_USER_SETTING_DEFAULT = 0x02, |
39 | FBC_USER_SETTING_SET, |
40 | FBC_GET_HDCP_KEY, |
41 | FBC_PANEL_POWER, |
42 | FBC_SUSPEND_POWER, |
43 | //TOP CMD num:6 |
44 | VPU_CMD_INIT = 0x8, //parameter num 0 |
45 | VPU_CMD_ENABLE, //parameter num 1;bit0~6:module;bit7:enable(1) or disable(0) |
46 | VPU_CMD_BYPASS, //parameter num 1;bit0~6:module;bit7:bypass(1) or not(0) |
47 | VPU_CMD_OUTPUT_MUX, //parameter num 1;1:lvds;2:vx1;3:minilvds |
48 | VPU_CMD_TIMING, //parameter num 1;reference vpu_timing_t |
49 | VPU_CMD_SOURCE, //parameter num 1;reference vpu_source_t |
50 | VPU_CMD_GAMMA_MOD, //parameter num 1;reference vpu_gammamod_t |
51 | VPU_CMD_D2D3 = 0xf, //0xf:D2D3 |
52 | // |
53 | |
54 | CMD_BRIDGE_SW_VER = 0x10, |
55 | CMD_DEVICE_ID, |
56 | CMD_CLIENT_TYPE, |
57 | CMD_DEVICE_NUM, |
58 | CMD_ACTIVE_KEY, |
59 | CMD_ACTIVE_STATUS, |
60 | CMD_PANEL_INFO, |
61 | CMD_LVDS_SSG_SET, |
62 | |
63 | CMD_DBG_REGISTER_ACCESS = 0x18, |
64 | CMD_DBG_MEMORY_ACCESS, |
65 | CMD_DBG_SPI_ACCESS, |
66 | CMD_DBG_VPU_MEMORY_ACCESS, |
67 | CMD_DBG_MEMORY_TRANSFER, |
68 | CMD_INPUT_DOWN, |
69 | CMD_INPUT_UP, |
70 | CMD_FBC_MAIN_CODE_VERSION, |
71 | |
72 | //0x1f reserved |
73 | //PQ+debug CMD num:32 |
74 | VPU_CMD_NATURE_LIGHT_EN = 0x20, //0 or 1;on or off ???? |
75 | VPU_CMD_BACKLIGHT_EN, //0 or 1;on or off |
76 | VPU_CMD_BRIGHTNESS, //parameter num 2;parameter1:distinguish two modules;parameter2:ui value |
77 | VPU_CMD_CONTRAST, //parameter num 2;parameter1:distinguish two modules;parameter2:ui value |
78 | VPU_CMD_BACKLIGHT, //parameter num 1; |
79 | VPU_CMD_RES1, //reserved |
80 | VPU_CMD_SATURATION, //parameter num 1; |
81 | VPU_CMD_DYNAMIC_CONTRAST, //0 or 1;?? |
82 | VPU_CMD_PICTURE_MODE, //?? |
83 | VPU_CMD_PATTERN_EN, //0 or 1;on or off |
84 | VPU_CMD_PATTEN_SEL, //0x2a parameter num 1;PATTEN SELECT |
85 | VPU_CMD_RES2, |
86 | VPU_CMD_RES3, |
87 | VPU_CMD_RES4, |
88 | VPU_CMD_RES5, |
89 | VPU_CMD_USER_GAMMA = 0x2f, |
90 | //0x30:sound_mode_def |
91 | VPU_CMD_COLOR_TEMPERATURE_DEF = 0x31, //def:factory setting |
92 | VPU_CMD_BRIGHTNESS_DEF, |
93 | VPU_CMD_CONTRAST_DEF, |
94 | VPU_CMD_COLOR_DEF, |
95 | VPU_CMD_HUE_DEF, |
96 | VPU_CMD_BACKLIGHT_DEF, |
97 | VPU_CMD_RES7, |
98 | VPU_CMD_AUTO_LUMA_EN = 0x38,//0 or 1;on or off;appoint to backlight? |
99 | VPU_CMD_HIST, //parameter num 0;read hist info |
100 | VPU_CMD_BLEND, //parameter num ?; |
101 | VPU_CMD_DEMURA, //parameter num ?; |
102 | VPU_CMD_CSC, //parameter num ?; |
103 | VPU_CMD_CM2, //parameter num 1;index |
104 | VPU_CMD_GAMMA, //parameter num 1;index |
105 | VPU_CMD_SRCIF, |
106 | //WB CMD num:10 |
107 | VPU_CMD_RED_GAIN_DEF = 0x40, |
108 | VPU_CMD_GREEN_GAIN_DEF, |
109 | VPU_CMD_BLUE_GAIN_DEF, |
110 | VPU_CMD_PRE_RED_OFFSET_DEF, |
111 | VPU_CMD_PRE_GREEN_OFFSET_DEF, |
112 | VPU_CMD_PRE_BLUE_OFFSET_DEF, |
113 | VPU_CMD_POST_RED_OFFSET_DEF, |
114 | VPU_CMD_POST_GREEN_OFFSET_DEF, |
115 | VPU_CMD_POST_BLUE_OFFSET_DEF, |
116 | VPU_CMD_RES9, |
117 | VPU_CMD_WB = 0x4a, |
118 | //DNLP PARM |
119 | VPU_CMD_DNLP_PARM, |
120 | VPU_CMD_WB_VALUE, |
121 | VPU_CMD_GRAY_PATTERN, |
122 | VPU_CMD_BURN, |
123 | CMD_HDMI_STAT, |
124 | VPU_CMD_READ = 0x80, |
125 | //VPU_CMD_HUE_ADJUST, //parameter num 1; |
126 | //VPU_CMD_WB, //parameter num 3;one parameter include two items so that six items can all be included |
127 | VPU_CMD_MAX = 50,//temp define 50 // |
128 | |
129 | //audio cmd |
130 | AUDIO_CMD_SET_SOURCE = 0x50, |
131 | AUDIO_CMD_SET_MASTER_VOLUME, |
132 | AUDIO_CMD_SET_CHANNEL_VOLUME, |
133 | AUDIO_CMD_SET_SUBCHANNEL_VOLUME, |
134 | AUDIO_CMD_SET_MASTER_VOLUME_GAIN, |
135 | AUDIO_CMD_SET_CHANNEL_VOLUME_INDEX, |
136 | AUDIO_CMD_SET_VOLUME_BAR, |
137 | AUDIO_CMD_SET_MUTE, |
138 | AUDIO_CMD_SET_EQ_MODE, |
139 | AUDIO_CMD_SET_BALANCE, |
140 | AUDIO_CMD_GET_SOURCE, |
141 | AUDIO_CMD_GET_MASTER_VOLUME, |
142 | AUDIO_CMD_GET_CHANNEL_VOLUME, |
143 | AUDIO_CMD_GET_SUBCHANNEL_VOLUME, |
144 | AUDIO_CMD_GET_MASTER_VOLUME_GAIN, |
145 | AUDIO_CMD_GET_CHANNEL_VOLUME_INDEX, |
146 | AUDIO_CMD_GET_VOLUME_BAR, |
147 | AUDIO_CMD_GET_MUTE, |
148 | AUDIO_CMD_GET_EQ_MODE, |
149 | AUDIO_CMD_GET_BALANCE, |
150 | |
151 | VPU_CMD_SET_ELEC_MODE = 0x64, |
152 | VPU_CMD_GET_ELEC_MODE, |
153 | |
154 | CMD_SET_FACTORY_SN = 0x66, |
155 | CMD_GET_FACTORY_SN, |
156 | CMD_COMMUNICATION_TEST, |
157 | CMD_CLR_SETTINGS_DEFAULT, |
158 | |
159 | CMD_HDMI_REG = 0x70, |
160 | CMD_SET_PROJECT_SELECT = 0x71, |
161 | CMD_GET_PROJECT_SELECT = 0x72, |
162 | } fbc_command_t; |
163 | |
164 | typedef struct REQUEST_REPLY_CMD { |
165 | CCondition WaitReplyCondition; |
166 | int WaitDevNo; |
167 | int WaitCmd; |
168 | int WaitTimeOut; |
169 | unsigned char *replyData; |
170 | int reDataLen; |
171 | } REQUEST_REPLY_S; |
172 | class CFbcCommunication: public CThread { |
173 | public: |
174 | static const unsigned char CEC_CMD_WIFI = 0x01; |
175 | static const unsigned char CEC_CMD_ETHERNET = 0x02; |
176 | static const unsigned char CEC_CMD_3D_TIMING = 0x03; |
177 | static const unsigned char CEC_CMD_PANEL_REVERSE = 0x04; |
178 | static const unsigned char CEC_CMD_VPU_INIT = 0x08; |
179 | static const unsigned char CEC_CMD_VPU_ENABLE = 0x09; |
180 | static const unsigned char CEC_CMD_VPU_BYPASS = 0x0a; |
181 | static const unsigned char CEC_CMD_VPU_OUTPUT_MUX = 0x0b; |
182 | static const unsigned char CEC_CMD_VPU_TIMING = 0x0c; |
183 | static const unsigned char CEC_CMD_VPU_SOURCE = 0x0d; |
184 | static const unsigned char CEC_CMD_BRIDGE_SW_VER = 0x10; |
185 | static const unsigned char CEC_CMD_DEVICE_ID = 0x11; |
186 | static const unsigned char CEC_CMD_CLIENT_TYPE = 0x12; |
187 | static const unsigned char CEC_CMD_DEVICE_NUM = 0x13; |
188 | static const unsigned char CEC_CMD_ACTIVE_KEY = 0x14; |
189 | static const unsigned char CEC_CMD_ACTIVE_STATUS = 0x15; |
190 | |
191 | |
192 | static const unsigned char CEC_CMD_DBG_REGISTER_ACCESS = 0x18; |
193 | static const unsigned char CEC_CMD_DBG_MEMORY_ACCESS = 0x19; |
194 | static const unsigned char CEC_CMD_DBG_SPI_ACCESS = 0x1a; |
195 | static const unsigned char CEC_CMD_DBG_VPU_MEMORY_ACCESS = 0x1b; |
196 | static const unsigned char CEC_CMD_DBG_MEMORY_TRANSFER = 0x1c; |
197 | static const unsigned char CEC_CMD_INPUT_KEY_DOWN = 0x1d; |
198 | static const unsigned char CEC_CMD_INPUT_KEY_UP = 0x1e; |
199 | static const unsigned char CEC_CMD_REBOOT = 0x1f; |
200 | static const unsigned char CEC_CMD_NATURE_LIGHT_ONOFF = 0x20; |
201 | static const unsigned char CEC_CMD_USR_BACKLIGHT_ONOFF = 0x21; |
202 | static const unsigned char CEC_CMD_USR_BRIGHTNESS = 0x22; |
203 | static const unsigned char CEC_CMD_USR_CONTRAST = 0x23; |
204 | static const unsigned char CEC_CMD_USR_BACKLIGHT = 0x24; |
205 | static const unsigned char CEC_CMD_USR_SATURATION = 0x26; |
206 | static const unsigned char CEC_CMD_USR_DYNAMIC_CONTRAST = 0x27; |
207 | static const unsigned char CEC_CMD_USR_PICTURE_MODE = 0x28; |
208 | static const unsigned char CEC_CMD_TEST_PATTERN_ONOFF = 0x29; |
209 | static const unsigned char CEC_CMD_TEST_PATTERN_SELECT = 0x2a; |
210 | static const unsigned char CEC_CMD_USER_GAMMA = 0x2f; |
211 | static const unsigned char CEC_CMD_DEF_SOUND_MODE = 0x30; |
212 | static const unsigned char CEC_CMD_DEF_COLOR_TEMPERATURE = 0x31; |
213 | static const unsigned char CEC_CMD_DEF_BRIGHTNESS = 0x32; |
214 | static const unsigned char CEC_CMD_DEF_CONTRAST = 0x33; |
215 | static const unsigned char CEC_CMD_DEF_COLOR = 0x34; |
216 | static const unsigned char CEC_CMD_DEF_BACKLIGHT = 0x36; |
217 | static const unsigned char CEC_CMD_AUTO_LUMA_ONOFF = 0x38; |
218 | static const unsigned char CEC_CMD_HISTOGRAM = 0x39; |
219 | static const unsigned char CEC_CMD_BLEND = 0x3a; |
220 | static const unsigned char CEC_CMD_DEMULA = 0x3b; |
221 | static const unsigned char CEC_CMD_COLOR_SPACE_CONVERSION = 0x3c; |
222 | static const unsigned char CEC_CMD_CM2 = 0x3d; |
223 | static const unsigned char CEC_CMD_DEF_RED_GAIN = 0x40; |
224 | static const unsigned char CEC_CMD_DEF_GREEN_GAIN = 0x41; |
225 | static const unsigned char CEC_CMD_DEF_BLUE_GAIN = 0x42; |
226 | static const unsigned char CEC_CMD_DEF_RED_OFFSET = 0x43; |
227 | static const unsigned char CEC_CMD_DEF_GREEN_OFFSET = 0x44; |
228 | static const unsigned char CEC_CMD_DEF_BLUE_OFFSET = 0x45; |
229 | static const unsigned char CEC_CMD_DEF_PRE_RED_OFFSET = 0x46; |
230 | static const unsigned char CEC_CMD_DEF_PRE_GREEN_OFFSET = 0x47; |
231 | static const unsigned char CEC_CMD_DEF_PRE_BLUE_OFFSET = 0x48; |
232 | static const unsigned char CEC_CMD_WHITEBALANCE = 0x4a; |
233 | static const unsigned char CEC_CMD_SET_SW_VERSION = 0x57; |
234 | static const unsigned char CEC_CMD_3D = 0xd0; |
235 | |
236 | friend class CTvMsgQueue; |
237 | class CFbcMsgQueue: public CMsgQueueThread { |
238 | public: |
239 | static const int TV_MSG_COMMON = 0; |
240 | static const int TV_MSG_SEND_KEY = 1; |
241 | private: |
242 | virtual void handleMessage ( CMessage &msg ); |
243 | }; |
244 | CFbcCommunication(); |
245 | ~CFbcCommunication(); |
246 | int start(); |
247 | //--------------------------------------------- |
248 | |
249 | //--------------------------------------------- |
250 | void testUart(); |
251 | int handleCmd(COMM_DEV_TYPE_E fromDev, int cmd[], int *pRetValue); |
252 | int sendDataOneway(int devno, unsigned char *pData, int dataLen, int flags); |
253 | int sendDataAndWaitReply(int devno, int waitForDevno, int waitForCmd, unsigned char *pData, int dataLen, int timeout, unsigned char *pReData, int *reDataLen, int flags); |
254 | int closeAll(); |
255 | int SetUpgradeFlag(int flag); |
256 | int uartReadStream(unsigned char *retData, int rd_max_len, int timeout); |
257 | unsigned int Calcrc32(unsigned int crc, const unsigned char *ptr, unsigned int buf_len); |
258 | int cfbc_Set_Gain_Red(COMM_DEV_TYPE_E fromDev, int value); |
259 | int cfbc_Get_Gain_Red(COMM_DEV_TYPE_E fromDev, int *value); |
260 | int cfbc_Set_Gain_Green(COMM_DEV_TYPE_E fromDev, int value); |
261 | int cfbc_Get_Gain_Green(COMM_DEV_TYPE_E fromDev, int *value); |
262 | int cfbc_Set_Gain_Blue(COMM_DEV_TYPE_E fromDev, int value); |
263 | int cfbc_Get_Gain_Blue(COMM_DEV_TYPE_E fromDev, int *value); |
264 | int cfbc_Set_Offset_Red(COMM_DEV_TYPE_E fromDev, int value); |
265 | int cfbc_Get_Offset_Red(COMM_DEV_TYPE_E fromDev, int *value); |
266 | int cfbc_Set_Offset_Green(COMM_DEV_TYPE_E fromDev, int value); |
267 | int cfbc_Get_Offset_Green(COMM_DEV_TYPE_E fromDev, int *value); |
268 | int cfbc_Set_Offset_Blue(COMM_DEV_TYPE_E fromDev, int value); |
269 | int cfbc_Get_Offset_Blue(COMM_DEV_TYPE_E fromDev, int *value); |
270 | int cfbc_Set_WB_Initial(COMM_DEV_TYPE_E fromDev, int value); |
271 | int cfbc_Get_WB_Initial(COMM_DEV_TYPE_E fromDev, int *value); |
272 | int cfbc_Set_ColorTemp_Mode(COMM_DEV_TYPE_E fromDev, int value); |
273 | int cfbc_Get_ColorTemp_Mode(COMM_DEV_TYPE_E fromDev, int *value); |
274 | int cfbc_Set_Test_Pattern(COMM_DEV_TYPE_E fromDev, int value); |
275 | int cfbc_Get_Test_Pattern(COMM_DEV_TYPE_E fromDev, int *value); |
276 | int cfbc_Set_Picture_Mode(COMM_DEV_TYPE_E fromDev, int value); |
277 | int cfbc_Get_Picture_Mode(COMM_DEV_TYPE_E fromDev, int *value); |
278 | int cfbc_Set_Contrast(COMM_DEV_TYPE_E fromDev, int value); |
279 | int cfbc_Get_Contrast(COMM_DEV_TYPE_E fromDev, int *value); |
280 | int cfbc_Set_Brightness(COMM_DEV_TYPE_E fromDev, int value); |
281 | int cfbc_Get_Brightness(COMM_DEV_TYPE_E fromDev, int *value); |
282 | int cfbc_Set_Saturation(COMM_DEV_TYPE_E fromDev, int value); |
283 | int cfbc_Get_Saturation(COMM_DEV_TYPE_E fromDev, int *value); |
284 | int cfbc_Set_HueColorTint(COMM_DEV_TYPE_E fromDev, int value); |
285 | int cfbc_Get_HueColorTint(COMM_DEV_TYPE_E fromDev, int *value); |
286 | int cfbc_Set_Backlight(COMM_DEV_TYPE_E fromDev, int value); |
287 | int cfbc_Get_Backlight(COMM_DEV_TYPE_E fromDev, int *value); |
288 | int cfbc_Set_Source(COMM_DEV_TYPE_E fromDev, int value); |
289 | int cfbc_Get_Source(COMM_DEV_TYPE_E fromDev, int *value); |
290 | int cfbc_Set_Mute(COMM_DEV_TYPE_E fromDev, int value); |
291 | int cfbc_Get_Mute(COMM_DEV_TYPE_E fromDev, int *value); |
292 | int cfbc_Set_Volume_Bar(COMM_DEV_TYPE_E fromDev, int value); |
293 | int cfbc_Get_Volume_Bar(COMM_DEV_TYPE_E fromDev, int *value); |
294 | int cfbc_Set_Balance(COMM_DEV_TYPE_E fromDev, int value); |
295 | int cfbc_Get_Balance(COMM_DEV_TYPE_E fromDev, int *value); |
296 | int cfbc_Set_Master_Volume(COMM_DEV_TYPE_E fromDev, int value); |
297 | int cfbc_Get_Master_Volume(COMM_DEV_TYPE_E fromDev, int *value); |
298 | int cfbc_Set_CM(COMM_DEV_TYPE_E fromDev, unsigned char value); |
299 | int cfbc_Get_CM(COMM_DEV_TYPE_E fromDev, int *value); |
300 | int cfbc_Set_DNLP(COMM_DEV_TYPE_E fromDev, unsigned char value); |
301 | int cfbc_Get_DNLP(COMM_DEV_TYPE_E fromDev, int *value); |
302 | int cfbc_Set_Gamma(COMM_DEV_TYPE_E fromDev, unsigned char value); |
303 | int cfbc_Get_Gamma(COMM_DEV_TYPE_E fromDev, int *value); |
304 | int cfbc_Set_WhiteBalance_OnOff(COMM_DEV_TYPE_E fromDev, unsigned char value); |
305 | int cfbc_Get_WhiteBalance_OnOff(COMM_DEV_TYPE_E fromDev, int *value); |
306 | int cfbc_WhiteBalance_GrayPattern_OnOff(COMM_DEV_TYPE_E fromDev, int onOff); |
307 | int cfbc_WhiteBalance_SetGrayPattern(COMM_DEV_TYPE_E fromDev, unsigned char value); |
308 | int cfbc_Get_WB_Batch(COMM_DEV_TYPE_E fromDev, unsigned char mode, unsigned char *r_gain, unsigned char *g_gain, unsigned char *b_gain, unsigned char *r_offset, unsigned char *g_offset, unsigned char *b_offset); |
309 | int cfbc_Set_WB_Batch(COMM_DEV_TYPE_E fromDev, unsigned char mode, unsigned char r_gain, unsigned char g_gain, unsigned char b_gain, unsigned char r_offset, unsigned char g_offset, unsigned char b_offset); |
310 | int cfbc_Set_backlight_onoff(COMM_DEV_TYPE_E fromDev, int value); |
311 | int cfbc_Get_backlight_onoff(COMM_DEV_TYPE_E fromDev, int *value); |
312 | int cfbc_Set_LVDS_SSG_Set(COMM_DEV_TYPE_E fromDev, int value); |
313 | int cfbc_Set_AUTO_ELEC_MODE(COMM_DEV_TYPE_E fromDev, int value); |
314 | int cfbc_Get_AUTO_ELEC_MODE(COMM_DEV_TYPE_E fromDev, int *value); |
315 | int cfbc_Get_FBC_MAINCODE_Version(COMM_DEV_TYPE_E fromDev, char sw_ver[], char build_time[], char git_ver[], char git_branch[], char build_name[]); |
316 | int cfbc_Get_FBC_Get_PANel_INFO(COMM_DEV_TYPE_E fromDev, char panel_model[]); |
317 | int cfbc_Set_FBC_panel_power_switch(COMM_DEV_TYPE_E fromDev, int switch_val); |
318 | int cfbc_Set_FBC_suspend(COMM_DEV_TYPE_E fromDev, int switch_val); |
319 | int cfbc_FBC_Send_Key_To_Fbc(COMM_DEV_TYPE_E fromDev, int keycode, int param); |
320 | int cfbc_Get_FBC_PANEL_REVERSE(COMM_DEV_TYPE_E fromDev, int *value); |
321 | int cfbc_Get_FBC_PANEL_OUTPUT(COMM_DEV_TYPE_E fromDev, int *value); |
322 | int cfbc_Set_FBC_project_id(COMM_DEV_TYPE_E fromDev, int prj_id); |
323 | int cfbc_Get_FBC_project_id(COMM_DEV_TYPE_E fromDev, int *prj_id); |
324 | int cfbc_SendRebootToUpgradeCmd(COMM_DEV_TYPE_E fromDev, int value); |
325 | int cfbc_Set_FBC_User_Setting_Default(COMM_DEV_TYPE_E fromDev, int param); |
326 | int cfbc_Set_FBC_Factory_SN(COMM_DEV_TYPE_E fromDev, const char *pSNval) ; |
327 | int cfbc_Get_FBC_Factory_SN(COMM_DEV_TYPE_E fromDev, char FactorySN[]); |
328 | int cfbc_Set_FBC_Audio_Source(COMM_DEV_TYPE_E fromDev, int value); |
329 | |
330 | int cfbc_Set_Thermal_state(COMM_DEV_TYPE_E fromDev, int value); |
331 | int cfbc_Set_LightSensor_N310(COMM_DEV_TYPE_E fromDev, int value); |
332 | int cfbc_Get_LightSensor_N310(COMM_DEV_TYPE_E fromDev, int *value); |
333 | int cfbc_Set_Dream_Panel_N310(COMM_DEV_TYPE_E fromDev, int value); |
334 | int cfbc_Get_Dream_Panel_N310(COMM_DEV_TYPE_E fromDev, int *value); |
335 | int cfbc_Set_MULT_PQ_N310(COMM_DEV_TYPE_E fromDev, int value); |
336 | int cfbc_Get_MULT_PQ_N310(COMM_DEV_TYPE_E fromDev, int *value); |
337 | int cfbc_Set_MEMC_N310(COMM_DEV_TYPE_E fromDev, int value); |
338 | int cfbc_Get_MEMC_N310(COMM_DEV_TYPE_E fromDev, int *value); |
339 | |
340 | private: |
341 | //now,just one item in list,haha... |
342 | void showTime(struct timeval *_time); |
343 | long getTime(void); |
344 | int rmFromRequestList(); |
345 | int addToRequestList(); |
346 | void initCrc32Table(); |
347 | void sendAckCmd(bool isOk); |
348 | unsigned int GetCrc32(unsigned char *InStr, unsigned int len); |
349 | int processData(COMM_DEV_TYPE_E fromDev, unsigned char *PData, int dataLen); |
350 | int uartReadData(unsigned char *retData, int *retLen); |
351 | int Fbc_Set_Value_INT8(COMM_DEV_TYPE_E toDev, int cmd_type, int value); |
352 | int Fbc_Get_Value_INT8(COMM_DEV_TYPE_E fromDev, int cmd_type, int *value); |
353 | int Fbc_Set_Value_INT32(COMM_DEV_TYPE_E toDev, int cmd_type, int value); |
354 | int Fbc_Get_BatchValue(COMM_DEV_TYPE_E toDev, unsigned char *cmd_buf, int count); |
355 | int Fbc_Set_BatchValue(COMM_DEV_TYPE_E fromDev, unsigned char *cmd_buf, int count); |
356 | int cfbc_Set_Get_BatchValue(COMM_DEV_TYPE_E fromDev, unsigned char *cmd_buf, int count, int isSet); |
357 | bool threadLoop(); |
358 | |
359 | int mUpgradeFlag; |
360 | CHdmiCec mHdmiCec; |
361 | CSerialPort mSerialPort; |
362 | Epoll mEpoll; |
363 | mutable CMutex mLock; |
364 | REQUEST_REPLY_S mReplyList; |
365 | //list |
366 | epoll_event m_event; |
367 | unsigned char *mpRevDataBuf; |
368 | unsigned int mCrc32Table[256]; |
369 | bool mbSendKeyCode; |
370 | CTvInput mTvInput; |
371 | CFbcMsgQueue mFbcMsgQueue; |
372 | int mbDownHaveSend; |
373 | |
374 | int mbFbcKeyEnterDown; |
375 | nsecs_t mFbcEnterKeyDownTime; |
376 | }; |
377 | |
378 | extern CFbcCommunication *GetSingletonFBC(); |
379 | |
380 | #endif |
381 |