#include "hwCtrl.h" #include "PINdef.h" #define IO_INPUT 0x01 #define IO_OUTPUT 0x00 void IO_Init(void) { } void Output_Ctrl(uint8_t state) { } #define KEY_AD_TH 60 uint8_t isKeyMatchAd(uint16_t val,uint16_t match) { if ( val >= (match - KEY_AD_TH) && val <= (match + KEY_AD_TH)) { return 1; } return 0; } #define KEY_AD_V0 60 #define KEY_AD_V1 492 #define KEY_AD_V2 882 #define KEY_AD_V3 1277 #define KEY_AD_V4 1733 #define KEY_AD_V5 992 #define KEY_AD_V6 1350 uint16_t g_AdVal[3]; uint8_t GetKeyState(uint8_t keyno) { switch (keyno) { case SIGID_KEY1: return isKeyMatchAd(g_AdVal[ADCH_KEYAD1],KEY_AD_V5); case SIGID_KEY2: return isKeyMatchAd(g_AdVal[ADCH_KEYAD1],KEY_AD_V6); case SIGID_KEY3: return GPIO_Read(IO_KEY3)?1:0; case SIGID_KEY4: return GPIO_Read(IO_KEY4)?1:0; case SIGID_KEY5: return GPIO_Read(IO_KEY5)?1:0; case SIGID_KEY6: return GPIO_Read(IO_KEY6)?1:0; case SIGID_KEY7: return GPIO_Read(IO_KEY7)?1:0; case SIGID_KEY8: return GPIO_Read(IO_KEY8)?1:0; case SIGID_KEY9: return isKeyMatchAd(g_AdVal[ADCH_KEYAD2],KEY_AD_V0); case SIGID_KEY10: return isKeyMatchAd(g_AdVal[ADCH_KEYAD2],KEY_AD_V1); case SIGID_KEY13: return isKeyMatchAd(g_AdVal[ADCH_KEYAD2],KEY_AD_V2); case SIGID_KEY11: return isKeyMatchAd(g_AdVal[ADCH_KEYAD2],KEY_AD_V3); case SIGID_KEY12: return isKeyMatchAd(g_AdVal[ADCH_KEYAD2],KEY_AD_V4); default: return 0; } } #define LED_OFF GPIO_LOW #define LED_ON GPIO_HIGH #if BOARDCFG == LEFT_BOARD #define LEDF1 IO_LED4 #define LEDF2 IO_LED5 #define LEDF3 IO_LED6 #define LEDH1 IO_LED1 #define LEDH2 IO_LED2 #define LEDH3 IO_LED3 #else #define LEDF1 IO_LED1 #define LEDF2 IO_LED2 #define LEDF3 IO_LED3 #define LEDH1 IO_LED4 #define LEDH2 IO_LED5 #define LEDH3 IO_LED6 #endif void FanLED_Ctrl(uint8_t state) { switch (state) { case 0: GPIO_Set(LEDF1,LED_OFF); GPIO_Set(LEDF2,LED_OFF); GPIO_Set(LEDF3,LED_OFF); break; case 1: GPIO_Set(LEDF1,LED_ON); GPIO_Set(LEDF2,LED_OFF); GPIO_Set(LEDF3,LED_OFF); break; case 2: GPIO_Set(LEDF1,LED_ON); GPIO_Set(LEDF2,LED_ON); GPIO_Set(LEDF3,LED_OFF); break; case 3: GPIO_Set(LEDF1,LED_ON); GPIO_Set(LEDF2,LED_ON); GPIO_Set(LEDF3,LED_ON); break; default: break; } } void HeatLED_Ctrl(uint8_t state) { switch (state) { case 0: GPIO_Set(LEDH1,LED_OFF); GPIO_Set(LEDH2,LED_OFF); GPIO_Set(LEDH3,LED_OFF); break; case 1: GPIO_Set(LEDH1,LED_ON); GPIO_Set(LEDH2,LED_OFF); GPIO_Set(LEDH3,LED_OFF); break; case 2: GPIO_Set(LEDH1,LED_ON); GPIO_Set(LEDH2,LED_ON); GPIO_Set(LEDH3,LED_OFF); break; case 3: GPIO_Set(LEDH1,LED_ON); GPIO_Set(LEDH2,LED_ON); GPIO_Set(LEDH3,LED_ON); break; default: break; } }