k80/hwCtrl.c
2024-05-24 17:09:44 +08:00

241 lines
4.1 KiB
C

#include "hwCtrl.h"
#include "r_cg_port.h"
#include "iodefine.h"
#include "appTask.h"
#define K74L 1
#define K74R 2
#define BOARD K74R
#if BOARD == K74R
//RIGHT
#define LEDH1 P4_bit.no2
#define LEDH2 P1_bit.no0
#define LEDH3 P1_bit.no1
#define LEDM1 P1_bit.no2
#define LEDM2 P1_bit.no3
#define LEDM3 P1_bit.no4
#define LEDF1 P4_bit.no1
#define LEDF2 P2_bit.no3
#define LEDF3 P2_bit.no2
#else
//LEFT
#define LEDH1 P4_bit.no2
#define LEDH2 P1_bit.no0
#define LEDH3 P1_bit.no1
#define LEDF1 P1_bit.no2
#define LEDF2 P1_bit.no3
#define LEDF3 P1_bit.no4
#define LEDM1 P4_bit.no1
#define LEDM2 P2_bit.no3
#define LEDM3 P2_bit.no2
#endif
#define IO_KEY1 P2_bit.no0
#define IO_KEY2 P2_bit.no1
#define IO_KEY5 P12_bit.no2
#define IO_KEY6 P13_bit.no7
extern uint16_t g_AdVal[3];
#if BOARD == K74R
void FanLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDF1 = LED_OFF;
LEDF2 = LED_ON;
LEDF3 = LED_ON;
break;
case 3:
LEDF1 = LED_ON;
LEDF2 = LED_ON;
LEDF3 = LED_ON;
break;
case 2:
LEDF1 = LED_ON;
LEDF2 = LED_OFF;
LEDF3 = LED_ON;
break;
case 1:
LEDF1 = LED_ON;
LEDF2 = LED_OFF;
LEDF3 = LED_OFF;
break;
default:
break;
}
}
void AnmoLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDM1 = LED_OFF;
LEDM2 = LED_OFF;
LEDM3 = LED_OFF;
break;
case 3:
LEDM1 = LED_ON;
LEDM2 = LED_OFF;
LEDM3 = LED_OFF;
break;
case 2:
LEDM1 = LED_ON;
LEDM2 = LED_ON;
LEDM3 = LED_OFF;
break;
case 1:
LEDM1 = LED_ON;
LEDM2 = LED_ON;
LEDM3 = LED_ON;
break;
default:
break;
}
}
#else
void AnmoLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDM1 = LED_OFF;
LEDM2 = LED_ON;
LEDM3 = LED_ON;
break;
case 3:
LEDM1 = LED_ON;
LEDM2 = LED_ON;
LEDM3 = LED_ON;
break;
case 2:
LEDM1 = LED_ON;
LEDM2 = LED_OFF;
LEDM3 = LED_ON;
break;
case 1:
LEDM1 = LED_ON;
LEDM2 = LED_OFF;
LEDM3 = LED_OFF;
break;
default:
break;
}
}
void FanLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDF1 = LED_OFF;
LEDF2 = LED_OFF;
LEDF3 = LED_OFF;
break;
case 3:
LEDF1 = LED_ON;
LEDF2 = LED_OFF;
LEDF3 = LED_OFF;
break;
case 2:
LEDF1 = LED_ON;
LEDF2 = LED_ON;
LEDF3 = LED_OFF;
break;
case 1:
LEDF1 = LED_ON;
LEDF2 = LED_ON;
LEDF3 = LED_ON;
break;
default:
break;
}
}
#endif
void HeatLED_Ctrl(uint8_t state)
{
switch (state)
{
case 0:
LEDH1 = LED_OFF;
LEDH2 = LED_OFF;
LEDH3 = LED_OFF;
break;
case 3:
LEDH1 = LED_ON;
LEDH2 = LED_OFF;
LEDH3 = LED_OFF;
break;
case 2:
LEDH1 = LED_ON;
LEDH2 = LED_ON;
LEDH3 = LED_OFF;
break;
case 1:
LEDH1 = LED_ON;
LEDH2 = LED_ON;
LEDH3 = LED_ON;
break;
default:
break;
}
}
#define KEY_AD_V1 690
#define KEY_AD_V2 510
#define KEY_AD_TH 50
#define KEY5_AD_V1 KEY_AD_TH //0
#define KEY5_AD_V2 254
#define KEY5_AD_V3 455
#define KEY5_AD_V4 658
#define KEY5_AD_V5 902
uint8_t GetKeyState(uint8_t keyno)
{
switch (keyno)
{
#if BOARD == K74R
//RIGHT
case KEY_FAN:
return IO_KEY1==0?1:0;
break;
case KEY_JR:
return IO_KEY2==0?1:0;
break;
case KEY_AM:
return (IO_KEY5==0||IO_KEY6==0)?1:0;
break;
#else
//left
case KEY_AM:
return IO_KEY1==0?1:0;
break;
case KEY_JR:
return IO_KEY2==0?1:0;
break;
case KEY_FAN:
return (IO_KEY5==0||IO_KEY6==0)?1:0;
break;
#endif
default:
return 0;
break;
}
}