M12-04P/hwCtrl.c

155 lines
3.0 KiB
C
Raw Normal View History

2023-03-07 15:12:00 +08:00
#include "hwCtrl.h"
#include "r_cg_port.h"
#include "iodefine.h"
#include "appTask.h"
#define K67L 1
#define K67R 2
#define BOARD K67L
#if BOARD == K67R
//<2F><><EFBFBD><EFBFBD>
#define LEDH3 P1_bit.no2
#define LEDH2 P1_bit.no4
#define LEDH1 P1_bit.no3
#define LEDF3 P4_bit.no1
#define LEDF2 P1_bit.no1
#define LEDF1 P1_bit.no0
#define LEDAM P4_bit.no2
#define IO_KEY_ANMO P12_bit.no1
#define IO_KEY_HEAT P12_bit.no2
#define IO_KEY_FAN P2_bit.no3
#else
//<2F>Ұ<EFBFBD>
#define LEDF1 P1_bit.no2
#define LEDF3 P1_bit.no4
#define LEDF2 P1_bit.no3
#define LEDH3 P4_bit.no1
#define LEDH2 P1_bit.no1
#define LEDH1 P1_bit.no0
#define LEDAM P4_bit.no2
#define IO_KEY_ANMO P12_bit.no1
#define IO_KEY_FAN P12_bit.no2
#define IO_KEY_HEAT P2_bit.no3
#endif
extern uint16_t g_AdVal[3];
void FanLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDF1 = LED_OFF;
LEDF2 = LED_OFF;
LEDF3 = LED_OFF;
break;
case 1:
LEDF1 = LED_ON;
LEDF2 = LED_OFF;
LEDF3 = LED_OFF;
break;
case 2:
LEDF1 = LED_ON;
LEDF2 = LED_ON;
LEDF3 = LED_OFF;
break;
case 3:
LEDF1 = LED_ON;
LEDF2 = LED_ON;
LEDF3 = LED_ON;
break;
default:
break;
}
}
void HeatLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDH1 = LED_OFF;
LEDH2 = LED_OFF;
LEDH3 = LED_OFF;
break;
case 1:
LEDH1 = LED_ON;
LEDH2 = LED_OFF;
LEDH3 = LED_OFF;
break;
case 2:
LEDH1 = LED_ON;
LEDH2 = LED_ON;
LEDH3 = LED_OFF;
break;
case 3:
LEDH1 = LED_ON;
LEDH2 = LED_ON;
LEDH3 = LED_ON;
break;
default:
break;
}
}
void AnmoLED_Ctrl(uint8_t state)
{
if (state == 0)
{
LEDAM = LED_OFF;
}
else
{
LEDAM = LED_ON;
}
}
#define KEY_AD_V1 690
#define KEY_AD_V2 510
#define KEY_AD_TH 50
uint8_t GetKeyState(uint8_t keyno)
{
switch (keyno)
{
case KEY_KB_QIAN:
return (g_AdVal[0]<(KEY_AD_V1+KEY_AD_TH) && g_AdVal[0]>(KEY_AD_V1-KEY_AD_TH))?1:0 ;
break;
case KEY_KB_HOU:
return (g_AdVal[0]<(KEY_AD_V2+KEY_AD_TH) && g_AdVal[0]>(KEY_AD_V2-KEY_AD_TH))?1:0;
break;
case KEY_HG_QIAN:
return (g_AdVal[1]<(KEY_AD_V1+KEY_AD_TH) && g_AdVal[1]>(KEY_AD_V1-KEY_AD_TH))?1:0;
break;
case KEY_HG_HOU:
return (g_AdVal[1]<(KEY_AD_V2+KEY_AD_TH) && g_AdVal[1]>(KEY_AD_V2-KEY_AD_TH))?1:0;
break;
case KEY_TT_SHENG:
return (g_AdVal[2]<(KEY_AD_V1+KEY_AD_TH) && g_AdVal[2]>(KEY_AD_V1-KEY_AD_TH))?1:0;
break;
case KEY_TT_JIANG:
return (g_AdVal[2]<(KEY_AD_V2+KEY_AD_TH) && g_AdVal[2]>(KEY_AD_V2-KEY_AD_TH))?1:0;
break;
case KEY_AM:
return IO_KEY_ANMO==0?1:0;
break;
case KEY_FAN:
return IO_KEY_FAN==0?1:0;
break;
case KEY_HEAT:
return IO_KEY_HEAT==0?1:0;
break;
default:
return 0;
break;
}
}