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)25static 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)55void key_test(void) 56 { 57 key_init(key_event_handle); 58 } 59