| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /**
- * @file KEY_ATY.h
- *
- * @param Project DEVICE_GENERAL_ATY_LIB
- *
- * @author ATY
- *
- * @copyright
- * - Copyright 2017 - 2026 MZ-ATY
- * - This code follows:
- * - MZ-ATY Various Contents Joint Statement -
- * <a href="https://mengze.top/MZ-ATY_VCJS">
- * https://mengze.top/MZ-ATY_VCJS</a>
- * - CC 4.0 BY-NC-SA -
- * <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
- * https://creativecommons.org/licenses/by-nc-sa/4.0/</a>
- * - Your use will be deemed to have accepted the terms of this statement.
- *
- * @brief functions of keys for C platform (Dev-style)
- *
- * @version
- * - 1_01_251112 > ATY
- * -# Refactor to Dev-style; remove legacy global interfaces
- ********************************************************************************
- */
- #ifndef __KEY_ATY_H
- #define __KEY_ATY_H
- #include "INCLUDE_ATY.h"
- /** Types and timing defaults */
- #define KEY_TYPE_RELASE 0
- #define KEY_TYPE_SINGLE 11
- #define KEY_TYPE_LONG 21
- #define KEY_TYPE_VLONG 22
- #define KEY_TYPE_ACCESS_NEW 0xFF
- #define KEY_ATY_MAX_KEYS 8
- struct KEY_ATY_Dev
- {
- uint8_t key_count;
- uint8_t (*readDigital)(uint8_t index); /* 1=pressed, 0=released */
- float (*readAnalog)(uint8_t index); /* ADC value */
- uint16_t ad_threshold; /* threshold for release */
- uint16_t release_debounce_time; /* default 20ms */
- uint16_t press_debounce_time; /* default 100ms */
- uint16_t long_time; /* default 800ms */
- uint16_t vlong_time; /* default 2400ms */
- uint8_t lastKeyType[KEY_ATY_MAX_KEYS];
- uint8_t keyExportType[KEY_ATY_MAX_KEYS];
- uint16_t keyScanCount[KEY_ATY_MAX_KEYS];
- uint16_t keyReleaseCount[KEY_ATY_MAX_KEYS];
- uint8_t lock;
- uint8_t debugEnable;
- void (*LOG)(const char* s);
- };
- uint8_t KEY_ATY_InitDev(struct KEY_ATY_Dev* dev, uint8_t key_count);
- void KEY_ATY_ScanDigitalDev(struct KEY_ATY_Dev* dev, uint8_t keyIndex);
- float KEY_ATY_ScanAnalogDev(struct KEY_ATY_Dev* dev, uint8_t keyIndex);
- uint8_t KEY_ATY_GetTypeDev(struct KEY_ATY_Dev* dev, uint8_t keyIndex);
- void KEY_ATY_AccessNewDev(struct KEY_ATY_Dev* dev, uint8_t keyIndex);
- #endif /* __KEY_ATY_H */
- /******************************** End Of File *********************************/
|