Ignore:
Timestamp:
Mar 13, 2025, 2:08:13 PM (2 months ago)
Author:
Zed
Message:

Fixing project.

Location:
ctrl/firmware/Main/CubeMX
Files:
6 edited

Legend:

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

    r108 r110  
    2323
    2424#ifdef __cplusplus
    25  extern "C" {
     25extern "C" {
    2626#endif
    2727
  • ctrl/firmware/Main/CubeMX/Core/Src/adc.c

    r109 r110  
    5454  */
    5555  hadc2.Instance = ADC2;
    56   hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2;
     56  hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
    5757  hadc2.Init.Resolution = ADC_RESOLUTION_16B;
    5858  hadc2.Init.ScanConvMode = ADC_SCAN_ENABLE;
     
    6868  hadc2.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
    6969  hadc2.Init.OversamplingMode = ENABLE;
    70   hadc2.Init.Oversampling.Ratio = 64;
    71   hadc2.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_6;
     70  hadc2.Init.Oversampling.Ratio = 256;
     71  hadc2.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_8;
    7272  hadc2.Init.Oversampling.TriggeredMode = ADC_TRIGGEREDMODE_SINGLE_TRIGGER;
    7373  hadc2.Init.Oversampling.OversamplingStopReset = ADC_REGOVERSAMPLING_CONTINUED_MODE;
     
    8181  sConfig.Channel = ADC_CHANNEL_3;
    8282  sConfig.Rank = ADC_REGULAR_RANK_1;
    83   sConfig.SamplingTime = ADC_SAMPLETIME_810CYCLES_5;
     83  sConfig.SamplingTime = ADC_SAMPLETIME_16CYCLES_5;
    8484  sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
    8585  sConfig.OffsetNumber = ADC_OFFSET_NONE;
     
    108108
    109109  uint32_t offset[2] = { 0U };
    110   const uint32_t max_samples = 16U;
     110  const uint32_t max_samples = 8192U / ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1);
    111111  // Starting DMA converstion
    112112  if (HAL_OK != HAL_ADC_Start_DMA(&hadc2, (uint32_t*)&ADC2Data, ADC2_CHANNELS_NUM)) Error_Handler();
     
    126126  if (HAL_OK == HAL_ADC_Stop_DMA(&hadc2))
    127127  {
    128           LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_1, LL_ADC_CHANNEL_3, (offset[0]/max_samples) << 6U);
    129           LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_2, LL_ADC_CHANNEL_4, (offset[1]/max_samples) << 6U);
     128          LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_1, LL_ADC_CHANNEL_3, (offset[0]/max_samples) * ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1));
     129          LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_2, LL_ADC_CHANNEL_4, (offset[1]/max_samples) * ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1));
    130130  }
    131131
     
    184184  sConfig.Channel = ADC_CHANNEL_10;
    185185  sConfig.Rank = ADC_REGULAR_RANK_1;
    186   sConfig.SamplingTime = ADC3_SAMPLETIME_640CYCLES_5;
     186  sConfig.SamplingTime = ADC_SAMPLETIME_810CYCLES_5;
    187187  sConfig.SingleDiff = ADC_SINGLE_ENDED;
    188188  sConfig.OffsetNumber = ADC_OFFSET_NONE;
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r109 r110  
    192192  /** Configure the main internal regulator output voltage
    193193  */
    194   __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2);
     194  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
    195195
    196196  while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
     
    266266  PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
    267267  PeriphClkInitStruct.PLL3.PLL3M = 25;
    268   PeriphClkInitStruct.PLL3.PLL3N = 180;
     268  PeriphClkInitStruct.PLL3.PLL3N = 150;
    269269  PeriphClkInitStruct.PLL3.PLL3P = 2;
    270   PeriphClkInitStruct.PLL3.PLL3Q = 8;
     270  PeriphClkInitStruct.PLL3.PLL3Q = 6;
    271271  PeriphClkInitStruct.PLL3.PLL3R = 3;
    272272  PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_0;
     
    350350
    351351  /* USER CODE END Callback 0 */
    352   if (htim->Instance == TIM7) {
     352  if (htim->Instance == TIM7)
     353  {
    353354    HAL_IncTick();
    354355  }
  • ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_hal_timebase_tim.c

    r54 r110  
    6363  __HAL_RCC_TIM7_CLK_ENABLE();
    6464
    65 /* Get clock configuration */
     65  /* Get clock configuration */
    6666  HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);
    6767
     
    8585
    8686  /* Initialize TIMx peripheral as follow:
    87 
    88   + Period = [(TIM7CLK/1000) - 1]. to have a (1/1000) s time base.
    89   + Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
    90   + ClockDivision = 0
    91   + Counter direction = Up
    92   */
     87   * Period = [(TIM7CLK/1000) - 1]. to have a (1/1000) s time base.
     88   * Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
     89   * ClockDivision = 0
     90   * Counter direction = Up
     91   */
    9392  htim7.Init.Period = (1000000U / 1000U) - 1U;
    9493  htim7.Init.Prescaler = uwPrescalerValue;
  • ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c

    r109 r110  
    483483        {
    484484                HAL_GPIO_WritePin(RX1_LED_GPIO_Port, RX1_LED_Pin, GPIO_PIN_SET);
    485                 charge_tmp = (((int64_t)ADC2Data.Name.charge_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
    486                 load_tmp = (((int64_t)ADC2Data.Name.eload_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
    487                 charge_i = (float)charge_tmp / 500LL;
    488                 load_i = (float)load_tmp / 500LL;
     485                //charge_tmp = (((int64_t)ADC2Data.Name.charge_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
     486                //load_tmp = (((int64_t)ADC2Data.Name.eload_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
     487                //charge_i = (float)charge_tmp / 500LL;
     488                //load_i = (float)load_tmp / 500LL;
    489489                //printf("\t\t\t%5.2fA, %5.2fA\n", charge_i, load_i);
     490                printf("%d, %d\n", ADC2Data.Name.charge_strom, ADC2Data.Name.eload_strom);
    490491                HAL_GPIO_WritePin(RX1_LED_GPIO_Port, RX1_LED_Pin, GPIO_PIN_RESET);
    491492        }
  • ctrl/firmware/Main/CubeMX/charger.ioc

    r109 r110  
    217217Dma.USART3_TX.2.SyncSignalID=NONE
    218218FATFS.BSP.number=1
    219 FATFS.IPParameters=_USE_FIND,_USE_EXPAND,_USE_LABEL,_USE_LFN,_LFN_UNICODE,_MULTI_PARTITION,_FS_EXFAT,_USE_MUTEX,_FS_REENTRANT,_FS_NORTC,_NORTC_YEAR,_NORTC_MDAY,_NORTC_MON,_STRF_ENCODE,_USE_STRFUNC,_MAX_SS,_VOLUMES
    220 FATFS._FS_EXFAT=0
     219FATFS.IPParameters=_USE_FIND,_USE_LABEL,_USE_LFN,_LFN_UNICODE,_MULTI_PARTITION,_USE_MUTEX,_FS_REENTRANT,_FS_NORTC,_NORTC_YEAR,_NORTC_MDAY,_NORTC_MON,_STRF_ENCODE,_USE_STRFUNC,_MAX_SS,_VOLUMES
    221220FATFS._FS_NORTC=0
    222221FATFS._FS_REENTRANT=1
     
    228227FATFS._NORTC_YEAR=2025
    229228FATFS._STRF_ENCODE=0
    230 FATFS._USE_EXPAND=1
    231229FATFS._USE_FIND=1
    232230FATFS._USE_LABEL=1
     
    752750ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-MX_BDMA_Init-BDMA-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI4_Init-SPI4-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-SystemClock_Config-RCC-false-HAL-false,8-MX_FATFS_Init-FATFS-false-HAL-false,9-MX_TIM8_Init-TIM8-false-HAL-true,10-MX_SPI2_Init-SPI2-false-HAL-true,11-MX_USART2_UART_Init-USART2-false-HAL-true,12-MX_USART10_UART_Init-USART10-false-HAL-true,13-MX_TIM6_Init-TIM6-false-HAL-true,14-MX_I2C2_Init-I2C2-false-HAL-true,15-MX_ADC3_Init-ADC3-false-HAL-true,16-MX_TIM3_Init-TIM3-false-HAL-true,17-MX_I2C1_Init-I2C1-false-HAL-true,18-MX_USART3_UART_Init-USART3-false-HAL-true,19-MX_DTS_Init-DTS-false-HAL-true,20-MX_DAC1_Init-DAC1-false-HAL-true,21-MX_TIM1_Init-TIM1-false-HAL-true,22-MX_ADC2_Init-ADC2-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,0-MX_VREFBUF_Init-VREFBUF-false-HAL-true
    753751RCC.ADCCLockSelection=RCC_ADCCLKSOURCE_PLL3
    754 RCC.ADCFreq_Value=60000000
     752RCC.ADCFreq_Value=50000000
    755753RCC.AHB12Freq_Value=100000000
    756754RCC.AHB4Freq_Value=100000000
     
    772770RCC.DIVN1=40
    773771RCC.DIVN2=20
    774 RCC.DIVN3=180
     772RCC.DIVN3=150
    775773RCC.DIVP1Freq_Value=100000000
    776774RCC.DIVP2Freq_Value=125000000
    777 RCC.DIVP3Freq_Value=90000000
     775RCC.DIVP3Freq_Value=75000000
    778776RCC.DIVQ1Freq_Value=100000000
    779777RCC.DIVQ2=11
    780778RCC.DIVQ2Freq_Value=22727272.727272727
    781 RCC.DIVQ3=8
    782 RCC.DIVQ3Freq_Value=22500000
     779RCC.DIVQ3=6
     780RCC.DIVQ3Freq_Value=25000000
    783781RCC.DIVR1Freq_Value=100000000
    784782RCC.DIVR2=5
    785783RCC.DIVR2Freq_Value=50000000
    786784RCC.DIVR3=3
    787 RCC.DIVR3Freq_Value=60000000
     785RCC.DIVR3Freq_Value=50000000
     786RCC.EnbaleCSS=false
    788787RCC.FDCANFreq_Value=100000000
    789788RCC.FMCFreq_Value=100000000
     
    794793RCC.I2C123Freq_Value=64000000
    795794RCC.I2C4Freq_Value=100000000
    796 RCC.IPParameters=ADCCLockSelection,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,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,I2C123CLockSelection,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLLFRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMC1CLockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16CLockSelection,USART16Freq_Value,USART234578CLockSelection,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
     795RCC.IPParameters=ADCCLockSelection,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,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,EnbaleCSS,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,I2C123CLockSelection,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLL2_VCO_SEL-AdvancedSettings,PLLFRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMC1CLockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16CLockSelection,USART16Freq_Value,USART234578CLockSelection,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
    797796RCC.LPTIM1Freq_Value=100000000
    798797RCC.LPTIM2Freq_Value=100000000
    799798RCC.LPTIM345Freq_Value=100000000
    800799RCC.LPUART1Freq_Value=100000000
    801 RCC.LTDCFreq_Value=60000000
     800RCC.LTDCFreq_Value=50000000
    802801RCC.MCO1PinFreq_Value=64000000
    803802RCC.MCO2PinFreq_Value=100000000
    804803RCC.PLL2FRACN=0
    805804RCC.PLL2_VCI_Range-AdvancedSettings=RCC_PLL2VCIRANGE_3
     805RCC.PLL2_VCO_SEL-AdvancedSettings=RCC_PLL2VCOMEDIUM
    806806RCC.PLLFRACN=0
    807807RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
     
    829829RCC.TraceFreq_Value=100000000
    830830RCC.USART16CLockSelection=RCC_USART16910CLKSOURCE_PLL3
    831 RCC.USART16Freq_Value=22500000
     831RCC.USART16Freq_Value=25000000
    832832RCC.USART234578CLockSelection=RCC_USART234578CLKSOURCE_PLL3
    833 RCC.USART234578Freq_Value=22500000
     833RCC.USART234578Freq_Value=25000000
    834834RCC.USBFreq_Value=100000000
    835835RCC.VCO1OutputFreq_Value=200000000
    836836RCC.VCO2OutputFreq_Value=250000000
    837 RCC.VCO3OutputFreq_Value=180000000
     837RCC.VCO3OutputFreq_Value=150000000
    838838RCC.VCOInput1Freq_Value=5000000
    839839RCC.VCOInput2Freq_Value=12500000
Note: See TracChangeset for help on using the changeset viewer.