| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- /******************************* (C) LiteMesh **********************************
 
-  * @module  buttons
 
-  * @file    buttons.h
 
-  * @version 1.0.0
 
-  * @date    XX.XX.XXXX
 
-  * $brief   buttons
 
-  *******************************************************************************
 
-  * @history     Version  Author         Comment
 
-  * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
 
-  *******************************************************************************
 
-  */
 
- /* Define to prevent recursive  ----------------------------------------------*/
 
- #ifndef BUTTONS_H
 
- #define BUTTONS_H
 
- #include <stdbool.h>
 
- #include "gpio.h"
 
- /**
 
-   * Статус кнопки
 
-   */
 
- typedef enum 
 
- {  
 
-   BUT_ON = 0,
 
-   BUT_OFF,
 
-   BUT_NO_DEFINE,
 
-   
 
- } BUTTON_STATE_t;
 
- /**
 
-   * @brief  Структура параметров объекта Button
 
-   */
 
- typedef struct 
 
- {  
 
-   gpio_t 			id_pin;
 
-   uint16_t          timeDelay;      // Время задержки антидребезга (время измеряется
 
-                                     // во временных интервалах с которыми вызывается
 
-                                     // обработчик кнопки
 
-   uint16_t          counterDelay;   // Счетчик антидребезга
 
-   BUTTON_STATE_t    stateOld;       // Прошлое состояние кнопки
 
-   BUTTON_STATE_t    stateNew;       // Текущее состояние кнопки
 
-   void              (*pressHandler)();   // Обработчик нажатия кнопки
 
-   void              (*unpressHandler)(); // Обработчик отпускания кнопки
 
-   uint8_t           ID;             // уникальный идентификатор (можно не использовать)
 
-   uint32_t          counterActivation;
 
-   uint16_t          timeActivation;
 
-   bool              fActivation;
 
- } BUTTON_NO_FIX_t; 
 
- /**
 
-   * @brief  
 
-   */
 
- void BUTTON_Init(void);
 
-    
 
- /**
 
-   * @brief   Возвращает сотояние ключа
 
-   * @retval  1 - линия разомкнута
 
-   *          0 - линия замкнута
 
-   */
 
- BUTTON_STATE_t BUTTON_GetState(BUTTON_NO_FIX_t *button);
 
- /**
 
-   * @brief  Обработчик кнопки без фиксации. В обработчике реализована защита
 
-   *         от дребезга с помощью задержки. Защита срабатывает при нажатии 
 
-   *         и при отпускании.
 
-   * @param *button: указатель на структуру типа BUTTON_NO_FIX
 
-   * @retval нет
 
-   */
 
- void BUTTON_NoFixHandler(BUTTON_NO_FIX_t *button);
 
- /**
 
-   * @brief  Опрос кнопок
 
-   */
 
- void vTaskButtons(void *pvParameters);
 
- /**
 
-   * @brief  Заглушка
 
-   */
 
- void BUTTON_VoidHandler(void);
 
- /**
 
-   * @brief  Хендлер кнопки DEFAULT
 
-   */
 
- void BUTTON_DEF_DownHandler(void);
 
- /**
 
-   * @brief  Хендлер кнопки SET
 
-   */
 
- void BUTTON_SET_DownHandler(void);
 
- #endif /* #ifndef BUTTONS_H */
 
- /****************************** (C) LiteMesh ***************** end of file ****/
 
 
  |