| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- #include "key_io.h"
- #include "gd32e230x_conf.h"
- #include "Timer.h"
- #include "Main.h"
- #define KEY_IO_RCU RCU_GPIOB
- #define KEY_IO_IO GPIOB
- #if SUPPORT_ALL_ON_OFF
- #define KEY_IO_RST GPIO_PIN_1
- #define KEY_IO_TEST GPIO_PIN_2
- #endif
- #if SUPPORT_SELF_LOCK
- #define KEY_IO_1 GPIO_PIN_1
- #define KEY_IO_2 GPIO_PIN_2
- #define KEY_IO_3 GPIO_PIN_6
- #define KEY_IO_4 GPIO_PIN_7
- #endif
- void key_io_init(void * value)
- {
- (void)(value);
- #if (RelaySlaveChaNum <= 4 && (!SUPPORT_TWIN_FIRE))
- rcu_periph_clock_enable(KEY_IO_RCU);
- #if (SUPPORT_ALL_ON_OFF)
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_RST);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_TEST);
- #endif
- #if (SUPPORT_SELF_LOCK)
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_1);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_2);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_3);
- gpio_mode_set(KEY_IO_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY_IO_4);
- #endif
-
- #endif
- }
- #if (RelaySlaveChaNum <= 4 && (!SUPPORT_TWIN_FIRE))
- #if (SUPPORT_ALL_ON_OFF)
- bool get_rst()
- {
- FlagStatus status = SET;
- bool ret = false;
- uint32_t count = 100;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_RST)) == RESET)
- {
- while(count--);
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_RST)) == RESET)
- {
- ret = true;
- }
- }
- return ret;
- }
- bool get_test()
- {
- FlagStatus status = SET;
- bool ret = false;
- uint32_t count = 100;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_TEST)) == RESET)
- {
- while(count--);
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_TEST)) == RESET)
- {
- ret = true;
- }
- }
- return ret;
- }
- #endif
- #if (SUPPORT_SELF_LOCK)
- bool get_key_io_1()
- {
- FlagStatus status = SET;
- bool ret = false;
- uint32_t count = 10;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_1)) == RESET)
- {
- while(count--);
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_1)) == RESET)
- {
- ret = true;
- }
- }
- return ret;
- }
- bool get_key_io_2()
- {
- FlagStatus status = SET;
- bool ret = false;
- uint32_t count = 10;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_2)) == RESET)
- {
- while(count--);
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_2)) == RESET)
- {
- ret = true;
- }
- }
- return ret;
- }
- bool get_key_io_3()
- {
- FlagStatus status = SET;
- bool ret = false;
- uint32_t count = 10;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_3)) == RESET)
- {
- while(count--);
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_3)) == RESET)
- {
- ret = true;
- }
- }
- return ret;
- }
- bool get_key_io_4()
- {
- FlagStatus status = SET;
- bool ret = false;
- uint32_t count = 10;
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_4)) == RESET)
- {
- while(count--);
- if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_4)) == RESET)
- {
- ret = true;
- }
- }
- return ret;
- }
- #endif
- #endif
|