Ignore:
Timestamp:
Mar 21, 2025, 4:33:42 PM (7 weeks ago)
Author:
Zed
Message:

Added CAN bus support.

Location:
ctrl/firmware/Main/CubeMX/Core
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • ctrl/firmware/Main/CubeMX/Core/Inc/main.h

    r112 r113  
    6868#define EEPROM_I2C_SCL_Pin GPIO_PIN_1
    6969#define EEPROM_I2C_SCL_GPIO_Port GPIOF
    70 #define U_BAT_Pin GPIO_PIN_0
    71 #define U_BAT_GPIO_Port GPIOC
     70#define BAT_U_RAW_Pin GPIO_PIN_0
     71#define BAT_U_RAW_GPIO_Port GPIOC
    7272#define DAC_LOAD_I_LIMIT_Pin GPIO_PIN_4
    7373#define DAC_LOAD_I_LIMIT_GPIO_Port GPIOA
     
    7878#define BAT_I_SENSE_MINUS_Pin GPIO_PIN_7
    7979#define BAT_I_SENSE_MINUS_GPIO_Port GPIOA
     80#define LOAD_I_SENSE_PLUS_Pin GPIO_PIN_4
     81#define LOAD_I_SENSE_PLUS_GPIO_Port GPIOC
     82#define LOAD_I_SENSE_MINUS_Pin GPIO_PIN_5
     83#define LOAD_I_SENSE_MINUS_GPIO_Port GPIOC
     84#define BAT_U_SENSE_MINUS_Pin GPIO_PIN_0
     85#define BAT_U_SENSE_MINUS_GPIO_Port GPIOB
     86#define BAT_U_SENSE_PLUS_Pin GPIO_PIN_1
     87#define BAT_U_SENSE_PLUS_GPIO_Port GPIOB
    8088#define U_BAT_SCALE_SWITCH_Pin GPIO_PIN_2
    8189#define U_BAT_SCALE_SWITCH_GPIO_Port GPIOB
     
    120128#define ONEWIRE_TEMP_BUS_Pin GPIO_PIN_15
    121129#define ONEWIRE_TEMP_BUS_GPIO_Port GPIOA
     130#define CAN_RX_Pin GPIO_PIN_0
     131#define CAN_RX_GPIO_Port GPIOD
     132#define CAN_TX_Pin GPIO_PIN_1
     133#define CAN_TX_GPIO_Port GPIOD
    122134#define ETH_SPI_PWR_Pin GPIO_PIN_3
    123135#define ETH_SPI_PWR_GPIO_Port GPIOD
  • ctrl/firmware/Main/CubeMX/Core/Inc/stm32h7xx_hal_conf.h

    r97 r113  
    3636
    3737  #define HAL_ADC_MODULE_ENABLED
    38 /* #define HAL_FDCAN_MODULE_ENABLED   */
     38#define HAL_FDCAN_MODULE_ENABLED
    3939/* #define HAL_FMAC_MODULE_ENABLED   */
    4040/* #define HAL_CEC_MODULE_ENABLED   */
  • ctrl/firmware/Main/CubeMX/Core/Src/adc.c

    r112 r113  
    8181  sConfig.Channel = ADC_CHANNEL_3;
    8282  sConfig.Rank = ADC_REGULAR_RANK_1;
    83   sConfig.SamplingTime = ADC_SAMPLETIME_32CYCLES_5;//ADC_SAMPLETIME_32CYCLES_5;
     83  sConfig.SamplingTime = ADC_SAMPLETIME_32CYCLES_5;
    8484  sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
    8585  sConfig.OffsetNumber = ADC_OFFSET_NONE;
     
    9595  sConfig.Channel = ADC_CHANNEL_4;
    9696  sConfig.Rank = ADC_REGULAR_RANK_2;
    97   sConfig.Offset = 0;
    9897  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
    9998  {
     
    276275    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    277276
    278     GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
     277    GPIO_InitStruct.Pin = LOAD_I_SENSE_PLUS_Pin|LOAD_I_SENSE_MINUS_Pin;
    279278    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    280279    GPIO_InitStruct.Pull = GPIO_NOPULL;
    281280    HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
    282281
    283     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
     282    GPIO_InitStruct.Pin = BAT_U_SENSE_MINUS_Pin|BAT_U_SENSE_PLUS_Pin;
    284283    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    285284    GPIO_InitStruct.Pull = GPIO_NOPULL;
     
    321320    PC0     ------> ADC3_INP10
    322321    */
    323     GPIO_InitStruct.Pin = U_BAT_Pin;
     322    GPIO_InitStruct.Pin = BAT_U_RAW_Pin;
    324323    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    325324    GPIO_InitStruct.Pull = GPIO_NOPULL;
    326     HAL_GPIO_Init(U_BAT_GPIO_Port, &GPIO_InitStruct);
     325    HAL_GPIO_Init(BAT_U_RAW_GPIO_Port, &GPIO_InitStruct);
    327326
    328327    /* ADC3 DMA Init */
     
    371370    HAL_GPIO_DeInit(GPIOA, BAT_I_SENSE_PLUS_Pin|BAT_I_SENSE_MINUS_Pin);
    372371
    373     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
    374 
    375     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1);
     372    HAL_GPIO_DeInit(GPIOC, LOAD_I_SENSE_PLUS_Pin|LOAD_I_SENSE_MINUS_Pin);
     373
     374    HAL_GPIO_DeInit(GPIOB, BAT_U_SENSE_MINUS_Pin|BAT_U_SENSE_PLUS_Pin);
    376375
    377376    /* ADC2 DMA DeInit */
     
    392391    PC0     ------> ADC3_INP10
    393392    */
    394     HAL_GPIO_DeInit(U_BAT_GPIO_Port, U_BAT_Pin);
     393    HAL_GPIO_DeInit(BAT_U_RAW_GPIO_Port, BAT_U_RAW_Pin);
    395394
    396395    /* ADC3 DMA DeInit */
  • ctrl/firmware/Main/CubeMX/Core/Src/gpio.c

    r112 r113  
    167167  HAL_GPIO_Init(GSM_STATUS_GPIO_Port, &GPIO_InitStruct);
    168168
    169   /*Configure GPIO pins : PD14 PD15 PD0 PD1 */
    170   GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
     169  /*Configure GPIO pins : PD14 PD15 */
     170  GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15;
    171171  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    172172  GPIO_InitStruct.Pull = GPIO_NOPULL;
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r112 r113  
    2626#include "dts.h"
    2727#include "fatfs.h"
     28#include "fdcan.h"
    2829#include "i2c.h"
    2930#include "memorymap.h"
     
    133134  MX_DMA_Init();
    134135  MX_BDMA_Init();
    135   MX_ADC2_Init();
    136   MX_ADC3_Init();
    137136  MX_RTC_Init();
    138137  MX_SPI4_Init();
     
    145144  MX_TIM6_Init();
    146145  MX_I2C2_Init();
     146  MX_ADC3_Init();
    147147  MX_TIM3_Init();
    148148  MX_I2C1_Init();
     
    151151  MX_DAC1_Init();
    152152  MX_TIM1_Init();
     153  MX_ADC2_Init();
     154  MX_FDCAN1_Init();
    153155  /* USER CODE BEGIN 2 */
    154156
Note: See TracChangeset for help on using the changeset viewer.