changes to main , timer 6 activated ( old pdu prescaler settings )

This commit is contained in:
n.jayaprakash
2024-05-13 16:40:39 +02:00
parent 9ce3af3952
commit 4d202916e8
15 changed files with 1604 additions and 1328 deletions

View File

@ -13,12 +13,12 @@
typedef union {
struct {
uint8_t NC : 1;
uint8_t en13 : 1; // name it according to power stage
uint8_t en2 : 1;
uint8_t en1 : 1;
uint8_t en4 : 1;
uint8_t en11 : 1;
uint8_t en8 : 1;
uint8_t en13 : 1; // inverters
uint8_t en2 : 1; //servos regler
uint8_t en1 : 1; //acu
uint8_t en4 : 1; // reserved
uint8_t en11 : 1; //lidar
uint8_t en8 : 1; // sdc
uint8_t alwayson : 1; // en7 ist always on
};
uint8_t porta;
@ -26,14 +26,14 @@ typedef union {
typedef union {
struct {
uint8_t en15: 1;
uint8_t en12 : 1;
uint8_t NC : 1;
uint8_t en3 : 1;
uint8_t en6 : 1;
uint8_t en5 : 1;
uint8_t en14 : 1;
uint8_t en16 : 1;
uint8_t en15: 1; // epsc
uint8_t en12 : 1; // hyd aggregat
uint8_t NC : 1;
uint8_t en3 : 1; // ebs cs valve
uint8_t en6 : 1; // ebs valve b
uint8_t en5 : 1; //ebs valve a
uint8_t en14 : 1; //servos
uint8_t en16 : 1; //misc
};
uint8_t portb;
} gpio_port_b;

View File

@ -59,8 +59,32 @@ void Error_Handler(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
#define isense12_Pin GPIO_PIN_0
#define isense12_GPIO_Port GPIOC
#define isense11_Pin GPIO_PIN_1
#define isense11_GPIO_Port GPIOC
#define isense6_Pin GPIO_PIN_2
#define isense6_GPIO_Port GPIOC
#define isense13_Pin GPIO_PIN_3
#define isense13_GPIO_Port GPIOC
#define DSEL_8_Pin GPIO_PIN_0
#define DSEL_8_GPIO_Port GPIOA
#define isense5_Pin GPIO_PIN_1
#define isense5_GPIO_Port GPIOA
#define isense3_Pin GPIO_PIN_2
#define isense3_GPIO_Port GPIOA
#define isense7_Pin GPIO_PIN_3
#define isense7_GPIO_Port GPIOA
#define isense2_Pin GPIO_PIN_4
#define isense2_GPIO_Port GPIOA
#define isense1_Pin GPIO_PIN_5
#define isense1_GPIO_Port GPIOA
#define isense10_Pin GPIO_PIN_6
#define isense10_GPIO_Port GPIOA
#define isense4_Pin GPIO_PIN_7
#define isense4_GPIO_Port GPIOA
#define GSS_GPIO_Pin GPIO_PIN_0
#define GSS_GPIO_GPIO_Port GPIOB
#define DSEL_3_Pin GPIO_PIN_12
#define DSEL_3_GPIO_Port GPIOB
#define DSEL_4_Pin GPIO_PIN_13

View File

@ -36,8 +36,8 @@ void ChannelControl_init(I2C_HandleTypeDef* hi2c, TIM_HandleTypeDef* timer3,
void ChannelControl_UpdateGPIOs(PortExtenderGPIO UpdatePorts) { // ctrl + left click auf portextender
EN_Ports = UpdatePorts;
UpdatePorts.porta.alwayson = 1; // Always on stays always on
// PCA9535_setGPIOPortOutput(PC9535_PORTA, UpdatePorts.porta.porta);
// PCA9535_setGPIOPortOutput(PC9535_PORTB, UpdatePorts.portb.portb);
PCA9535_setGPIOPortOutput(PC9535_PORTA, UpdatePorts.porta.porta);
PCA9535_setGPIOPortOutput(PC9535_PORTB, UpdatePorts.portb.portb);
gpio_port_b testb={};
testb.en14=1;
PCA9535_setGPIOPortOutput(PC9535_PORTB, testb.portb);

View File

@ -114,10 +114,10 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {
current_measurements_adc_val.radiator_fans=
adc_channels1.adcbank1.isense6 * CURR_SENSE_FACTOR_21A;
HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin,
adcbank1);
HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin,
adcbank1);
adcbank1);
HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin,
adcbank1);
HAL_GPIO_WritePin(DSEL_7_GPIO_Port, DSEL_7_Pin,
adcbank1);
}

View File

@ -51,7 +51,7 @@ I2C_HandleTypeDef hi2c1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
TIM_HandleTypeDef htim6;
UART_HandleTypeDef huart1;
/* USER CODE BEGIN PV */
@ -119,13 +119,13 @@ int main(void)
/* USER CODE BEGIN 2 */
// HAL_GPIO_WritePin(Status_LED_GPIO_Port, Status_LED_Pin, GPIO_PIN_SET); // status led wird an gemacht , das leuchtet
// currentMonitor_init(&hadc1, &hadc2, &htim7); // handler struktur ( handler adc1 .... usw )
currentMonitor_init(&hadc1, &hadc2, &htim6); // handler struktur ( handler adc1 .... usw )
ChannelControl_init(&hi2c1, &htim3, &htim2);
can_init(&hcan); // can bus initilisiert , kommunikation zum hauptsteuergeraet ( autobox )
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(&htim3);
HAL_TIM_Base_Start(&htim2);
HAL_TIM_Base_Start(&htim3);
HAL_GPIO_WritePin(STATUS_LED1_GPIO_Port , STATUS_LED1_Pin , GPIO_PIN_SET);
// Turn everything on manually (debug)

View File

@ -113,12 +113,12 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
PA2 ------> ADC1_IN3
PA3 ------> ADC1_IN4
*/
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
GPIO_InitStruct.Pin = isense12_Pin|isense11_Pin|isense6_Pin|isense13_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = DSEL_8_Pin|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
GPIO_InitStruct.Pin = DSEL_8_Pin|isense5_Pin|isense3_Pin|isense7_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
@ -147,7 +147,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
PA7 ------> ADC2_IN4
PC4 ------> ADC2_IN5
*/
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Pin = isense2_Pin|isense1_Pin|isense10_Pin|isense4_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
@ -193,9 +193,9 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
PA2 ------> ADC1_IN3
PA3 ------> ADC1_IN4
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
HAL_GPIO_DeInit(GPIOC, isense12_Pin|isense11_Pin|isense6_Pin|isense13_Pin);
HAL_GPIO_DeInit(GPIOA, DSEL_8_Pin|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
HAL_GPIO_DeInit(GPIOA, DSEL_8_Pin|isense5_Pin|isense3_Pin|isense7_Pin);
/* USER CODE BEGIN ADC1_MspDeInit 1 */
@ -219,7 +219,7 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
PA7 ------> ADC2_IN4
PC4 ------> ADC2_IN5
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
HAL_GPIO_DeInit(GPIOA, isense2_Pin|isense1_Pin|isense10_Pin|isense4_Pin);
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4);
@ -421,6 +421,28 @@ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
}
/**
* @brief TIM_Base MSP Initialization
* This function configures the hardware resources used in this example
* @param htim_base: TIM_Base handle pointer
* @retval None
*/
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM6)
{
/* USER CODE BEGIN TIM6_MspInit 0 */
/* USER CODE END TIM6_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM6_CLK_ENABLE();
/* USER CODE BEGIN TIM6_MspInit 1 */
/* USER CODE END TIM6_MspInit 1 */
}
}
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
@ -501,6 +523,28 @@ void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
}
/**
* @brief TIM_Base MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param htim_base: TIM_Base handle pointer
* @retval None
*/
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM6)
{
/* USER CODE BEGIN TIM6_MspDeInit 0 */
/* USER CODE END TIM6_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM6_CLK_DISABLE();
/* USER CODE BEGIN TIM6_MspDeInit 1 */
/* USER CODE END TIM6_MspDeInit 1 */
}
}
/**
* @brief UART MSP Initialization
* This function configures the hardware resources used in this example