diff --git a/Firmware/.cproject b/Firmware/.cproject
index bc10416..6a432af 100644
--- a/Firmware/.cproject
+++ b/Firmware/.cproject
@@ -24,7 +24,7 @@
-
+
@@ -148,7 +148,7 @@
-
+
diff --git a/Firmware/BrushedPIDDriver.ioc b/Firmware/BrushedPIDDriver.ioc
index 00e1946..140f858 100644
--- a/Firmware/BrushedPIDDriver.ioc
+++ b/Firmware/BrushedPIDDriver.ioc
@@ -35,9 +35,9 @@ COMP6.IPParameters=TriggerMode,BlankingSrce
COMP6.TriggerMode=COMP_TRIGGERMODE_IT_RISING_FALLING
DAC4.DAC_Channel-DAC_OUT2_Int=DAC_CHANNEL_2
DAC4.IPParameters=DAC_Channel-DAC_OUT2_Int
-FDCAN1.CalculateBaudRateNominal=3541666
-FDCAN1.CalculateTimeBitNominal=282
-FDCAN1.CalculateTimeQuantumNominal=94.11764705882354
+FDCAN1.CalculateBaudRateNominal=1000000
+FDCAN1.CalculateTimeBitNominal=1000
+FDCAN1.CalculateTimeQuantumNominal=333.3333333333333
FDCAN1.IPParameters=CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal
FREERTOS.INCLUDE_pcTaskGetTaskName=1
FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark=1
@@ -58,8 +58,8 @@ FREERTOS.configUSE_APPLICATION_TASK_TAG=1
FREERTOS.configUSE_NEWLIB_REENTRANT=1
File.Version=6
I2C1.IPParameters=Timing,Timeout
-I2C1.Timeout=0x0000881B
-I2C1.Timing=0x40B285C2
+I2C1.Timeout=0x00008249
+I2C1.Timing=0x10805D88
KeepUserPlacement=false
LPUART1.FIFOMode=UART_FIFOMODE_DISABLE
LPUART1.IPParameters=FIFOMode
@@ -75,10 +75,9 @@ Mcu.IP14=SPI1
Mcu.IP15=SYS
Mcu.IP16=TIM1
Mcu.IP17=TIM2
-Mcu.IP18=TIM3
-Mcu.IP19=UART4
+Mcu.IP18=UART4
+Mcu.IP19=USB
Mcu.IP2=ADC5
-Mcu.IP20=USB
Mcu.IP3=COMP5
Mcu.IP4=COMP6
Mcu.IP5=DAC4
@@ -86,55 +85,51 @@ Mcu.IP6=FDCAN1
Mcu.IP7=FREERTOS
Mcu.IP8=I2C1
Mcu.IP9=LPUART1
-Mcu.IPNb=21
+Mcu.IPNb=20
Mcu.Name=STM32G474R(B-C-E)Tx
Mcu.Package=LQFP64
Mcu.Pin0=PC13
Mcu.Pin1=PC0
-Mcu.Pin10=PA7
-Mcu.Pin11=PB0
-Mcu.Pin12=PB1
-Mcu.Pin13=PB2
-Mcu.Pin14=PB10
-Mcu.Pin15=PB11
-Mcu.Pin16=PB13
-Mcu.Pin17=PC6
-Mcu.Pin18=PC7
-Mcu.Pin19=PA11
+Mcu.Pin10=PB0
+Mcu.Pin11=PB2
+Mcu.Pin12=PB10
+Mcu.Pin13=PB11
+Mcu.Pin14=PB13
+Mcu.Pin15=PA11
+Mcu.Pin16=PA12
+Mcu.Pin17=PA13
+Mcu.Pin18=PA14
+Mcu.Pin19=PA15
Mcu.Pin2=PC1
-Mcu.Pin20=PA12
-Mcu.Pin21=PA13
-Mcu.Pin22=PA14
-Mcu.Pin23=PA15
-Mcu.Pin24=PC10
-Mcu.Pin25=PC11
-Mcu.Pin26=PB3
-Mcu.Pin27=PB4
-Mcu.Pin28=PB5
-Mcu.Pin29=PB7
+Mcu.Pin20=PC10
+Mcu.Pin21=PC11
+Mcu.Pin22=PB3
+Mcu.Pin23=PB4
+Mcu.Pin24=PB5
+Mcu.Pin25=PB7
+Mcu.Pin26=PB8-BOOT0
+Mcu.Pin27=PB9
+Mcu.Pin28=VP_ADC1_TempSens_Input
+Mcu.Pin29=VP_ADC1_Vref_Input
Mcu.Pin3=PA0
-Mcu.Pin30=PB8-BOOT0
-Mcu.Pin31=PB9
-Mcu.Pin32=VP_ADC1_TempSens_Input
-Mcu.Pin33=VP_ADC1_Vref_Input
-Mcu.Pin34=VP_ADC1_Vbat_Input
-Mcu.Pin35=VP_ADC3_OPAMP_INTERNAL3
-Mcu.Pin36=VP_ADC5_OPAMP_INTERNAL4
-Mcu.Pin37=VP_COMP5_VS_DAC4OUT1
-Mcu.Pin38=VP_COMP6_VS_DAC4OUT2
-Mcu.Pin39=VP_DAC4_VS_DACI1
+Mcu.Pin30=VP_ADC1_Vbat_Input
+Mcu.Pin31=VP_ADC3_OPAMP_INTERNAL3
+Mcu.Pin32=VP_ADC5_OPAMP_INTERNAL4
+Mcu.Pin33=VP_COMP5_VS_DAC4OUT1
+Mcu.Pin34=VP_COMP6_VS_DAC4OUT2
+Mcu.Pin35=VP_DAC4_VS_DACI1
+Mcu.Pin36=VP_DAC4_VS_DACI2
+Mcu.Pin37=VP_FREERTOS_VS_CMSIS_V2
+Mcu.Pin38=VP_SYS_VS_Systick
+Mcu.Pin39=VP_SYS_VS_DBSignals
Mcu.Pin4=PA1
-Mcu.Pin40=VP_DAC4_VS_DACI2
-Mcu.Pin41=VP_FREERTOS_VS_CMSIS_V2
-Mcu.Pin42=VP_SYS_VS_Systick
-Mcu.Pin43=VP_SYS_VS_DBSignals
-Mcu.Pin44=VP_TIM1_VS_no_output5
+Mcu.Pin40=VP_TIM1_VS_no_output5
Mcu.Pin5=PA2
Mcu.Pin6=PA3
Mcu.Pin7=PA4
Mcu.Pin8=PA5
-Mcu.Pin9=PA6
-Mcu.PinsNb=45
+Mcu.Pin9=PA7
+Mcu.PinsNb=41
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32G474RBTx
@@ -156,64 +151,86 @@ NVIC.SavedSystickIrqHandlerGenerated=true
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:true\:false
NVIC.TIM1_BRK_TIM15_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
+PA0.Locked=true
PA0.Signal=S_TIM2_CH1
+PA1.Locked=true
PA1.Signal=S_TIM2_CH2
+PA11.Locked=true
PA11.Mode=Device
PA11.Signal=USB_DM
+PA12.Locked=true
PA12.Mode=Device
PA12.Signal=USB_DP
+PA13.Locked=true
PA13.Mode=Trace_Asynchronous_SW
PA13.Signal=SYS_JTMS-SWDIO
+PA14.Locked=true
PA14.Mode=Trace_Asynchronous_SW
PA14.Signal=SYS_JTCK-SWCLK
+PA15.Locked=true
PA15.Mode=SMBus-Alert-mode
PA15.Signal=I2C1_SCL
+PA2.Locked=true
PA2.Mode=Asynchronous
PA2.Signal=LPUART1_TX
+PA3.Locked=true
PA3.Mode=Asynchronous
PA3.Signal=LPUART1_RX
+PA4.GPIOParameters=GPIO_PuPd
+PA4.GPIO_PuPd=GPIO_PULLUP
+PA4.Locked=true
PA4.Mode=NSS_Signal_Hard_Input
PA4.Signal=SPI1_NSS
+PA5.Locked=true
PA5.Mode=Full_Duplex_Slave
PA5.Signal=SPI1_SCK
-PA6.Mode=CTS_RTS
-PA6.Signal=LPUART1_CTS
+PA7.Locked=true
PA7.Mode=Full_Duplex_Slave
PA7.Signal=SPI1_MOSI
+PB0.Locked=true
PB0.Mode=PWM Generation2 CH2 CH2N
PB0.Signal=TIM1_CH2N
-PB1.Mode=CTS_RTS
-PB1.Signal=LPUART1_RTS
+PB10.Locked=true
PB10.Mode=PGA Internally connected_IO0_BIAS
PB10.Signal=OPAMP4_VINM0
PB11.Locked=true
PB11.Signal=SharedAnalog_PB11
PB13.Locked=true
PB13.Signal=SharedAnalog_PB13
+PB2.Locked=true
PB2.Mode=PGA Internally connected_IO0_BIAS
PB2.Signal=OPAMP3_VINM0
+PB3.Locked=true
PB3.Mode=Trace_Asynchronous_SW
PB3.Signal=SYS_JTDO-SWO
+PB4.Locked=true
PB4.Mode=Full_Duplex_Slave
PB4.Signal=SPI1_MISO
+PB5.Locked=true
PB5.Mode=SMBus-Alert-mode
PB5.Signal=I2C1_SMBA
+PB7.Locked=true
PB7.Mode=SMBus-Alert-mode
PB7.Signal=I2C1_SDA
+PB8-BOOT0.Locked=true
PB8-BOOT0.Mode=FDCAN_Activate
PB8-BOOT0.Signal=FDCAN1_RX
+PB9.Locked=true
PB9.Mode=FDCAN_Activate
PB9.Signal=FDCAN1_TX
+PC0.Locked=true
PC0.Signal=S_TIM1_CH1
+PC1.Locked=true
PC1.Signal=S_TIM1_CH2
+PC10.Locked=true
PC10.Mode=Asynchronous
PC10.Signal=UART4_TX
+PC11.Locked=true
PC11.Mode=Asynchronous
PC11.Signal=UART4_RX
+PC13.Locked=true
PC13.Mode=PWM Generation1 CH1 CH1N
PC13.Signal=TIM1_CH1N
-PC6.Signal=S_TIM3_CH1
-PC7.Signal=S_TIM3_CH2
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
@@ -249,58 +266,58 @@ 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_FDCAN1_Init-FDCAN1-false-HAL-true,4-MX_I2C1_SMBUS_Init-I2C1-false-HAL-true,5-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,6-MX_UART4_Init-UART4-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true,9-MX_TIM2_Init-TIM2-false-HAL-true,10-MX_TIM3_Init-TIM3-false-HAL-true,11-MX_USB_PCD_Init-USB-false-HAL-true,12-MX_COMP5_Init-COMP5-false-HAL-true,13-MX_COMP6_Init-COMP6-false-HAL-true,14-MX_DAC4_Init-DAC4-false-HAL-true,15-MX_OPAMP3_Init-OPAMP3-false-HAL-true,16-MX_OPAMP4_Init-OPAMP4-false-HAL-true,17-MX_ADC1_Init-ADC1-false-HAL-true,18-MX_ADC3_Init-ADC3-false-HAL-true,19-MX_ADC5_Init-ADC5-false-HAL-true
-RCC.ADC12Freq_Value=170000000
-RCC.ADC345Freq_Value=170000000
-RCC.AHBFreq_Value=170000000
-RCC.APB1Freq_Value=170000000
-RCC.APB1TimFreq_Value=170000000
-RCC.APB2Freq_Value=170000000
-RCC.APB2TimFreq_Value=170000000
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_FDCAN1_Init-FDCAN1-false-HAL-true,4-MX_I2C1_SMBUS_Init-I2C1-false-HAL-true,5-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,6-MX_UART4_Init-UART4-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true,9-MX_TIM2_Init-TIM2-false-HAL-true,10-MX_USB_PCD_Init-USB-false-HAL-true,11-MX_COMP5_Init-COMP5-false-HAL-true,12-MX_COMP6_Init-COMP6-false-HAL-true,13-MX_DAC4_Init-DAC4-false-HAL-true,14-MX_OPAMP3_Init-OPAMP3-false-HAL-true,15-MX_OPAMP4_Init-OPAMP4-false-HAL-true,16-MX_ADC1_Init-ADC1-false-HAL-true,17-MX_ADC3_Init-ADC3-false-HAL-true,18-MX_ADC5_Init-ADC5-false-HAL-true
+RCC.ADC12Freq_Value=48000000
+RCC.ADC345Freq_Value=48000000
+RCC.AHBFreq_Value=48000000
+RCC.APB1Freq_Value=48000000
+RCC.APB1TimFreq_Value=48000000
+RCC.APB2Freq_Value=48000000
+RCC.APB2TimFreq_Value=48000000
RCC.CK48CLockSelection=RCC_USBCLKSOURCE_HSI48
RCC.CRSFreq_Value=48000000
-RCC.CortexFreq_Value=170000000
+RCC.CortexFreq_Value=48000000
RCC.EXTERNAL_CLOCK_VALUE=12288000
-RCC.FCLKCortexFreq_Value=170000000
-RCC.FDCANFreq_Value=170000000
+RCC.FCLKCortexFreq_Value=48000000
+RCC.FDCANFreq_Value=48000000
RCC.FamilyName=M
-RCC.HCLKFreq_Value=170000000
-RCC.HRTIM1Freq_Value=170000000
+RCC.HCLKFreq_Value=48000000
+RCC.HRTIM1Freq_Value=48000000
RCC.HSE_VALUE=8000000
RCC.HSI48_VALUE=48000000
RCC.HSI_VALUE=16000000
-RCC.I2C1Freq_Value=170000000
-RCC.I2C2Freq_Value=170000000
-RCC.I2C3Freq_Value=170000000
-RCC.I2C4Freq_Value=170000000
-RCC.I2SFreq_Value=170000000
+RCC.I2C1Freq_Value=48000000
+RCC.I2C2Freq_Value=48000000
+RCC.I2C3Freq_Value=48000000
+RCC.I2C4Freq_Value=48000000
+RCC.I2SFreq_Value=48000000
RCC.IPParameters=ADC12Freq_Value,ADC345Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CK48CLockSelection,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HRTIM1Freq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1CLockSelection,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,QSPIFreq_Value,RNGFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
-RCC.LPTIM1Freq_Value=170000000
+RCC.LPTIM1Freq_Value=48000000
RCC.LPUART1CLockSelection=RCC_LPUART1CLKSOURCE_SYSCLK
-RCC.LPUART1Freq_Value=170000000
+RCC.LPUART1Freq_Value=48000000
RCC.LSCOPinFreq_Value=32000
RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.MCO1PinFreq_Value=16000000
RCC.PLLM=RCC_PLLM_DIV4
-RCC.PLLN=85
-RCC.PLLPoutputFreq_Value=170000000
-RCC.PLLQoutputFreq_Value=170000000
-RCC.PLLRCLKFreq_Value=170000000
-RCC.PWRFreq_Value=170000000
-RCC.QSPIFreq_Value=170000000
+RCC.PLLN=24
+RCC.PLLPoutputFreq_Value=48000000
+RCC.PLLQoutputFreq_Value=48000000
+RCC.PLLRCLKFreq_Value=48000000
+RCC.PWRFreq_Value=48000000
+RCC.QSPIFreq_Value=48000000
RCC.RNGFreq_Value=48000000
-RCC.SAI1Freq_Value=170000000
-RCC.SYSCLKFreq_VALUE=170000000
+RCC.SAI1Freq_Value=48000000
+RCC.SYSCLKFreq_VALUE=48000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.UART4Freq_Value=170000000
-RCC.UART5Freq_Value=170000000
-RCC.USART1Freq_Value=170000000
-RCC.USART2Freq_Value=170000000
-RCC.USART3Freq_Value=170000000
+RCC.UART4Freq_Value=48000000
+RCC.UART5Freq_Value=48000000
+RCC.USART1Freq_Value=48000000
+RCC.USART2Freq_Value=48000000
+RCC.USART3Freq_Value=48000000
RCC.USBFreq_Value=48000000
RCC.VCOInputFreq_Value=4000000
-RCC.VCOOutputFreq_Value=340000000
+RCC.VCOOutputFreq_Value=96000000
SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 CH1N
SH.S_TIM1_CH1.ConfNb=1
SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 CH2N
@@ -309,10 +326,6 @@ SH.S_TIM2_CH1.0=TIM2_CH1,Encoder_Interface
SH.S_TIM2_CH1.ConfNb=1
SH.S_TIM2_CH2.0=TIM2_CH2,Encoder_Interface
SH.S_TIM2_CH2.ConfNb=1
-SH.S_TIM3_CH1.0=TIM3_CH1,Encoder_Interface
-SH.S_TIM3_CH1.ConfNb=1
-SH.S_TIM3_CH2.0=TIM3_CH2,Encoder_Interface
-SH.S_TIM3_CH2.ConfNb=1
SH.SharedAnalog_PB11.0=COMP6_INP,INP
SH.SharedAnalog_PB11.1=OPAMP4_VINP,PGA Internally connected_IO0_BIAS
SH.SharedAnalog_PB11.ConfNb=2
@@ -327,7 +340,8 @@ SPI1.VirtualType=VM_SLAVE
TIM1.Channel-PWM\ Generation1\ CH1\ CH1N=TIM_CHANNEL_1
TIM1.Channel-PWM\ Generation2\ CH2\ CH2N=TIM_CHANNEL_2
TIM1.Channel-PWM\ Generation5\ No\ Output=TIM_CHANNEL_5
-TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Channel-PWM Generation2 CH2 CH2N,Channel-PWM Generation5 No Output,SourceBRKCOMP5,SourceBRKCOMP6
+TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Channel-PWM Generation2 CH2 CH2N,Channel-PWM Generation5 No Output,SourceBRKCOMP5,SourceBRKCOMP6,Prescaler
+TIM1.Prescaler=0
TIM1.SourceBRKCOMP5=TIM_BREAKINPUTSOURCE_ENABLE
TIM1.SourceBRKCOMP6=TIM_BREAKINPUTSOURCE_ENABLE
VP_ADC1_TempSens_Input.Mode=IN-TempSens
diff --git a/Firmware/Core/Inc/tim.h b/Firmware/Core/Inc/tim.h
index 48c570b..11c6712 100644
--- a/Firmware/Core/Inc/tim.h
+++ b/Firmware/Core/Inc/tim.h
@@ -36,15 +36,12 @@ extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim2;
-extern TIM_HandleTypeDef htim3;
-
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
void MX_TIM1_Init(void);
void MX_TIM2_Init(void);
-void MX_TIM3_Init(void);
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
diff --git a/Firmware/Core/Src/adc.c b/Firmware/Core/Src/adc.c
index 5c90ef8..f11447f 100644
--- a/Firmware/Core/Src/adc.c
+++ b/Firmware/Core/Src/adc.c
@@ -46,7 +46,7 @@ void MX_ADC1_Init(void)
/** Common config
*/
hadc1.Instance = ADC1;
- hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
+ hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.GainCompensation = 0;
@@ -109,7 +109,7 @@ void MX_ADC3_Init(void)
/** Common config
*/
hadc3.Instance = ADC3;
- hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
+ hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
hadc3.Init.Resolution = ADC_RESOLUTION_12B;
hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc3.Init.GainCompensation = 0;
@@ -171,7 +171,7 @@ void MX_ADC5_Init(void)
/** Common config
*/
hadc5.Instance = ADC5;
- hadc5.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
+ hadc5.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
hadc5.Init.Resolution = ADC_RESOLUTION_12B;
hadc5.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc5.Init.GainCompensation = 0;
diff --git a/Firmware/Core/Src/app_freertos.c b/Firmware/Core/Src/app_freertos.c
index fb6d9b7..f499562 100644
--- a/Firmware/Core/Src/app_freertos.c
+++ b/Firmware/Core/Src/app_freertos.c
@@ -117,7 +117,7 @@ void StartDefaultTask(void *argument)
/* Infinite loop */
for(;;)
{
- osDelay(1);
+ osDelay(100);
}
/* USER CODE END StartDefaultTask */
}
diff --git a/Firmware/Core/Src/i2c.c b/Firmware/Core/Src/i2c.c
index a14b596..7c1b519 100644
--- a/Firmware/Core/Src/i2c.c
+++ b/Firmware/Core/Src/i2c.c
@@ -39,7 +39,7 @@ void MX_I2C1_SMBUS_Init(void)
/* USER CODE END I2C1_Init 1 */
hsmbus1.Instance = I2C1;
- hsmbus1.Init.Timing = 0x40B285C2;
+ hsmbus1.Init.Timing = 0x10805D88;
hsmbus1.Init.AnalogFilter = SMBUS_ANALOGFILTER_ENABLE;
hsmbus1.Init.OwnAddress1 = 2;
hsmbus1.Init.AddressingMode = SMBUS_ADDRESSINGMODE_7BIT;
@@ -50,7 +50,7 @@ void MX_I2C1_SMBUS_Init(void)
hsmbus1.Init.NoStretchMode = SMBUS_NOSTRETCH_DISABLE;
hsmbus1.Init.PacketErrorCheckMode = SMBUS_PEC_DISABLE;
hsmbus1.Init.PeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE;
- hsmbus1.Init.SMBusTimeout = 0x0000881B;
+ hsmbus1.Init.SMBusTimeout = 0x00008249;
if (HAL_SMBUS_Init(&hsmbus1) != HAL_OK)
{
Error_Handler();
diff --git a/Firmware/Core/Src/main.c b/Firmware/Core/Src/main.c
index 86e7c71..6607ebd 100644
--- a/Firmware/Core/Src/main.c
+++ b/Firmware/Core/Src/main.c
@@ -105,7 +105,6 @@ int main(void)
MX_SPI1_Init();
MX_TIM1_Init();
MX_TIM2_Init();
- MX_TIM3_Init();
MX_USB_PCD_Init();
MX_COMP5_Init();
MX_COMP6_Init();
@@ -150,7 +149,7 @@ void SystemClock_Config(void)
/** Configure the main internal regulator output voltage
*/
- HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1_BOOST);
+ HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -162,7 +161,7 @@ void SystemClock_Config(void)
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV4;
- RCC_OscInitStruct.PLL.PLLN = 85;
+ RCC_OscInitStruct.PLL.PLLN = 24;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
@@ -180,7 +179,7 @@ void SystemClock_Config(void)
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
{
Error_Handler();
}
diff --git a/Firmware/Core/Src/spi.c b/Firmware/Core/Src/spi.c
index e3af19e..92d1202 100644
--- a/Firmware/Core/Src/spi.c
+++ b/Firmware/Core/Src/spi.c
@@ -80,7 +80,14 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
PA7 ------> SPI1_MOSI
PB4 ------> SPI1_MISO
*/
- GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_7;
+ GPIO_InitStruct.Pin = GPIO_PIN_4;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_PULLUP;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
diff --git a/Firmware/Core/Src/tim.c b/Firmware/Core/Src/tim.c
index 52f152d..eebe463 100644
--- a/Firmware/Core/Src/tim.c
+++ b/Firmware/Core/Src/tim.c
@@ -26,7 +26,6 @@
TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
-TIM_HandleTypeDef htim3;
/* TIM1 init function */
void MX_TIM1_Init(void)
@@ -161,50 +160,6 @@ void MX_TIM2_Init(void)
/* USER CODE END TIM2_Init 2 */
-}
-/* TIM3 init function */
-void MX_TIM3_Init(void)
-{
-
- /* USER CODE BEGIN TIM3_Init 0 */
-
- /* USER CODE END TIM3_Init 0 */
-
- TIM_Encoder_InitTypeDef sConfig = {0};
- TIM_MasterConfigTypeDef sMasterConfig = {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;
- sConfig.EncoderMode = TIM_ENCODERMODE_TI1;
- sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
- sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
- sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
- sConfig.IC1Filter = 0;
- sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
- sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
- sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
- sConfig.IC2Filter = 0;
- if (HAL_TIM_Encoder_Init(&htim3, &sConfig) != HAL_OK)
- {
- Error_Handler();
- }
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN TIM3_Init 2 */
-
- /* USER CODE END TIM3_Init 2 */
-
}
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle)
@@ -255,30 +210,6 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM2_MspInit 1 */
}
- else if(tim_encoderHandle->Instance==TIM3)
- {
- /* USER CODE BEGIN TIM3_MspInit 0 */
-
- /* USER CODE END TIM3_MspInit 0 */
- /* TIM3 clock enable */
- __HAL_RCC_TIM3_CLK_ENABLE();
-
- __HAL_RCC_GPIOC_CLK_ENABLE();
- /**TIM3 GPIO Configuration
- PC6 ------> TIM3_CH1
- PC7 ------> TIM3_CH2
- */
- GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
- 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(GPIOC, &GPIO_InitStruct);
-
- /* USER CODE BEGIN TIM3_MspInit 1 */
-
- /* USER CODE END TIM3_MspInit 1 */
- }
}
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
{
@@ -366,24 +297,6 @@ void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM2_MspDeInit 1 */
}
- else if(tim_encoderHandle->Instance==TIM3)
- {
- /* USER CODE BEGIN TIM3_MspDeInit 0 */
-
- /* USER CODE END TIM3_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM3_CLK_DISABLE();
-
- /**TIM3 GPIO Configuration
- PC6 ------> TIM3_CH1
- PC7 ------> TIM3_CH2
- */
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);
-
- /* USER CODE BEGIN TIM3_MspDeInit 1 */
-
- /* USER CODE END TIM3_MspDeInit 1 */
- }
}
/* USER CODE BEGIN 1 */
diff --git a/Firmware/Core/Src/usart.c b/Firmware/Core/Src/usart.c
index e04a19d..27868af 100644
--- a/Firmware/Core/Src/usart.c
+++ b/Firmware/Core/Src/usart.c
@@ -45,7 +45,7 @@ void MX_LPUART1_UART_Init(void)
hlpuart1.Init.StopBits = UART_STOPBITS_1;
hlpuart1.Init.Parity = UART_PARITY_NONE;
hlpuart1.Init.Mode = UART_MODE_TX_RX;
- hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_RTS_CTS;
+ hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
hlpuart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
hlpuart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
@@ -138,27 +138,17 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
__HAL_RCC_LPUART1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
- __HAL_RCC_GPIOB_CLK_ENABLE();
/**LPUART1 GPIO Configuration
PA2 ------> LPUART1_TX
PA3 ------> LPUART1_RX
- PA6 ------> LPUART1_CTS
- PB1 ------> LPUART1_RTS
*/
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_6;
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF12_LPUART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- GPIO_InitStruct.Pin = GPIO_PIN_1;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF12_LPUART1;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
/* USER CODE BEGIN LPUART1_MspInit 1 */
/* USER CODE END LPUART1_MspInit 1 */
@@ -213,12 +203,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/**LPUART1 GPIO Configuration
PA2 ------> LPUART1_TX
PA3 ------> LPUART1_RX
- PA6 ------> LPUART1_CTS
- PB1 ------> LPUART1_RTS
*/
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_6);
-
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1);
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
/* USER CODE BEGIN LPUART1_MspDeInit 1 */