Kind of working current monitoring. Value scale looks right but unsure about channel assignment
This commit is contained in:
		@ -20,6 +20,7 @@
 | 
			
		||||
#define CUR_CHANNELS_2_ID 0xCB
 | 
			
		||||
#define CUR_CHANNELS_3_ID 0xCC
 | 
			
		||||
#define CUR_CHANNELS_4_ID 0xCD
 | 
			
		||||
#define LV_SENS_ID 0xCE
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
  PortExtenderGPIO iostatus;
 | 
			
		||||
 | 
			
		||||
@ -10,8 +10,13 @@
 | 
			
		||||
 | 
			
		||||
#include "stm32f3xx_hal.h"
 | 
			
		||||
 | 
			
		||||
// Convert ADC quants to V
 | 
			
		||||
#define ADC_V_FACTOR (3.3f / 4096)
 | 
			
		||||
// Scale to LV by divider to mV
 | 
			
		||||
#define LV_SENSE_FACTOR (1e3 * (ADC_V_FACTOR * ((27.f+8.2f)/8.2f)))
 | 
			
		||||
 | 
			
		||||
// Convert ADC quants to I_S in mA
 | 
			
		||||
#define CURR_SENSE_IS_FACTOR  ((3.3f / 4096) / 1.2f) // 3.3V / 12bit / 1.2kOhm
 | 
			
		||||
#define CURR_SENSE_IS_FACTOR  (ADC_V_FACTOR / 1.2f) // 3.3V / 12bit / 1.2kOhm
 | 
			
		||||
// Convert ADC quants to I_L in mA
 | 
			
		||||
#define CURR_SENSE_FACTOR_5A  (3700 * CURR_SENSE_IS_FACTOR)
 | 
			
		||||
#define CURR_SENSE_FACTOR_7_5A (5450 * CURR_SENSE_IS_FACTOR)
 | 
			
		||||
@ -36,6 +41,7 @@ typedef struct {
 | 
			
		||||
  uint16_t ebsvalve_a;
 | 
			
		||||
  uint16_t ebsvalve_b;
 | 
			
		||||
  uint16_t cooling_pump;
 | 
			
		||||
  uint16_t lv_v;
 | 
			
		||||
} CurrentMeasurements;
 | 
			
		||||
 | 
			
		||||
void currentMonitor_init(ADC_HandleTypeDef* hadc1, ADC_HandleTypeDef* hadc2,
 | 
			
		||||
 | 
			
		||||
@ -75,6 +75,8 @@ void Error_Handler(void);
 | 
			
		||||
#define isense3_GPIO_Port GPIOA
 | 
			
		||||
#define isense7_Pin GPIO_PIN_3
 | 
			
		||||
#define isense7_GPIO_Port GPIOA
 | 
			
		||||
#define isense9_Pin GPIO_PIN_4
 | 
			
		||||
#define isense9_GPIO_Port GPIOF
 | 
			
		||||
#define isense2_Pin GPIO_PIN_4
 | 
			
		||||
#define isense2_GPIO_Port GPIOA
 | 
			
		||||
#define isense1_Pin GPIO_PIN_5
 | 
			
		||||
@ -83,6 +85,8 @@ void Error_Handler(void);
 | 
			
		||||
#define isense10_GPIO_Port GPIOA
 | 
			
		||||
#define isense4_Pin GPIO_PIN_7
 | 
			
		||||
#define isense4_GPIO_Port GPIOA
 | 
			
		||||
#define LV_sens_Pin GPIO_PIN_4
 | 
			
		||||
#define LV_sens_GPIO_Port GPIOC
 | 
			
		||||
#define GSS_GPIO_Pin GPIO_PIN_0
 | 
			
		||||
#define GSS_GPIO_GPIO_Port GPIOB
 | 
			
		||||
#define DSEL_3_Pin GPIO_PIN_12
 | 
			
		||||
 | 
			
		||||
@ -56,9 +56,11 @@ void DebugMon_Handler(void);
 | 
			
		||||
void PendSV_Handler(void);
 | 
			
		||||
void SysTick_Handler(void);
 | 
			
		||||
void DMA1_Channel1_IRQHandler(void);
 | 
			
		||||
void ADC1_2_IRQHandler(void);
 | 
			
		||||
void USB_LP_CAN_RX0_IRQHandler(void);
 | 
			
		||||
void CAN_RX1_IRQHandler(void);
 | 
			
		||||
void CAN_SCE_IRQHandler(void);
 | 
			
		||||
void TIM6_DAC_IRQHandler(void);
 | 
			
		||||
void DMA2_Channel1_IRQHandler(void);
 | 
			
		||||
/* USER CODE BEGIN EFP */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -36,9 +36,8 @@ void can_sendloop() {
 | 
			
		||||
  ftcan_transmit(TX_STATUS_MSG_ID, status_data, 7);
 | 
			
		||||
 | 
			
		||||
  uint8_t data[8];
 | 
			
		||||
return;
 | 
			
		||||
  if (additionaltxcouter < 4) {
 | 
			
		||||
    switch (additionaltxcouter) {
 | 
			
		||||
 | 
			
		||||
  switch (additionaltxcouter) {
 | 
			
		||||
    case 0:
 | 
			
		||||
 | 
			
		||||
      data[0] = current_measurements_adc_val.always_on >> 8;
 | 
			
		||||
@ -91,13 +90,19 @@ return;
 | 
			
		||||
      ftcan_transmit(CUR_CHANNELS_4_ID, data, 8);
 | 
			
		||||
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case 4:
 | 
			
		||||
 | 
			
		||||
      data[0] = current_measurements_adc_val.lv_v >> 8;
 | 
			
		||||
      data[1] = current_measurements_adc_val.lv_v && 0xFF;
 | 
			
		||||
      ftcan_transmit(LV_SENS_ID, data, 2);
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    additionaltxcouter++;
 | 
			
		||||
  } else {
 | 
			
		||||
    additionaltxcouter = 0;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  additionaltxcouter = (additionaltxcouter+1) % 5;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t* data) {
 | 
			
		||||
 | 
			
		||||
@ -10,29 +10,30 @@
 | 
			
		||||
 | 
			
		||||
volatile union adc1_channels {
 | 
			
		||||
  struct {
 | 
			
		||||
    uint16_t isense12;  // acu
 | 
			
		||||
    uint16_t isense11;  // epsc
 | 
			
		||||
    uint16_t isense6;   // radiator fans 
 | 
			
		||||
    uint16_t isense13;  // tsac fans 
 | 
			
		||||
    uint16_t isense5;   // gss and lidar 
 | 
			
		||||
    uint16_t isense3;   // sdc and always on 
 | 
			
		||||
    uint16_t isense7;   // misc and inverters
 | 
			
		||||
    uint16_t isense5;   // LiDAR | GSS  (DSEL7)
 | 
			
		||||
    uint16_t isense3;   // AlwaysOn | SDC  (DSEL4)
 | 
			
		||||
    uint16_t isense7;   // Misc | Inverters  (DSEL5)
 | 
			
		||||
    uint16_t isense9;   // DRS
 | 
			
		||||
    uint16_t isense12;  // ACU 
 | 
			
		||||
    uint16_t isense11;  // EPSC = ELIAS 
 | 
			
		||||
    uint16_t isense6;   // Radiator Fans
 | 
			
		||||
    uint16_t isense13;  // TSAC Fans
 | 
			
		||||
  } adcbank1;
 | 
			
		||||
 | 
			
		||||
  uint16_t adcbuffer[7]; // array 7*16 bit
 | 
			
		||||
  uint16_t adcbuffer[8]; // array 8*16 bit
 | 
			
		||||
 
 | 
			
		||||
} adc_channels1;
 | 
			
		||||
// ADC's anpassen adc1 - 9, adc2 ist halt 5 , buffer anpassen und namen auch ( isense usw)
 | 
			
		||||
volatile union adc2_channels {
 | 
			
		||||
  struct {
 | 
			
		||||
    uint16_t isense2;    // ebs valve a and ebs valve b 
 | 
			
		||||
    uint16_t isense1;    // ebs cs valve 
 | 
			
		||||
    uint16_t isense10;   // hyr aggregat 
 | 
			
		||||
    uint16_t isense4;     // cooling pump and reserved 
 | 
			
		||||
 | 
			
		||||
    uint16_t isense2;    // EBS A | EBS B  (DSEL3)
 | 
			
		||||
    uint16_t isense1;    // EBS CS
 | 
			
		||||
    uint16_t isense10;   // Hydraulic Aggregate 
 | 
			
		||||
    uint16_t isense4;    // Water Pump | Reserved  (DSEL8)
 | 
			
		||||
    uint16_t lv_sens;    // LV voltage
 | 
			
		||||
  } adcbank1;
 | 
			
		||||
 | 
			
		||||
  uint16_t adcbuffer[4];
 | 
			
		||||
  uint16_t adcbuffer[5];
 | 
			
		||||
 | 
			
		||||
} adc_channels2;
 | 
			
		||||
 | 
			
		||||
@ -46,82 +47,97 @@ ADC_HandleTypeDef* adc2;
 | 
			
		||||
 | 
			
		||||
void currentMonitor_init(ADC_HandleTypeDef* hadc1, ADC_HandleTypeDef* hadc2, // init ist initilisierung 
 | 
			
		||||
                         TIM_HandleTypeDef* trigtim) {
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_3_GPIO_Port, DSEL_3_Pin, adcbank2); //DSELs zu adc's neu zuordnen 
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin, adcbank2);
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_3_GPIO_Port, DSEL_3_Pin, adcbank2);
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin, adcbank1);
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin, adcbank1);
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_7_GPIO_Port, DSEL_7_Pin, adcbank1);
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_8_GPIO_Port, DSEL_8_Pin, adcbank2);
 | 
			
		||||
  adc1 = hadc1;
 | 
			
		||||
  adc2 = hadc2;
 | 
			
		||||
  HAL_TIM_Base_Start(trigtim);
 | 
			
		||||
  HAL_ADC_Start_DMA(hadc1, (uint32_t*)adc_channels1.adcbuffer, 7);
 | 
			
		||||
  HAL_ADC_Start_DMA(hadc2, (uint32_t*)adc_channels2.adcbuffer, 7); // wie adc mit dma geht , red mit jasper
 | 
			
		||||
  HAL_ADC_Start_DMA(hadc1, (uint32_t*)adc_channels1.adcbuffer, 8);
 | 
			
		||||
  HAL_ADC_Start_DMA(hadc2, (uint32_t*)adc_channels2.adcbuffer, 5); // wie adc mit dma geht , red mit jasper
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t currentMonitor_checklimits() { return 0; }
 | 
			
		||||
 | 
			
		||||
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {
 | 
			
		||||
 | 
			
		||||
  if (hadc == adc1) {
 | 
			
		||||
 | 
			
		||||
    if (adcbank1 == GPIO_PIN_RESET) {
 | 
			
		||||
 | 
			
		||||
      current_measurements_adc_val.lidar      =
 | 
			
		||||
          adc_channels1.adcbank1.isense5 * CURR_SENSE_FACTOR_7_5A;
 | 
			
		||||
      current_measurements_adc_val.always_on  =
 | 
			
		||||
          adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.misc       =
 | 
			
		||||
          adc_channels1.adcbank1.isense7 * CURR_SENSE_FACTOR_7_5A; 
 | 
			
		||||
    
 | 
			
		||||
      adcbank1 = GPIO_PIN_SET;
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
      current_measurements_adc_val.gss        =
 | 
			
		||||
          adc_channels1.adcbank1.isense5 * CURR_SENSE_FACTOR_7_5A;
 | 
			
		||||
      current_measurements_adc_val.sdc        =
 | 
			
		||||
          adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.inverters  =
 | 
			
		||||
          adc_channels1.adcbank1.isense7 * CURR_SENSE_FACTOR_7_5A; 
 | 
			
		||||
 | 
			
		||||
      adcbank1 = GPIO_PIN_RESET;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    current_measurements_adc_val.servos         =
 | 
			
		||||
        adc_channels1.adcbank1.isense9  * CURR_SENSE_FACTOR_21A;
 | 
			
		||||
    current_measurements_adc_val.acu            =
 | 
			
		||||
        adc_channels1.adcbank1.isense12 * CURR_SENSE_FACTOR_31A;
 | 
			
		||||
    current_measurements_adc_val.epsc           =
 | 
			
		||||
        adc_channels1.adcbank1.isense11 * CURR_SENSE_FACTOR_21A;
 | 
			
		||||
    current_measurements_adc_val.radiator_fans  =
 | 
			
		||||
        adc_channels1.adcbank1.isense6  * CURR_SENSE_FACTOR_21A;
 | 
			
		||||
    current_measurements_adc_val.tsac_fans      =
 | 
			
		||||
        adc_channels1.adcbank1.isense13 * CURR_SENSE_FACTOR_31A;
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin, adcbank1); 
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin, adcbank1);                 
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_7_GPIO_Port, DSEL_7_Pin, adcbank1); 
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  if (hadc == adc2) {
 | 
			
		||||
 | 
			
		||||
    if (adcbank2 == GPIO_PIN_RESET) {
 | 
			
		||||
      current_measurements_adc_val.ebsvalve_a =
 | 
			
		||||
 | 
			
		||||
      current_measurements_adc_val.ebsvalve_a   =
 | 
			
		||||
          adc_channels2.adcbank1.isense2 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.cooling_pump =
 | 
			
		||||
          adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_7_5A;
 | 
			
		||||
      adcbank2 = GPIO_PIN_SET;
 | 
			
		||||
    } else {
 | 
			
		||||
      current_measurements_adc_val.ebsvalve_b =
 | 
			
		||||
          adc_channels2.adcbank1.isense2 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.reserved =
 | 
			
		||||
          adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_7_5A;
 | 
			
		||||
      adcbank2 = GPIO_PIN_RESET;
 | 
			
		||||
    }
 | 
			
		||||
    current_measurements_adc_val.ebs_cs_valve =
 | 
			
		||||
        adc_channels2.adcbank1.isense1 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
    current_measurements_adc_val.aggregat =
 | 
			
		||||
        adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_21A;
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_3_GPIO_Port, DSEL_3_Pin,
 | 
			
		||||
                      adcbank2);
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_8_GPIO_Port, DSEL_8_Pin,
 | 
			
		||||
                      adcbank2);
 | 
			
		||||
      adcbank2 = GPIO_PIN_SET;
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
      current_measurements_adc_val.ebsvalve_b   =
 | 
			
		||||
          adc_channels2.adcbank1.isense2 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.reserved     =
 | 
			
		||||
          adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_7_5A;
 | 
			
		||||
 | 
			
		||||
      adcbank2 = GPIO_PIN_RESET;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    current_measurements_adc_val.ebs_cs_valve =
 | 
			
		||||
        adc_channels2.adcbank1.isense1  * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
    current_measurements_adc_val.aggregat     =
 | 
			
		||||
        adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_21A;
 | 
			
		||||
    current_measurements_adc_val.lv_v         =
 | 
			
		||||
        adc_channels2.adcbank1.lv_sens  * LV_SENSE_FACTOR;
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_3_GPIO_Port, DSEL_3_Pin, adcbank2);
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_8_GPIO_Port, DSEL_8_Pin, adcbank2);
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (hadc == adc1) {
 | 
			
		||||
    if (adcbank1 == GPIO_PIN_RESET) {
 | 
			
		||||
      current_measurements_adc_val.sdc=
 | 
			
		||||
          adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.misc=
 | 
			
		||||
          adc_channels1.adcbank1.isense7 * CURR_SENSE_FACTOR_7_5A; 
 | 
			
		||||
      current_measurements_adc_val.gss=
 | 
			
		||||
          adc_channels1.adcbank1.isense5 * CURR_SENSE_FACTOR_7_5A; 
 | 
			
		||||
    
 | 
			
		||||
      adcbank1 = GPIO_PIN_SET;
 | 
			
		||||
    } else {
 | 
			
		||||
      current_measurements_adc_val.always_on =
 | 
			
		||||
          adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_5A;
 | 
			
		||||
      current_measurements_adc_val.inverters =
 | 
			
		||||
          adc_channels1.adcbank1.isense7 * CURR_SENSE_FACTOR_7_5A; 
 | 
			
		||||
      current_measurements_adc_val.lidar=
 | 
			
		||||
          adc_channels1.adcbank1.isense5 * CURR_SENSE_FACTOR_7_5A; 
 | 
			
		||||
      adcbank1 = GPIO_PIN_RESET;
 | 
			
		||||
    }
 | 
			
		||||
    current_measurements_adc_val.acu=
 | 
			
		||||
        adc_channels1.adcbank1.isense12 * CURR_SENSE_FACTOR_31A;
 | 
			
		||||
    current_measurements_adc_val.epsc =
 | 
			
		||||
        adc_channels1.adcbank1.isense11 * CURR_SENSE_FACTOR_21A;
 | 
			
		||||
    current_measurements_adc_val.tsac_fans =
 | 
			
		||||
        adc_channels1.adcbank1.isense13 * CURR_SENSE_FACTOR_31A;
 | 
			
		||||
    current_measurements_adc_val.radiator_fans=
 | 
			
		||||
          adc_channels1.adcbank1.isense6 * CURR_SENSE_FACTOR_21A; 
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin,
 | 
			
		||||
                      adcbank1); 
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin,
 | 
			
		||||
                      adcbank1);                 
 | 
			
		||||
    HAL_GPIO_WritePin(DSEL_7_GPIO_Port, DSEL_7_Pin,
 | 
			
		||||
                      adcbank1); 
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
 // current monitoring c und h anpassen 
 | 
			
		||||
}
 | 
			
		||||
@ -279,7 +279,7 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
  hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
 | 
			
		||||
  hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T6_TRGO;
 | 
			
		||||
  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
 | 
			
		||||
  hadc1.Init.NbrOfConversion = 7;
 | 
			
		||||
  hadc1.Init.NbrOfConversion = 8;
 | 
			
		||||
  hadc1.Init.DMAContinuousRequests = ENABLE;
 | 
			
		||||
  hadc1.Init.EOCSelection = ADC_EOC_SEQ_CONV;
 | 
			
		||||
  hadc1.Init.LowPowerAutoWait = DISABLE;
 | 
			
		||||
@ -299,10 +299,10 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_1;
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_2;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_1;
 | 
			
		||||
  sConfig.SingleDiff = ADC_SINGLE_ENDED;
 | 
			
		||||
  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
 | 
			
		||||
  sConfig.SamplingTime = ADC_SAMPLETIME_61CYCLES_5;
 | 
			
		||||
  sConfig.OffsetNumber = ADC_OFFSET_NONE;
 | 
			
		||||
  sConfig.Offset = 0;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
@ -312,6 +312,7 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_3;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_2;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -320,6 +321,7 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_4;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_3;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -328,6 +330,7 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_5;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_4;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -336,6 +339,7 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_6;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_5;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -344,6 +348,7 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_7;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_6;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -352,11 +357,21 @@ static void MX_ADC1_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_8;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_7;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
    Error_Handler();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_9;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_8;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
    Error_Handler();
 | 
			
		||||
  }
 | 
			
		||||
  /* USER CODE BEGIN ADC1_Init 2 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC1_Init 2 */
 | 
			
		||||
@ -392,7 +407,7 @@ static void MX_ADC2_Init(void)
 | 
			
		||||
  hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
 | 
			
		||||
  hadc2.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T6_TRGO;
 | 
			
		||||
  hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
 | 
			
		||||
  hadc2.Init.NbrOfConversion = 7;
 | 
			
		||||
  hadc2.Init.NbrOfConversion = 5;
 | 
			
		||||
  hadc2.Init.DMAContinuousRequests = ENABLE;
 | 
			
		||||
  hadc2.Init.EOCSelection = ADC_EOC_SEQ_CONV;
 | 
			
		||||
  hadc2.Init.LowPowerAutoWait = DISABLE;
 | 
			
		||||
@ -407,7 +422,7 @@ static void MX_ADC2_Init(void)
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_1;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_1;
 | 
			
		||||
  sConfig.SingleDiff = ADC_SINGLE_ENDED;
 | 
			
		||||
  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
 | 
			
		||||
  sConfig.SamplingTime = ADC_SAMPLETIME_61CYCLES_5;
 | 
			
		||||
  sConfig.OffsetNumber = ADC_OFFSET_NONE;
 | 
			
		||||
  sConfig.Offset = 0;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
@ -417,6 +432,7 @@ static void MX_ADC2_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_2;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_2;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -425,6 +441,7 @@ static void MX_ADC2_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_3;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_3;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -433,6 +450,7 @@ static void MX_ADC2_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_4;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_4;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
@ -441,27 +459,12 @@ static void MX_ADC2_Init(void)
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Channel = ADC_CHANNEL_5;
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_5;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
    Error_Handler();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_6;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
    Error_Handler();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /** Configure Regular Channel
 | 
			
		||||
  */
 | 
			
		||||
  sConfig.Rank = ADC_REGULAR_RANK_7;
 | 
			
		||||
  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
 | 
			
		||||
  {
 | 
			
		||||
    Error_Handler();
 | 
			
		||||
  }
 | 
			
		||||
  /* USER CODE BEGIN ADC2_Init 2 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC2_Init 2 */
 | 
			
		||||
@ -769,6 +772,9 @@ static void MX_GPIO_Init(void)
 | 
			
		||||
  __HAL_RCC_GPIOA_CLK_ENABLE();
 | 
			
		||||
  __HAL_RCC_GPIOB_CLK_ENABLE();
 | 
			
		||||
 | 
			
		||||
  /*Configure GPIO pin Output Level */
 | 
			
		||||
  HAL_GPIO_WritePin(DSEL_8_GPIO_Port, DSEL_8_Pin, GPIO_PIN_RESET);
 | 
			
		||||
 | 
			
		||||
  /*Configure GPIO pin Output Level */
 | 
			
		||||
  HAL_GPIO_WritePin(GPIOB, GSS_GPIO_Pin|DSEL_3_Pin|DSEL_4_Pin|DSEL_5_Pin
 | 
			
		||||
                          |DSEL_6_Pin|DSEL_7_Pin, GPIO_PIN_RESET);
 | 
			
		||||
@ -776,6 +782,13 @@ static void MX_GPIO_Init(void)
 | 
			
		||||
  /*Configure GPIO pin Output Level */
 | 
			
		||||
  HAL_GPIO_WritePin(GPIOC, STATUS_LED1_Pin|STATUS_LED2_Pin|STATUS_LED3_Pin|STATUS_LED4_Pin, GPIO_PIN_RESET);
 | 
			
		||||
 | 
			
		||||
  /*Configure GPIO pin : DSEL_8_Pin */
 | 
			
		||||
  GPIO_InitStruct.Pin = DSEL_8_Pin;
 | 
			
		||||
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 | 
			
		||||
  GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
			
		||||
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 | 
			
		||||
  HAL_GPIO_Init(DSEL_8_GPIO_Port, &GPIO_InitStruct);
 | 
			
		||||
 | 
			
		||||
  /*Configure GPIO pins : GSS_GPIO_Pin DSEL_3_Pin DSEL_4_Pin DSEL_5_Pin
 | 
			
		||||
                           DSEL_6_Pin DSEL_7_Pin */
 | 
			
		||||
  GPIO_InitStruct.Pin = GSS_GPIO_Pin|DSEL_3_Pin|DSEL_4_Pin|DSEL_5_Pin
 | 
			
		||||
 | 
			
		||||
@ -106,26 +106,32 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
 | 
			
		||||
 | 
			
		||||
    __HAL_RCC_GPIOC_CLK_ENABLE();
 | 
			
		||||
    __HAL_RCC_GPIOA_CLK_ENABLE();
 | 
			
		||||
    __HAL_RCC_GPIOF_CLK_ENABLE();
 | 
			
		||||
    /**ADC1 GPIO Configuration
 | 
			
		||||
    PC0     ------> ADC1_IN6
 | 
			
		||||
    PC1     ------> ADC1_IN7
 | 
			
		||||
    PC2     ------> ADC1_IN8
 | 
			
		||||
    PC3     ------> ADC1_IN9
 | 
			
		||||
    PA0     ------> ADC1_IN1
 | 
			
		||||
    PA1     ------> ADC1_IN2
 | 
			
		||||
    PA2     ------> ADC1_IN3
 | 
			
		||||
    PA3     ------> ADC1_IN4
 | 
			
		||||
    PF4     ------> ADC1_IN5
 | 
			
		||||
    */
 | 
			
		||||
    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|isense5_Pin|isense3_Pin|isense7_Pin;
 | 
			
		||||
    GPIO_InitStruct.Pin = isense5_Pin|isense3_Pin|isense7_Pin;
 | 
			
		||||
    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
 | 
			
		||||
    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
			
		||||
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 | 
			
		||||
 | 
			
		||||
    GPIO_InitStruct.Pin = isense9_Pin;
 | 
			
		||||
    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
 | 
			
		||||
    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
			
		||||
    HAL_GPIO_Init(isense9_GPIO_Port, &GPIO_InitStruct);
 | 
			
		||||
 | 
			
		||||
    /* ADC1 DMA Init */
 | 
			
		||||
    /* ADC1 Init */
 | 
			
		||||
    hdma_adc1.Instance = DMA1_Channel1;
 | 
			
		||||
@ -143,6 +149,9 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
 | 
			
		||||
 | 
			
		||||
    __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc1);
 | 
			
		||||
 | 
			
		||||
    /* ADC1 interrupt Init */
 | 
			
		||||
    HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0);
 | 
			
		||||
    HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
 | 
			
		||||
  /* USER CODE BEGIN ADC1_MspInit 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC1_MspInit 1 */
 | 
			
		||||
@ -172,10 +181,10 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
 | 
			
		||||
    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
			
		||||
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 | 
			
		||||
 | 
			
		||||
    GPIO_InitStruct.Pin = GPIO_PIN_4;
 | 
			
		||||
    GPIO_InitStruct.Pin = LV_sens_Pin;
 | 
			
		||||
    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
 | 
			
		||||
    GPIO_InitStruct.Pull = GPIO_NOPULL;
 | 
			
		||||
    HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
 | 
			
		||||
    HAL_GPIO_Init(LV_sens_GPIO_Port, &GPIO_InitStruct);
 | 
			
		||||
 | 
			
		||||
    /* ADC2 DMA Init */
 | 
			
		||||
    /* ADC2 Init */
 | 
			
		||||
@ -194,6 +203,9 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
 | 
			
		||||
 | 
			
		||||
    __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc2);
 | 
			
		||||
 | 
			
		||||
    /* ADC2 interrupt Init */
 | 
			
		||||
    HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0);
 | 
			
		||||
    HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
 | 
			
		||||
  /* USER CODE BEGIN ADC2_MspInit 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC2_MspInit 1 */
 | 
			
		||||
@ -225,17 +237,29 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
 | 
			
		||||
    PC1     ------> ADC1_IN7
 | 
			
		||||
    PC2     ------> ADC1_IN8
 | 
			
		||||
    PC3     ------> ADC1_IN9
 | 
			
		||||
    PA0     ------> ADC1_IN1
 | 
			
		||||
    PA1     ------> ADC1_IN2
 | 
			
		||||
    PA2     ------> ADC1_IN3
 | 
			
		||||
    PA3     ------> ADC1_IN4
 | 
			
		||||
    PF4     ------> ADC1_IN5
 | 
			
		||||
    */
 | 
			
		||||
    HAL_GPIO_DeInit(GPIOC, isense12_Pin|isense11_Pin|isense6_Pin|isense13_Pin);
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_DeInit(GPIOA, DSEL_8_Pin|isense5_Pin|isense3_Pin|isense7_Pin);
 | 
			
		||||
    HAL_GPIO_DeInit(GPIOA, isense5_Pin|isense3_Pin|isense7_Pin);
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_DeInit(isense9_GPIO_Port, isense9_Pin);
 | 
			
		||||
 | 
			
		||||
    /* ADC1 DMA DeInit */
 | 
			
		||||
    HAL_DMA_DeInit(hadc->DMA_Handle);
 | 
			
		||||
 | 
			
		||||
    /* ADC1 interrupt DeInit */
 | 
			
		||||
  /* USER CODE BEGIN ADC1:ADC1_2_IRQn disable */
 | 
			
		||||
    /**
 | 
			
		||||
    * Uncomment the line below to disable the "ADC1_2_IRQn" interrupt
 | 
			
		||||
    * Be aware, disabling shared interrupt may affect other IPs
 | 
			
		||||
    */
 | 
			
		||||
    /* HAL_NVIC_DisableIRQ(ADC1_2_IRQn); */
 | 
			
		||||
  /* USER CODE END ADC1:ADC1_2_IRQn disable */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE BEGIN ADC1_MspDeInit 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC1_MspDeInit 1 */
 | 
			
		||||
@ -260,10 +284,20 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
 | 
			
		||||
    */
 | 
			
		||||
    HAL_GPIO_DeInit(GPIOA, isense2_Pin|isense1_Pin|isense10_Pin|isense4_Pin);
 | 
			
		||||
 | 
			
		||||
    HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4);
 | 
			
		||||
    HAL_GPIO_DeInit(LV_sens_GPIO_Port, LV_sens_Pin);
 | 
			
		||||
 | 
			
		||||
    /* ADC2 DMA DeInit */
 | 
			
		||||
    HAL_DMA_DeInit(hadc->DMA_Handle);
 | 
			
		||||
 | 
			
		||||
    /* ADC2 interrupt DeInit */
 | 
			
		||||
  /* USER CODE BEGIN ADC2:ADC1_2_IRQn disable */
 | 
			
		||||
    /**
 | 
			
		||||
    * Uncomment the line below to disable the "ADC1_2_IRQn" interrupt
 | 
			
		||||
    * Be aware, disabling shared interrupt may affect other IPs
 | 
			
		||||
    */
 | 
			
		||||
    /* HAL_NVIC_DisableIRQ(ADC1_2_IRQn); */
 | 
			
		||||
  /* USER CODE END ADC2:ADC1_2_IRQn disable */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE BEGIN ADC2_MspDeInit 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC2_MspDeInit 1 */
 | 
			
		||||
@ -477,6 +511,9 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
 | 
			
		||||
  /* USER CODE END TIM6_MspInit 0 */
 | 
			
		||||
    /* Peripheral clock enable */
 | 
			
		||||
    __HAL_RCC_TIM6_CLK_ENABLE();
 | 
			
		||||
    /* TIM6 interrupt Init */
 | 
			
		||||
    HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
 | 
			
		||||
    HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
 | 
			
		||||
  /* USER CODE BEGIN TIM6_MspInit 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END TIM6_MspInit 1 */
 | 
			
		||||
@ -580,6 +617,9 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
 | 
			
		||||
  /* USER CODE END TIM6_MspDeInit 0 */
 | 
			
		||||
    /* Peripheral clock disable */
 | 
			
		||||
    __HAL_RCC_TIM6_CLK_DISABLE();
 | 
			
		||||
 | 
			
		||||
    /* TIM6 interrupt DeInit */
 | 
			
		||||
    HAL_NVIC_DisableIRQ(TIM6_DAC_IRQn);
 | 
			
		||||
  /* USER CODE BEGIN TIM6_MspDeInit 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END TIM6_MspDeInit 1 */
 | 
			
		||||
 | 
			
		||||
@ -57,7 +57,10 @@
 | 
			
		||||
/* External variables --------------------------------------------------------*/
 | 
			
		||||
extern DMA_HandleTypeDef hdma_adc1;
 | 
			
		||||
extern DMA_HandleTypeDef hdma_adc2;
 | 
			
		||||
extern ADC_HandleTypeDef hadc1;
 | 
			
		||||
extern ADC_HandleTypeDef hadc2;
 | 
			
		||||
extern CAN_HandleTypeDef hcan;
 | 
			
		||||
extern TIM_HandleTypeDef htim6;
 | 
			
		||||
/* USER CODE BEGIN EV */
 | 
			
		||||
 | 
			
		||||
/* USER CODE END EV */
 | 
			
		||||
@ -215,6 +218,21 @@ void DMA1_Channel1_IRQHandler(void)
 | 
			
		||||
  /* USER CODE END DMA1_Channel1_IRQn 1 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief This function handles ADC1 and ADC2 interrupts.
 | 
			
		||||
  */
 | 
			
		||||
void ADC1_2_IRQHandler(void)
 | 
			
		||||
{
 | 
			
		||||
  /* USER CODE BEGIN ADC1_2_IRQn 0 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC1_2_IRQn 0 */
 | 
			
		||||
  HAL_ADC_IRQHandler(&hadc1);
 | 
			
		||||
  HAL_ADC_IRQHandler(&hadc2);
 | 
			
		||||
  /* USER CODE BEGIN ADC1_2_IRQn 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END ADC1_2_IRQn 1 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief This function handles USB low priority or CAN_RX0 interrupts.
 | 
			
		||||
  */
 | 
			
		||||
@ -257,6 +275,20 @@ void CAN_SCE_IRQHandler(void)
 | 
			
		||||
  /* USER CODE END CAN_SCE_IRQn 1 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief This function handles Timer 6 interrupt and DAC underrun interrupts.
 | 
			
		||||
  */
 | 
			
		||||
void TIM6_DAC_IRQHandler(void)
 | 
			
		||||
{
 | 
			
		||||
  /* USER CODE BEGIN TIM6_DAC_IRQn 0 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END TIM6_DAC_IRQn 0 */
 | 
			
		||||
  HAL_TIM_IRQHandler(&htim6);
 | 
			
		||||
  /* USER CODE BEGIN TIM6_DAC_IRQn 1 */
 | 
			
		||||
 | 
			
		||||
  /* USER CODE END TIM6_DAC_IRQn 1 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief This function handles DMA2 channel1 global interrupt.
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										198
									
								
								PDU FT24 MCU.ioc
									
									
									
									
									
								
							
							
						
						
									
										198
									
								
								PDU FT24 MCU.ioc
									
									
									
									
									
								
							@ -1,102 +1,91 @@
 | 
			
		||||
#MicroXplorer Configuration settings - do not modify
 | 
			
		||||
ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-6\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC1.Channel-11\#ChannelRegularConversion=ADC_CHANNEL_2
 | 
			
		||||
ADC1.Channel-12\#ChannelRegularConversion=ADC_CHANNEL_3
 | 
			
		||||
ADC1.Channel-13\#ChannelRegularConversion=ADC_CHANNEL_4
 | 
			
		||||
ADC1.Channel-14\#ChannelRegularConversion=ADC_CHANNEL_5
 | 
			
		||||
ADC1.Channel-15\#ChannelRegularConversion=ADC_CHANNEL_6
 | 
			
		||||
ADC1.Channel-16\#ChannelRegularConversion=ADC_CHANNEL_7
 | 
			
		||||
ADC1.Channel-17\#ChannelRegularConversion=ADC_CHANNEL_8
 | 
			
		||||
ADC1.Channel-18\#ChannelRegularConversion=ADC_CHANNEL_9
 | 
			
		||||
ADC1.DMAContinuousRequests=ENABLE
 | 
			
		||||
ADC1.EOCSelection=ADC_EOC_SEQ_CONV
 | 
			
		||||
ADC1.EnableRegularConversion=ENABLE
 | 
			
		||||
ADC1.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T6_TRGO
 | 
			
		||||
ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,master,DMAContinuousRequests,NbrOfConversion,EOCSelection,ExternalTrigConv,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,SamplingTimeOPAMP-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,Offset-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,SamplingTimeOPAMP-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,Offset-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,SamplingTimeOPAMP-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,Offset-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,SamplingTimeOPAMP-4\#ChannelRegularConversion,OffsetNumber-4\#ChannelRegularConversion,Offset-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,SamplingTimeOPAMP-5\#ChannelRegularConversion,OffsetNumber-5\#ChannelRegularConversion,Offset-5\#ChannelRegularConversion,Rank-6\#ChannelRegularConversion,Channel-6\#ChannelRegularConversion,SamplingTime-6\#ChannelRegularConversion,SamplingTimeOPAMP-6\#ChannelRegularConversion,OffsetNumber-6\#ChannelRegularConversion,Offset-6\#ChannelRegularConversion
 | 
			
		||||
ADC1.NbrOfConversion=7
 | 
			
		||||
ADC1.IPParameters=DMAContinuousRequests,EOCSelection,EnableRegularConversion,Rank-11\#ChannelRegularConversion,Channel-11\#ChannelRegularConversion,SamplingTime-11\#ChannelRegularConversion,OffsetNumber-11\#ChannelRegularConversion,Offset-11\#ChannelRegularConversion,NbrOfConversionFlag,Rank-12\#ChannelRegularConversion,Channel-12\#ChannelRegularConversion,SamplingTime-12\#ChannelRegularConversion,OffsetNumber-12\#ChannelRegularConversion,Offset-12\#ChannelRegularConversion,Rank-13\#ChannelRegularConversion,Channel-13\#ChannelRegularConversion,SamplingTime-13\#ChannelRegularConversion,OffsetNumber-13\#ChannelRegularConversion,Offset-13\#ChannelRegularConversion,Rank-14\#ChannelRegularConversion,Channel-14\#ChannelRegularConversion,SamplingTime-14\#ChannelRegularConversion,OffsetNumber-14\#ChannelRegularConversion,Offset-14\#ChannelRegularConversion,Rank-15\#ChannelRegularConversion,Channel-15\#ChannelRegularConversion,SamplingTime-15\#ChannelRegularConversion,OffsetNumber-15\#ChannelRegularConversion,Offset-15\#ChannelRegularConversion,Rank-16\#ChannelRegularConversion,Channel-16\#ChannelRegularConversion,SamplingTime-16\#ChannelRegularConversion,OffsetNumber-16\#ChannelRegularConversion,Offset-16\#ChannelRegularConversion,Rank-17\#ChannelRegularConversion,Channel-17\#ChannelRegularConversion,SamplingTime-17\#ChannelRegularConversion,OffsetNumber-17\#ChannelRegularConversion,Offset-17\#ChannelRegularConversion,NbrOfConversion,ExternalTrigConv,master,Rank-18\#ChannelRegularConversion,Channel-18\#ChannelRegularConversion,SamplingTime-18\#ChannelRegularConversion,SamplingTimeOPAMP-18\#ChannelRegularConversion,OffsetNumber-18\#ChannelRegularConversion,Offset-18\#ChannelRegularConversion
 | 
			
		||||
ADC1.NbrOfConversion=8
 | 
			
		||||
ADC1.NbrOfConversionFlag=1
 | 
			
		||||
ADC1.Offset-0\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-1\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-2\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-3\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-4\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-5\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-6\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-1\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-4\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-5\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-6\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.Rank-0\#ChannelRegularConversion=1
 | 
			
		||||
ADC1.Rank-1\#ChannelRegularConversion=2
 | 
			
		||||
ADC1.Rank-2\#ChannelRegularConversion=3
 | 
			
		||||
ADC1.Rank-3\#ChannelRegularConversion=4
 | 
			
		||||
ADC1.Rank-4\#ChannelRegularConversion=5
 | 
			
		||||
ADC1.Rank-5\#ChannelRegularConversion=6
 | 
			
		||||
ADC1.Rank-6\#ChannelRegularConversion=7
 | 
			
		||||
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTime-5\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTime-6\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-1\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-2\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-3\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-4\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-5\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-6\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.Offset-11\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-12\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-13\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-14\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-15\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-16\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-17\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.Offset-18\#ChannelRegularConversion=0
 | 
			
		||||
ADC1.OffsetNumber-11\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-12\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-13\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-14\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-15\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-16\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-17\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.OffsetNumber-18\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC1.Rank-11\#ChannelRegularConversion=1
 | 
			
		||||
ADC1.Rank-12\#ChannelRegularConversion=2
 | 
			
		||||
ADC1.Rank-13\#ChannelRegularConversion=3
 | 
			
		||||
ADC1.Rank-14\#ChannelRegularConversion=4
 | 
			
		||||
ADC1.Rank-15\#ChannelRegularConversion=5
 | 
			
		||||
ADC1.Rank-16\#ChannelRegularConversion=6
 | 
			
		||||
ADC1.Rank-17\#ChannelRegularConversion=7
 | 
			
		||||
ADC1.Rank-18\#ChannelRegularConversion=8
 | 
			
		||||
ADC1.SamplingTime-11\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-12\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-13\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-14\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-15\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-16\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-17\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTime-18\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.SamplingTimeOPAMP-18\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC1.master=1
 | 
			
		||||
ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-6\#ChannelRegularConversion=ADC_CHANNEL_1
 | 
			
		||||
ADC2.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_2
 | 
			
		||||
ADC2.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_3
 | 
			
		||||
ADC2.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_4
 | 
			
		||||
ADC2.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_5
 | 
			
		||||
ADC2.ClockPrescaler=ADC_CLOCK_ASYNC_DIV1
 | 
			
		||||
ADC2.DMAContinuousRequests=ENABLE
 | 
			
		||||
ADC2.EOCSelection=ADC_EOC_SEQ_CONV
 | 
			
		||||
ADC2.EnableInjectedConversion=DISABLE
 | 
			
		||||
ADC2.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T6_TRGO
 | 
			
		||||
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,ClockPrescaler,LowPowerAutoWait,DMAContinuousRequests,EOCSelection,NbrOfConversion,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,SamplingTimeOPAMP-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,Offset-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,SamplingTimeOPAMP-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,Offset-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,SamplingTimeOPAMP-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,Offset-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,SamplingTimeOPAMP-4\#ChannelRegularConversion,OffsetNumber-4\#ChannelRegularConversion,Offset-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,SamplingTimeOPAMP-5\#ChannelRegularConversion,OffsetNumber-5\#ChannelRegularConversion,Offset-5\#ChannelRegularConversion,Rank-6\#ChannelRegularConversion,Channel-6\#ChannelRegularConversion,SamplingTime-6\#ChannelRegularConversion,SamplingTimeOPAMP-6\#ChannelRegularConversion,OffsetNumber-6\#ChannelRegularConversion,Offset-6\#ChannelRegularConversion,ExternalTrigConv,EnableInjectedConversion
 | 
			
		||||
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,Offset-0\#ChannelRegularConversion,NbrOfConversionFlag,ClockPrescaler,LowPowerAutoWait,DMAContinuousRequests,EOCSelection,NbrOfConversion,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,SamplingTimeOPAMP-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,Offset-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,SamplingTimeOPAMP-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,Offset-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,SamplingTimeOPAMP-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,Offset-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,SamplingTimeOPAMP-4\#ChannelRegularConversion,OffsetNumber-4\#ChannelRegularConversion,Offset-4\#ChannelRegularConversion,ExternalTrigConv,EnableInjectedConversion
 | 
			
		||||
ADC2.LowPowerAutoWait=DISABLE
 | 
			
		||||
ADC2.NbrOfConversion=7
 | 
			
		||||
ADC2.NbrOfConversion=5
 | 
			
		||||
ADC2.NbrOfConversionFlag=1
 | 
			
		||||
ADC2.Offset-0\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.Offset-1\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.Offset-2\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.Offset-3\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.Offset-4\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.Offset-5\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.Offset-6\#ChannelRegularConversion=0
 | 
			
		||||
ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.OffsetNumber-1\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.OffsetNumber-4\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.OffsetNumber-5\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.OffsetNumber-6\#ChannelRegularConversion=ADC_OFFSET_NONE
 | 
			
		||||
ADC2.Rank-0\#ChannelRegularConversion=1
 | 
			
		||||
ADC2.Rank-1\#ChannelRegularConversion=2
 | 
			
		||||
ADC2.Rank-2\#ChannelRegularConversion=3
 | 
			
		||||
ADC2.Rank-3\#ChannelRegularConversion=4
 | 
			
		||||
ADC2.Rank-4\#ChannelRegularConversion=5
 | 
			
		||||
ADC2.Rank-5\#ChannelRegularConversion=6
 | 
			
		||||
ADC2.Rank-6\#ChannelRegularConversion=7
 | 
			
		||||
ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-5\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-6\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
 | 
			
		||||
ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTimeOPAMP-1\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTimeOPAMP-2\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTimeOPAMP-3\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTimeOPAMP-4\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTimeOPAMP-5\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
ADC2.SamplingTimeOPAMP-6\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5
 | 
			
		||||
CAD.formats=
 | 
			
		||||
CAD.pinconfig=
 | 
			
		||||
CAD.provider=
 | 
			
		||||
@ -154,49 +143,51 @@ Mcu.Name=STM32F302R(B-C)Tx
 | 
			
		||||
Mcu.Package=LQFP64
 | 
			
		||||
Mcu.Pin0=PF0-OSC_IN
 | 
			
		||||
Mcu.Pin1=PF1-OSC_OUT
 | 
			
		||||
Mcu.Pin10=PA4
 | 
			
		||||
Mcu.Pin11=PA5
 | 
			
		||||
Mcu.Pin12=PA6
 | 
			
		||||
Mcu.Pin13=PA7
 | 
			
		||||
Mcu.Pin14=PC4
 | 
			
		||||
Mcu.Pin15=PB0
 | 
			
		||||
Mcu.Pin16=PB1
 | 
			
		||||
Mcu.Pin17=PB10
 | 
			
		||||
Mcu.Pin18=PB12
 | 
			
		||||
Mcu.Pin19=PB13
 | 
			
		||||
Mcu.Pin10=PF4
 | 
			
		||||
Mcu.Pin11=PA4
 | 
			
		||||
Mcu.Pin12=PA5
 | 
			
		||||
Mcu.Pin13=PA6
 | 
			
		||||
Mcu.Pin14=PA7
 | 
			
		||||
Mcu.Pin15=PC4
 | 
			
		||||
Mcu.Pin16=PB0
 | 
			
		||||
Mcu.Pin17=PB1
 | 
			
		||||
Mcu.Pin18=PB10
 | 
			
		||||
Mcu.Pin19=PB12
 | 
			
		||||
Mcu.Pin2=PC0
 | 
			
		||||
Mcu.Pin20=PB14
 | 
			
		||||
Mcu.Pin21=PB15
 | 
			
		||||
Mcu.Pin22=PC6
 | 
			
		||||
Mcu.Pin23=PC7
 | 
			
		||||
Mcu.Pin24=PC8
 | 
			
		||||
Mcu.Pin25=PC9
 | 
			
		||||
Mcu.Pin26=PA9
 | 
			
		||||
Mcu.Pin27=PA10
 | 
			
		||||
Mcu.Pin28=PA11
 | 
			
		||||
Mcu.Pin29=PA12
 | 
			
		||||
Mcu.Pin20=PB13
 | 
			
		||||
Mcu.Pin21=PB14
 | 
			
		||||
Mcu.Pin22=PB15
 | 
			
		||||
Mcu.Pin23=PC6
 | 
			
		||||
Mcu.Pin24=PC7
 | 
			
		||||
Mcu.Pin25=PC8
 | 
			
		||||
Mcu.Pin26=PC9
 | 
			
		||||
Mcu.Pin27=PA9
 | 
			
		||||
Mcu.Pin28=PA10
 | 
			
		||||
Mcu.Pin29=PA11
 | 
			
		||||
Mcu.Pin3=PC1
 | 
			
		||||
Mcu.Pin30=PA13
 | 
			
		||||
Mcu.Pin31=PA14
 | 
			
		||||
Mcu.Pin32=PA15
 | 
			
		||||
Mcu.Pin33=PB3
 | 
			
		||||
Mcu.Pin34=PB4
 | 
			
		||||
Mcu.Pin35=PB7
 | 
			
		||||
Mcu.Pin36=PB9
 | 
			
		||||
Mcu.Pin37=VP_SYS_VS_Systick
 | 
			
		||||
Mcu.Pin38=VP_TIM6_VS_ClockSourceINT
 | 
			
		||||
Mcu.Pin30=PA12
 | 
			
		||||
Mcu.Pin31=PA13
 | 
			
		||||
Mcu.Pin32=PA14
 | 
			
		||||
Mcu.Pin33=PA15
 | 
			
		||||
Mcu.Pin34=PB3
 | 
			
		||||
Mcu.Pin35=PB4
 | 
			
		||||
Mcu.Pin36=PB7
 | 
			
		||||
Mcu.Pin37=PB9
 | 
			
		||||
Mcu.Pin38=VP_SYS_VS_Systick
 | 
			
		||||
Mcu.Pin39=VP_TIM6_VS_ClockSourceINT
 | 
			
		||||
Mcu.Pin4=PC2
 | 
			
		||||
Mcu.Pin5=PC3
 | 
			
		||||
Mcu.Pin6=PA0
 | 
			
		||||
Mcu.Pin7=PA1
 | 
			
		||||
Mcu.Pin8=PA2
 | 
			
		||||
Mcu.Pin9=PA3
 | 
			
		||||
Mcu.PinsNb=39
 | 
			
		||||
Mcu.PinsNb=40
 | 
			
		||||
Mcu.ThirdPartyNb=0
 | 
			
		||||
Mcu.UserConstants=
 | 
			
		||||
Mcu.UserName=STM32F302RBTx
 | 
			
		||||
MxCube.Version=6.11.1
 | 
			
		||||
MxDb.Version=DB.6.0.111
 | 
			
		||||
NVIC.ADC1_2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 | 
			
		||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 | 
			
		||||
NVIC.CAN_RX1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 | 
			
		||||
NVIC.CAN_SCE_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 | 
			
		||||
@ -211,13 +202,13 @@ NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 | 
			
		||||
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
 | 
			
		||||
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 | 
			
		||||
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
 | 
			
		||||
NVIC.TIM6_DAC_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 | 
			
		||||
NVIC.USB_LP_CAN_RX0_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 | 
			
		||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 | 
			
		||||
PA0.GPIOParameters=GPIO_Label
 | 
			
		||||
PA0.GPIO_Label=DSEL 8
 | 
			
		||||
PA0.Locked=true
 | 
			
		||||
PA0.Mode=IN1-Single-Ended
 | 
			
		||||
PA0.Signal=ADC1_IN1
 | 
			
		||||
PA0.Signal=GPIO_Output
 | 
			
		||||
PA1.GPIOParameters=GPIO_Label
 | 
			
		||||
PA1.GPIO_Label=isense5
 | 
			
		||||
PA1.Locked=true
 | 
			
		||||
@ -328,6 +319,8 @@ PC2.Signal=ADCx_IN8
 | 
			
		||||
PC3.GPIOParameters=GPIO_Label
 | 
			
		||||
PC3.GPIO_Label=isense13
 | 
			
		||||
PC3.Signal=ADCx_IN9
 | 
			
		||||
PC4.GPIOParameters=GPIO_Label
 | 
			
		||||
PC4.GPIO_Label=LV_sens
 | 
			
		||||
PC4.Locked=true
 | 
			
		||||
PC4.Mode=IN5-Single-Ended
 | 
			
		||||
PC4.Signal=ADC2_IN5
 | 
			
		||||
@ -353,6 +346,11 @@ PF0-OSC_IN.Signal=RCC_OSC_IN
 | 
			
		||||
PF1-OSC_OUT.Locked=true
 | 
			
		||||
PF1-OSC_OUT.Mode=HSE-External-Oscillator
 | 
			
		||||
PF1-OSC_OUT.Signal=RCC_OSC_OUT
 | 
			
		||||
PF4.GPIOParameters=GPIO_Label
 | 
			
		||||
PF4.GPIO_Label=isense9
 | 
			
		||||
PF4.Locked=true
 | 
			
		||||
PF4.Mode=IN5-Single-Ended
 | 
			
		||||
PF4.Signal=ADC1_IN5
 | 
			
		||||
PinOutPanel.RotationAngle=0
 | 
			
		||||
ProjectManager.AskForMigrate=true
 | 
			
		||||
ProjectManager.BackupPrevious=false
 | 
			
		||||
@ -384,7 +382,7 @@ ProjectManager.ToolChainLocation=
 | 
			
		||||
ProjectManager.UAScriptAfterPath=
 | 
			
		||||
ProjectManager.UAScriptBeforePath=
 | 
			
		||||
ProjectManager.UnderRoot=false
 | 
			
		||||
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_ADC2_Init-ADC2-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_I2C1_Init-I2C1-false-HAL-true,10-MX_USART1_UART_Init-USART1-false-HAL-true,11-MX_TIM6_Init-TIM6-false-HAL-true,12-MX_IWDG_Init-IWDG-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_ADC2_Init-ADC2-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_I2C1_Init-I2C1-false-HAL-true,10-MX_USART1_UART_Init-USART1-false-HAL-true,11-MX_TIM6_Init-TIM6-false-HAL-true
 | 
			
		||||
RCC.ADC12outputFreq_Value=64000000
 | 
			
		||||
RCC.AHBFreq_Value=16000000
 | 
			
		||||
RCC.APB1Freq_Value=16000000
 | 
			
		||||
@ -449,7 +447,7 @@ TIM2.Period=65535
 | 
			
		||||
TIM2.Pulse-PWM\ Generation2\ CH2=0
 | 
			
		||||
TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
 | 
			
		||||
TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
 | 
			
		||||
TIM3.IPParameters=Channel-PWM Generation4 CH4,Channel-PWM Generation1 CH1
 | 
			
		||||
TIM3.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation4 CH4
 | 
			
		||||
TIM6.IPParameters=Prescaler,Period,TIM_MasterOutputTrigger
 | 
			
		||||
TIM6.Period=8000-1
 | 
			
		||||
TIM6.Prescaler=400
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user