WXK
2024-01-31 cb037453c59b56bea6dba09c4211d5180571b41f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*******************************************************************************
 * File Name         : LED.h
 * Description       :
 * Created on        : 2021Äê3ÔÂ27ÈÕ
 * Author            : www.hido-studio.com
 *******************************************************************************/
 
#ifndef HAL_LED_H_
#define HAL_LED_H_
/*******************************************************************************
 *                              Include Files                                  *
 *******************************************************************************/
#include "HIDO_TypeDef.h"
 
/*******************************************************************************
 *                                  Macro                                      *
 *******************************************************************************/
 
/*******************************************************************************
 *                             Type Definition                                 *
 *******************************************************************************/
typedef enum
{
    LED_ID_0,
    LED_ID_1,
    LED_ID_2,
    LED_ID_3,
    LED_ID_4,
 
    LED_ID_MAX,
}E_LedID;
 
typedef enum
{
    LED_ACTIVE_STATE_RESET,
    LED_ACTIVE_STATE_SET,
} E_LedActiveState;
 
typedef struct
{
#define LED_LOOP_CNT_FOREVER                            0xFFFFFFFF
 
    HIDO_UINT32 m_u32ActiveTime;
    HIDO_UINT32 m_u32InactiveTime;
    HIDO_UINT32 m_u32LoopCnt;
} ST_LedCtrl;
 
/*******************************************************************************
 *                             Global Function                                 *
 *******************************************************************************/
 
/*******************************************************************************
 * Function Name     : Led_PinRegister
 * Description       :
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_PinRegister(E_LedID _eID, HIDO_VOID *_pGPIO, HIDO_UINT16 _u16Pin, E_LedActiveState _eActiveState);
 
/*******************************************************************************
 * Function Name     : Led_On
 * Description       :
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_On(E_LedID _eID);
 
/*******************************************************************************
 * Function Name     : Led_Off
 * Description       :
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_Off(E_LedID _eID);
 
/*******************************************************************************
 * Function Name     : Led_AllOff
 * Description       : LEDÈ«²¿¹Ø±Õ
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_AllOff(HIDO_VOID);
 
/*******************************************************************************
 * Function Name     : Led_AllOn
 * Description       : LEDÈ«²¿¿ªÆô
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_AllOn(HIDO_VOID);
 
/*******************************************************************************
 * Function Name     : Led_Toggle
 * Description       :
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_Toggle(E_LedID _eID);
 
/*******************************************************************************
 * Function Name     : Led_10MsISR
 * Description       :
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021Äê3ÔÂ25ÈÕ
 *******************************************************************************/
HIDO_VOID Led_10MsISR(HIDO_VOID);
 
/*******************************************************************************
 * Function Name     : Led_Ctrl
 * Description       : LED¿ØÖÆ
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021Äê3ÔÂ25ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_Ctrl(E_LedID _eID, ST_LedCtrl *_pstCtrl);
 
/*******************************************************************************
 * Function Name     : Led_Init
 * Description       :
 * Input             :
 * Output            :
 * Return            :
 * Author            : www.hido-studio.com
 * Modified Date:    : 2018Äê8ÔÂ8ÈÕ
 *******************************************************************************/
HIDO_INT32 Led_Init(void);
 
#endif /* HAL_LED_H_ */