diff Small_CPU/Src/gpio.c @ 969:81049905d829 Evo_2_23

Zusammenf?hren
author heinrichsweikamp
date Sun, 19 Jan 2025 12:02:59 +0100 (2 months ago)
parents e9c37071933b
children
line wrap: on
line diff
--- a/Small_CPU/Src/gpio.c	Sun Jan 19 12:00:50 2025 +0100
+++ b/Small_CPU/Src/gpio.c	Sun Jan 19 12:02:59 2025 +0100
@@ -23,6 +23,8 @@
 
 #include "stm32f4xx_hal.h"
 #include "gpio.h"
+#include "data_exchange.h"
+#include "scheduler.h"
 
 /* Exported variables --------------------------------------------------------*/
 /* Private variables ---------------------------------------------------------*/
@@ -89,6 +91,40 @@
 	HAL_GPIO_WritePin( GPIOC, MAINCPU_CONTROL_PIN, GPIO_PIN_RESET);
 }
 
+#ifdef ENABLE_GPIO_V2
+void GPIO_HandleBuzzer()
+{
+	static uint32_t buzzerOnTick = 0;
+	static uint8_t buzzerWasOn = 0;
+
+	if(((global.dataSendToSlave.data.externalInterface_Cmd & EXT_INTERFACE_BUZZER_ON) != 0))
+	{
+		if(!buzzerWasOn)
+		{
+			buzzerOnTick = HAL_GetTick();
+			GPIO_VIBRATION_ON();
+			/* GPIO_LED_RED_ON(); */
+
+			if(time_elapsed_ms(buzzerOnTick,HAL_GetTick()) > EXT_INTERFACE_BUZZER_ON_TIME_MS)
+			{
+				GPIO_VIBRATION_OFF();
+			/*	GPIO_LED_RED_OFF(); */
+			}
+		}
+		buzzerWasOn = 1;
+	}
+	else
+	{
+		if(buzzerWasOn)
+		{
+			buzzerOnTick = 0;
+			GPIO_VIBRATION_OFF();
+			/* GPIO_LED_RED_OFF(); */
+		}
+		buzzerWasOn = 0;
+	}
+}
+#endif
 void GPIO_Power_MainCPU_ON(void) {
 	HAL_GPIO_WritePin( GPIOC, MAINCPU_CONTROL_PIN, GPIO_PIN_RESET);
 }