refactor
This commit is contained in:
@@ -45,17 +45,20 @@
|
||||
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
ADC_HandleTypeDef hadc1;
|
||||
ADC_HandleTypeDef hadc2;
|
||||
DMA_HandleTypeDef hdma_adc1;
|
||||
|
||||
CORDIC_HandleTypeDef hcordic;
|
||||
|
||||
DAC_HandleTypeDef hdac1;
|
||||
DAC_HandleTypeDef hdac3;
|
||||
DMA_HandleTypeDef hdma_dac1_ch1;
|
||||
DMA_HandleTypeDef hdma_dac1_ch2;
|
||||
|
||||
I2C_HandleTypeDef hi2c1;
|
||||
|
||||
OPAMP_HandleTypeDef hopamp1;
|
||||
OPAMP_HandleTypeDef hopamp2;
|
||||
|
||||
TIM_HandleTypeDef htim6;
|
||||
TIM_HandleTypeDef htim7;
|
||||
@@ -90,6 +93,9 @@ static void MX_USART1_UART_Init(void);
|
||||
static void MX_TIM8_Init(void);
|
||||
static void MX_OPAMP1_Init(void);
|
||||
static void MX_I2C1_Init(void);
|
||||
static void MX_ADC2_Init(void);
|
||||
static void MX_DAC3_Init(void);
|
||||
static void MX_OPAMP2_Init(void);
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
||||
/* USER CODE END PFP */
|
||||
@@ -248,7 +254,7 @@ void stop_transmit(void){
|
||||
void start_receive(void){
|
||||
receive = 1;
|
||||
// ADC
|
||||
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_BUFFER_SIZE);
|
||||
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, RX_ADC_BUFFER_SIZE);
|
||||
|
||||
// DAC
|
||||
HAL_TIM_Base_Start(&htim6);
|
||||
@@ -338,6 +344,9 @@ int main(void)
|
||||
MX_TIM8_Init();
|
||||
MX_OPAMP1_Init();
|
||||
MX_I2C1_Init();
|
||||
MX_ADC2_Init();
|
||||
MX_DAC3_Init();
|
||||
MX_OPAMP2_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
HAL_Delay(10);
|
||||
@@ -379,7 +388,7 @@ int main(void)
|
||||
if(receive){
|
||||
if(rx_adc_buffer_ready){
|
||||
// HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, SET);
|
||||
rx_mixer(adc_buffer, ADC_BUFFER_SIZE, if_I, if_Q, rx_nco1_increment);
|
||||
rx_mixer(adc_buffer, RX_ADC_BUFFER_SIZE, if_I, if_Q, rx_nco1_increment);
|
||||
// HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, RESET);
|
||||
rx_adc_buffer_ready = 0;
|
||||
}
|
||||
@@ -581,6 +590,63 @@ static void MX_ADC1_Init(void)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ADC2 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_ADC2_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN ADC2_Init 0 */
|
||||
|
||||
/* USER CODE END ADC2_Init 0 */
|
||||
|
||||
ADC_ChannelConfTypeDef sConfig = {0};
|
||||
|
||||
/* USER CODE BEGIN ADC2_Init 1 */
|
||||
|
||||
/* USER CODE END ADC2_Init 1 */
|
||||
/** Common config
|
||||
*/
|
||||
hadc2.Instance = ADC2;
|
||||
hadc2.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
|
||||
hadc2.Init.Resolution = ADC_RESOLUTION_12B;
|
||||
hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
||||
hadc2.Init.GainCompensation = 0;
|
||||
hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE;
|
||||
hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
|
||||
hadc2.Init.LowPowerAutoWait = DISABLE;
|
||||
hadc2.Init.ContinuousConvMode = DISABLE;
|
||||
hadc2.Init.NbrOfConversion = 1;
|
||||
hadc2.Init.DiscontinuousConvMode = DISABLE;
|
||||
hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
|
||||
hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
|
||||
hadc2.Init.DMAContinuousRequests = DISABLE;
|
||||
hadc2.Init.Overrun = ADC_OVR_DATA_PRESERVED;
|
||||
hadc2.Init.OversamplingMode = DISABLE;
|
||||
if (HAL_ADC_Init(&hadc2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Channel = ADC_CHANNEL_VOPAMP2;
|
||||
sConfig.Rank = ADC_REGULAR_RANK_1;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_2CYCLES_5;
|
||||
sConfig.SingleDiff = ADC_SINGLE_ENDED;
|
||||
sConfig.OffsetNumber = ADC_OFFSET_NONE;
|
||||
sConfig.Offset = 0;
|
||||
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN ADC2_Init 2 */
|
||||
|
||||
/* USER CODE END ADC2_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief CORDIC Initialization Function
|
||||
* @param None
|
||||
@@ -667,6 +733,51 @@ static void MX_DAC1_Init(void)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief DAC3 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_DAC3_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN DAC3_Init 0 */
|
||||
|
||||
/* USER CODE END DAC3_Init 0 */
|
||||
|
||||
DAC_ChannelConfTypeDef sConfig = {0};
|
||||
|
||||
/* USER CODE BEGIN DAC3_Init 1 */
|
||||
|
||||
/* USER CODE END DAC3_Init 1 */
|
||||
/** DAC Initialization
|
||||
*/
|
||||
hdac3.Instance = DAC3;
|
||||
if (HAL_DAC_Init(&hdac3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/** DAC channel OUT1 config
|
||||
*/
|
||||
sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC;
|
||||
sConfig.DAC_DMADoubleDataMode = DISABLE;
|
||||
sConfig.DAC_SignedFormat = DISABLE;
|
||||
sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
|
||||
sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
|
||||
sConfig.DAC_Trigger2 = DAC_TRIGGER_NONE;
|
||||
sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_DISABLE;
|
||||
sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_INTERNAL;
|
||||
sConfig.DAC_UserTrimming = DAC_TRIMMING_FACTORY;
|
||||
if (HAL_DAC_ConfigChannel(&hdac3, &sConfig, DAC_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN DAC3_Init 2 */
|
||||
|
||||
/* USER CODE END DAC3_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief I2C1 Initialization Function
|
||||
* @param None
|
||||
@@ -747,6 +858,38 @@ static void MX_OPAMP1_Init(void)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief OPAMP2 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_OPAMP2_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN OPAMP2_Init 0 */
|
||||
|
||||
/* USER CODE END OPAMP2_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN OPAMP2_Init 1 */
|
||||
|
||||
/* USER CODE END OPAMP2_Init 1 */
|
||||
hopamp2.Instance = OPAMP2;
|
||||
hopamp2.Init.PowerMode = OPAMP_POWERMODE_NORMALSPEED;
|
||||
hopamp2.Init.Mode = OPAMP_FOLLOWER_MODE;
|
||||
hopamp2.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO0;
|
||||
hopamp2.Init.InternalOutput = ENABLE;
|
||||
hopamp2.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
|
||||
hopamp2.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
|
||||
if (HAL_OPAMP_Init(&hopamp2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN OPAMP2_Init 2 */
|
||||
|
||||
/* USER CODE END OPAMP2_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM6 Initialization Function
|
||||
* @param None
|
||||
|
||||
Reference in New Issue
Block a user