From c70689df7d36a9ecb462a7994d52b3c5f7070171 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Wed, 17 Jun 2020 18:22:43 +1000 Subject: [PATCH] Hook up IRQ --- workspace/TS100/Core/BSP/Miniware/Power.cpp | 6 +++++- workspace/TS100/Core/BSP/Miniware/stm32f1xx_it.c | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/workspace/TS100/Core/BSP/Miniware/Power.cpp b/workspace/TS100/Core/BSP/Miniware/Power.cpp index d65c5d4f..b188e31c 100644 --- a/workspace/TS100/Core/BSP/Miniware/Power.cpp +++ b/workspace/TS100/Core/BSP/Miniware/Power.cpp @@ -4,6 +4,7 @@ #include "Settings.h" #include "Pins.h" #include "fusbpd.h" +#include "int_n.h" bool FUSB302_present = false; void power_probe() { // If TS80 probe for QC @@ -28,9 +29,12 @@ uint8_t usb_pd_detect() { GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM; GPIO_InitStruct.Pin = GPIO_PIN_9; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + HAL_NVIC_SetPriority(EXTI9_5_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); + InterruptHandler::irqCallback(); return FUSB302_present; #endif return false; diff --git a/workspace/TS100/Core/BSP/Miniware/stm32f1xx_it.c b/workspace/TS100/Core/BSP/Miniware/stm32f1xx_it.c index b411c980..b9ee5c51 100644 --- a/workspace/TS100/Core/BSP/Miniware/stm32f1xx_it.c +++ b/workspace/TS100/Core/BSP/Miniware/stm32f1xx_it.c @@ -82,3 +82,6 @@ void DMA1_Channel6_IRQHandler(void) { void DMA1_Channel7_IRQHandler(void) { HAL_DMA_IRQHandler(&hdma_i2c1_rx); } +void EXTI9_5_IRQHandler(void){ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9); +}