/**
  ******************************************************************************
  * @file    comp.c
  * @brief   This file provides code for the configuration
  *          of the COMP instances.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under Ultimate Liberty license
  * SLA0044, the "License"; You may not use this file except in compliance with
  * the License. You may obtain a copy of the License at:
  *                             www.st.com/SLA0044
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "comp.h"

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

COMP_HandleTypeDef hcomp1;

/* COMP1 init function */
void MX_COMP1_Init(void) {
    /* USER CODE BEGIN COMP1_Init 0 */

    /* USER CODE END COMP1_Init 0 */

    /* USER CODE BEGIN COMP1_Init 1 */

    /* USER CODE END COMP1_Init 1 */
    hcomp1.Instance = COMP1;
    hcomp1.Init.InputMinus = COMP_INPUT_MINUS_1_4VREFINT;
    hcomp1.Init.InputPlus = COMP_INPUT_PLUS_IO1;
    hcomp1.Init.OutputPol = COMP_OUTPUTPOL_NONINVERTED;
    hcomp1.Init.Hysteresis = COMP_HYSTERESIS_HIGH;
    hcomp1.Init.BlankingSrce = COMP_BLANKINGSRC_NONE;
    hcomp1.Init.Mode = COMP_POWERMODE_MEDIUMSPEED;
    hcomp1.Init.WindowMode = COMP_WINDOWMODE_DISABLE;
    hcomp1.Init.TriggerMode = COMP_TRIGGERMODE_IT_RISING_FALLING;
    if(HAL_COMP_Init(&hcomp1) != HAL_OK) {
        Error_Handler();
    }
    /* USER CODE BEGIN COMP1_Init 2 */

    /* USER CODE END COMP1_Init 2 */
}

void HAL_COMP_MspInit(COMP_HandleTypeDef* compHandle) {
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    if(compHandle->Instance == COMP1) {
        /* USER CODE BEGIN COMP1_MspInit 0 */

        /* USER CODE END COMP1_MspInit 0 */

        __HAL_RCC_GPIOC_CLK_ENABLE();
        /**COMP1 GPIO Configuration
    PC5     ------> COMP1_INP
    */
        GPIO_InitStruct.Pin = RFID_RF_IN_Pin;
        GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
        GPIO_InitStruct.Pull = GPIO_NOPULL;
        HAL_GPIO_Init(RFID_RF_IN_GPIO_Port, &GPIO_InitStruct);

        /* COMP1 interrupt Init */
        HAL_NVIC_SetPriority(COMP_IRQn, 5, 0);
        HAL_NVIC_EnableIRQ(COMP_IRQn);
        /* USER CODE BEGIN COMP1_MspInit 1 */

        /* USER CODE END COMP1_MspInit 1 */
    }
}

void HAL_COMP_MspDeInit(COMP_HandleTypeDef* compHandle) {
    if(compHandle->Instance == COMP1) {
        /* USER CODE BEGIN COMP1_MspDeInit 0 */

        /* USER CODE END COMP1_MspDeInit 0 */

        /**COMP1 GPIO Configuration
    PC5     ------> COMP1_INP
    */
        HAL_GPIO_DeInit(RFID_RF_IN_GPIO_Port, RFID_RF_IN_Pin);

        /* COMP1 interrupt Deinit */
        HAL_NVIC_DisableIRQ(COMP_IRQn);
        /* USER CODE BEGIN COMP1_MspDeInit 1 */

        /* USER CODE END COMP1_MspDeInit 1 */
    }
}

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
