/********************************* (C) РОТЕК ***********************************
 * @module  gpio_io
 * @file    gpio_io.c
 * @version 1.0.0
 * @date    XX.XX.XXXX
 * $brief   gpio_io
 *******************************************************************************
 * @history     Version  Author         Comment
 * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
 *******************************************************************************
 */

#include "stm32f4xx.h"  
#include "gpio_io.h"
#include <stdbool.h>

#include "tinystdio.h"

/**
  * @brief  Инициализация дискретных входов-выходов
  * @retval 
  */
void IO_Init(void)
{
	  GPIO_InitTypeDef GPIO_InitStructure;

	  RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOE, ENABLE);

	  /* ----------------------------- Inputs ---------------------------------- */

	  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IN;
	  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
	  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;

	  /* BUTTON DEFAULT - " " */
	  GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_7;
	  GPIO_Init(GPIOE, &GPIO_InitStructure);
}

/**
  * @brief  Получить состояние кнопки DEFAULT
  */
bool IO_BtnDefaultPressed(void)
{
  	return !GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_7);  // BUTTON DEFAULT
}
/********************************* (C) РОТЕК **********************************/
