From 4d132e4615c753339ae6a9b588468f1e4b4347ad Mon Sep 17 00:00:00 2001 From: zwsd Date: Fri, 5 Aug 2022 11:46:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=94=AE=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/CMakeLists.txt | 1 + main/key.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ main/key.h | 14 ++++++++++++++ main/main.c | 49 ++----------------------------------------------- 4 files changed, 61 insertions(+), 47 deletions(-) create mode 100644 main/key.c create mode 100644 main/key.h diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index fd8d635..de54e26 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,3 +1,4 @@ idf_component_register(SRCS "main.c" "ble_spp_client_demo.c" + "key.c" INCLUDE_DIRS ".") diff --git a/main/key.c b/main/key.c new file mode 100644 index 0000000..f489e7e --- /dev/null +++ b/main/key.c @@ -0,0 +1,44 @@ +#include "key.h" +#include "esp_log.h" +#include "driver/gpio.h" + +static key_ble_cb_t s_ble_key_cb; + +void key_init() +{ + gpio_config_t gpio_grb_led_structer; + + gpio_grb_led_structer.intr_type = GPIO_INTR_DISABLE; + gpio_grb_led_structer.mode = GPIO_MODE_INPUT; + gpio_grb_led_structer.pin_bit_mask = GPIO_KEY_INPUT_PIN_SEL; + gpio_grb_led_structer.pull_down_en = 0; + gpio_grb_led_structer.pull_up_en = 0; + + gpio_config(&gpio_grb_led_structer); +} + +void key_schedule() +{ + if (gpio_get_level(36) == 0) + { + /* code */ + ESP_LOGI("Finny", "KEY_REC level 0"); + while (gpio_get_level(36) == 0) + { + } + s_ble_key_cb("setPosition180"); + ESP_LOGI("Finny", "stop"); + } + if (gpio_get_level(39) == 0) + { + /* code */ + ESP_LOGI("Finny", "KEY_MODE level 0"); + while (gpio_get_level(39) == 0) + { + } + s_ble_key_cb("setPosition360"); + ESP_LOGI("Finny", "stop"); + } +} + +void key_ble_send_cmd_reg(key_ble_cb_t cb) { s_ble_key_cb = cb; }; \ No newline at end of file diff --git a/main/key.h b/main/key.h new file mode 100644 index 0000000..213d4cb --- /dev/null +++ b/main/key.h @@ -0,0 +1,14 @@ +#include +#include +#include +#include + +#define KEY_REC 36 +#define KEY_MODE 39 +#define GPIO_KEY_INPUT_PIN_SEL ((1ULL << KEY_REC) | (1ULL << KEY_MODE)) + +typedef void (*key_ble_cb_t)(char* string); + +void key_init(); +void key_schedule(); +void key_ble_send_cmd_reg(key_ble_cb_t cb); \ No newline at end of file diff --git a/main/main.c b/main/main.c index 56e77bf..5619460 100644 --- a/main/main.c +++ b/main/main.c @@ -13,61 +13,16 @@ ****************************************************************************/ #include "ble_spp_client_demo.h" -#include "esp_log.h" -#include "driver/gpio.h" +#include "key.h" void motor_drive_hex_to_str(char *hex, int hex_len, char *str); -// typedef void (*key_ble_cb_t)(char* string); - -// static s_ble_key_cb ble_key_cb - -#define KEY_REC 36 -#define KEY_MODE 39 -#define GPIO_KEY_INPUT_PIN_SEL ((1ULL << KEY_REC) | (1ULL << KEY_MODE)) - -void key_init() -{ - gpio_config_t gpio_grb_led_structer; - - gpio_grb_led_structer.intr_type = GPIO_INTR_DISABLE; - gpio_grb_led_structer.mode = GPIO_MODE_INPUT; - gpio_grb_led_structer.pin_bit_mask = GPIO_KEY_INPUT_PIN_SEL; - gpio_grb_led_structer.pull_down_en = 0; - gpio_grb_led_structer.pull_up_en = 0; - - gpio_config(&gpio_grb_led_structer); -} - -void key_schedule() -{ - if (gpio_get_level(36) == 0) - { - /* code */ - ESP_LOGI("Finny", "KEY_REC level 0"); - while (gpio_get_level(36) == 0) - { - } - ble_key_cb("setPosition180"); - ESP_LOGI("Finny", "stop"); - } - if (gpio_get_level(39) == 0) - { - /* code */ - ESP_LOGI("Finny", "KEY_MODE level 0"); - while (gpio_get_level(39) == 0) - { - } - ble_key_cb("setPosition360"); - ESP_LOGI("Finny", "stop"); - } -} - void app_main(void) { ble_init(); key_init(); + key_ble_send_cmd_reg(ble_key_cb); while (true) {