1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <aos/errno.h>
8 #include <aos/kernel.h>
9 #include "aos/init.h"
10 #include "board.h"
11 #include <k_api.h>
12 #include "aos/cli.h"
13 #include "led.h"
14 #include "key.h"
15 #include "hal_gpio.h"
16 #include "hal_iomux_haas1000.h"
17 
18 extern uint32_t led_test_flag;
19 extern uint32_t oled_test_flag;
20 extern uint32_t extraio_test_flag;
21 extern uint32_t audio_test_flag;
22 extern uint32_t keytest_successed;
23 extern uint32_t auto_test_flag;
24 
key_event_handle(key_code_t key_code)25 static void key_event_handle(key_code_t key_code)
26 {
27     switch (key_code) {
28         case EDK_KEY_1:
29             printf("key 1 press\n");
30             led_test_flag = 0;
31             keytest_successed |= 1 << 0;
32             break;
33         case EDK_KEY_2:
34             printf("key 2 press\n");
35             oled_test_flag = 0;
36             keytest_successed |= 1 << 1;
37             break;
38         case EDK_KEY_3:
39             printf("key 3 press\n");
40             extraio_test_flag = 0;
41             keytest_successed |= 1 << 2;
42             break;
43         case EDK_KEY_4:
44             printf("key 4 press\n");
45             audio_test_flag = 0;
46             keytest_successed |= 1 << 3;
47             break;
48         case EDK_KEY_1 | EDK_KEY_2:
49             printf("Enter auto_test mode\n");
50             auto_test_flag = 1;
51             break;
52     }
53 }
54 
key_test(void)55 void key_test(void)
56 {
57     key_init(key_event_handle);
58 }
59