Skip to content

Commit

Permalink
Increased CAN speed on all boards to 1Mbit/s (#1413)
Browse files Browse the repository at this point in the history
### Changelist 
<!-- Give a list of the changes covered in this PR. This will help both
you and the reviewer keep this PR within scope. -->

### Testing Done
<!-- Outline the testing that was done to demonstrate the changes are
solid. This could be unit tests, integration tests, testing on the car,
etc. Include relevant code snippets, screenshots, etc as needed. -->

### Resolved Tickets
<!-- Link any tickets that this PR resolves. -->

---------

Co-authored-by: Edwin Z <[email protected]>
  • Loading branch information
AmirTajaddodi and Lucien950 authored Jan 20, 2025
1 parent 9f45826 commit 6e3a0ac
Show file tree
Hide file tree
Showing 18 changed files with 138 additions and 131 deletions.
2 changes: 1 addition & 1 deletion can_bus/PcanProject.peproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<PCANExplorerProject Version="6.0" AppVersion="6.7.0" Name="PcanProject">
<Connections AutoReset="0" IgnoreRTRLength="0" ProcessRTR="1">
<Connection Name="Connection1" Bus="1" Enabled="1" Protocol="0" CalcBusLoad="1" SymbolsFileName="quadruna.dbc" BitRate="28" Connection="My Net@pcan_usb"/>
<Connection Name="Connection1" Bus="1" Enabled="1" Protocol="0" CalcBusLoad="1" SymbolsFileName="quadruna.dbc" BitRate="32803" Connection="Untitled@pcan_usb"/>
</Connections>
<Files>
<File RelativePath="dbcs\quadruna.dbc" SelectedIDs="ALL"/>
Expand Down
20 changes: 11 additions & 9 deletions firmware/quadruna/BMS/src/cubemx/BMS.ioc
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,14 @@ Dma.ADC1.0.SyncSignalID=NONE
Dma.Request0=ADC1
Dma.RequestsNb=1
FDCAN1.AutoRetransmission=ENABLE
FDCAN1.CalculateBaudRateNominal=500000
FDCAN1.CalculateTimeBitNominal=2000
FDCAN1.CalculateTimeQuantumNominal=125.0
FDCAN1.IPParameters=CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal,AutoRetransmission,NominalSyncJumpWidth,StdFiltersNbr,RxFifo0ElmtsNbr,TxFifoQueueElmtsNbr,NominalTimeSeg1,NominalPrescaler
FDCAN1.NominalPrescaler=16
FDCAN1.NominalSyncJumpWidth=4
FDCAN1.NominalTimeSeg1=13
FDCAN1.CalculateBaudRateNominal=1000000
FDCAN1.CalculateTimeBitNominal=1000
FDCAN1.CalculateTimeQuantumNominal=62.5
FDCAN1.IPParameters=CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal,AutoRetransmission,NominalSyncJumpWidth,StdFiltersNbr,RxFifo0ElmtsNbr,TxFifoQueueElmtsNbr,NominalTimeSeg1,NominalPrescaler,NominalTimeSeg2
FDCAN1.NominalPrescaler=6
FDCAN1.NominalSyncJumpWidth=3
FDCAN1.NominalTimeSeg1=12
FDCAN1.NominalTimeSeg2=3
FDCAN1.RxFifo0ElmtsNbr=1
FDCAN1.StdFiltersNbr=1
FDCAN1.TxFifoQueueElmtsNbr=1
Expand Down Expand Up @@ -441,7 +442,8 @@ RCC.DIVQ3Freq_Value=16125000
RCC.DIVR1Freq_Value=256000000
RCC.DIVR2Freq_Value=96000000
RCC.DIVR3Freq_Value=16125000
RCC.FDCANFreq_Value=128000000
RCC.FDCANCLockSelection=RCC_FDCANCLKSOURCE_PLL2
RCC.FDCANFreq_Value=96000000
RCC.FMCFreq_Value=256000000
RCC.FamilyName=M
RCC.HCLK3ClockFreq_Value=256000000
Expand All @@ -450,7 +452,7 @@ RCC.HPRE=RCC_HCLK_DIV2
RCC.HSE_VALUE=8000000
RCC.I2C123Freq_Value=128000000
RCC.I2C4Freq_Value=128000000
RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVN1,DIVN2,DIVP1,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HSE_VALUE,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL3FRACN,PLLFRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVN1,DIVN2,DIVP1,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANCLockSelection,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HSE_VALUE,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL3FRACN,PLLFRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
RCC.LPTIM1Freq_Value=128000000
RCC.LPTIM2Freq_Value=128000000
RCC.LPTIM345Freq_Value=128000000
Expand Down
2 changes: 1 addition & 1 deletion firmware/quadruna/BMS/src/cubemx/BMS.ioc.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b0a5ba8fcc46cb0bb8846b7353b0c5d9
75218909f93a93c4c3a86f977999c2cf
39 changes: 35 additions & 4 deletions firmware/quadruna/BMS/src/cubemx/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ bool sd_inited;

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_FDCAN1_Init(void);
Expand Down Expand Up @@ -189,6 +190,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();

/* Configure the peripherals common clocks */
PeriphCommonClock_Config();

/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */

Expand Down Expand Up @@ -327,6 +331,33 @@ void SystemClock_Config(void)
}
}

/**
* @brief Peripherals Common Clock Configuration
* @retval None
*/
void PeriphCommonClock_Config(void)
{
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };

/** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI2 | RCC_PERIPHCLK_FDCAN;
PeriphClkInitStruct.PLL2.PLL2M = 1;
PeriphClkInitStruct.PLL2.PLL2N = 24;
PeriphClkInitStruct.PLL2.PLL2P = 2;
PeriphClkInitStruct.PLL2.PLL2Q = 2;
PeriphClkInitStruct.PLL2.PLL2R = 2;
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2;
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_PLL2;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}

/**
* @brief ADC1 Initialization Function
* @param None
Expand Down Expand Up @@ -479,10 +510,10 @@ static void MX_FDCAN1_Init(void)
hfdcan1.Init.AutoRetransmission = ENABLE;
hfdcan1.Init.TransmitPause = DISABLE;
hfdcan1.Init.ProtocolException = DISABLE;
hfdcan1.Init.NominalPrescaler = 16;
hfdcan1.Init.NominalSyncJumpWidth = 4;
hfdcan1.Init.NominalTimeSeg1 = 13;
hfdcan1.Init.NominalTimeSeg2 = 2;
hfdcan1.Init.NominalPrescaler = 6;
hfdcan1.Init.NominalSyncJumpWidth = 3;
hfdcan1.Init.NominalTimeSeg1 = 12;
hfdcan1.Init.NominalTimeSeg2 = 3;
hfdcan1.Init.DataPrescaler = 1;
hfdcan1.Init.DataSyncJumpWidth = 1;
hfdcan1.Init.DataTimeSeg1 = 1;
Expand Down
34 changes: 2 additions & 32 deletions firmware/quadruna/BMS/src/cubemx/Src/stm32h7xx_hal_msp.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,23 +227,12 @@ void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc)
*/
void HAL_FDCAN_MspInit(FDCAN_HandleTypeDef *hfdcan)
{
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
if (hfdcan->Instance == FDCAN1)
{
/* USER CODE BEGIN FDCAN1_MspInit 0 */

/* USER CODE END FDCAN1_MspInit 0 */

/** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_FDCAN;
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_PLL;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}

/* Peripheral clock enable */
__HAL_RCC_FDCAN_CLK_ENABLE();

Expand Down Expand Up @@ -406,31 +395,12 @@ void HAL_SD_MspDeInit(SD_HandleTypeDef *hsd)
*/
void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
{
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
if (hspi->Instance == SPI2)
{
/* USER CODE BEGIN SPI2_MspInit 0 */

/* USER CODE END SPI2_MspInit 0 */

/** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI2;
PeriphClkInitStruct.PLL2.PLL2M = 1;
PeriphClkInitStruct.PLL2.PLL2N = 24;
PeriphClkInitStruct.PLL2.PLL2P = 2;
PeriphClkInitStruct.PLL2.PLL2Q = 2;
PeriphClkInitStruct.PLL2.PLL2R = 2;
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}

/* Peripheral clock enable */
__HAL_RCC_SPI2_CLK_ENABLE();

Expand Down
14 changes: 7 additions & 7 deletions firmware/quadruna/CRIT/src/cubemx/CRIT.ioc
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ CAD.formats=[]
CAD.pinconfig=Project naming
CAD.provider=
CAN1.ABOM=ENABLE
CAN1.BS1=CAN_BS1_13TQ
CAN1.BS2=CAN_BS2_2TQ
CAN1.CalculateBaudRate=500000
CAN1.CalculateTimeBit=2000
CAN1.CalculateTimeQuantum=125.0
CAN1.BS1=CAN_BS1_12TQ
CAN1.BS2=CAN_BS2_3TQ
CAN1.CalculateBaudRate=1000000
CAN1.CalculateTimeBit=1000
CAN1.CalculateTimeQuantum=62.5
CAN1.IPParameters=CalculateTimeQuantum,CalculateBaudRate,Prescaler,CalculateTimeBit,BS1,SJW,ABOM,NART,RFLM,TXFP,BS2
CAN1.NART=ENABLE
CAN1.Prescaler=6
CAN1.Prescaler=3
CAN1.RFLM=ENABLE
CAN1.SJW=CAN_SJW_4TQ
CAN1.SJW=CAN_SJW_3TQ
CAN1.TXFP=ENABLE
Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.ADC1.0.FIFOMode=DMA_FIFOMODE_DISABLE
Expand Down
2 changes: 1 addition & 1 deletion firmware/quadruna/CRIT/src/cubemx/CRIT.ioc.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f342cd5dc78891d8b405e1488752bb26
dec0b6cff3b236e2b36dbd757f4451a8
8 changes: 4 additions & 4 deletions firmware/quadruna/CRIT/src/cubemx/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -348,11 +348,11 @@ static void MX_CAN1_Init(void)

/* USER CODE END CAN1_Init 1 */
hcan1.Instance = CAN1;
hcan1.Init.Prescaler = 6;
hcan1.Init.Prescaler = 3;
hcan1.Init.Mode = CAN_MODE_NORMAL;
hcan1.Init.SyncJumpWidth = CAN_SJW_4TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_13TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;
hcan1.Init.SyncJumpWidth = CAN_SJW_3TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_12TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_3TQ;
hcan1.Init.TimeTriggeredMode = DISABLE;
hcan1.Init.AutoBusOff = ENABLE;
hcan1.Init.AutoWakeUp = DISABLE;
Expand Down
16 changes: 8 additions & 8 deletions firmware/quadruna/FSM/src/cubemx/FSM.ioc
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,16 @@ CAD.formats=[]
CAD.pinconfig=Project naming
CAD.provider=
CAN1.ABOM=ENABLE
CAN1.BS1=CAN_BS1_13TQ
CAN1.BS2=CAN_BS2_2TQ
CAN1.CalculateBaudRate=500000
CAN1.CalculateTimeBit=2000
CAN1.CalculateTimeQuantum=125.0
CAN1.BS1=CAN_BS1_12TQ
CAN1.BS2=CAN_BS2_3TQ
CAN1.CalculateBaudRate=1000000
CAN1.CalculateTimeBit=1000
CAN1.CalculateTimeQuantum=62.5
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,BS1,Prescaler,SJW,ABOM,NART,RFLM,TXFP,BS2
CAN1.NART=ENABLE
CAN1.Prescaler=6
CAN1.Prescaler=3
CAN1.RFLM=ENABLE
CAN1.SJW=CAN_SJW_4TQ
CAN1.SJW=CAN_SJW_3TQ
CAN1.TXFP=ENABLE
Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.ADC1.0.FIFOMode=DMA_FIFOMODE_DISABLE
Expand Down Expand Up @@ -275,7 +275,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=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_CAN1_Init-CAN1-false-HAL-true,6-MX_TIM12_Init-TIM12-false-HAL-true,7-MX_USART1_UART_Init-USART1-false-HAL-true,8-MX_TIM3_Init-TIM3-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_CAN1_Init-CAN1-false-HAL-true,6-MX_TIM12_Init-TIM12-false-HAL-true,7-MX_USART1_UART_Init-USART1-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_IWDG_Init-IWDG-false-HAL-true
RCC.AHBFreq_Value=96000000
RCC.APB1CLKDivider=RCC_HCLK_DIV2
RCC.APB1Freq_Value=48000000
Expand Down
2 changes: 1 addition & 1 deletion firmware/quadruna/FSM/src/cubemx/FSM.ioc.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
789915069a7107a76c10a7b1a040c604
737aa00268fe4cc624a7f492ff96061c
8 changes: 4 additions & 4 deletions firmware/quadruna/FSM/src/cubemx/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -425,11 +425,11 @@ static void MX_CAN1_Init(void)

/* USER CODE END CAN1_Init 1 */
hcan1.Instance = CAN1;
hcan1.Init.Prescaler = 6;
hcan1.Init.Prescaler = 3;
hcan1.Init.Mode = CAN_MODE_NORMAL;
hcan1.Init.SyncJumpWidth = CAN_SJW_4TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_13TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;
hcan1.Init.SyncJumpWidth = CAN_SJW_3TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_12TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_3TQ;
hcan1.Init.TimeTriggeredMode = DISABLE;
hcan1.Init.AutoBusOff = ENABLE;
hcan1.Init.AutoWakeUp = DISABLE;
Expand Down
16 changes: 8 additions & 8 deletions firmware/quadruna/RSM/src/cubemx/RSM.ioc
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@ CAD.formats=[]
CAD.pinconfig=Project naming
CAD.provider=
CAN1.ABOM=ENABLE
CAN1.BS1=CAN_BS1_13TQ
CAN1.BS2=CAN_BS2_2TQ
CAN1.CalculateBaudRate=500000
CAN1.CalculateTimeBit=2000
CAN1.CalculateTimeQuantum=125.0
CAN1.BS1=CAN_BS1_12TQ
CAN1.BS2=CAN_BS2_3TQ
CAN1.CalculateBaudRate=1000000
CAN1.CalculateTimeBit=1000
CAN1.CalculateTimeQuantum=62.5
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,BS1,Prescaler,SJW,ABOM,NART,RFLM,TXFP,BS2
CAN1.NART=ENABLE
CAN1.Prescaler=6
CAN1.Prescaler=3
CAN1.RFLM=ENABLE
CAN1.SJW=CAN_SJW_4TQ
CAN1.SJW=CAN_SJW_3TQ
CAN1.TXFP=ENABLE
Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.ADC1.0.FIFOMode=DMA_FIFOMODE_DISABLE
Expand Down Expand Up @@ -281,7 +281,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=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_CAN1_Init-CAN1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_TIM3_Init-TIM3-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_CAN1_Init-CAN1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_TIM3_Init-TIM3-false-HAL-true,8-MX_IWDG_Init-IWDG-false-HAL-true
RCC.AHBFreq_Value=96000000
RCC.APB1CLKDivider=RCC_HCLK_DIV2
RCC.APB1Freq_Value=48000000
Expand Down
2 changes: 1 addition & 1 deletion firmware/quadruna/RSM/src/cubemx/RSM.ioc.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
25af797de0905b5c11cd10ba146294ad
28ebeaccfb57303bb048e0af4eb618e3
8 changes: 4 additions & 4 deletions firmware/quadruna/RSM/src/cubemx/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -430,11 +430,11 @@ static void MX_CAN1_Init(void)

/* USER CODE END CAN1_Init 1 */
hcan1.Instance = CAN1;
hcan1.Init.Prescaler = 6;
hcan1.Init.Prescaler = 3;
hcan1.Init.Mode = CAN_MODE_NORMAL;
hcan1.Init.SyncJumpWidth = CAN_SJW_4TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_13TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;
hcan1.Init.SyncJumpWidth = CAN_SJW_3TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_12TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_3TQ;
hcan1.Init.TimeTriggeredMode = DISABLE;
hcan1.Init.AutoBusOff = ENABLE;
hcan1.Init.AutoWakeUp = DISABLE;
Expand Down
39 changes: 35 additions & 4 deletions firmware/quadruna/VC/src/cubemx/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ const osThreadAttr_t TaskTelem_attributes = {

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_ADC3_Init(void);
Expand Down Expand Up @@ -208,6 +209,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();

/* Configure the peripherals common clocks */
PeriphCommonClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */
Expand Down Expand Up @@ -355,6 +359,33 @@ void SystemClock_Config(void)
}
}

/**
* @brief Peripherals Common Clock Configuration
* @retval None
*/
void PeriphCommonClock_Config(void)
{
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };

/** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_FDCAN;
PeriphClkInitStruct.PLL2.PLL2M = 1;
PeriphClkInitStruct.PLL2.PLL2N = 24;
PeriphClkInitStruct.PLL2.PLL2P = 2;
PeriphClkInitStruct.PLL2.PLL2Q = 2;
PeriphClkInitStruct.PLL2.PLL2R = 2;
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_PLL2;
PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}

/**
* @brief ADC1 Initialization Function
* @param None
Expand Down Expand Up @@ -574,10 +605,10 @@ static void MX_FDCAN1_Init(void)
hfdcan1.Init.AutoRetransmission = ENABLE;
hfdcan1.Init.TransmitPause = DISABLE;
hfdcan1.Init.ProtocolException = DISABLE;
hfdcan1.Init.NominalPrescaler = 16;
hfdcan1.Init.NominalSyncJumpWidth = 4;
hfdcan1.Init.NominalTimeSeg1 = 13;
hfdcan1.Init.NominalTimeSeg2 = 2;
hfdcan1.Init.NominalPrescaler = 6;
hfdcan1.Init.NominalSyncJumpWidth = 3;
hfdcan1.Init.NominalTimeSeg1 = 12;
hfdcan1.Init.NominalTimeSeg2 = 3;
hfdcan1.Init.DataPrescaler = 1;
hfdcan1.Init.DataSyncJumpWidth = 1;
hfdcan1.Init.DataTimeSeg1 = 1;
Expand Down
Loading

0 comments on commit 6e3a0ac

Please sign in to comment.