forgotten signaling stuff

This commit is contained in:
2020-11-01 22:21:48 +01:00
parent 5a9ef3c8d5
commit 8bfe2d229d
2 changed files with 62 additions and 0 deletions

13
cube/User/Inc/signal.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef _DEBUG_H_
#define _DEBUG_H_
#include <stdint.h>
typedef enum { DEBUG_1, DEBUG_2, LED_RED, LED_GREEN } signalPin_t;
typedef enum { ON, OFF, TOGGLE } signalAction_t;
void signal(signalPin_t signalPin, signalAction_t action);
#endif // _DEBUG_H_

49
cube/User/Src/signal.c Normal file
View File

@ -0,0 +1,49 @@
#include <main.h>
#include <signal.h>
#include <stdint.h>
#include <stdlib.h>
#include <stm32f103xe.h>
void signal(signalPin_t signalPin, signalAction_t action) {
GPIO_TypeDef *port = NULL;
uint16_t pin = 0;
switch (signalPin) {
case DEBUG_1:
port = Debug_Signal_1_GPIO_Port;
pin = Debug_Signal_1_Pin;
break;
case DEBUG_2:
port = Debug_Signal_2_GPIO_Port;
pin = Debug_Signal_2_Pin;
break;
case LED_RED:
port = LED_Red_GPIO_Port;
pin = LED_Red_Pin;
break;
case LED_GREEN:
port = LED_Green_GPIO_Port;
pin = LED_Green_Pin;
break;
}
if (port != NULL) {
switch (action) {
case ON:
HAL_GPIO_WritePin(port, pin, GPIO_PIN_SET);
break;
case OFF:
HAL_GPIO_WritePin(port, pin, GPIO_PIN_RESET);
break;
case TOGGLE:
HAL_GPIO_TogglePin(port, pin);
break;
}
}
}