From accfa64d54472184e596b91da16545342149cefe Mon Sep 17 00:00:00 2001 From: Andreas Berthoud Date: Tue, 27 Jul 2021 18:07:50 +0200 Subject: [PATCH] pump: Setup GPIO output for relay --- nucleo-wb55-ble/Core/Inc/main.h | 2 ++ nucleo-wb55-ble/Core/Src/main.c | 10 ++++++ nucleo-wb55-ble/nucleo-wb55-ble.ioc | 51 ++++++++++++++++------------- 3 files changed, 40 insertions(+), 23 deletions(-) diff --git a/nucleo-wb55-ble/Core/Inc/main.h b/nucleo-wb55-ble/Core/Inc/main.h index dd6973c..90cce28 100644 --- a/nucleo-wb55-ble/Core/Inc/main.h +++ b/nucleo-wb55-ble/Core/Inc/main.h @@ -61,6 +61,8 @@ void Error_Handler(void); /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ +#define RELAY_12V_OUT1_Pin GPIO_PIN_2 +#define RELAY_12V_OUT1_GPIO_Port GPIOC #define SW1_Pin GPIO_PIN_4 #define SW1_GPIO_Port GPIOC #define SW1_EXTI_IRQn EXTI4_IRQn diff --git a/nucleo-wb55-ble/Core/Src/main.c b/nucleo-wb55-ble/Core/Src/main.c index e774549..39280c2 100644 --- a/nucleo-wb55-ble/Core/Src/main.c +++ b/nucleo-wb55-ble/Core/Src/main.c @@ -259,9 +259,19 @@ static void MX_GPIO_Init(void) __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(RELAY_12V_OUT1_GPIO_Port, RELAY_12V_OUT1_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, LED_GREEN_Pin|LED_RED_Pin|LED_BLUE_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin : RELAY_12V_OUT1_Pin */ + GPIO_InitStruct.Pin = RELAY_12V_OUT1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(RELAY_12V_OUT1_GPIO_Port, &GPIO_InitStruct); + /*Configure GPIO pin : SW1_Pin */ GPIO_InitStruct.Pin = SW1_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; diff --git a/nucleo-wb55-ble/nucleo-wb55-ble.ioc b/nucleo-wb55-ble/nucleo-wb55-ble.ioc index 78f4452..edf421b 100644 --- a/nucleo-wb55-ble/nucleo-wb55-ble.ioc +++ b/nucleo-wb55-ble/nucleo-wb55-ble.ioc @@ -12,7 +12,7 @@ RCC.RFWKPFreq_Value=32768 RCC.SMPSCLockSelectionVirtualVirtual=RCC_SMPSCLKSOURCE_HSI RCC.PLLSAI1RoutputFreq_Value=48000000 PA14.GPIO_Label=JTCK -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_RF_Init-RF-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-APPE_Init-STM32_WPAN-false-HAL-false,0-MX_HSEM_Init-HSEM-false-HAL-true +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_RF_Init-RF-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-APPE_Init-STM32_WPAN-false-HAL-false,6-MX_USB_Device_Init-USB_DEVICE-false-HAL-false,0-MX_HSEM_Init-HSEM-false-HAL-true PD0.GPIO_Label=SW2 VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled PA11.Mode=Device @@ -45,20 +45,20 @@ STM32_WPAN.LOCAL_NAME=Travis ProjectManager.PreviousToolchain= RCC.APB2TimFreq_Value=32000000 PCC.Ble.PowerLevel=Min -Mcu.Pin6=PB0 +Mcu.Pin6=OSC_IN PD0.Signal=GPIO_Input -Mcu.Pin7=PB1 -Mcu.Pin8=PA11 +Mcu.Pin7=PB0 +Mcu.Pin8=PB1 OSC_OUT.Mode=HSE-External-Oscillator -Mcu.Pin9=PA12 +Mcu.Pin9=PA11 OSC_OUT.Signal=RCC_OSC_OUT RCC.AHBFreq_Value=32000000 Mcu.Pin0=PC14-OSC32_IN Mcu.Pin1=PC15-OSC32_OUT -Mcu.Pin2=PC4 -Mcu.Pin3=RF1 -Mcu.Pin4=OSC_OUT -Mcu.Pin5=OSC_IN +Mcu.Pin2=PC2 +Mcu.Pin3=PC4 +Mcu.Pin4=RF1 +Mcu.Pin5=OSC_OUT ProjectManager.ProjectBuild=false RCC.HSE_VALUE=32000000 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false @@ -109,6 +109,7 @@ PC4.Locked=true RCC.LPUART1Freq_Value=32000000 RCC.CK48CLockSelection=RCC_USBCLKSOURCE_HSI48 RCC.SMPSDivider=1 +PC2.GPIO_Label=RELAY_12V_OUT1 ProjectManager.CustomerFirmwarePackage= PC4.GPIOParameters=GPIO_Label RCC.HSI48_VALUE=48000000 @@ -122,10 +123,11 @@ NVIC.EXTI4_IRQn=true\:0\:0\:false\:false\:true\:true\:true RCC.PLLQoutputFreq_Value=16000000 ProjectManager.ProjectFileName=nucleo-wb55-ble.ioc VP_STM32_WPAN_VS_BLE_HOST.Mode=STM32_WPAN_Enabled -Mcu.PinsNb=23 +Mcu.PinsNb=24 ProjectManager.NoMain=false USB_DEVICE.VirtualModeFS=Cdc_FS RCC.HCLK3Freq_Value=32000000 +PC2.Signal=GPIO_Output PC4.Signal=GPXTI4 PD1.Signal=GPIO_Input ProjectManager.DefaultFWLocation=true @@ -142,6 +144,7 @@ STM32_WPAN.LOCAL_NAME_FORMATTED=,'T','r','a','v','i','s' RCC.HCLKRFFreq_Value=16000000 VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Mode=CDC_FS PB5.Locked=true +PC2.Locked=true ProjectManager.RegisterCallBack= OSC_IN.Signal=RCC_OSC_IN RCC.USBFreq_Value=48000000 @@ -161,6 +164,7 @@ PCC.Ble.DataLength=6 RCC.I2C1Freq_Value=32000000 RCC.LCDFreq_Value=32768 RCC.RNGFreq_Value=32000 +PC2.GPIOParameters=GPIO_Label RCC.PLLSAI1QoutputFreq_Value=48000000 RCC.ADCFreq_Value=48000000 VP_SYS_VS_Systick.Mode=SysTick @@ -181,9 +185,10 @@ ProjectManager.CoupleFile=false PB3.Signal=SYS_JTDO-SWO RCC.SYSCLKFreq_VALUE=32000000 PB5.Signal=GPIO_Output -Mcu.Pin22=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS -Mcu.Pin20=VP_SYS_VS_Systick -Mcu.Pin21=VP_TINY_LPM_VS_TINY_LPM +Mcu.Pin22=VP_TINY_LPM_VS_TINY_LPM +Mcu.Pin23=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS +Mcu.Pin20=VP_STM32_WPAN_VS_BLE_HOST +Mcu.Pin21=VP_SYS_VS_Systick SH.GPXTI4.0=GPIO_EXTI4 PA12.Mode=Device PCC.Ble.ConnectionInterval=1000.0 @@ -199,22 +204,22 @@ RF1.Mode=RF1_Activate PA11.Signal=USB_DM PA14.Signal=SYS_JTCK-SWCLK ProjectManager.HeapSize=0x200 -Mcu.Pin15=PB5 +Mcu.Pin15=PB3 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -Mcu.Pin16=VP_HSEM_VS_HSEM +Mcu.Pin16=PB5 SH.GPXTI4.ConfNb=1 -Mcu.Pin13=PD1 -Mcu.Pin14=PB3 -Mcu.Pin19=VP_STM32_WPAN_VS_BLE_HOST +Mcu.Pin13=PD0 +Mcu.Pin14=PD1 +Mcu.Pin19=VP_SEQUENCER_VS_SEQUENCER ProjectManager.ComputerToolchain=false -Mcu.Pin17=VP_RTC_VS_RTC_Activate +Mcu.Pin17=VP_HSEM_VS_HSEM RCC.HSI_VALUE=16000000 -Mcu.Pin18=VP_SEQUENCER_VS_SEQUENCER +Mcu.Pin18=VP_RTC_VS_RTC_Activate NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 -Mcu.Pin11=PA14 -Mcu.Pin12=PD0 +Mcu.Pin11=PA13 PD0.GPIOParameters=GPIO_Label -Mcu.Pin10=PA13 +Mcu.Pin12=PA14 +Mcu.Pin10=PA12 RCC.PWRFreq_Value=32000000 VP_TINY_LPM_VS_TINY_LPM.Signal=TINY_LPM_VS_TINY_LPM RCC.APB1Freq_Value=32000000