source: svn/trunk/newcon3bcm2_21bu/dst/dhl/api/include/DHL_UIO.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 12.3 KB
Line 
1/**
2        @file
3                DHL_UIO.h
4
5        @brief
6                User I/O module API header
7
8        Copyright 2006~2010 Digital STREAM Technology, Inc.
9        All Rights Reserved
10*/
11
12
13#ifndef __DHL_UIO_API_H__
14#define __DHL_UIO_API_H__
15
16
17#include "DHL_OSAL.h"
18
19
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25
26
27#if COMMENT
28____Overview____(){}
29#endif
30
31/**
32        @file DHL_UIO.h
33               
34        module overview
35
36        - ´ÙÀ½°ú °°Àº »ç¿ëÀÚ ÀÔÃâ·Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
37                - IR ¸®¸ðÄÁ ÀÔ·Â
38                - Àü¸é º£Á© µîÀÇ ¹öư ÀÔ·Â
39                - LED, 7-¼¼±×¸ÕÆ®, VFD µîÀÇ Ãâ·Â
40
41        - º°µµÀÇ MICOMÀÌ µû·Î Á¦°øµÇ´Â °æ¿ì¿Í, SoC¿¡¼­ Á÷Á¢ ó¸®ÇÏ´Â °æ¿ì¿¡ µû¶ó
42        ³»ºÎ µ¿ÀÛÀº ¸¹ÀÌ ´Þ¶óÁö°ÚÁö¸¸ API ÀÎÅÍÆäÀ̽º ±¸¼º¿¡¼­´Â ±¸ºÐÇÏÁö ¾Ê´Â´Ù.
43
44        - ¸ðµç ÀÔ·Â µ¥ÀÌÅÍ´Â ´ÜÀÏ ·çƾ¿¡¼­ 󸮵ȴÙ. (tDHL_UIO_InputCb)
45       
46        - UIO API ¼³°è¿¡ ´ëÇÑ »ó¼¼ÇÑ ³»¿ëÀº "DHL UIO API Design" ¹®¼­¸¦ Âü°íÇÑ´Ù.
47
48        - dependencies
49       
50                - Ç÷§Æû ±¸¼º¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ°ÚÁö¸¸
51                DHL_UART ¸ðµâ°ú, DHL_SYS ÀÇ GPIO ºÎºÐÀ» »ç¿ëÇÑ´Ù.
52
53                - ÇÏÁö¸¸ ÀÌ ¸ðµâµéÀÇ public API¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï°í
54                ³»ºÎ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¿¬°áµÇ¹Ç·Î
55                ÀÌ UIO API »óÀ¸·Î dependency´Â º¸ÀÌÁö ¾Ê´Â´Ù.
56       
57*/
58
59
60#if COMMENT
61____Config____(){}
62#endif
63
64/*
65        Çì´õ ÆÄÀÏ¿¡ Æ÷ÇԵǾî¾ß ÇÒ global configÀº ¾ÆÁ÷±îÁö´Â ¾øÀ½.
66        ¸¸¾à ÀÖ´Ù¸é º°µµÀÇ ¼³Á¤ ÆÄÀÏ¿¡ Ãß°¡Çϵµ·Ï ÇÏÀÚ.
67       
68        #include "DHL_Config.h"
69*/
70
71
72
73#if COMMENT
74____Types____(){}
75#endif
76
77/** @brief UIO ¸ðµâ¿¡¼­ ó¸®ÇÏ´Â ¸ðµç µ¥ÀÌÅÍ Å¸ÀÔ.
78
79        ÀÔ·Â Àü¿ë, Ãâ·Â Àü¿ëÀ¸·Î ³ª´©¾îÁ® ÀÖÀ½.
80*/
81
82typedef enum 
83{
84        eDHL_UIO_INPUT_NONE = -1,
85       
86        /*------- input */
87        eDHL_UIO_INPUT_MIN = 0,
88        eDHL_UIO_INPUT_IR = eDHL_UIO_INPUT_MIN, 
89        eDHL_UIO_INPUT_KEYPAD,
90        eDHL_UIO_INPUT_GPIO,
91        eDHL_UIO_INPUT_MICOM,
92        eDHL_UIO_INPUT_MAX,
93
94        /*------- output */
95        eDHL_UIO_OUTPUT_MIN = 8,
96        eDHL_UIO_OUTPUT_LED = eDHL_UIO_OUTPUT_MIN,
97        eDHL_UIO_OUTPUT_7SEG,
98        eDHL_UIO_OUTPUT_VFD,
99        eDHL_UIO_OUTPUT_MAX,
100
101} tDHL_UIO_Type;
102
103
104#ifdef __DEFINE_UIO_STRINGS__
105const char *DHL_UIO_TypeName(tDHL_UIO_Type s)
106{
107        return (
108                (s)==eDHL_UIO_INPUT_IR ? "ir" : \
109                (s)==eDHL_UIO_INPUT_KEYPAD ? "kpd" : \
110                (s)==eDHL_UIO_INPUT_GPIO ? "gpb" : \
111                (s)==eDHL_UIO_INPUT_MICOM ? "mic" : \
112                (s)==eDHL_UIO_OUTPUT_LED ? "led" : \
113                (s)==eDHL_UIO_OUTPUT_7SEG ? "seg" : \
114                (s)==eDHL_UIO_OUTPUT_VFD ? "vfd" : \
115                "??" );
116}
117#else
118const char *DHL_UIO_TypeName(tDHL_UIO_Type source);
119#endif
120
121
122
123
124/** @brief UIO Ű ÀÔ·Â
125       
126        Note!
127        IR ÀԷ¿¡ ´ëÇØ¼­´Â raw data to UIO Code º¯È¯À» client ¿¡¼­ ó¸®ÇÑ´Ù.
128        DHL ·¹º§¿¡¼­´Â ±×³É Àüü µ¥ÀÌÅ͸¦ µÇµ¹·Á ÁØ´Ù.
129
130*/
131
132typedef enum
133{
134        eDHL_KEY_NONE,
135        eDHL_KEY_POWER,
136       
137        eDHL_KEY_UP,
138        eDHL_KEY_DOWN,
139        eDHL_KEY_LEFT,
140        eDHL_KEY_RIGHT,
141
142        eDHL_KEY_SELECT,
143        eDHL_KEY_BACK,
144        eDHL_KEY_MENU,
145        eDHL_KEY_EXIT,
146       
147        eDHL_KEY_SOURCE,
148        eDHL_KEY_INFO,
149        eDHL_KEY_GUIDE,
150        eDHL_KEY_HELP,
151
152        eDHL_KEY_FUNCTION,
153        eDHL_KEY_DISPLAY,
154        eDHL_KEY_SCREEN,
155        eDHL_KEY_RESOLUTION,
156
157        eDHL_KEY_VIDEO,
158        eDHL_KEY_ASPECT,
159       
160        eDHL_KEY_AUDIO,
161        eDHL_KEY_SOUND,
162
163        eDHL_KEY_CAPTION,
164        eDHL_KEY_SIGNAL,
165       
166        eDHL_KEY_VOL_UP,
167        eDHL_KEY_VOL_DOWN,
168
169        eDHL_KEY_CH_UP,
170        eDHL_KEY_CH_DOWN,
171
172        eDHL_KEY_0,
173        eDHL_KEY_1,
174        eDHL_KEY_2,
175        eDHL_KEY_3,
176        eDHL_KEY_4,
177        eDHL_KEY_5,
178        eDHL_KEY_6,
179        eDHL_KEY_7,
180        eDHL_KEY_8,
181        eDHL_KEY_9,
182       
183        eDHL_KEY_RESET,
184
185} tDHL_UIO_Key;
186
187
188
189
190/** @brief UIO ÀÔ·ÂÀÇ °¢Á¾ ¼¼ºÎ µ¿ÀÛÀ» ¼³Á¤ÇÒ ¶§ »ç¿ëµÇ´Â ¼³Á¤ ŸÀÔ.
191
192        DHL_UIO_Config() API ¿¡¼­ »ç¿ëµÈ´Ù.
193
194        DHL_UIO_Config() API¿¡¼­ ¶Ç´Ù¸¥ ÀÎÀÚÀÎ void *param °ú °°ÀÌ »ç¿ëµÈ´Ù.
195        ¾Æ·¡ °¢ type º°·Î ¾î¶² Ãß°¡ ÆÄ¶ó¹ÌÅͰ¡ ÇÊ¿äÇÑÁö ¸í½Ã µÇ¾î¾ß ÇÑ´Ù.
196       
197*/
198typedef enum
199{
200        /** -----------------------------------
201                ÆÄ¶ó¹ÌÅÍ: BOOL bEnablePassThrough;
202               
203                uio 󸮱⸦ bypass ½Ãų °ÍÀÎÁö ¿©ºÎ¸¦ ¼³Á¤ÇÑ´Ù.
204                TRUE À̸é feeding µÈ µ¥ÀÌÅÍ´Â ±×´ë·Î client¿¡°Ô bypass µÈ´Ù.
205                bypass¸¦ Çϸé DHL ³»ºÎÀÇ GPIO ¹öư ¹Ýº¹ ±â´É µîÀº Á¦°øµÇÁö ¾Ê´Â´Ù.
206
207                client ¿¡¼­ ¸ðµç ¼¼ºÎ 󸮸¦ ¼öÇàÇϰíÀÚ ÇÒ ¶§ »ç¿ëÇÑ´Ù.
208        */
209        eDHL_UIO_Cfg_PassThrough,
210
211        /** -----------------------------------
212                ÆÄ¶ó¹ÌÅÍ: BOOL bUseReleaseEvent;
213               
214                not yet..
215        */
216        eDHL_UIO_Cfg_UseReleaseEvent,
217       
218        /** -----------------------------------
219                ÆÄ¶ó¹ÌÅÍ: tDHL_UIO_InputDataFilter *filter
220
221                IR ÀÔ·Â µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ pre-filteringÀ» ¼öÇàÇÑ´Ù.
222                ÁַΠƯÁ¤ vendor code¸¦ °É·¯ ³»±â À§Çؼ­ ¼³Á¤ÇÑ´Ù.
223               
224                À̰ÍÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç ÀÔ·ÂÀÌ uio filter¸¦ Åë°úÇÏ¿© client¿¡
225                Àü´ÞµÈ´Ù.
226               
227                client ¿¡¼­ vendor code filteringÀ» ÇØµµ µÇÁö¸¸, uio ó¸® ·çƾ ÀÌÀü¿¡
228                ÇÏ´Â °ÍÀÌ ´õ È¿À²ÀûÀÌ´Ù.
229        */
230        eDHL_UIO_Cfg_InputDataFilter,
231
232        /** -----------------------------------
233                ÆÄ¶ó¹ÌÅÍ: tDHL_UIO_DebounceTiming *timing
234
235                GPIO ¹öư ÀԷ°ú, KeyPad ¹öư ÀԷ¿¡ ´ëÇØ¼­ debounce timingÀ» ¼³Á¤ÇÑ´Ù.
236
237                ¾ÆÁ÷ ¿Ï¼ºµÇÁö ¾Ê¾ÒÀ½. ÀÏ´Ü driver/hal ³»ºÎÀÇ µðÆúÆ® ¼³Á¤ ´ë·Î µ¿ÀÛÇÑ´Ù.
238                customer¿¡ µû¶ó ´Ù¸¥ debounce ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù¸é ±× ¶§ ±¸ÇöÇÏÀÚ.
239        */
240        eDHL_UIO_Cfg_Debounce,
241               
242        /** -----------------------------------
243                ÆÄ¶ó¹ÌÅÍ: tDHL_UIO_RepeatSetting *repeat
244
245                IR, GPIO ¹öư, KeyPad ¹öư µî¿¡ ´ëÇØ¼­ ¹Ýº¹ ±â´ÉÀ» ¼³Á¤ÇÑ´Ù.
246                all zero¸¦ ¼³Á¤ÇÏ¿© ¹Ýº¹ ±â´É ÀÚü¸¦ disable ÇÒ ¼öµµ ÀÖ´Ù.
247
248                µðÆúÆ® °ªÀº »ó¼¼ ŸÀ̹ÖÀº ¼Ò½º ÄÚµå ³»¿¡ fixµÇ¾î ÀÖ´Ù.
249
250                ÀÌ ¼³Á¤Àº ¾î¶² Á¾·ùÀÇ Å°°¡ ÀԷµǾú´ÂÁö¿¡ »ó°ü ¾øÀÌ
251                ÀÏ·üÀûÀ¸·Î Àû¿ëµÇ´Â global ¼³Á¤ÀÌ´Ù.
252                °¢ Ű º°·Î repeat Àû¿ë ¿©ºÎ¸¦ ´Ù¸£°Ô ÇÑ´Ù´ø°¡,
253                repeat timingÀ» ´Ù¸£°Ô Àû¿ëÇÏ°í ½Í´Ù¸é
254                ¾Æ·¡ eDHL_UIO_Cfg_CheckRepeatCb À» »ç¿ëÇØ¾ß ÇÑ´Ù.
255        */
256        eDHL_UIO_Cfg_RepeatSetting,
257               
258        /** -----------------------------------
259                ÆÄ¶ó¹ÌÅÍ: tDHL_UIO_CheckRepeatCb callback
260
261                repeat ¿©ºÎ¸¦ ÀԷµǴ °¢ Ű º°·Î ´Ù¸£°Ô Àû¿ëÇϰíÀÚ ÇÏ´Â °æ¿ì
262                »ç¿ëÇÑ´Ù.
263
264                ¿©±â¼­ callbackÀ» µî·ÏÇØ ³õÀ¸¸é, ¸ðµç Ű ÀÔ·ÂÀÌ ÀÖÀ» ¶§ ¸¶´Ù ÁöÁ¤ÇÑ
265                callbackÀÌ È£ÃâµÇ¸ç,
266                ±× ¶§ ¸¶´Ù ÀԷ Ű¿¡ µû¸¥ °¢°¢ repeat ¼³Á¤À» ÇØ ÁÖ¸é µÈ´Ù.
267
268                ÁÖÀÇ: ÆÄ¶ó¹ÌÅÍ callbackÀº ÇÔ¼ö Æ÷ÀÎÅÍÀÌ´Ù.
269                ÆÄ¶ó¹ÌÅÍ¿¡ NULLÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ±×·² °æ¿ì µ¥ÀÌÅÍ º° ¹Ýº¹ ¼³Á¤Àº ÇÏÁö ¾Ê°í
270                global ¼³Á¤ (À§ eDHL_UIO_Cfg_RepeatSetting À¸·Î ¼³Á¤ÇÑ °ª)¿¡ µû¸¥´Ù.
271        */
272        eDHL_UIO_Cfg_CheckRepeatCb,
273
274} tDHL_UIO_ConfigType;
275
276
277
278
279/** @brief UIO input data filter ±¸Á¶Ã¼.
280
281        IR ÀÔ·Â µ¥ÀÌÅÍÀÇ pre-filteringÀ» Çϱâ À§ÇÑ ÇÊÅÍ Á¤º¸ÀÌ´Ù.
282        ÁÖ·Î IR code Áß¿¡¼­ vendor code °É·¯³»±â À§ÇÑ ¿ëµµ·Î »ç¿ëµÈ´Ù.
283       
284        Áï IR ÀÔ·Â µ¥ÀÌÅÍ Áß¿¡¼­ ƯÁ¤ vendor code ¸¸ ó¸®ÇϰíÀÚ ÇÒ ¶§,
285        ƯÁ¤ Á¤º¸¸¸ passÇϵµ·Ï ÀÌ ÇÊÅ͸¦ ÀÛ¼ºÇÑ ÈÄ,
286        DHL_Config(eDHL_UIO_Cfg_InputDataFilter, filter) ¿Í °°ÀÌ È£ÃâÇÏ¸é µÈ´Ù.
287       
288        ¹ü¿ë filter ±¸Á¶¸¦ äÅÃÇÑ ÀÌÀ¯´Â Áö¿øÇÏ°Ô µÉ IR ¹æ½ÄÀÌ
289        ¿©·¯°¡Áö°¡ µÉ ¼ö Àֱ⠶§¹®.
290        Âü°í·Î NEC IR ¹æ½ÄÀÇ °æ¿ì IR data´Â 4¹ÙÀÌÆ®ÀÌ´Ù.
291*/
292
293#define DHL_UIO_MAX_INPUT_FILTER 10
294
295typedef struct
296{
297        int numFilter;
298
299        struct {
300                UINT32 mask;
301                UINT32 data;
302        } filters[DHL_UIO_MAX_INPUT_FILTER];
303
304        /* filter pass ¾Ë°í¸®Áò
305                'numFilter' °¹¼ö¿¡ ÇØ´çµÇ´Â ¸ðµç filter üũ.
306                ÀÔ·Â µ¥ÀÌÅ͸¦ 'mask'·Î masking ÇÏ¿© 'data'¿Í ºñ±³.
307                ¾î´À Çϳª¶óµµ match°¡ µÇ¸é pass. Çϳªµµ match°¡ ¾ÈµÇ¸é throw out.
308        */
309
310} tDHL_UIO_InputDataFilter;
311
312
313
314/** @brief °¢Á¾ ¹Ýº¹ ¼³Á¤ ½Ã »ç¿ëÇϴ ŸÀÔ.
315
316        tDHL_UIO_CheckRepeatCb ŸÀÔÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù.
317
318        ¹Ýº¹
319        ¿¹:
320                msIntervalFirst = 600
321                msIntervalNext = 200
322
323        ¸ðµÎ millisecond ´ÜÀ§ÀÌ´Ù.
324*/
325typedef struct
326{
327        UINT32 msIntervalFirst; ///< ÃÖÃÊ Áö¿¬ ½Ã°£
328        UINT32 msIntervalNext;  ///< µÎ¹øÂ° ºÎÅÍÀÇ Áö¿¬ ½Ã°£
329
330} tDHL_UIO_RepeatSetting;
331
332
333
334/** @brief µ¥ÀÌÅÍ º° Ű ¹Ýº¹ ¼³Á¤ ¿©ºÎ ¹× ¼³Á¤ ŸÀ̹ÖÀ» queryÇÏ´Â Äݹé.
335
336        source, data: [IN] DHL ¿¡¼­ ¼³Á¤Çؼ­ ÄݹéÀ» È£ÃâÇÔ.
337       
338        settings: [OUT] client°¡ callback ³»¿¡¼­ °ªÀ» ¼³Á¤ÇÑ ÈÄ ¸®ÅÏ.
339
340        settings ³»ÀÇ °ªÀÌ ¸ðµÎ 0ÀÎ °æ¿ì, ÇØ´ç data¿¡ ´ëÇØ¼­ ¹Ýº¹ ±â´ÉÀ» »ç¿ëÇÏÁö ¾ÊÀ½À» ÀǹÌÇÑ´Ù.
341*/
342typedef void (*tDHL_UIO_CheckRepeatCb)(tDHL_UIO_Type source, UINT32 data, tDHL_UIO_RepeatSetting *settings);
343
344
345
346/** @brief UIO callback ¿¡¼­ »ç¿ë µÉ flag ŸÀÔ.
347       
348        ¾Æ·¡ \#define flag µéÀÇ Á¶ÇÕÀÌ´Ù.
349*/
350typedef UINT32 tDHL_UIO_Flag;
351
352#define DHL_UIO_FLAG_Released 0x01  // ¹öư ·ù ¿¡¼­¸¸ »ç¿ë. set À̸é release µÇ¾úÀ½À» ÀǹÌ.
353//#define DHL_UIO_FLAG_Pressed  0x02  // ¹öư·ùÀÇ °æ¿ì, set À̸é pressed, non-set À̸é released.
354#define DHL_UIO_FLAG_IsRepeat 0x80  //  set À̸é HW repeat »óÅÂÀÓ. ÀÌ flag´Â PressedÀÇ Àǹ̸¦ ³»Æ÷Çϰí ÀÖÀ½.
355
356
357
358/** @brief
359        ó¸® µÇ°í ³­ ÈÄÀÇ ÃÖÁ¾ µ¥ÀÌÅͰ¡ Àü´Þ µÇ´Â Äݹé.
360
361        DHL_UIO_RegisterCallback API¸¦ ÀÌ¿ëÇÏ¿© µî·ÏµÈ´Ù.
362*/
363typedef void (*tDHL_UIO_InputCb)(tDHL_UIO_Type source, UINT32 data, tDHL_UIO_Flag flag);
364
365
366
367
368
369/** @brief
370        Generic Purpose UIO output control.
371
372*/
373typedef enum
374{
375        /**-----------------------------
376                Low-level control
377        */
378        eDHL_UIO_CT_LowLevelMin = 0x100,
379
380        /**
381                LED °¢°¢À» on/off control.
382                ÇÑ ¹ø¿¡ ÇϳªÀÇ led ¸¸ control °¡´ÉÇÏ´Ù.
383
384                id   : ´Â led °¢°¢À» ±¸ºÐÇÏ´Â index. 0 ºÎÅÍ ½ÃÀÛÇÏ´Â enum °ª.
385                param: 0 ¶Ç´Â 1
386        */
387        eDHL_UIO_CT_LED = 0x100,
388        eDHL_UIO_CT_7SEG,
389        eDHL_UIO_CT_VFD,
390
391        /**-----------------------------
392                High-level control
393        */
394        eDHL_UIO_CT_HighLevelMin = 0x1000,
395
396        /**
397                °£´ÜÇÑ (1~2 bits wide) »óÅ ǥ½Ã±â
398                LED°¡ µÉ ¼öµµ ÀÖ°í, 7SegmentÀÇ Æ¯Á¤ bit led, ¶Ç´Â VFD ³»ÀÇ Æ¯Á¤ ¿µ¿ª on/off °¡ µÉ ¼ö ÀÖÀ½.
399                ¾î¶°ÇÑ Output type ÀÎÁö´Â ±¸ºÐÇÏÁö ¾Ê´Â´Ù.
400                MICOMÀ» ÅëÇÏ¿© Á¦¾îµÇ´Â °æ¿ì¿¡´Â ³»ºÎ¿¡¼­ UART command¸¦ º¸³»¾ß µÉ ¼öµµ ÀÖÀ½.
401               
402                id   : tDHL_UIO_IndicatorType
403                param: °¢ indicator type º°·Î Á¤ÀÇµÈ µ¥ÀÌÅÍ.
404        */
405        eDHL_UIO_CT_Indicator,
406       
407} tDHL_UIO_ControlType;
408
409
410/** @brief
411        eDHL_UIO_CT_Indicator ÀÇ ºÎ°¡ µ¥ÀÌÅÍ Å¸ÀÔ.
412*/
413typedef enum
414{
415        eDHL_UIO_IT_Power, // power state (0:off, 1:stby, 2:full)
416
417        eDHL_UIO_IT_Status0, // generic purpose status
418        eDHL_UIO_IT_Status1,
419        eDHL_UIO_IT_Status2,
420        eDHL_UIO_IT_Status3,
421
422        eDHL_UIO_IT_IR, // ir input detect
423       
424        eDHL_UIO_IT_Network, // network connection alive
425       
426} tDHL_UIO_IndicatorType;
427
428
429
430
431
432
433#if COMMENT
434____Defines____(){}
435#endif
436
437
438#define DHL_UIO_IsInput(t)  ((t)>=eDHL_UIO_INPUT_MIN && (t)<eDHL_UIO_INPUT_MAX)
439#define DHL_UIO_IsOutput(t) ((t)>=eDHL_UIO_OUTPUT_MIN && (t)<eDHL_UIO_OUTPUT_MAX)
440
441
442
443
444#if COMMENT
445____API____(){}
446#endif
447
448
449/** @brief UIO HAL ¸ðµâÀ» µ¿ÀÛ °¡´ÉÇÑ »óÅ·ΠÃʱâÈ­ ÇÑ´Ù.
450*/
451void DHL_UIO_Init(void);
452
453/** @brief UIO HAL ¸ðµâÀ» shutdown ÇÑ´Ù.
454*/
455void DHL_UIO_Uninit(void);
456
457/** @brief UIO ÀÔ·Â Á¦¾î.
458
459        ¾Æ·¡ DHL_UIO_Control API¿ÍÀÇ Â÷ÀÌ´Â ´ÙÀ½°ú °°´Ù.
460       
461        - ConfigÀº ÁÖ·Î UIO ÀԷ¿¡ ´ëÇØ ¼³Á¤À» ÇÑ´Ù.
462        - ControlÀº ÁÖ·Î UIO Ãâ·Â¿¡ ´ëÇØ ¼³Á¤À» ÇÑ´Ù.
463        - ConfigÀº ´ëºÎºÐÀÇ °æ¿ì ÇÊ¿ä ¾ø°Å³ª, Ãʱâ 1ȸ ¼öÇàÇØÁÖ¸é µÇ´Â ³»¿ëµéÀÌ´Ù.
464        - ControlÀº µ¿ÀÛ Áß¿¡ ¼ö½Ã·Î º¯°æµÇ´Â ³»¿ëµéÀÌ´Ù.
465
466        @param[in] type
467        @param[in] param
468*/
469void DHL_UIO_Config(tDHL_UIO_ConfigType type, void *param);
470
471
472
473/** @brief UIO Ãâ·Â Á¦¾î.
474
475        ------------------------
476        ÇÏÀ§ ·¹º§ UIO Ãâ·Â Á¦¾î
477       
478        - type: eDHL_UIO_OUTPUT_LED
479                - LED Ãâ·Â Á¦¾î
480                - id
481                        - LED ¹øÈ£. gpio ¹øÈ£³ª ÆÐµå ¹øÈ£ µîÀÌ ¾Æ´Ï¶ó,
482                        DHL domain¿¡¼­ °áÁ¤ÇÑ À妽º °ª.
483                - param
484                        - 0 or 1.
485                        - dual ledÀÇ °æ¿ì´Â 0 ÀÌ ¾î¶² »ö±òÀÎÁö, 1ÀÌ ¾î¶² »ö±òÀÎÁö ¸í½Ã ÇÊ¿ä.
486
487        - type: eDHL_UIO_OUTPUT_7SEG
488                - ƯÁ¤ 7segment¿¡ data ±â·Ï.
489
490                - id´Â segment ¹øÈ£ÀÌ´Ù.
491                        0 ºÎÅÍ ½ÃÀÛÇϰí, num_segment-1 ±îÁöÀÇ °ª Áß¿¡ »ç¿ë °¡´É.
492                - paramÀº hardware specific ÇÑ segment data.
493
494                - ÀÌ ÇÔ¼ö·Î´Â Çѹø¿¡ ÇϳªÀÇ segment¸¸ Á¦¾î °¡´ÉÇÔ.
495                - Àüü segment¸¦ Çѹø¿¡ ¼³Á¤ÇÏ·Á¸é eDHL_UIO_CT_Indicator¸¦ »ç¿ëÇÑ´Ù.
496
497        - type: eDHL_UIO_OUTPUT_VFD
498                - ¾ÆÁ÷ VFD controllerÀÇ µ¿ÀÛÀÌ ¾î¶² ¹æ½ÄÀÎÁö ¸ô¶ó¼­ ºñ¿öµÒ.
499
500        - type¿¡¼­ micom À» ÀÌ¿ëÇÑ segment, vfd Ãâ·Â µîÀº Áö¿øÇÏÁö ¾ÊÀ½.
501                high level control API¸¦ ÀÌ¿ëÇϱ⠹ٶ÷.
502
503        ------------------------
504        »óÀ§ ·¹º§ UIO Ãâ·Â Á¦¾î
505
506        - type == eDHL_UIO_CT_Indicator
507                - id: tDHL_UIO_IndicatorType
508                - param: °¢ indicator type º°·Î Á¤ÇØÁø °ª.
509
510
511        @param[in] type   À§¿¡¼­ ¼³¸íÇÑ °¢ Á¦¾î ŸÀÔ.
512        @param[in] id     type º°·Î Àǹ̰¡ Á¤ÇØÁ® ÀÖ´Â °ª.
513        @param[in] param  type º°·Î Àǹ̰¡ Á¤ÇØÁ® ÀÖ´Â °ª.
514
515        @return
516*/
517DHL_RESULT DHL_UIO_Control(tDHL_UIO_ControlType type, UINT32 id, UINT32 param);
518
519
520/** @file DHL_UIO.h
521
522        »óÀ§ ·¹º§ UIO Ãâ·Â API »ç¿ë ÆÐÅÏ Á¶»ç..
523       
524        led via gpio
525                control(power, off/stby/on)
526                control(rec, on)
527
528        segment direct control
529                control("play"); control("boot"); control("12:07");
530                ÀÌ·± ¹æ½ÄÀº Àǹ̰¡ ¾øÀ½. ³Ê¹« Á¦ÇÑÀûÀÓ. ¿¹¸¦ µé¾î alphabetÀÌ ¾Æ´Ñ ¸ð¾çÀº Ç¥½Ã ºÒ°¡.
531                msg_id ¸¦ ÀÌ¿ëÇÑ ¹æ½ÄÀÇ °æ¿ì DHL ³»ºÎ¿¡¼­ animation ó¸®ÇÏ·Á¸é º°µµÀÇ timer µîÀÇ ÄÚµå ÇÊ¿ä.
532                --> ¹®Á¦ ÀÖÀ½..
533
534        Segment via micom:
535                boot, play.., goodbye
536                control(micom_msg, msg_id)
537
538        vfd via micom
539*/
540
541
542
543/** @brief      UIO ÀԷ¿¡ °øÅëÀûÀ¸·Î »ç¿ëµÇ´Â callback µî·Ï.
544
545        ÀÔ·Â µ¥ÀÌÅÍ Á¾·ù¿¡ »ó°ü ¾øÀÌ ¸ðµç ÀÔ·Â µ¥ÀÌÅÍ´Â ÀÌ callbackÀ» ÅëÇØ Àü´ÞµÈ´Ù.
546        DHL_UIO_Config ¼³Á¤¿¡ µû¶ó ³»ºÎ¿¡¼­ °¡°ø 󸮰¡ µÉ ¼öµµ ÀÖ´Ù.
547
548        @param[in] cb  µî·Ï ÇÒ Äݹé ÇÔ¼ö.
549*/
550void DHL_UIO_RegisterCallback(tDHL_UIO_InputCb cb);
551
552
553
554
555#ifdef __cplusplus
556} /* extern "C" */
557#endif
558
559
560
561#endif  /* __DHL_UIO_API_H__ */
562
Note: See TracBrowser for help on using the repository browser.