blob: 6bfb0557a97a155625debc714e2380e692e9b2e8
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_VMUTE = 0x2e, |
90 | VPU_CMD_USER_GAMMA , |
91 | //0x30:sound_mode_def |
92 | VPU_CMD_COLOR_TEMPERATURE_DEF = 0x31, //def:factory setting |
93 | VPU_CMD_BRIGHTNESS_DEF, |
94 | VPU_CMD_CONTRAST_DEF, |
95 | VPU_CMD_COLOR_DEF, |
96 | VPU_CMD_HUE_DEF, |
97 | VPU_CMD_BACKLIGHT_DEF, |
98 | VPU_CMD_RES7, |
99 | VPU_CMD_AUTO_LUMA_EN = 0x38,//0 or 1;on or off;appoint to backlight? |
100 | VPU_CMD_HIST, //parameter num 0;read hist info |
101 | VPU_CMD_BLEND, //parameter num ?; |
102 | VPU_CMD_DEMURA, //parameter num ?; |
103 | VPU_CMD_CSC, //parameter num ?; |
104 | VPU_CMD_CM2, //parameter num 1;index |
105 | VPU_CMD_GAMMA, //parameter num 1;index |
106 | VPU_CMD_SRCIF, |
107 | //WB CMD num:10 |
108 | VPU_CMD_RED_GAIN_DEF = 0x40, |
109 | VPU_CMD_GREEN_GAIN_DEF, |
110 | VPU_CMD_BLUE_GAIN_DEF, |
111 | VPU_CMD_PRE_RED_OFFSET_DEF, |
112 | VPU_CMD_PRE_GREEN_OFFSET_DEF, |
113 | VPU_CMD_PRE_BLUE_OFFSET_DEF, |
114 | VPU_CMD_POST_RED_OFFSET_DEF, |
115 | VPU_CMD_POST_GREEN_OFFSET_DEF, |
116 | VPU_CMD_POST_BLUE_OFFSET_DEF, |
117 | VPU_CMD_RES9, |
118 | VPU_CMD_WB = 0x4a, |
119 | //DNLP PARM |
120 | VPU_CMD_DNLP_PARM, |
121 | VPU_CMD_WB_VALUE, |
122 | VPU_CMD_GRAY_PATTERN, |
123 | VPU_CMD_BURN, |
124 | CMD_HDMI_STAT, |
125 | VPU_CMD_READ = 0x80, |
126 | //VPU_CMD_HUE_ADJUST, //parameter num 1; |
127 | //VPU_CMD_WB, //parameter num 3;one parameter include two items so that six items can all be included |
128 | VPU_CMD_MAX = 50,//temp define 50 // |
129 | |
130 | //audio cmd |
131 | AUDIO_CMD_SET_SOURCE = 0x50, |
132 | AUDIO_CMD_SET_MASTER_VOLUME, |
133 | AUDIO_CMD_SET_CHANNEL_VOLUME, |
134 | AUDIO_CMD_SET_SUBCHANNEL_VOLUME, |
135 | AUDIO_CMD_SET_MASTER_VOLUME_GAIN, |
136 | AUDIO_CMD_SET_CHANNEL_VOLUME_INDEX, |
137 | AUDIO_CMD_SET_VOLUME_BAR, |
138 | AUDIO_CMD_SET_MUTE, |
139 | AUDIO_CMD_SET_EQ_MODE, |
140 | AUDIO_CMD_SET_BALANCE, |
141 | AUDIO_CMD_GET_SOURCE, |
142 | AUDIO_CMD_GET_MASTER_VOLUME, |
143 | AUDIO_CMD_GET_CHANNEL_VOLUME, |
144 | AUDIO_CMD_GET_SUBCHANNEL_VOLUME, |
145 | AUDIO_CMD_GET_MASTER_VOLUME_GAIN, |
146 | AUDIO_CMD_GET_CHANNEL_VOLUME_INDEX, |
147 | AUDIO_CMD_GET_VOLUME_BAR, |
148 | AUDIO_CMD_GET_MUTE, |
149 | AUDIO_CMD_GET_EQ_MODE, |
150 | AUDIO_CMD_GET_BALANCE, |
151 | |
152 | VPU_CMD_SET_ELEC_MODE = 0x64, |
153 | CMD_SET_LED_MODE = 0x65, |
154 | |
155 | CMD_SET_FACTORY_SN = 0x66, |
156 | CMD_GET_FACTORY_SN, |
157 | CMD_COMMUNICATION_TEST, |
158 | CMD_CLR_SETTINGS_DEFAULT, |
159 | CMD_BLUETOOTH_I2S_STATUS = 0x6a, |
160 | CMD_PANEL_ON_OFF = 0x6b, |
161 | |
162 | CMD_HDMI_REG = 0x70, |
163 | CMD_SET_PROJECT_SELECT = 0x71, |
164 | CMD_GET_PROJECT_SELECT = 0x72, |
165 | CMD_SET_LOCKN_DISABLE = 0x73, //0x73 |
166 | CMD_SET_SPLIT_SCREEN_DEMO = 0X74, |
167 | CMD_SET_UBOOT_STAGE = 0x7b, |
168 | |
169 | CMD_SET_AUTO_BACKLIGHT_ONFF = 0x85, |
170 | CMD_GET_AUTO_BACKLIGHT_ONFF = 0x86, |
171 | } fbc_command_t; |
172 | |
173 | typedef struct REQUEST_REPLY_CMD { |
174 | CCondition WaitReplyCondition; |
175 | int WaitDevNo; |
176 | int WaitCmd; |
177 | int WaitTimeOut; |
178 | unsigned char *replyData; |
179 | int reDataLen; |
180 | } REQUEST_REPLY_S; |
181 | class CFbcCommunication: public CThread { |
182 | public: |
183 | static const unsigned char CEC_CMD_WIFI = 0x01; |
184 | static const unsigned char CEC_CMD_ETHERNET = 0x02; |
185 | static const unsigned char CEC_CMD_3D_TIMING = 0x03; |
186 | static const unsigned char CEC_CMD_PANEL_REVERSE = 0x04; |
187 | static const unsigned char CEC_CMD_VPU_INIT = 0x08; |
188 | static const unsigned char CEC_CMD_VPU_ENABLE = 0x09; |
189 | static const unsigned char CEC_CMD_VPU_BYPASS = 0x0a; |
190 | static const unsigned char CEC_CMD_VPU_OUTPUT_MUX = 0x0b; |
191 | static const unsigned char CEC_CMD_VPU_TIMING = 0x0c; |
192 | static const unsigned char CEC_CMD_VPU_SOURCE = 0x0d; |
193 | static const unsigned char CEC_CMD_BRIDGE_SW_VER = 0x10; |
194 | static const unsigned char CEC_CMD_DEVICE_ID = 0x11; |
195 | static const unsigned char CEC_CMD_CLIENT_TYPE = 0x12; |
196 | static const unsigned char CEC_CMD_DEVICE_NUM = 0x13; |
197 | static const unsigned char CEC_CMD_ACTIVE_KEY = 0x14; |
198 | static const unsigned char CEC_CMD_ACTIVE_STATUS = 0x15; |
199 | |
200 | |
201 | static const unsigned char CEC_CMD_DBG_REGISTER_ACCESS = 0x18; |
202 | static const unsigned char CEC_CMD_DBG_MEMORY_ACCESS = 0x19; |
203 | static const unsigned char CEC_CMD_DBG_SPI_ACCESS = 0x1a; |
204 | static const unsigned char CEC_CMD_DBG_VPU_MEMORY_ACCESS = 0x1b; |
205 | static const unsigned char CEC_CMD_DBG_MEMORY_TRANSFER = 0x1c; |
206 | static const unsigned char CEC_CMD_INPUT_KEY_DOWN = 0x1d; |
207 | static const unsigned char CEC_CMD_INPUT_KEY_UP = 0x1e; |
208 | static const unsigned char CEC_CMD_REBOOT = 0x1f; |
209 | static const unsigned char CEC_CMD_NATURE_LIGHT_ONOFF = 0x20; |
210 | static const unsigned char CEC_CMD_USR_BACKLIGHT_ONOFF = 0x21; |
211 | static const unsigned char CEC_CMD_USR_BRIGHTNESS = 0x22; |
212 | static const unsigned char CEC_CMD_USR_CONTRAST = 0x23; |
213 | static const unsigned char CEC_CMD_USR_BACKLIGHT = 0x24; |
214 | static const unsigned char CEC_CMD_USR_SATURATION = 0x26; |
215 | static const unsigned char CEC_CMD_USR_DYNAMIC_CONTRAST = 0x27; |
216 | static const unsigned char CEC_CMD_USR_PICTURE_MODE = 0x28; |
217 | static const unsigned char CEC_CMD_TEST_PATTERN_ONOFF = 0x29; |
218 | static const unsigned char CEC_CMD_TEST_PATTERN_SELECT = 0x2a; |
219 | static const unsigned char CEC_CMD_USER_GAMMA = 0x2f; |
220 | static const unsigned char CEC_CMD_DEF_SOUND_MODE = 0x30; |
221 | static const unsigned char CEC_CMD_DEF_COLOR_TEMPERATURE = 0x31; |
222 | static const unsigned char CEC_CMD_DEF_BRIGHTNESS = 0x32; |
223 | static const unsigned char CEC_CMD_DEF_CONTRAST = 0x33; |
224 | static const unsigned char CEC_CMD_DEF_COLOR = 0x34; |
225 | static const unsigned char CEC_CMD_DEF_BACKLIGHT = 0x36; |
226 | static const unsigned char CEC_CMD_AUTO_LUMA_ONOFF = 0x38; |
227 | static const unsigned char CEC_CMD_HISTOGRAM = 0x39; |
228 | static const unsigned char CEC_CMD_BLEND = 0x3a; |
229 | static const unsigned char CEC_CMD_DEMULA = 0x3b; |
230 | static const unsigned char CEC_CMD_COLOR_SPACE_CONVERSION = 0x3c; |
231 | static const unsigned char CEC_CMD_CM2 = 0x3d; |
232 | static const unsigned char CEC_CMD_DEF_RED_GAIN = 0x40; |
233 | static const unsigned char CEC_CMD_DEF_GREEN_GAIN = 0x41; |
234 | static const unsigned char CEC_CMD_DEF_BLUE_GAIN = 0x42; |
235 | static const unsigned char CEC_CMD_DEF_RED_OFFSET = 0x43; |
236 | static const unsigned char CEC_CMD_DEF_GREEN_OFFSET = 0x44; |
237 | static const unsigned char CEC_CMD_DEF_BLUE_OFFSET = 0x45; |
238 | static const unsigned char CEC_CMD_DEF_PRE_RED_OFFSET = 0x46; |
239 | static const unsigned char CEC_CMD_DEF_PRE_GREEN_OFFSET = 0x47; |
240 | static const unsigned char CEC_CMD_DEF_PRE_BLUE_OFFSET = 0x48; |
241 | static const unsigned char CEC_CMD_WHITEBALANCE = 0x4a; |
242 | static const unsigned char CEC_CMD_SET_SW_VERSION = 0x57; |
243 | static const unsigned char CEC_CMD_3D = 0xd0; |
244 | |
245 | friend class CTvMsgQueue; |
246 | class CFbcMsgQueue: public CMsgQueueThread { |
247 | public: |
248 | static const int TV_MSG_COMMON = 0; |
249 | static const int TV_MSG_SEND_KEY = 1; |
250 | private: |
251 | virtual void handleMessage ( CMessage &msg ); |
252 | }; |
253 | CFbcCommunication(); |
254 | ~CFbcCommunication(); |
255 | int start(); |
256 | //--------------------------------------------- |
257 | |
258 | //--------------------------------------------- |
259 | void testUart(); |
260 | int handleCmd(COMM_DEV_TYPE_E fromDev, int cmd[], int *pRetValue); |
261 | int sendDataOneway(int devno, unsigned char *pData, int dataLen, int flags); |
262 | int sendDataAndWaitReply(int devno, int waitForDevno, int waitForCmd, unsigned char *pData, int dataLen, int timeout, unsigned char *pReData, int *reDataLen, int flags); |
263 | int closeAll(); |
264 | int SetUpgradeFlag(int flag); |
265 | int uartReadStream(unsigned char *retData, int rd_max_len, int timeout); |
266 | unsigned int Calcrc32(unsigned int crc, const unsigned char *ptr, unsigned int buf_len); |
267 | int cfbc_Set_Gain_Red(COMM_DEV_TYPE_E fromDev, int value); |
268 | int cfbc_Get_Gain_Red(COMM_DEV_TYPE_E fromDev, int *value); |
269 | int cfbc_Set_Gain_Green(COMM_DEV_TYPE_E fromDev, int value); |
270 | int cfbc_Get_Gain_Green(COMM_DEV_TYPE_E fromDev, int *value); |
271 | int cfbc_Set_Gain_Blue(COMM_DEV_TYPE_E fromDev, int value); |
272 | int cfbc_Get_Gain_Blue(COMM_DEV_TYPE_E fromDev, int *value); |
273 | int cfbc_Set_Offset_Red(COMM_DEV_TYPE_E fromDev, int value); |
274 | int cfbc_Get_Offset_Red(COMM_DEV_TYPE_E fromDev, int *value); |
275 | int cfbc_Set_Offset_Green(COMM_DEV_TYPE_E fromDev, int value); |
276 | int cfbc_Get_Offset_Green(COMM_DEV_TYPE_E fromDev, int *value); |
277 | int cfbc_Set_Offset_Blue(COMM_DEV_TYPE_E fromDev, int value); |
278 | int cfbc_Get_Offset_Blue(COMM_DEV_TYPE_E fromDev, int *value); |
279 | int cfbc_Set_WB_Initial(COMM_DEV_TYPE_E fromDev, int value); |
280 | int cfbc_Get_WB_Initial(COMM_DEV_TYPE_E fromDev, int *value); |
281 | int cfbc_Set_ColorTemp_Mode(COMM_DEV_TYPE_E fromDev, int value); |
282 | int cfbc_Get_ColorTemp_Mode(COMM_DEV_TYPE_E fromDev, int *value); |
283 | int cfbc_Set_Test_Pattern(COMM_DEV_TYPE_E fromDev, int value); |
284 | int cfbc_Get_Test_Pattern(COMM_DEV_TYPE_E fromDev, int *value); |
285 | int cfbc_Set_Picture_Mode(COMM_DEV_TYPE_E fromDev, int value); |
286 | int cfbc_Get_Picture_Mode(COMM_DEV_TYPE_E fromDev, int *value); |
287 | int cfbc_Set_Contrast(COMM_DEV_TYPE_E fromDev, int value); |
288 | int cfbc_Get_Contrast(COMM_DEV_TYPE_E fromDev, int *value); |
289 | int cfbc_Set_Brightness(COMM_DEV_TYPE_E fromDev, int value); |
290 | int cfbc_Get_Brightness(COMM_DEV_TYPE_E fromDev, int *value); |
291 | int cfbc_Set_Saturation(COMM_DEV_TYPE_E fromDev, int value); |
292 | int cfbc_Get_Saturation(COMM_DEV_TYPE_E fromDev, int *value); |
293 | int cfbc_Set_HueColorTint(COMM_DEV_TYPE_E fromDev, int value); |
294 | int cfbc_Get_HueColorTint(COMM_DEV_TYPE_E fromDev, int *value); |
295 | int cfbc_Set_Backlight(COMM_DEV_TYPE_E fromDev, int value); |
296 | int cfbc_Get_Backlight(COMM_DEV_TYPE_E fromDev, int *value); |
297 | int cfbc_Set_Source(COMM_DEV_TYPE_E fromDev, int value); |
298 | int cfbc_Get_Source(COMM_DEV_TYPE_E fromDev, int *value); |
299 | int cfbc_Set_Mute(COMM_DEV_TYPE_E fromDev, int value); |
300 | int cfbc_Get_Mute(COMM_DEV_TYPE_E fromDev, int *value); |
301 | int cfbc_Set_Volume_Bar(COMM_DEV_TYPE_E fromDev, int value); |
302 | int cfbc_Get_Volume_Bar(COMM_DEV_TYPE_E fromDev, int *value); |
303 | int cfbc_Set_Balance(COMM_DEV_TYPE_E fromDev, int value); |
304 | int cfbc_Get_Balance(COMM_DEV_TYPE_E fromDev, int *value); |
305 | int cfbc_Set_Master_Volume(COMM_DEV_TYPE_E fromDev, int value); |
306 | int cfbc_Get_Master_Volume(COMM_DEV_TYPE_E fromDev, int *value); |
307 | int cfbc_Set_CM(COMM_DEV_TYPE_E fromDev, unsigned char value); |
308 | int cfbc_Get_CM(COMM_DEV_TYPE_E fromDev, int *value); |
309 | int cfbc_Set_DNLP(COMM_DEV_TYPE_E fromDev, unsigned char value); |
310 | int cfbc_Get_DNLP(COMM_DEV_TYPE_E fromDev, int *value); |
311 | int cfbc_Set_Gamma(COMM_DEV_TYPE_E fromDev, unsigned char value); |
312 | int cfbc_Get_Gamma(COMM_DEV_TYPE_E fromDev, int *value); |
313 | int cfbc_Set_WhiteBalance_OnOff(COMM_DEV_TYPE_E fromDev, unsigned char value); |
314 | int cfbc_Get_WhiteBalance_OnOff(COMM_DEV_TYPE_E fromDev, int *value); |
315 | int cfbc_Set_Auto_Backlight_OnOff(COMM_DEV_TYPE_E fromDev, unsigned char value); |
316 | int cfbc_Get_Auto_Backlight_OnOff(COMM_DEV_TYPE_E fromDev, int *value); |
317 | int cfbc_WhiteBalance_GrayPattern_OnOff(COMM_DEV_TYPE_E fromDev, int onOff); |
318 | int cfbc_TestPattern_Select(COMM_DEV_TYPE_E fromDev, int value); |
319 | int cfbc_WhiteBalance_SetGrayPattern(COMM_DEV_TYPE_E fromDev, unsigned char value); |
320 | 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); |
321 | 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); |
322 | int cfbc_Set_backlight_onoff(COMM_DEV_TYPE_E fromDev, int value); |
323 | int cfbc_Get_backlight_onoff(COMM_DEV_TYPE_E fromDev, int *value); |
324 | int cfbc_Set_LVDS_SSG_Set(COMM_DEV_TYPE_E fromDev, int value); |
325 | int cfbc_Set_AUTO_ELEC_MODE(COMM_DEV_TYPE_E fromDev, int value); |
326 | int cfbc_Get_AUTO_ELEC_MODE(COMM_DEV_TYPE_E fromDev, int *value); |
327 | 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[]); |
328 | int cfbc_Get_FBC_Get_PANel_INFO(COMM_DEV_TYPE_E fromDev, char panel_model[]); |
329 | int cfbc_Set_FBC_panel_power_switch(COMM_DEV_TYPE_E fromDev, int switch_val); |
330 | int cfbc_Set_FBC_suspend(COMM_DEV_TYPE_E fromDev, int switch_val); |
331 | int cfbc_FBC_Send_Key_To_Fbc(COMM_DEV_TYPE_E fromDev, int keycode, int param); |
332 | int cfbc_Get_FBC_PANEL_REVERSE(COMM_DEV_TYPE_E fromDev, int *value); |
333 | int cfbc_Get_FBC_PANEL_OUTPUT(COMM_DEV_TYPE_E fromDev, int *value); |
334 | int cfbc_Set_FBC_project_id(COMM_DEV_TYPE_E fromDev, int prj_id); |
335 | int cfbc_Get_FBC_project_id(COMM_DEV_TYPE_E fromDev, int *prj_id); |
336 | int cfbc_SendRebootToUpgradeCmd(COMM_DEV_TYPE_E fromDev, int value); |
337 | int cfbc_Set_FBC_User_Setting_Default(COMM_DEV_TYPE_E fromDev, int param); |
338 | int cfbc_Set_FBC_Factory_SN(COMM_DEV_TYPE_E fromDev, const char *pSNval) ; |
339 | int cfbc_Get_FBC_Factory_SN(COMM_DEV_TYPE_E fromDev, char FactorySN[]); |
340 | int cfbc_Set_FBC_Audio_Source(COMM_DEV_TYPE_E fromDev, int value); |
341 | |
342 | int cfbc_Set_Thermal_state(COMM_DEV_TYPE_E fromDev, int value); |
343 | int cfbc_Set_LightSensor_N310(COMM_DEV_TYPE_E fromDev, int value); |
344 | int cfbc_Get_LightSensor_N310(COMM_DEV_TYPE_E fromDev, int *value); |
345 | int cfbc_Set_Dream_Panel_N310(COMM_DEV_TYPE_E fromDev, int value); |
346 | int cfbc_Get_Dream_Panel_N310(COMM_DEV_TYPE_E fromDev, int *value); |
347 | int cfbc_Set_MULT_PQ_N310(COMM_DEV_TYPE_E fromDev, int value); |
348 | int cfbc_Get_MULT_PQ_N310(COMM_DEV_TYPE_E fromDev, int *value); |
349 | int cfbc_Set_MEMC_N310(COMM_DEV_TYPE_E fromDev, int value); |
350 | int cfbc_Get_MEMC_N310(COMM_DEV_TYPE_E fromDev, int *value); |
351 | int cfbc_Set_LockN_state(COMM_DEV_TYPE_E fromDev, int value); |
352 | int cfbc_Set_VMute(COMM_DEV_TYPE_E fromDev, unsigned char value); |
353 | int cfbc_SET_SPLIT_SCREEN_DEMO(COMM_DEV_TYPE_E fromDev, int value); |
354 | int cfbc_Set_Bluetooth_IIS_onoff(COMM_DEV_TYPE_E fromDev, int value); |
355 | int cfbc_Get_Bluetooth_IIS_onoff(COMM_DEV_TYPE_E fromDev, int *value); |
356 | int cfbc_Set_Led_onoff(COMM_DEV_TYPE_E fromDev, int val_1, int val_2, int val_3); |
357 | int cfbc_Set_AP_STANDBY_N310(COMM_DEV_TYPE_E fromDev, int value); |
358 | int cfbc_Get_AP_STANDBY_N310(COMM_DEV_TYPE_E fromDev, int *value); |
359 | virtual int cfbc_Set_Fbc_Uboot_Stage(COMM_DEV_TYPE_E fromDev, int value); |
360 | |
361 | private: |
362 | //now,just one item in list,haha... |
363 | void showTime(struct timeval *_time); |
364 | long getTime(void); |
365 | int rmFromRequestList(); |
366 | int addToRequestList(); |
367 | void initCrc32Table(); |
368 | void sendAckCmd(bool isOk); |
369 | unsigned int GetCrc32(unsigned char *InStr, unsigned int len); |
370 | int processData(COMM_DEV_TYPE_E fromDev, unsigned char *PData, int dataLen); |
371 | int uartReadData(unsigned char *retData, int *retLen); |
372 | int Fbc_Set_Value_INT8(COMM_DEV_TYPE_E toDev, int cmd_type, int value); |
373 | int Fbc_Get_Value_INT8(COMM_DEV_TYPE_E fromDev, int cmd_type, int *value); |
374 | int Fbc_Set_Value_INT32(COMM_DEV_TYPE_E toDev, int cmd_type, int value); |
375 | int Fbc_Get_BatchValue(COMM_DEV_TYPE_E toDev, unsigned char *cmd_buf, int count); |
376 | int Fbc_Set_BatchValue(COMM_DEV_TYPE_E fromDev, unsigned char *cmd_buf, int count); |
377 | int cfbc_Set_Get_BatchValue(COMM_DEV_TYPE_E fromDev, unsigned char *cmd_buf, int count, int isSet); |
378 | bool threadLoop(); |
379 | |
380 | int mUpgradeFlag; |
381 | CHdmiCec mHdmiCec; |
382 | CSerialPort mSerialPort; |
383 | Epoll mEpoll; |
384 | mutable CMutex mLock; |
385 | REQUEST_REPLY_S mReplyList; |
386 | //list |
387 | epoll_event m_event; |
388 | unsigned char *mpRevDataBuf; |
389 | unsigned int mCrc32Table[256]; |
390 | bool mbSendKeyCode; |
391 | CTvInput mTvInput; |
392 | CFbcMsgQueue mFbcMsgQueue; |
393 | int mbDownHaveSend; |
394 | |
395 | int mbFbcKeyEnterDown; |
396 | nsecs_t mFbcEnterKeyDownTime; |
397 | }; |
398 | |
399 | extern CFbcCommunication *GetSingletonFBC(); |
400 | |
401 | #endif |
402 |