Set fans & pump as ON/OFF, ignore PWM
This commit is contained in:
		@ -47,8 +47,7 @@ typedef union {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
} PortExtenderGPIO;
 | 
					} PortExtenderGPIO;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ChannelControl_init(I2C_HandleTypeDef* hi2c, TIM_HandleTypeDef* timer3,
 | 
					void ChannelControl_init(I2C_HandleTypeDef* hi2c, TIM_HandleTypeDef* timer2);
 | 
				
			||||||
                         TIM_HandleTypeDef* timer2);
 | 
					 | 
				
			||||||
void ChannelControl_UpdateGPIOs(PortExtenderGPIO);
 | 
					void ChannelControl_UpdateGPIOs(PortExtenderGPIO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ChannelControl_UpdatePWMs(
 | 
					void ChannelControl_UpdatePWMs(
 | 
				
			||||||
 | 
				
			|||||||
@ -89,6 +89,8 @@ void Error_Handler(void);
 | 
				
			|||||||
#define LV_sens_GPIO_Port GPIOC
 | 
					#define LV_sens_GPIO_Port GPIOC
 | 
				
			||||||
#define GSS_GPIO_Pin GPIO_PIN_0
 | 
					#define GSS_GPIO_Pin GPIO_PIN_0
 | 
				
			||||||
#define GSS_GPIO_GPIO_Port GPIOB
 | 
					#define GSS_GPIO_GPIO_Port GPIOB
 | 
				
			||||||
 | 
					#define EN_PUMP_Pin GPIO_PIN_1
 | 
				
			||||||
 | 
					#define EN_PUMP_GPIO_Port GPIOB
 | 
				
			||||||
#define DSEL_3_Pin GPIO_PIN_12
 | 
					#define DSEL_3_Pin GPIO_PIN_12
 | 
				
			||||||
#define DSEL_3_GPIO_Port GPIOB
 | 
					#define DSEL_3_GPIO_Port GPIOB
 | 
				
			||||||
#define DSEL_4_Pin GPIO_PIN_13
 | 
					#define DSEL_4_Pin GPIO_PIN_13
 | 
				
			||||||
@ -105,6 +107,10 @@ void Error_Handler(void);
 | 
				
			|||||||
#define STATUS_LED3_GPIO_Port GPIOC
 | 
					#define STATUS_LED3_GPIO_Port GPIOC
 | 
				
			||||||
#define STATUS_LED4_Pin GPIO_PIN_9
 | 
					#define STATUS_LED4_Pin GPIO_PIN_9
 | 
				
			||||||
#define STATUS_LED4_GPIO_Port GPIOC
 | 
					#define STATUS_LED4_GPIO_Port GPIOC
 | 
				
			||||||
 | 
					#define EN_TSACFAN_Pin GPIO_PIN_3
 | 
				
			||||||
 | 
					#define EN_TSACFAN_GPIO_Port GPIOB
 | 
				
			||||||
 | 
					#define EN_RADFAN_Pin GPIO_PIN_4
 | 
				
			||||||
 | 
					#define EN_RADFAN_GPIO_Port GPIOB
 | 
				
			||||||
#define DSEL_7_Pin GPIO_PIN_9
 | 
					#define DSEL_7_Pin GPIO_PIN_9
 | 
				
			||||||
#define DSEL_7_GPIO_Port GPIOB
 | 
					#define DSEL_7_GPIO_Port GPIOB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,20 +7,16 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "Channel_Control.h"
 | 
					#include "Channel_Control.h"
 | 
				
			||||||
#include "PCA9535D_Driver.h"
 | 
					#include "PCA9535D_Driver.h"
 | 
				
			||||||
 | 
					#include "main.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PortExtenderGPIO EN_Ports;
 | 
					PortExtenderGPIO EN_Ports;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uint8_t timer3_running = 0;
 | 
					 | 
				
			||||||
uint8_t timer2_running = 0;
 | 
					uint8_t timer2_running = 0;
 | 
				
			||||||
TIM_HandleTypeDef* pwmtimer3;
 | 
					 | 
				
			||||||
TIM_HandleTypeDef* pwmtimer2;
 | 
					TIM_HandleTypeDef* pwmtimer2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern int inhibit_SDC;
 | 
					extern int inhibit_SDC;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ChannelControl_init(I2C_HandleTypeDef* hi2c, TIM_HandleTypeDef* timer3,
 | 
					void ChannelControl_init(I2C_HandleTypeDef* hi2c, TIM_HandleTypeDef* timer2) {
 | 
				
			||||||
                         TIM_HandleTypeDef* timer2) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  pwmtimer3 = timer3;
 | 
					 | 
				
			||||||
  pwmtimer2 = timer2;
 | 
					  pwmtimer2 = timer2;
 | 
				
			||||||
  PCA9535_init(hi2c, 0);
 | 
					  PCA9535_init(hi2c, 0);
 | 
				
			||||||
  PCA9535_setGPIOPortOutput(PC9535_PORTA, 0x00);
 | 
					  PCA9535_setGPIOPortOutput(PC9535_PORTA, 0x00);
 | 
				
			||||||
@ -51,39 +47,27 @@ void ChannelControl_UpdatePWMs(
 | 
				
			|||||||
  uint8_t tsacfans,
 | 
					  uint8_t tsacfans,
 | 
				
			||||||
  uint8_t pwmaggregat)
 | 
					  uint8_t pwmaggregat)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					 | 
				
			||||||
  pwmtimer3->Instance->CCR1 = radiatorfans << 8;
 | 
					 | 
				
			||||||
  pwmtimer3->Instance->CCR4 = pwmpumps << 8;
 | 
					 | 
				
			||||||
  pwmtimer2->Instance->CCR2 = tsacfans << 8;
 | 
					 | 
				
			||||||
  pwmtimer2->Instance->CCR3 = pwmaggregat << 8;
 | 
					  pwmtimer2->Instance->CCR3 = pwmaggregat << 8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (timer3_running) {
 | 
					 | 
				
			||||||
    if ((pwmpumps == 0) && (radiatorfans == 0)) {
 | 
					 | 
				
			||||||
      timer3_running = 0;
 | 
					 | 
				
			||||||
      HAL_TIM_PWM_Stop(pwmtimer3, TIM_CHANNEL_4); 
 | 
					 | 
				
			||||||
      HAL_TIM_PWM_Stop(pwmtimer3, TIM_CHANNEL_1); 
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  } else {
 | 
					 | 
				
			||||||
    if ( (pwmpumps != 0) || (radiatorfans != 0)) {
 | 
					 | 
				
			||||||
      timer3_running = 1;
 | 
					 | 
				
			||||||
      HAL_TIM_PWM_Start(pwmtimer3, TIM_CHANNEL_4); 
 | 
					 | 
				
			||||||
      HAL_TIM_PWM_Start(pwmtimer3, TIM_CHANNEL_1);       
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (timer2_running) {
 | 
					  if (timer2_running) {
 | 
				
			||||||
    if ( (tsacfans == 0) && (pwmaggregat == 0) ) {
 | 
					    if (pwmaggregat == 0) {
 | 
				
			||||||
      timer2_running = 0;
 | 
					      timer2_running = 0;
 | 
				
			||||||
      HAL_TIM_PWM_Stop(pwmtimer2, TIM_CHANNEL_2);
 | 
					 | 
				
			||||||
      HAL_TIM_PWM_Stop(pwmtimer2, TIM_CHANNEL_3);
 | 
					      HAL_TIM_PWM_Stop(pwmtimer2, TIM_CHANNEL_3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    if ( (tsacfans != 0) || (pwmaggregat != 0) ) {
 | 
					    if (pwmaggregat != 0) {
 | 
				
			||||||
      timer2_running = 1;
 | 
					      timer2_running = 1;
 | 
				
			||||||
      HAL_TIM_PWM_Start(pwmtimer2, TIM_CHANNEL_2);
 | 
					 | 
				
			||||||
      HAL_TIM_PWM_Start(pwmtimer2, TIM_CHANNEL_3);
 | 
					      HAL_TIM_PWM_Start(pwmtimer2, TIM_CHANNEL_3);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // TODO: This should probably be done in UpdateGPIOs (and only be enable bits
 | 
				
			||||||
 | 
					  // in the CAN command)
 | 
				
			||||||
 | 
					  HAL_GPIO_WritePin(EN_TSACFAN_GPIO_Port, EN_TSACFAN_Pin,
 | 
				
			||||||
 | 
					                    tsacfans ? GPIO_PIN_SET : GPIO_PIN_RESET);
 | 
				
			||||||
 | 
					  HAL_GPIO_WritePin(EN_RADFAN_GPIO_Port, EN_RADFAN_Pin,
 | 
				
			||||||
 | 
					                    radiatorfans ? GPIO_PIN_SET : GPIO_PIN_RESET);
 | 
				
			||||||
 | 
					  HAL_GPIO_WritePin(EN_PUMP_GPIO_Port, EN_PUMP_Pin,
 | 
				
			||||||
 | 
					                    pwmpumps ? GPIO_PIN_SET : GPIO_PIN_RESET);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -52,7 +52,6 @@ CAN_HandleTypeDef hcan;
 | 
				
			|||||||
I2C_HandleTypeDef hi2c1;
 | 
					I2C_HandleTypeDef hi2c1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TIM_HandleTypeDef htim2;
 | 
					TIM_HandleTypeDef htim2;
 | 
				
			||||||
TIM_HandleTypeDef htim3;
 | 
					 | 
				
			||||||
TIM_HandleTypeDef htim6;
 | 
					TIM_HandleTypeDef htim6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
UART_HandleTypeDef huart1;
 | 
					UART_HandleTypeDef huart1;
 | 
				
			||||||
@ -69,7 +68,6 @@ static void MX_ADC1_Init(void);
 | 
				
			|||||||
static void MX_ADC2_Init(void);
 | 
					static void MX_ADC2_Init(void);
 | 
				
			||||||
static void MX_CAN_Init(void);
 | 
					static void MX_CAN_Init(void);
 | 
				
			||||||
static void MX_TIM2_Init(void);
 | 
					static void MX_TIM2_Init(void);
 | 
				
			||||||
static void MX_TIM3_Init(void);
 | 
					 | 
				
			||||||
static void MX_I2C1_Init(void);
 | 
					static void MX_I2C1_Init(void);
 | 
				
			||||||
static void MX_USART1_UART_Init(void);
 | 
					static void MX_USART1_UART_Init(void);
 | 
				
			||||||
static void MX_TIM6_Init(void);
 | 
					static void MX_TIM6_Init(void);
 | 
				
			||||||
@ -126,7 +124,6 @@ int main(void)
 | 
				
			|||||||
  MX_ADC2_Init();
 | 
					  MX_ADC2_Init();
 | 
				
			||||||
  MX_CAN_Init();
 | 
					  MX_CAN_Init();
 | 
				
			||||||
  MX_TIM2_Init();
 | 
					  MX_TIM2_Init();
 | 
				
			||||||
  MX_TIM3_Init();
 | 
					 | 
				
			||||||
  MX_I2C1_Init();
 | 
					  MX_I2C1_Init();
 | 
				
			||||||
  MX_USART1_UART_Init();
 | 
					  MX_USART1_UART_Init();
 | 
				
			||||||
  MX_TIM6_Init();
 | 
					  MX_TIM6_Init();
 | 
				
			||||||
@ -136,7 +133,7 @@ int main(void)
 | 
				
			|||||||
  HAL_GPIO_WritePin(STATUS_LED1_GPIO_Port , STATUS_LED1_Pin , GPIO_PIN_SET);
 | 
					  HAL_GPIO_WritePin(STATUS_LED1_GPIO_Port , STATUS_LED1_Pin , GPIO_PIN_SET);
 | 
				
			||||||
  HAL_GPIO_WritePin(GSS_GPIO_GPIO_Port, GSS_GPIO_Pin, GPIO_PIN_SET);
 | 
					  HAL_GPIO_WritePin(GSS_GPIO_GPIO_Port, GSS_GPIO_Pin, GPIO_PIN_SET);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ChannelControl_init(&hi2c1, &htim3, &htim2);
 | 
					  ChannelControl_init(&hi2c1, &htim2);
 | 
				
			||||||
  // handler struktur ( handler adc1 .... usw )
 | 
					  // handler struktur ( handler adc1 .... usw )
 | 
				
			||||||
  can_init(&hcan); // can bus initilisiert , kommunikation zum hauptsteuergeraet ( autobox )
 | 
					  can_init(&hcan); // can bus initilisiert , kommunikation zum hauptsteuergeraet ( autobox )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -144,7 +141,6 @@ int main(void)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  uint32_t lasttick = HAL_GetTick(); // gibt dir zuruck die milisekunden seit start. ( es fangt an und dann milisekunden + 1 usw....)
 | 
					  uint32_t lasttick = HAL_GetTick(); // gibt dir zuruck die milisekunden seit start. ( es fangt an und dann milisekunden + 1 usw....)
 | 
				
			||||||
  HAL_TIM_Base_Start(&htim2);
 | 
					  HAL_TIM_Base_Start(&htim2);
 | 
				
			||||||
  HAL_TIM_Base_Start(&htim3);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Prevent closing of SDC (esp. after WDG reset)
 | 
					  // Prevent closing of SDC (esp. after WDG reset)
 | 
				
			||||||
  //inhibit_SDC = 1;
 | 
					  //inhibit_SDC = 1;
 | 
				
			||||||
@ -595,10 +591,6 @@ static void MX_TIM2_Init(void)
 | 
				
			|||||||
  sConfigOC.Pulse = 0;
 | 
					  sConfigOC.Pulse = 0;
 | 
				
			||||||
  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 | 
					  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 | 
				
			||||||
  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 | 
					  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 | 
				
			||||||
  if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    Error_Handler();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
 | 
					  if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    Error_Handler();
 | 
					    Error_Handler();
 | 
				
			||||||
@ -610,59 +602,6 @@ static void MX_TIM2_Init(void)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
  * @brief TIM3 Initialization Function
 | 
					 | 
				
			||||||
  * @param None
 | 
					 | 
				
			||||||
  * @retval None
 | 
					 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
static void MX_TIM3_Init(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_Init 0 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_Init 0 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  TIM_MasterConfigTypeDef sMasterConfig = {0};
 | 
					 | 
				
			||||||
  TIM_OC_InitTypeDef sConfigOC = {0};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_Init 1 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_Init 1 */
 | 
					 | 
				
			||||||
  htim3.Instance = TIM3;
 | 
					 | 
				
			||||||
  htim3.Init.Prescaler = 0;
 | 
					 | 
				
			||||||
  htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
 | 
					 | 
				
			||||||
  htim3.Init.Period = 65535;
 | 
					 | 
				
			||||||
  htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 | 
					 | 
				
			||||||
  htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 | 
					 | 
				
			||||||
  if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    Error_Handler();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
 | 
					 | 
				
			||||||
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 | 
					 | 
				
			||||||
  if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    Error_Handler();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  sConfigOC.OCMode = TIM_OCMODE_PWM1;
 | 
					 | 
				
			||||||
  sConfigOC.Pulse = 0;
 | 
					 | 
				
			||||||
  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 | 
					 | 
				
			||||||
  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 | 
					 | 
				
			||||||
  if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    Error_Handler();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    Error_Handler();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_Init 2 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_Init 2 */
 | 
					 | 
				
			||||||
  HAL_TIM_MspPostInit(&htim3);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
  * @brief TIM6 Initialization Function
 | 
					  * @brief TIM6 Initialization Function
 | 
				
			||||||
  * @param None
 | 
					  * @param None
 | 
				
			||||||
@ -777,8 +716,9 @@ static void MX_GPIO_Init(void)
 | 
				
			|||||||
  HAL_GPIO_WritePin(DSEL_8_GPIO_Port, DSEL_8_Pin, GPIO_PIN_RESET);
 | 
					  HAL_GPIO_WritePin(DSEL_8_GPIO_Port, DSEL_8_Pin, GPIO_PIN_RESET);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*Configure GPIO pin Output Level */
 | 
					  /*Configure GPIO pin Output Level */
 | 
				
			||||||
  HAL_GPIO_WritePin(GPIOB, GSS_GPIO_Pin|DSEL_3_Pin|DSEL_4_Pin|DSEL_5_Pin
 | 
					  HAL_GPIO_WritePin(GPIOB, GSS_GPIO_Pin|EN_PUMP_Pin|DSEL_3_Pin|DSEL_4_Pin
 | 
				
			||||||
                          |DSEL_6_Pin|DSEL_7_Pin, GPIO_PIN_RESET);
 | 
					                          |DSEL_5_Pin|DSEL_6_Pin|EN_TSACFAN_Pin|EN_RADFAN_Pin
 | 
				
			||||||
 | 
					                          |DSEL_7_Pin, GPIO_PIN_RESET);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*Configure GPIO pin Output Level */
 | 
					  /*Configure GPIO pin Output Level */
 | 
				
			||||||
  HAL_GPIO_WritePin(GPIOC, STATUS_LED1_Pin|STATUS_LED2_Pin|STATUS_LED3_Pin|STATUS_LED4_Pin, GPIO_PIN_RESET);
 | 
					  HAL_GPIO_WritePin(GPIOC, STATUS_LED1_Pin|STATUS_LED2_Pin|STATUS_LED3_Pin|STATUS_LED4_Pin, GPIO_PIN_RESET);
 | 
				
			||||||
@ -790,10 +730,12 @@ static void MX_GPIO_Init(void)
 | 
				
			|||||||
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
					  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
				
			||||||
  HAL_GPIO_Init(DSEL_8_GPIO_Port, &GPIO_InitStruct);
 | 
					  HAL_GPIO_Init(DSEL_8_GPIO_Port, &GPIO_InitStruct);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*Configure GPIO pins : GSS_GPIO_Pin DSEL_3_Pin DSEL_4_Pin DSEL_5_Pin
 | 
					  /*Configure GPIO pins : GSS_GPIO_Pin EN_PUMP_Pin DSEL_3_Pin DSEL_4_Pin
 | 
				
			||||||
                           DSEL_6_Pin DSEL_7_Pin */
 | 
					                           DSEL_5_Pin DSEL_6_Pin EN_TSACFAN_Pin EN_RADFAN_Pin
 | 
				
			||||||
  GPIO_InitStruct.Pin = GSS_GPIO_Pin|DSEL_3_Pin|DSEL_4_Pin|DSEL_5_Pin
 | 
					                           DSEL_7_Pin */
 | 
				
			||||||
                          |DSEL_6_Pin|DSEL_7_Pin;
 | 
					  GPIO_InitStruct.Pin = GSS_GPIO_Pin|EN_PUMP_Pin|DSEL_3_Pin|DSEL_4_Pin
 | 
				
			||||||
 | 
					                          |DSEL_5_Pin|DSEL_6_Pin|EN_TSACFAN_Pin|EN_RADFAN_Pin
 | 
				
			||||||
 | 
					                          |DSEL_7_Pin;
 | 
				
			||||||
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 | 
					  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 | 
				
			||||||
  GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
					  GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
				
			||||||
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
					  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
				
			||||||
 | 
				
			|||||||
@ -62,7 +62,7 @@ extern DMA_HandleTypeDef hdma_adc2;
 | 
				
			|||||||
/* USER CODE END 0 */
 | 
					/* USER CODE END 0 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
 | 
					void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
 | 
				
			||||||
                                        /**
 | 
					                    /**
 | 
				
			||||||
  * Initializes the Global MSP.
 | 
					  * Initializes the Global MSP.
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
void HAL_MspInit(void)
 | 
					void HAL_MspInit(void)
 | 
				
			||||||
@ -482,17 +482,6 @@ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* USER CODE END TIM2_MspInit 1 */
 | 
					  /* USER CODE END TIM2_MspInit 1 */
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else if(htim_pwm->Instance==TIM3)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_MspInit 0 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_MspInit 0 */
 | 
					 | 
				
			||||||
    /* Peripheral clock enable */
 | 
					 | 
				
			||||||
    __HAL_RCC_TIM3_CLK_ENABLE();
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_MspInit 1 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_MspInit 1 */
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -529,12 +518,12 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
 | 
				
			|||||||
  /* USER CODE BEGIN TIM2_MspPostInit 0 */
 | 
					  /* USER CODE BEGIN TIM2_MspPostInit 0 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* USER CODE END TIM2_MspPostInit 0 */
 | 
					  /* USER CODE END TIM2_MspPostInit 0 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    __HAL_RCC_GPIOB_CLK_ENABLE();
 | 
					    __HAL_RCC_GPIOB_CLK_ENABLE();
 | 
				
			||||||
    /**TIM2 GPIO Configuration
 | 
					    /**TIM2 GPIO Configuration
 | 
				
			||||||
    PB10     ------> TIM2_CH3
 | 
					    PB10     ------> TIM2_CH3
 | 
				
			||||||
    PB3     ------> TIM2_CH2
 | 
					 | 
				
			||||||
    */
 | 
					    */
 | 
				
			||||||
    GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_3;
 | 
					    GPIO_InitStruct.Pin = GPIO_PIN_10;
 | 
				
			||||||
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 | 
					    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 | 
				
			||||||
    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
					    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
				
			||||||
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
					    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
				
			||||||
@ -545,28 +534,6 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* USER CODE END TIM2_MspPostInit 1 */
 | 
					  /* USER CODE END TIM2_MspPostInit 1 */
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else if(htim->Instance==TIM3)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_MspPostInit 0 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_MspPostInit 0 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    __HAL_RCC_GPIOB_CLK_ENABLE();
 | 
					 | 
				
			||||||
    /**TIM3 GPIO Configuration
 | 
					 | 
				
			||||||
    PB1     ------> TIM3_CH4
 | 
					 | 
				
			||||||
    PB4     ------> TIM3_CH1
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4;
 | 
					 | 
				
			||||||
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 | 
					 | 
				
			||||||
    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
					 | 
				
			||||||
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
					 | 
				
			||||||
    GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
 | 
					 | 
				
			||||||
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_MspPostInit 1 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_MspPostInit 1 */
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@ -588,17 +555,6 @@ void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* USER CODE END TIM2_MspDeInit 1 */
 | 
					  /* USER CODE END TIM2_MspDeInit 1 */
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else if(htim_pwm->Instance==TIM3)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_MspDeInit 0 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_MspDeInit 0 */
 | 
					 | 
				
			||||||
    /* Peripheral clock disable */
 | 
					 | 
				
			||||||
    __HAL_RCC_TIM3_CLK_DISABLE();
 | 
					 | 
				
			||||||
  /* USER CODE BEGIN TIM3_MspDeInit 1 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* USER CODE END TIM3_MspDeInit 1 */
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
##########################################################################################################################
 | 
					##########################################################################################################################
 | 
				
			||||||
# File automatically-generated by tool: [projectgenerator] version: [4.3.0-B58] date: [Mon Sep 02 16:07:24 CEST 2024]
 | 
					# File automatically-generated by tool: [projectgenerator] version: [4.3.0-B58] date: [Thu Sep 05 20:41:52 CEST 2024] 
 | 
				
			||||||
##########################################################################################################################
 | 
					##########################################################################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ------------------------------------------------
 | 
					# ------------------------------------------------
 | 
				
			||||||
 | 
				
			|||||||
@ -128,8 +128,7 @@ Mcu.CPN=STM32F302RBT6
 | 
				
			|||||||
Mcu.Family=STM32F3
 | 
					Mcu.Family=STM32F3
 | 
				
			||||||
Mcu.IP0=ADC1
 | 
					Mcu.IP0=ADC1
 | 
				
			||||||
Mcu.IP1=ADC2
 | 
					Mcu.IP1=ADC2
 | 
				
			||||||
Mcu.IP10=TIM6
 | 
					Mcu.IP10=USART1
 | 
				
			||||||
Mcu.IP11=USART1
 | 
					 | 
				
			||||||
Mcu.IP2=CAN
 | 
					Mcu.IP2=CAN
 | 
				
			||||||
Mcu.IP3=DMA
 | 
					Mcu.IP3=DMA
 | 
				
			||||||
Mcu.IP4=I2C1
 | 
					Mcu.IP4=I2C1
 | 
				
			||||||
@ -137,8 +136,8 @@ Mcu.IP5=NVIC
 | 
				
			|||||||
Mcu.IP6=RCC
 | 
					Mcu.IP6=RCC
 | 
				
			||||||
Mcu.IP7=SYS
 | 
					Mcu.IP7=SYS
 | 
				
			||||||
Mcu.IP8=TIM2
 | 
					Mcu.IP8=TIM2
 | 
				
			||||||
Mcu.IP9=TIM3
 | 
					Mcu.IP9=TIM6
 | 
				
			||||||
Mcu.IPNb=12
 | 
					Mcu.IPNb=11
 | 
				
			||||||
Mcu.Name=STM32F302R(B-C)Tx
 | 
					Mcu.Name=STM32F302R(B-C)Tx
 | 
				
			||||||
Mcu.Package=LQFP64
 | 
					Mcu.Package=LQFP64
 | 
				
			||||||
Mcu.Pin0=PF0-OSC_IN
 | 
					Mcu.Pin0=PF0-OSC_IN
 | 
				
			||||||
@ -275,8 +274,10 @@ PB0.GPIOParameters=GPIO_Label
 | 
				
			|||||||
PB0.GPIO_Label=GSS_GPIO
 | 
					PB0.GPIO_Label=GSS_GPIO
 | 
				
			||||||
PB0.Locked=true
 | 
					PB0.Locked=true
 | 
				
			||||||
PB0.Signal=GPIO_Output
 | 
					PB0.Signal=GPIO_Output
 | 
				
			||||||
 | 
					PB1.GPIOParameters=GPIO_Label
 | 
				
			||||||
 | 
					PB1.GPIO_Label=EN_PUMP
 | 
				
			||||||
PB1.Locked=true
 | 
					PB1.Locked=true
 | 
				
			||||||
PB1.Signal=S_TIM3_CH4
 | 
					PB1.Signal=GPIO_Output
 | 
				
			||||||
PB10.Locked=true
 | 
					PB10.Locked=true
 | 
				
			||||||
PB10.Signal=S_TIM2_CH3
 | 
					PB10.Signal=S_TIM2_CH3
 | 
				
			||||||
PB12.GPIOParameters=GPIO_Label
 | 
					PB12.GPIOParameters=GPIO_Label
 | 
				
			||||||
@ -295,10 +296,14 @@ PB15.GPIOParameters=GPIO_Label
 | 
				
			|||||||
PB15.GPIO_Label=DSEL 6
 | 
					PB15.GPIO_Label=DSEL 6
 | 
				
			||||||
PB15.Locked=true
 | 
					PB15.Locked=true
 | 
				
			||||||
PB15.Signal=GPIO_Output
 | 
					PB15.Signal=GPIO_Output
 | 
				
			||||||
 | 
					PB3.GPIOParameters=GPIO_Label
 | 
				
			||||||
 | 
					PB3.GPIO_Label=EN_TSACFAN
 | 
				
			||||||
PB3.Locked=true
 | 
					PB3.Locked=true
 | 
				
			||||||
PB3.Signal=S_TIM2_CH2
 | 
					PB3.Signal=GPIO_Output
 | 
				
			||||||
 | 
					PB4.GPIOParameters=GPIO_Label
 | 
				
			||||||
 | 
					PB4.GPIO_Label=EN_RADFAN
 | 
				
			||||||
PB4.Locked=true
 | 
					PB4.Locked=true
 | 
				
			||||||
PB4.Signal=S_TIM3_CH1
 | 
					PB4.Signal=GPIO_Output
 | 
				
			||||||
PB7.Locked=true
 | 
					PB7.Locked=true
 | 
				
			||||||
PB7.Mode=I2C
 | 
					PB7.Mode=I2C
 | 
				
			||||||
PB7.Signal=I2C1_SDA
 | 
					PB7.Signal=I2C1_SDA
 | 
				
			||||||
@ -382,7 +387,7 @@ ProjectManager.ToolChainLocation=
 | 
				
			|||||||
ProjectManager.UAScriptAfterPath=
 | 
					ProjectManager.UAScriptAfterPath=
 | 
				
			||||||
ProjectManager.UAScriptBeforePath=
 | 
					ProjectManager.UAScriptBeforePath=
 | 
				
			||||||
ProjectManager.UnderRoot=false
 | 
					ProjectManager.UnderRoot=false
 | 
				
			||||||
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_I2C1_Init-I2C1-false-HAL-true,10-MX_USART1_UART_Init-USART1-false-HAL-true,11-MX_TIM6_Init-TIM6-false-HAL-true
 | 
					ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,8-MX_I2C1_Init-I2C1-false-HAL-true,9-MX_USART1_UART_Init-USART1-false-HAL-true,10-MX_TIM6_Init-TIM6-false-HAL-true
 | 
				
			||||||
RCC.ADC12outputFreq_Value=64000000
 | 
					RCC.ADC12outputFreq_Value=64000000
 | 
				
			||||||
RCC.AHBFreq_Value=16000000
 | 
					RCC.AHBFreq_Value=16000000
 | 
				
			||||||
RCC.APB1Freq_Value=16000000
 | 
					RCC.APB1Freq_Value=16000000
 | 
				
			||||||
@ -432,22 +437,11 @@ SH.ADCx_IN8.0=ADC1_IN8,IN8-Single-Ended
 | 
				
			|||||||
SH.ADCx_IN8.ConfNb=1
 | 
					SH.ADCx_IN8.ConfNb=1
 | 
				
			||||||
SH.ADCx_IN9.0=ADC1_IN9,IN9-Single-Ended
 | 
					SH.ADCx_IN9.0=ADC1_IN9,IN9-Single-Ended
 | 
				
			||||||
SH.ADCx_IN9.ConfNb=1
 | 
					SH.ADCx_IN9.ConfNb=1
 | 
				
			||||||
SH.S_TIM2_CH2.0=TIM2_CH2,PWM Generation2 CH2
 | 
					 | 
				
			||||||
SH.S_TIM2_CH2.ConfNb=1
 | 
					 | 
				
			||||||
SH.S_TIM2_CH3.0=TIM2_CH3,PWM Generation3 CH3
 | 
					SH.S_TIM2_CH3.0=TIM2_CH3,PWM Generation3 CH3
 | 
				
			||||||
SH.S_TIM2_CH3.ConfNb=1
 | 
					SH.S_TIM2_CH3.ConfNb=1
 | 
				
			||||||
SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1
 | 
					 | 
				
			||||||
SH.S_TIM3_CH1.ConfNb=1
 | 
					 | 
				
			||||||
SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4
 | 
					 | 
				
			||||||
SH.S_TIM3_CH4.ConfNb=1
 | 
					 | 
				
			||||||
TIM2.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
 | 
					 | 
				
			||||||
TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
 | 
					TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
 | 
				
			||||||
TIM2.IPParameters=Channel-PWM Generation2 CH2,Pulse-PWM Generation2 CH2,Period,Channel-PWM Generation3 CH3
 | 
					TIM2.IPParameters=Period,Channel-PWM Generation3 CH3
 | 
				
			||||||
TIM2.Period=65535
 | 
					TIM2.Period=65535
 | 
				
			||||||
TIM2.Pulse-PWM\ Generation2\ CH2=0
 | 
					 | 
				
			||||||
TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
 | 
					 | 
				
			||||||
TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
 | 
					 | 
				
			||||||
TIM3.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation4 CH4
 | 
					 | 
				
			||||||
TIM6.IPParameters=Prescaler,Period,TIM_MasterOutputTrigger
 | 
					TIM6.IPParameters=Prescaler,Period,TIM_MasterOutputTrigger
 | 
				
			||||||
TIM6.Period=8000-1
 | 
					TIM6.Period=8000-1
 | 
				
			||||||
TIM6.Prescaler=400
 | 
					TIM6.Prescaler=400
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user