annotate Small_CPU/Src/gpio.c @ 988:d9290c76b840 GasConsumption

OSTC4/5 joined code: In the previous version code differences between OSTC4/5 were identified using the ENABLE_GPIO_V2 compiler switch. In the new version this is done using the display version as indicator which OSTC model is in used. Since this is detected by Firmware the information is forwarded from there to the RTE. This causes a little delay in the GPIO initialization but this applies only to the cold start of the RTE which should not happen very often.
author ideenmodellierer
date Sun, 06 Apr 2025 21:02:17 +0200 (13 days ago)
parents e9c37071933b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
1 /**
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
2 ******************************************************************************
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
3 * @file gpio.c
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
4 * @author heinrichs weikamp gmbh
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
5 * @version V0.0.1
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
6 * @date 08-Dec-2024
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
7 * @brief Definitions for GPIO operations (GPIO_V2)
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
8 *
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
9 @verbatim
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
10 ==============================================================================
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
11 ##### How to use #####
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
12 ==============================================================================
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
13 @endverbatim
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
14 ******************************************************************************
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
15 * @attention
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
16 *
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
17 * <h2><center>&copy; COPYRIGHT(c) 2024 heinrichs weikamp</center></h2>
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
18 *
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
19 ******************************************************************************
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
20 */
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
21
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
22 /* Includes ------------------------------------------------------------------*/
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
23
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
24 #include "stm32f4xx_hal.h"
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
25 #include "gpio.h"
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
26 #include "data_exchange.h"
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
27 #include "scheduler.h"
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
28 #include "uart_internal.h"
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
29 #include "GNSS.h"
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
30
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
31 /* Exported variables --------------------------------------------------------*/
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
32 /* Private variables ---------------------------------------------------------*/
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
33 static uint8_t GPIO_Version = 0;
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
34 /* Private types -------------------------------------------------------------*/
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
35
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
36 /* Private function prototypes -----------------------------------------------*/
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
37
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
38 /* Exported functions --------------------------------------------------------*/
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
39 void GPIO_LEDs_VIBRATION_Init(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
40 GPIO_InitTypeDef GPIO_InitStructure;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
41
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
42 __GPIOA_CLK_ENABLE();
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
43 GPIO_InitStructure.Pin = LED_CONTROL_PIN_RED;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
44 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
45 GPIO_InitStructure.Pull = GPIO_PULLUP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
46 GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
47 HAL_GPIO_Init( GPIOA, &GPIO_InitStructure);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
48 HAL_GPIO_WritePin( GPIOA, LED_CONTROL_PIN_RED, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
49
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
50 GPIO_InitStructure.Pin = LED_CONTROL_PIN_GREEN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
51 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
52 GPIO_InitStructure.Pull = GPIO_PULLUP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
53 GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
54 HAL_GPIO_Init( GPIOA, &GPIO_InitStructure);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
55 HAL_GPIO_WritePin( GPIOA, LED_CONTROL_PIN_GREEN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
56
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
57 GPIO_InitStructure.Pin = VIBRATION_CONTROL_PIN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
58 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
59 GPIO_InitStructure.Pull = GPIO_PULLDOWN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
60 GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
61 HAL_GPIO_Init( GPIOA, &GPIO_InitStructure);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
62 HAL_GPIO_WritePin( GPIOA, VIBRATION_CONTROL_PIN, GPIO_PIN_RESET);
938
df87dbfc9c21 Update GPIO:
Ideenmodellierer
parents: 935
diff changeset
63 }
df87dbfc9c21 Update GPIO:
Ideenmodellierer
parents: 935
diff changeset
64
df87dbfc9c21 Update GPIO:
Ideenmodellierer
parents: 935
diff changeset
65 void GPIO_GNSS_Init()
df87dbfc9c21 Update GPIO:
Ideenmodellierer
parents: 935
diff changeset
66 {
df87dbfc9c21 Update GPIO:
Ideenmodellierer
parents: 935
diff changeset
67 GPIO_InitTypeDef GPIO_InitStructure;
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
68
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
69 __GPIOB_CLK_ENABLE();
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
70 GPIO_InitStructure.Pin = GPS_POWER_CONTROL_PIN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
71 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
72 GPIO_InitStructure.Pull = GPIO_PULLUP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
73 GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
74 HAL_GPIO_Init( GPIOB, &GPIO_InitStructure);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
75 HAL_GPIO_WritePin( GPIOB, GPS_POWER_CONTROL_PIN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
76
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
77 GPIO_InitStructure.Pin = GPS_BCKP_CONTROL_PIN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
78 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
79 GPIO_InitStructure.Pull = GPIO_PULLDOWN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
80 GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
81 HAL_GPIO_Init( GPIOB, &GPIO_InitStructure);
947
96cf6c53c934 GNSS sleep mode:
Ideenmodellierer
parents: 938
diff changeset
82 HAL_GPIO_WritePin( GPIOB, GPS_BCKP_CONTROL_PIN, GPIO_PIN_SET);
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
83 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
84
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
85 void GPIO_Power_MainCPU_Init(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
86 GPIO_InitTypeDef GPIO_InitStructure;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
87 __GPIOC_CLK_ENABLE();
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
88 GPIO_InitStructure.Pin = MAINCPU_CONTROL_PIN;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
89 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
90 GPIO_InitStructure.Pull = GPIO_PULLUP;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
91 GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
92 HAL_GPIO_Init( GPIOC, &GPIO_InitStructure);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
93 HAL_GPIO_WritePin( GPIOC, MAINCPU_CONTROL_PIN, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
94 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
95
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
96 void GPIO_HandleBuzzer()
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
97 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
98 static uint32_t buzzerOnTick = 0;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
99 static uint8_t buzzerWasOn = 0;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
100
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
101 if(((global.dataSendToSlave.data.externalInterface_Cmd & EXT_INTERFACE_BUZZER_ON) != 0))
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
102 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
103 if(!buzzerWasOn)
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
104 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
105 buzzerOnTick = HAL_GetTick();
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
106 GPIO_VIBRATION_ON();
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
107 /* GPIO_LED_RED_ON(); */
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
108
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
109 if(time_elapsed_ms(buzzerOnTick,HAL_GetTick()) > EXT_INTERFACE_BUZZER_ON_TIME_MS)
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
110 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
111 GPIO_VIBRATION_OFF();
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
112 /* GPIO_LED_RED_OFF(); */
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
113 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
114 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
115 buzzerWasOn = 1;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
116 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
117 else
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
118 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
119 if(buzzerWasOn)
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
120 {
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
121 buzzerOnTick = 0;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
122 GPIO_VIBRATION_OFF();
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
123 /* GPIO_LED_RED_OFF(); */
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
124 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
125 buzzerWasOn = 0;
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
126 }
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 947
diff changeset
127 }
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
128
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
129 void GPIO_Power_MainCPU_ON(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
130 HAL_GPIO_WritePin( GPIOC, MAINCPU_CONTROL_PIN, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
131 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
132
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
133 void GPIO_Power_MainCPU_OFF(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
134 HAL_GPIO_WritePin( GPIOC, MAINCPU_CONTROL_PIN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
135 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
136
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
137 void GPIO_LED_GREEN_ON(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
138 HAL_GPIO_WritePin( GPIOA, LED_CONTROL_PIN_GREEN, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
139 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
140
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
141 void GPIO_LED_GREEN_OFF(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
142 HAL_GPIO_WritePin( GPIOA, LED_CONTROL_PIN_GREEN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
143 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
144
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
145 void GPIO_LED_RED_ON(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
146 HAL_GPIO_WritePin( GPIOA, LED_CONTROL_PIN_RED, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
147 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
148
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
149 void GPIO_LED_RED_OFF(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
150 HAL_GPIO_WritePin( GPIOA, LED_CONTROL_PIN_RED, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
151 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
152
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
153 void GPIO_VIBRATION_ON(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
154 HAL_GPIO_WritePin( GPIOA, VIBRATION_CONTROL_PIN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
155 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
156
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
157 void GPIO_VIBRATION_OFF(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
158 HAL_GPIO_WritePin( GPIOA, VIBRATION_CONTROL_PIN, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
159 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
160
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
161 void GPIO_GPS_ON(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
162 HAL_GPIO_WritePin( GPIOB, GPS_POWER_CONTROL_PIN, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
163 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
164
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
165 void GPIO_GPS_OFF(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
166 HAL_GPIO_WritePin( GPIOB, GPS_POWER_CONTROL_PIN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
167 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
168
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
169 void GPIO_GPS_BCKP_ON(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
170 HAL_GPIO_WritePin( GPIOB, GPS_BCKP_CONTROL_PIN, GPIO_PIN_SET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
171 }
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
172
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
173 void GPIO_GPS_BCKP_OFF(void) {
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
174 HAL_GPIO_WritePin( GPIOB, GPS_BCKP_CONTROL_PIN, GPIO_PIN_RESET);
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
175 }
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
176
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
177 uint8_t GPIO_GetVersion()
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
178 {
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
179 return GPIO_Version;
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
180 }
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
181
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
182 void GPIO_Activate_V2(void)
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
183 {
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
184 GPIO_Version = 1;
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
185 GPIO_LEDs_VIBRATION_Init();
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
186
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
187 #ifdef ENABLE_GNSS_INTERN
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
188 GNSS_IO_init();
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
189 GPIO_GPS_ON();
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
190 GPIO_GPS_BCKP_ON();
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
191 MX_USART6_UART_Init();
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
192 GNSS_Init(&GNSS_Handle, &huart6);
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
193 #endif
988
d9290c76b840 OSTC4/5 joined code:
ideenmodellierer
parents: 951
diff changeset
194 }
935
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
195 /* Private functions ---------------------------------------------------------*/
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
196
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
197
f2494a708f52 Added unit files for GPIO:
Ideenmodellierer
parents:
diff changeset
198 /************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/