From b3431fafa752d04a301d19a8f1ef9096871179ca Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sun, 7 Feb 2021 12:38:29 +0100 Subject: [PATCH] changes, enable ethernet --- cube/Core/Inc/main.h | 4 ++++ cube/Core/Src/tim.c | 13 +++++++++---- cube/Makefile | 2 +- cube/Makefile-bak | 2 +- cube/User/Inc/config.h | 2 +- cube/User/Src/config.c | 2 +- cube/User/Src/eeprom.c | 2 +- cube/User/Src/main2.c | 8 ++++---- cube/cube.ioc | 23 ++++++++++++++--------- 9 files changed, 36 insertions(+), 22 deletions(-) diff --git a/cube/Core/Inc/main.h b/cube/Core/Inc/main.h index 992a6c5..0e11253 100644 --- a/cube/Core/Inc/main.h +++ b/cube/Core/Inc/main.h @@ -84,10 +84,14 @@ void Error_Handler(void); #define ETHER_MISO_GPIO_Port GPIOB #define ETHER_MOSI_Pin GPIO_PIN_15 #define ETHER_MOSI_GPIO_Port GPIOB +#define MAINS_CNT_TRG_Pin GPIO_PIN_8 +#define MAINS_CNT_TRG_GPIO_Port GPIOA #define Debug_TX_Pin GPIO_PIN_9 #define Debug_TX_GPIO_Port GPIOA #define Debug_RX_Pin GPIO_PIN_10 #define Debug_RX_GPIO_Port GPIOA +#define MAINS_CNT_CLK_Pin GPIO_PIN_12 +#define MAINS_CNT_CLK_GPIO_Port GPIOA #define Debug_Signal_2_Pin GPIO_PIN_5 #define Debug_Signal_2_GPIO_Port GPIOB #define Debug_Signal_1_Pin GPIO_PIN_6 diff --git a/cube/Core/Src/tim.c b/cube/Core/Src/tim.c index 93f02eb..4d15d78 100644 --- a/cube/Core/Src/tim.c +++ b/cube/Core/Src/tim.c @@ -34,7 +34,7 @@ void MX_TIM1_Init(void) TIM_IC_InitTypeDef sConfigIC = {0}; htim1.Instance = TIM1; - htim1.Init.Prescaler = 35; + htim1.Init.Prescaler = 13; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 65535; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; @@ -44,7 +44,10 @@ void MX_TIM1_Init(void) { Error_Handler(); } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2; + sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED; + sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1; + sClockSourceConfig.ClockFilter = 0; if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) { Error_Handler(); @@ -85,8 +88,9 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) __HAL_RCC_GPIOA_CLK_ENABLE(); /**TIM1 GPIO Configuration PA8 ------> TIM1_CH1 + PA12 ------> TIM1_ETR */ - GPIO_InitStruct.Pin = GPIO_PIN_8; + GPIO_InitStruct.Pin = MAINS_CNT_TRG_Pin|MAINS_CNT_CLK_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); @@ -113,8 +117,9 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) /**TIM1 GPIO Configuration PA8 ------> TIM1_CH1 + PA12 ------> TIM1_ETR */ - HAL_GPIO_DeInit(GPIOA, GPIO_PIN_8); + HAL_GPIO_DeInit(GPIOA, MAINS_CNT_TRG_Pin|MAINS_CNT_CLK_Pin); /* TIM1 interrupt Deinit */ HAL_NVIC_DisableIRQ(TIM1_CC_IRQn); diff --git a/cube/Makefile b/cube/Makefile index d28f157..9b1a461 100644 --- a/cube/Makefile +++ b/cube/Makefile @@ -1,6 +1,6 @@ # Processed by ../tools/insertMyCode.sh ########################################################################################################################## -# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Feb 06 17:58:19 CET 2021] +# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sun Feb 07 10:58:33 CET 2021] ########################################################################################################################## # ------------------------------------------------ diff --git a/cube/Makefile-bak b/cube/Makefile-bak index 674fb6c..8305c9c 100644 --- a/cube/Makefile-bak +++ b/cube/Makefile-bak @@ -1,5 +1,5 @@ ########################################################################################################################## -# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Feb 06 17:58:19 CET 2021] +# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sun Feb 07 10:58:33 CET 2021] ########################################################################################################################## # ------------------------------------------------ diff --git a/cube/User/Inc/config.h b/cube/User/Inc/config.h index 25830bd..d7113a3 100644 --- a/cube/User/Inc/config.h +++ b/cube/User/Inc/config.h @@ -5,7 +5,7 @@ #include #include -#define CONFIG_MAGIC 0xdead0001 +#define CONFIG_MAGIC 0xdead0003 typedef struct __attribute__((__packed__)) s_configBlock { uint32_t configMagic; diff --git a/cube/User/Src/config.c b/cube/User/Src/config.c index 8330d36..0f7f841 100644 --- a/cube/User/Src/config.c +++ b/cube/User/Src/config.c @@ -10,7 +10,7 @@ t_configBlock defaultConfigBlock = { .configMagic = CONFIG_MAGIC, .deviceName = "MBGW3", - .macAddress = { 0x00, 0xA0, 0x57, 0x05, 0x3E, 0x0D }, + .macAddress = { 0x00, 0xA0, 0x57, 0x05, 0x3E, 0x0E }, .filler = { 0 } }; diff --git a/cube/User/Src/eeprom.c b/cube/User/Src/eeprom.c index 1044e35..bbbe3ad 100644 --- a/cube/User/Src/eeprom.c +++ b/cube/User/Src/eeprom.c @@ -21,7 +21,7 @@ static const uint8_t EEPROM_WREN = 0x06; // static const uint8_t EEPROM_WRSR = 0x01; -static const uint32_t EEPROM_MAGIC = 0xaffe0009; +static const uint32_t EEPROM_MAGIC = 0xaffe000a; static const uint16_t EEPROM_HEADER_ADDR = EEPROM_BASE_ADDR; diff --git a/cube/User/Src/main2.c b/cube/User/Src/main2.c index 91007ac..bacba5a 100644 --- a/cube/User/Src/main2.c +++ b/cube/User/Src/main2.c @@ -29,7 +29,7 @@ void my_errorHandler() { } void second_tick(void *handle) { - logMsg("Tick"); + coloredMsg(LOG_BLUE, false, "Tick"); } @@ -43,14 +43,14 @@ void my_setup_2() { configInit(); -// wizInit(); + wizInit(); // cmdHandlerInit(); schAdd(second_tick, NULL, 0, 60*1000); - HAL_TIM_IC_Start_IT(&mainsCnt, TIM_CHANNEL_1); +// HAL_TIM_IC_Start_IT(&mainsCnt, TIM_CHANNEL_1); logMsg("Application running"); } @@ -95,7 +95,7 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { } else if (state == 1) { show(DEBUG_2, OFF); uint32_t captured = (savedV < v) ? (v - savedV) : ((htim->Init.Period - savedV) + v); - double f = 1.0 / ((double)captured) * 1.0e6 * 2; + double f = 1.0 / ((double)captured) * 1.0e6; logMsg("CCR: %ld, %f", captured, f); state = 0; } else { diff --git a/cube/cube.ioc b/cube/cube.ioc index 1be07cf..b95920b 100644 --- a/cube/cube.ioc +++ b/cube/cube.ioc @@ -21,13 +21,13 @@ Mcu.Pin12=PB15 Mcu.Pin13=PA8 Mcu.Pin14=PA9 Mcu.Pin15=PA10 -Mcu.Pin16=PA13 -Mcu.Pin17=PA14 -Mcu.Pin18=PB5 -Mcu.Pin19=PB6 +Mcu.Pin16=PA12 +Mcu.Pin17=PA13 +Mcu.Pin18=PA14 +Mcu.Pin19=PB5 Mcu.Pin2=PD0-OSC_IN -Mcu.Pin20=VP_SYS_VS_Systick -Mcu.Pin21=VP_TIM1_VS_ClockSourceINT +Mcu.Pin20=PB6 +Mcu.Pin21=VP_SYS_VS_Systick Mcu.Pin3=PD1-OSC_OUT Mcu.Pin4=PA4 Mcu.Pin5=PA5 @@ -59,6 +59,9 @@ PA10.GPIOParameters=GPIO_Label PA10.GPIO_Label=Debug_RX PA10.Mode=Asynchronous PA10.Signal=USART1_RX +PA12.GPIOParameters=GPIO_Label +PA12.GPIO_Label=MAINS_CNT_CLK +PA12.Signal=S_TIM1_ETR PA13.Mode=Serial_Wire PA13.Signal=SYS_JTMS-SWDIO PA14.Mode=Serial_Wire @@ -79,6 +82,8 @@ PA7.GPIOParameters=GPIO_Label PA7.GPIO_Label=EEPROM_MOSI PA7.Mode=Full_Duplex_Master PA7.Signal=SPI1_MOSI +PA8.GPIOParameters=GPIO_Label +PA8.GPIO_Label=MAINS_CNT_TRG PA8.Signal=S_TIM1_CH1 PA9.GPIOParameters=GPIO_Label PA9.GPIO_Label=Debug_TX @@ -176,6 +181,8 @@ RCC.USBFreq_Value=72000000 RCC.VCOOutput2Freq_Value=8000000 SH.S_TIM1_CH1.0=TIM1_CH1,Input_Capture1_from_TI1 SH.S_TIM1_CH1.ConfNb=1 +SH.S_TIM1_ETR.0=TIM1_ETR,ClockSourceETR_Mode2 +SH.S_TIM1_ETR.ConfNb=1 SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8 SPI1.CalculateBaudRate=9.0 MBits/s SPI1.Direction=SPI_DIRECTION_2LINES @@ -190,11 +197,9 @@ SPI2.VirtualType=VM_MASTER TIM1.Channel-Input_Capture1_from_TI1=TIM_CHANNEL_1 TIM1.ClockDivision=TIM_CLOCKDIVISION_DIV1 TIM1.IPParameters=Channel-Input_Capture1_from_TI1,Prescaler,ClockDivision -TIM1.Prescaler=71 +TIM1.Prescaler=13 USART1.IPParameters=VirtualMode USART1.VirtualMode=VM_ASYNC VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick -VP_TIM1_VS_ClockSourceINT.Mode=Internal -VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT board=custom