blob: 60d533c1874599d07e32f1b199c332e7f4c4fb39 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*****************************************************************************
36 *
37 * Filename:
38 * ---------
39 * custom_led_patterns.c
40 *
41 * Project:
42 * --------
43 * Maui_Software
44 *
45 * Description:
46 * ------------
47 * The file contains definition of custom component module configuration
48 * variables, and routines handle for equipment device.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 *
60 * removed!
61 * removed!
62 * removed!
63 *
64 * removed!
65 * removed!
66 * removed!
67 *
68 * removed!
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 * removed!
75 *
76 * removed!
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 * removed!
99 *
100 * removed!
101 * removed!
102 * removed!
103 *
104 * removed!
105 * removed!
106 * removed!
107 *
108 * removed!
109 * removed!
110 * removed!
111 *
112 * removed!
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 *------------------------------------------------------------------------------
129 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
130 *============================================================================
131 ****************************************************************************/
132
133#ifndef __L1_STANDALONE__
134
135/*
136 * Includes
137 */
138#include "kal_public_api.h" //MSBB change #include "kal_release.h"
139#include "stack_types.h"
140#include "syscomp_config.h"
141//MSBB remove #include "custom_config.h"
142#include "stack_buff_pool.h"
143#include "ctrl_buff_pool.h"
144#include "device.h"
145#include "custom_led_patterns.h"
146
147/*
148 * LED pattern
149 */
150#define LED_LEVEL_0 0
151#define LED_LEVEL_1 1
152#define LED_LEVEL_2 2
153#define LED_LEVEL_3 3
154#define LED_LEVEL_4 4
155#define LED_LEVEL_5 5
156
157/* Power On */
158const LED_PATTERN_STRUCT led_gpio_ptn1[] =
159{
160 /* red ligth 1, green ligth 2, blue light 3, duration time */
161 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_0}, 500},
162 {{LED_LEVEL_0, LED_LEVEL_5, LED_LEVEL_0}, 500},
163 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_5}, 500},
164 {{LED_LEVEL_5, LED_LEVEL_5, LED_LEVEL_0}, 500},
165 {{LED_LEVEL_0, LED_LEVEL_5, LED_LEVEL_5}, 500},
166 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_5}, 500},
167 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
168};
169
170/* Power Off */
171const LED_PATTERN_STRUCT led_gpio_ptn2[] =
172{
173 /* ligth 1, ligth 2, light 3, duration time */
174 {{LED_LEVEL_0, LED_LEVEL_5, LED_LEVEL_5}, 500},
175 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_5}, 500},
176 {{LED_LEVEL_5, LED_LEVEL_5, LED_LEVEL_0}, 500},
177 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_5}, 500},
178 {{LED_LEVEL_0, LED_LEVEL_5, LED_LEVEL_0}, 500},
179 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_0}, 500},
180 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
181};
182
183/* Battery Warning */
184const LED_PATTERN_STRUCT led_gpio_ptn3[] =
185{
186 /* ligth 1, ligth 2, light 3, duration time */
187 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_0}, 100},
188 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 2000},
189 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
190};
191
192/* Battery Low */
193const LED_PATTERN_STRUCT led_gpio_ptn4[] =
194{
195 /* ligth 1, ligth 2, light 3, duration time */
196 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
197 {{LED_LEVEL_1, LED_LEVEL_0, LED_LEVEL_0}, 100},
198 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
199};
200
201/* Camp on 900 */
202const LED_PATTERN_STRUCT led_gpio_ptn5[] =
203{
204 /* ligth 1, ligth 2, light 3, duration time */
205 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
206 {{LED_LEVEL_0, LED_LEVEL_1, LED_LEVEL_0}, 100},
207 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
208};
209
210/* Camp on 1800 */
211const LED_PATTERN_STRUCT led_gpio_ptn6[] =
212{
213 /* ligth 1, ligth 2, light 3, duration time */
214 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
215 {{LED_LEVEL_0, LED_LEVEL_1, LED_LEVEL_0}, 100},
216 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
217};
218
219/* Power Off Charging */
220const LED_PATTERN_STRUCT led_gpio_ptn7[] =
221{
222 /* ligth 1, ligth 2, light 3, duration time */
223 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
224 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_2}, 100},
225 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
226};
227
228/* Power Off Charging, Full Charge */
229const LED_PATTERN_STRUCT led_gpio_ptn8[] =
230{
231 /* ligth 1, ligth 2, light 3, duration time */
232 {{LED_LEVEL_0, LED_LEVEL_2, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
233};
234
235/* Message In */
236const LED_PATTERN_STRUCT led_gpio_ptn9[] =
237{
238 /* ligth 1, ligth 2, light 3, duration time */
239 {{LED_LEVEL_5, LED_LEVEL_5, LED_LEVEL_0}, 1000},
240 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
241 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
242};
243
244/* Message Remain */
245const LED_PATTERN_STRUCT led_gpio_ptn10[] =
246{
247 /* ligth 1, ligth 2, light 3, duration time */
248 {{LED_LEVEL_5, LED_LEVEL_5, LED_LEVEL_0}, 100},
249 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
250 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
251};
252
253/* Caller Group 1 */
254const LED_PATTERN_STRUCT led_gpio_ptn11[] =
255{
256 /* ligth 1, ligth 2, light 3, duration time */
257 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_0}, 1000},
258 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
259 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
260};
261
262/* Caller Group 2 */
263const LED_PATTERN_STRUCT led_gpio_ptn12[] =
264{
265 /* ligth 1, ligth 2, light 3, duration time */
266 {{LED_LEVEL_0, LED_LEVEL_5, LED_LEVEL_0}, 1000},
267 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
268 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
269};
270
271/* Caller Group 3 */
272const LED_PATTERN_STRUCT led_gpio_ptn13[] =
273{
274 /* ligth 1, ligth 2, light 3, duration time */
275 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_5}, 1000},
276 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
277 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
278};
279
280/* Caller Group 4 */
281const LED_PATTERN_STRUCT led_gpio_ptn14[] =
282{
283 /* ligth 1, ligth 2, light 3, duration time */
284 {{LED_LEVEL_5, LED_LEVEL_0, LED_LEVEL_5}, 1000},
285 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
286 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
287};
288
289/* Caller Group 5 */
290const LED_PATTERN_STRUCT led_gpio_ptn15[] =
291{
292 /* ligth 1, ligth 2, light 3, duration time */
293 {{LED_LEVEL_5, LED_LEVEL_5, LED_LEVEL_0}, 1000},
294 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
295 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
296};
297
298/* Caller Group 6 */
299const LED_PATTERN_STRUCT led_gpio_ptn16[] =
300{
301 /* ligth 1, ligth 2, light 3, duration time */
302 {{LED_LEVEL_0, LED_LEVEL_5, LED_LEVEL_5}, 1000},
303 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 1000},
304 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
305};
306
307/* Limit Service */
308const LED_PATTERN_STRUCT led_gpio_ptn17[] =
309{
310 /* ligth 1, ligth 2, light 3, duration time */
311 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
312 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_1}, 100},
313 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
314};
315
316/* No Service */
317const LED_PATTERN_STRUCT led_gpio_ptn18[] =
318{
319 /* ligth 1, ligth 2, light 3, duration time */
320 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
321 {{LED_LEVEL_1, LED_LEVEL_0, LED_LEVEL_0}, 100},
322 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
323};
324
325/* Connect 1900 */
326const LED_PATTERN_STRUCT led_gpio_ptn19[] =
327{
328 /* ligth 1, ligth 2, light 3, duration time */
329 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
330 {{LED_LEVEL_0, LED_LEVEL_1, LED_LEVEL_0}, 100},
331 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
332};
333
334/* Roaming */
335const LED_PATTERN_STRUCT led_gpio_ptn20[] =
336{
337 /* ligth 1, ligth 2, light 3, duration time */
338 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 7000},
339 {{LED_LEVEL_1, LED_LEVEL_1, LED_LEVEL_1}, 100},
340 {{LED_LEVEL_0, LED_LEVEL_0, LED_LEVEL_0}, 0} /* duration timer is zero to terminate it */
341};
342
343const LED_PATTERN_STRUCT *led_gpio_patterns[] =
344{
345 led_gpio_ptn1,
346 led_gpio_ptn2,
347 led_gpio_ptn3,
348 led_gpio_ptn4,
349 led_gpio_ptn5,
350 led_gpio_ptn6,
351 led_gpio_ptn7,
352 led_gpio_ptn8,
353 led_gpio_ptn9,
354 led_gpio_ptn10,
355 led_gpio_ptn11,
356 led_gpio_ptn12,
357 led_gpio_ptn13,
358 led_gpio_ptn14,
359 led_gpio_ptn15,
360 led_gpio_ptn16,
361 led_gpio_ptn17,
362 led_gpio_ptn18,
363 led_gpio_ptn19,
364 led_gpio_ptn20
365};
366
367/*
368 * LCD pattern
369 */
370#define LCD_LEVEL_0 0
371#define LCD_LEVEL_1 1
372
373const LCD_PATTERN_STRUCT lcd_gpio_ptn1[] =
374{
375 /* lcd, duration time */
376 {{LCD_LEVEL_1}, 1000},
377 {{LCD_LEVEL_0}, 1000}, /* duration timer is zero to terminate it */
378 {{LCD_LEVEL_0}, 0} /* duration timer is zero to terminate it */
379};
380const LCD_PATTERN_STRUCT lcd_gpio_ptn2[] =
381{
382 /* lcd, duration time */
383 {{LCD_LEVEL_1}, 0} /* duration timer is zero to terminate it */
384};
385const LCD_PATTERN_STRUCT *lcd_gpio_patterns[] =
386{
387 lcd_gpio_ptn1,
388 lcd_gpio_ptn2
389};
390
391/*
392 * VIB pattern
393 */
394#define VIB_LEVEL_0 0
395#define VIB_LEVEL_1 1
396
397const VIB_PATTERN_STRUCT vib_gpio_ptn1[] =
398{
399 /* vib, duration time */
400 {{VIB_LEVEL_1}, 1000},
401 {{VIB_LEVEL_0}, 1000},
402 {{VIB_LEVEL_0}, 0} /* duration timer is zero to terminate it */
403};
404
405const VIB_PATTERN_STRUCT vib_gpio_ptn2[] =
406{
407 /* vib duration time */
408 {{VIB_LEVEL_1}, 0} /* duration timer is zero to terminate it */
409};
410
411const VIB_PATTERN_STRUCT vib_gpio_ptn3[] =
412{
413 /* Incomming SMS */
414 {{VIB_LEVEL_1}, 500}, /* duration timer is zero to terminate it */
415 {{VIB_LEVEL_0}, 500}, /* duration timer is zero to terminate it */
416 {{VIB_LEVEL_1}, 500}, /* duration timer is zero to terminate it */
417 {{VIB_LEVEL_0}, 1500}, /* duration timer is zero to terminate it */
418 {{VIB_LEVEL_1}, 500}, /* duration timer is zero to terminate it */
419 {{VIB_LEVEL_0}, 500}, /* duration timer is zero to terminate it */
420 {{VIB_LEVEL_1}, 500}, /* duration timer is zero to terminate it */
421 {{VIB_LEVEL_0}, 0} /* duration timer is zero to terminate it */
422};
423
424const VIB_PATTERN_STRUCT vib_gpio_ptn4[] =
425{
426 /* FTE feedback */
427 {{VIB_LEVEL_1}, 100},
428 {{VIB_LEVEL_0}, 0}
429};
430
431const VIB_PATTERN_STRUCT *vib_gpio_patterns[] =
432{
433 vib_gpio_ptn1,
434 vib_gpio_ptn2,
435 vib_gpio_ptn3,
436 vib_gpio_ptn4
437};
438
439
440/*****************************************************************************
441 * FUNCTION
442 * custom_get_led_patterns
443 * DESCRIPTION
444 *
445 * PARAMETERS
446 * led_pattern_id [IN]
447 * RETURNS
448 *
449 *****************************************************************************/
450LED_PATTERN_STRUCT *custom_get_led_patterns(PATTERN_ID led_pattern_id)
451{
452 /*----------------------------------------------------------------*/
453 /* Local Variables */
454 /*----------------------------------------------------------------*/
455
456 /*----------------------------------------------------------------*/
457 /* Code Body */
458 /*----------------------------------------------------------------*/
459 /* out of pattern number */
460 if (led_pattern_id - LED_PATTERN_BEGIN >= (sizeof(led_gpio_patterns) / sizeof(led_gpio_patterns[0])))
461 {
462 ASSERT(0);
463 }
464
465 /* based index from 0 */
466 return (LED_PATTERN_STRUCT*)(led_gpio_patterns[led_pattern_id - LED_PATTERN_BEGIN]);
467}
468
469
470/*****************************************************************************
471 * FUNCTION
472 * custom_get_lcd_patterns
473 * DESCRIPTION
474 *
475 * PARAMETERS
476 * lcd_pattern_id [IN]
477 * RETURNS
478 *
479 *****************************************************************************/
480LCD_PATTERN_STRUCT *custom_get_lcd_patterns(PATTERN_ID lcd_pattern_id)
481{
482 /*----------------------------------------------------------------*/
483 /* Local Variables */
484 /*----------------------------------------------------------------*/
485
486 /*----------------------------------------------------------------*/
487 /* Code Body */
488 /*----------------------------------------------------------------*/
489 /* out of pattern number */
490 if (lcd_pattern_id - LCD_PATTERN_BEGIN >= (sizeof(lcd_gpio_patterns) / sizeof(lcd_gpio_patterns[0])))
491 {
492 ASSERT(0);
493 }
494
495 /* based index from 0 */
496 return (LCD_PATTERN_STRUCT*)(lcd_gpio_patterns[lcd_pattern_id - LCD_PATTERN_BEGIN]);
497}
498
499
500/*****************************************************************************
501 * FUNCTION
502 * custom_get_vib_patterns
503 * DESCRIPTION
504 *
505 * PARAMETERS
506 * vib_pattern_id [IN]
507 * RETURNS
508 *
509 *****************************************************************************/
510VIB_PATTERN_STRUCT *custom_get_vib_patterns(PATTERN_ID vib_pattern_id)
511{
512 /*----------------------------------------------------------------*/
513 /* Local Variables */
514 /*----------------------------------------------------------------*/
515
516 /*----------------------------------------------------------------*/
517 /* Code Body */
518 /*----------------------------------------------------------------*/
519 /* out of pattern number */
520 if (vib_pattern_id - VIB_PATTERN_BEGIN >= (sizeof(vib_gpio_patterns) / sizeof(vib_gpio_patterns[0])))
521 {
522 ASSERT(0);
523 }
524
525 /* based index from 0 */
526 return (VIB_PATTERN_STRUCT*)(vib_gpio_patterns[vib_pattern_id - VIB_PATTERN_BEGIN]);
527}
528
529
530/*****************************************************************************
531 * FUNCTION
532 * custom_get_led_label
533 * DESCRIPTION
534 *
535 * PARAMETERS
536 * id [IN]
537 * RETURNS
538 *
539 *****************************************************************************/
540kal_uint8 custom_get_led_label(kal_uint8 id)
541{
542 /*----------------------------------------------------------------*/
543 /* Local Variables */
544 /*----------------------------------------------------------------*/
545
546 /*----------------------------------------------------------------*/
547 /* Code Body */
548 /*----------------------------------------------------------------*/
549 switch (id)
550 {
551 case 0:
552 return GPIO_DEV_LED_STATUS_1;
553
554 case 1:
555 return GPIO_DEV_LED_STATUS_2;
556
557 case 2:
558 return GPIO_DEV_LED_STATUS_3;
559
560 default:
561 return GPIO_DEV_LED_STATUS_1;
562 }
563}
564
565
566/*****************************************************************************
567 * FUNCTION
568 * custom_get_lcd_label
569 * DESCRIPTION
570 *
571 * PARAMETERS
572 * id [IN]
573 * RETURNS
574 *
575 *****************************************************************************/
576kal_uint8 custom_get_lcd_label(kal_uint8 id)
577{
578 /*----------------------------------------------------------------*/
579 /* Local Variables */
580 /*----------------------------------------------------------------*/
581
582 /*----------------------------------------------------------------*/
583 /* Code Body */
584 /*----------------------------------------------------------------*/
585 switch (id)
586 {
587 case 0:
588 return GPIO_DEV_LED_SUBLCD;
589
590 case 1:
591 return GPIO_DEV_LED_MAINLCD;
592
593 default:
594 return GPIO_DEV_LED_SUBLCD;
595 }
596
597}
598
599
600/*****************************************************************************
601 * FUNCTION
602 * custom_get_vib_label
603 * DESCRIPTION
604 *
605 * PARAMETERS
606 * id [IN]
607 * RETURNS
608 *
609 *****************************************************************************/
610kal_uint8 custom_get_vib_label(kal_uint8 id)
611{
612 /*----------------------------------------------------------------*/
613 /* Local Variables */
614 /*----------------------------------------------------------------*/
615
616 /*----------------------------------------------------------------*/
617 /* Code Body */
618 /*----------------------------------------------------------------*/
619 return GPIO_DEV_VIBRATOR;
620}
621
622#endif /* __L1_STANDALONE__ */
623