source: trunk/firmware_v2/SES/src/leds.c@ 18

Last change on this file since 18 was 17, checked in by f.jahn, 4 months ago
File size: 3.8 KB
Line 
1#include "main.h"
2#include "leds.h"
3
4unsigned int onTimeCounterGN;
5unsigned int offTimeCounterGN;
6unsigned int onTimeGN;
7unsigned int offTimeGN;
8unsigned int blinkModeGN;
9
10
11unsigned int onTimeCounterRT;
12unsigned int offTimeCounterRT;
13unsigned int onTimeRT;
14unsigned int offTimeRT;
15unsigned int blinkModeRT;
16unsigned int numberOfBlinks;
17unsigned int pauseTime;
18unsigned int blinkCounter;
19
20void LEDS_Exec(void)
21{
22
23 if (onTimeCounterGN > 0)
24 {
25 onTimeCounterGN--;
26 if (onTimeCounterGN == 0)
27 {
28 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_RESET);
29
30 if (blinkModeGN == 1) offTimeCounterGN = offTimeGN;
31 }
32 }
33
34 if (offTimeCounterGN > 0)
35 {
36 offTimeCounterGN--;
37 if (offTimeCounterGN == 0)
38 {
39 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_SET);
40 onTimeCounterGN = onTimeGN;
41 }
42 }
43
44
45 // --- LED ROT ---
46 if (onTimeCounterRT > 0)
47 {
48 onTimeCounterRT--;
49 if (onTimeCounterRT == 0)
50 {
51 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_RESET);
52 if (blinkModeRT == 1) offTimeCounterRT = offTimeRT;
53
54 if (blinkCounter > 0)
55 {
56 blinkCounter--;
57 }
58 }
59 }
60
61
62 if(blinkCounter == 0)
63 {
64 //Blink code wurde angezeigt, jetzt eine lange Pause
65 offTimeCounterRT = pauseTime;
66 blinkCounter = numberOfBlinks;
67 }
68
69
70 if (offTimeCounterRT > 0)
71 {
72 offTimeCounterRT--;
73 if (offTimeCounterRT == 0)
74 {
75 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_SET);
76 onTimeCounterRT = onTimeRT;
77 }
78 }
79}
80
81// --- Steuerfunktionen LED grün ------------
82void LEDS_GN_On(void)
83{
84 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_SET);
85
86 blinkModeGN = 0; // Blinkmode zurücksetzen, falls es eingeschaltet war
87 onTimeCounterGN = 0;
88 offTimeCounterGN = 0;
89}
90
91
92
93void LEDS_GN_Flash(unsigned int time)
94{
95 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_SET);
96 onTimeCounterGN = time;
97}
98
99void LEDS_GN_Blink_Start(unsigned int on, unsigned int off )
100{
101 onTimeGN = on;
102 offTimeGN = off;
103 blinkModeGN = 1;
104
105 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_SET);
106 onTimeCounterGN = on;
107}
108
109void LEDS_GN_Off(void)
110{
111 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_RESET);
112 blinkModeGN = 0;
113 offTimeCounterGN = 0;
114 onTimeCounterGN = 0;
115}
116
117
118
119// --- Steuerfunktionen LED rot ------------
120void LEDS_RT_On(void)
121{
122 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_SET);
123
124 blinkModeRT = 0; // Blinkmode zurücksetzen, falls es eingeschaltet war
125 onTimeCounterRT = 0;
126 offTimeCounterRT = 0;
127}
128
129
130
131void LEDS_RT_Flash(unsigned int time)
132{
133 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_SET);
134 onTimeCounterRT = time;
135}
136
137void LEDS_RT_Blink_Start(unsigned int on, unsigned int off )
138{
139 onTimeRT = on;
140 offTimeRT = off;
141 blinkModeRT = 1;
142 pauseTime = off;
143
144 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_SET);
145 onTimeCounterRT = on;
146}
147
148
149void LEDS_RT_BlinkCode_Start(unsigned int blinks, unsigned int on, unsigned int off, unsigned int pause )
150{
151 onTimeRT = on;
152 offTimeRT = off;
153 blinkModeRT = 1;
154 numberOfBlinks = blinks;
155 blinkCounter = blinks;
156 pauseTime = pause;
157
158
159 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_SET);
160 onTimeCounterRT = on;
161}
162
163
164void LEDS_RT_Off(void)
165{
166 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_RESET);
167 blinkModeRT = 0;
168 offTimeCounterRT = 0;
169 onTimeCounterRT = 0;
170}
Note: See TracBrowser for help on using the repository browser.