📄 key_prc.bak
字号:
/****************************************************************/
/* */
/* Massage Machine Controler System */
/* */
/****************************************************************/
/* key process */
/****************************************************************/
#pragma nop
#pragma sfr
#pragma ei
#pragma di
#define loop() while( 1 )
#define KEY_STOP 0x2d
#define CONTROLLER_TEST_CODE 0x38
#define PACK_CODE 0x39
#define TEMP_TIME 5
typedef struct{
unsigned char time;
unsigned char cmd_data;
unsigned char *pt;
}TEST;
#include "tmr.h"
#include "key_hl.h"
#include "sound.h"
#include "hsio.h"
#include "cmd.h"
#include "mode.h"
#include "flag.h"
//#include"slcd.h"
#include "dlcd.h"
#include "disp.h"
#include "trm.h"
//#include "light.h"
#include "text.h"
#include "iconprc.h"
#include "vfd.h"
#include "test.h"
extern void Bright_all_vfd(void);
void Key_prc( void ) ; //date:2003-10-29
void Kp_power( void ) ; //date:2003-10-29
void Kp_ft_up( void ) ; //date:2003-10-29
void Kp_ft_dn( void ) ; //date:2003-10-29
void Kp_leg_up(void) ; //date:2003-10-29
void Kp_leg_dn(void) ; //date:2003-10-29
void Kp_rcl_up( void ) ; //date:2003-10-29
void Kp_rcl_dn( void ) ; //date:2003-10-29
void Kp_sp_up( void ) ; //date:2003-10-29
void Kp_sp_dn( void ) ; //date:2003-10-29
void Kp_ac1( void ) ; //date:2003-10-29
void Kp_ac2( void ) ; //date:2003-10-29
void Kp_ac3( void ) ; //date:2003-10-29
void Kp_ac4( void ) ; //date:2003-10-29
void Kp_ac5( void ) ; //date:2003-10-29
void Kp_ac6( void ) ; //date:2003-10-29
void Kp_ac7( void ) ; //date:2003-10-29
void Kp_ac8( void ) ; //date:2003-10-29
void Kp_back_vib_cut( void ) ; //date:2003-10-29
void Kp_hand_vib_cut(void) ; //date:2003-10-29
void Kp_mm_mm1( void ) ; //date:2003-10-29
void Kp_mm_mm2( void ) ; //date:2003-10-29
void Kp_mm_mm3( void ) ; //date:2003-10-29
void Kp_mm_tt1( void ) ; //date:2003-10-29
void Kp_mm_tt2( void ) ; //date:2003-10-29
void Kp_mm_mt( void ) ; //date:2003-10-29
void Kp_mm_st1( void ) ; //date:2003-10-29
void Kp_mm_st2( void ) ; //date:2003-10-29
void Kp_mr_br( void ) ; //date:2003-10-29
void Kp_mr_pr( void ) ; //date:2003-10-29
void Kp_yn_up( void ) ; //date:2003-10-29
void Kp_yn_dn( void ) ; //date:2003-10-29
void Kp_spd_up( void ) ; //date:2003-10-29
void Kp_spd_dn( void ) ; //date:2003-10-29
void Kp_nar( void ) ; //date:2003-10-29
void Kp_mid( void ) ; //date:2003-10-29
void Kp_wid( void ) ; //date:2003-10-29
//void Kp_heater( void ) ;
void Kp_mb( void ) ; //date:2003-10-29
void Kp_mh( void ) ; //date:2003-10-29
void Kp_mlh_air(void) ; //date:2003-10-29
void Kp_hand_air(void) ; //date:2003-10-29
void Kp_hand_air_ad(void) ; //date:2003-10-29
void Kp_hip_air_ad(void) ; //date:2003-10-29
void Kp_lleg_air_ad(void) ; //date:2003-10-29
void Kp_stop(void) ; //date:2003-10-29
void Kp_dummy( void ) ; //date:2003-10-29
void Kp_heater(void) ;
void Kp_controller_test(void);
void Kp_pack(void) ;
void Key_vfd_test ( void );
void Kp_ac9(void);
extern char Flash_rom_test ( void ) ;
extern void Sound_test (void ) ;
extern void Sound_prc (void ) ;
void Judge_clrscr(unsigned char step) ;
void Kp_auto_test (void) ;
void Judge_sound_out(unsigned char step) ;
void(*const key_tbl[])( void ) = {
/* P1_KEY -- P8_KEY */
Kp_dummy , /* key No */
Kp_heater , /* keyvld = 0x01/0x39 P1_KEY */
Kp_dummy , /* keyvld = 0x02/0x3a P2_KEY */
Kp_power , /* keyvld = 0x03/0x3b P3_KEY */
Kp_mm_mm1 , /* keyvld = 0x04/0x3c P4_KEY */
Kp_mm_st1 , /* keyvld = 0x05/0x3d P5_KEY */
Kp_mr_pr , /* keyvld = 0x06/0x3e P6_KEY */
Kp_nar , /* keyvld = 0x07/0x3f P7_KEY */
Kp_spd_dn , /* keyvld = 0x08/0x40 P8_KEY */
/* P9_KEY -- P16_KEY */
Kp_dummy, /* keyvld = 0x09 */
Kp_dummy, /* keyvld = 0x0a */
Kp_dummy , /* keyvld = 0x0b */
Kp_mm_mm3 , /* keyvld = 0x0c/0x44 P12_KEY */
Kp_mm_tt1 , /* keyvld = 0x0d/0x45 P13_KEY */
Kp_mid , /* keyvld = 0x0e/0x46 P14_KEY */
Kp_spd_up , /* keyvld = 0x0f/0x47 P15_KEY */
Kp_yn_dn, /* keyvld = 0x10/0x48 P16_KEY */
/* P17_KEY -- P24_KEY */
Kp_dummy, /* keyvld = 0x11 */
Kp_leg_up, /* keyvld = 0x12 /0x4a P18_KEY */
Kp_dummy, /* keyvld = 0x13 */
Kp_mm_mm2 , /* keyvld = 0x14/0x4c P20_KEY */
Kp_mm_st2 , /* keyvld = 0x15/0x4d P21_KEY */
Kp_mr_br, /* keyvld = 0x16/0x4e P22_KEY */
Kp_yn_up, /* keyvld = 0x17/0x4f P23_KEY */
Kp_dummy, /* keyvld = 0x18 */
/* P25_KEY -- P32_KEY */
Kp_lleg_air_ad, /* keyvld = 0x19/0x51 P25_KEY */ //leg air strength change //
Kp_leg_dn, /* keyvld = 0x1a/0x52 P26_KEY */
Kp_dummy, /* keyvld = 0x1b */
Kp_mm_mt, /* keyvld = 0x1c/0x54 P28_KEY */
Kp_mm_tt2, /* keyvld = 0x1d/0x55 P29_KEY */
Kp_wid , /* keyvld = 0x1e/0x56 P30_KEY */
Kp_dummy, /* keyvld = 0x1f */
Kp_mh, /* keyvld = 0x20/0x58 P32_KEY */ //hang vib
/* P33_KEY -- P38_KEY */
Kp_hip_air_ad, /* keyvld = 0x21/0x59 P33_KEY */ //seat air strength change //
Kp_dummy, /* keyvld = 0x22 */
Kp_dummy , /* keyvld = 0x23 */
Kp_rcl_up , /* keyvld = 0x24/0x5c P34_KEY */
Kp_ft_up , /* keyvld = 0x25/0x5d P35_KEY */
Kp_dummy , /* keyvld = 0x26 P36_KEY */
/* P39_KEY--P45_KEY */
Kp_mlh_air, /* keyvld = 0x27/0x5f P37_KEY */ //little leg and hip air //
Kp_mb, /* keyvld = 0x28/0x60 P38_KEY */ //back vib
Kp_hand_air_ad, /* keyvld = 0x29/0x61 P39_KEY */ //hand air strength change //
Kp_dummy, /* keyvld = 0x2a */
Kp_dummy, /* keyvld = 0x2b */
Kp_rcl_dn, /* keyvld = 0x2c/0x63 P40_KEY */
Kp_ft_dn, /* keyvld = 0x2d/0x64 P41_KEY */
Kp_dummy, /* keyvld = 0x2e P42_KEY */
Kp_hand_air, /* keyvld = 0x2f/0x66 P43_KEY */
Kp_dummy, /* keyvld = 0x30/0x67 P44_KEY */
Kp_dummy, /* keyvld = 0x31 */
Kp_dummy, /* keyvld = 0x32 */
Kp_dummy, /* keyvld = 0x33 */
Kp_dummy, /* keyvld = 0x34 */
Kp_dummy, /* keyvld = 0x35 */
Kp_dummy, /* keyvld = 0x36 */
Kp_dummy, /* keyvld = 0x37 */
Kp_dummy , /* keyvld = 0x38/0x6f */
/* DOOR CLOSE /keyvld+=0x38 */
Kp_dummy, /* keyvld = 0x39/0x01 P1_KEY */
Kp_dummy, /* keyvld = 0x3a/0x02 P2_KEY */
Kp_power , /* keyvld = 0x3b/0x03 P3_EKY */
Kp_dummy, /* keyvld = 0x3c/0x04 P4_KEY */
Kp_dummy, /* keyvld = 0x3d/0x05 P5_KEY */
Kp_dummy, /* keyvld = 0x3e/0x06 P6_KEY */
Kp_dummy, /* keyvld = 0x3f/0x07 P7_KEY */
Kp_dummy, /* keyvld = 0x40/0x08 P8_KEY */
Kp_dummy, /* keyvld = 0x41/0x09 P9_KEY */
Kp_dummy, /* keyvld = 0x42/0x0a P10_KEY */
Kp_sp_up, /* keyvld = 0x43/0x0b P11_KEY */
Kp_dummy, /* keyvld = 0x44/0x0c P12_KEY */
Kp_dummy, /* keyvld = 0x45/0x0d P13_KEY */
Kp_ac6, /* keyvld = 0x46/0x0e P14_KEY */
Kp_dummy, /* keyvld = 0x47/0x0f P15_KEY */
Kp_ac8, /* keyvld = 0x48/0x10 P16_KEY */
Kp_dummy, /* keyvld = 0x49/0x11 P17_KEY */
Kp_leg_up, /* keyvld = 0x4a/0x12 P18_KEY */
Kp_sp_dn, /* keyvld = 0x4b/0x13 P19_KEY */
Kp_ac1, /* keyvld = 0x4c/0x14 P20_KEY */
Kp_ac3, /* keyvld = 0x4d/0x15 P21_KEY */
Kp_ac5, /* keyvld = 0x4e/0x16 P22_KEY */
Kp_ac7, /* keyvld = 0x4f/0x17 P23_KEY */
Kp_dummy, /* keyvld = 0x50/0x18 P24_KEY */
Kp_lleg_air_ad, /* keyvld = 0x51/0x19 P25_KEY */
Kp_leg_dn, /* keyvld = 0x52/0x1a P26_KEY */
Kp_dummy, /* keyvld = 0x53/0x1b P27_KEY */
Kp_ac2, /* keyvld = 0x54/0x1c P28_KEY */
Kp_ac4 , /* keyvld = 0x55/0x1d P29_KEY */
Kp_dummy, /* keyvld = 0x56/0x1e P30_KEY */
Kp_dummy, /* keyvld = 0x57/0x1f P31_KEY */
Kp_hand_vib_cut, /* keyvld = 0x58/0x20 P32_KEY */
Kp_hip_air_ad, /* keyvld = 0x59/0x21 P33_KEY */
Kp_dummy, /* keyvld = 0x5a/0x22 */
Kp_stop, /* keyvld = 0x5b P45_KEY */
Kp_rcl_up, /* keyvld = 0x5c/0x24 P34_KEY */
Kp_ft_up, /* keyvld = 0x5d/0x25 P35_KEY */
Kp_dummy, /* keyvld = 0x5e/0x26 P36_KEY */
Kp_dummy, /* keyvld = 0x5f/0x27 P37_KEY */
Kp_back_vib_cut, /* keyvld = 0x60/0x28 P38_KEY */
Kp_hand_air_ad, /* keyvld = 0x61/0x29 P39_KEY */
Kp_dummy, /* keyvld = 0x62/0x2a */
Kp_dummy, /* keyvld = 0x63/0x2b */
Kp_rcl_dn, /* keyvld = 0x64/0x2c P40_KEY */
Kp_ft_dn, /* keyvld = 0x65/0x2d P41_KEY */
Kp_dummy, /* keyvld = 0x66/0x2e P42_KEY */
Kp_dummy, /* keyvld = 0x67/0x2f P43_KEY */
Kp_dummy, /* keyvld = 0x68/0x30 P44_KEY */
Kp_dummy, /* keyvld = 0x69 */
Kp_dummy, /* keyvld = 0x6a */
Kp_dummy, /* keyvld = 0x6b */
Kp_dummy, /* keyvld = 0x6c */
Kp_dummy, /* keyvld = 0x6d */
Kp_dummy, /* keyvld = 0x6e */
Kp_ac9, /* keyvld = 0x6f */
Kp_controller_test, /* keyvld = 0x70 */
Kp_auto_test /* keyvld = 0x71 */
} ;
/* unsigned char auto_test_step_time[]={
0,150,120,1,20,20,20,1,20,20,20,TEMP_TIME,1,70,50,50,20,20,20,20,TEMP_TIME,
20,20,
210,20,20,50,50,20,20,30,30,30,30,30,30,50,30,30,30,
50,30,30,30,30,100
}; */
/********************************************************/
/********************************************************/
/* unsigned char auto_test_step_cmd[]={
0x02,0x0a,0x0c,0x01,0x20,0x51,0x52,0x53,0x21,0x54,0x55,0x56,0x2e,
0x29,0x5c,0x5d,0x5e,0x51,0x52,0x53,0x54,0x2e,0x9c,0x9d,0x9f,0x18,
0x19,0x90,0x91,0x9f,0x80,0x8f,0x81,0x8f,0x96,0x97,0x9f,0x98,0x99,
0x9f,0x82,0x8f,0x83,0x8f,0x84,0x8f,0x85,0x8f,0x86,0x8f,0x87,0x8f,
0xa9,0x88,0x8f,0x89,0x8f,0x8a,0x8f,0xaa,0x8b,0x8f,0x8c,0x8f,
0x8d,0x8f,0xab,0xac,0xdd
};*/
const TEST auto_test_arry[]={
{0,0x02,""},{150,0x0a,""},{120,0x0c,""},{0,0x01,""},
{0,0x20,""},{20,0x51,"侾俙"},{20,0x52,"侾俛"},{20,0x53,"侾俠"},{0,0x21,""},
{20,0x54,"侾俢"},{20,0x55,"侾俤"},{20,0x56,"侾俥"},{0,0x2e,""},
{0,0x29,""},{70,0x5c,"俀俙"},{50,0x5d,"俀俛"},{50,0x5e,"俀俠"},
{20,0x51,"俁俙"},{20,0x52,"俁俛"},{20,0x53,"俁俠"},{20,0x54,"俁俢"},{0,0x2e,""},
{20,0x9c,"係"},{20,0x9d,"係"},{0,0x9f,""},
{210,0x18,"俆"},{0,0x19,""},
{20,0x90,"俇"},{20,0x91,"俇"},{0,0x9f,""},
{50,0x80,"俈"},{0,0x8f,""},
{50,0x81,"俉"},{0,0x8f,""},
{20,0x96,"俋"},{20,0x97,""},{0,0x9f,""},
{20,0x98,""},{20,0x99,""},{0,0x9f,""},
{30,0x82,"俋"},{0,0x8f,""},
{30,0x83,""},{0,0x8f,""},
{30,0x84,""},{0,0x8f,""},
{30,0x85,"俋"},{0,0x8f,""},{30,0x86,""},{0,0x8f,""},{30,0x87,""},{0,0x8f,""},
{50,0xa9,"侾侽"},
{30,0x88,"侾侾"},{0,0x8f,"侾侾"},{30,0x89,"侾侾"},{0,0x8f,"侾侾"},{30,0x8a,"侾侾"},{0,0x8f,""},
{50,0xaa,"侾俀"},
{30,0x8b,"侾俁"},{0,0x8f,"侾俁"},{30,0x8c,"侾俁"},{0,0x8f,"侾俁"},{30,0x8d,"侾俁"},{0,0x8f,""},
{30,0xab,"侾係"},{0,0xac,""},
{100,0x0d,""},
{0,0x00,""}
};
/********************************************************/
/* Key process main */
/* date:2003-10-29 */
/********************************************************/
void Key_prc( void )
{
unsigned char str_cmd;
str_cmd = cmd_dt[1];
cmd_dt[0] = CD_STX ; /* start code */
cmd_dt[1] = CD_DUMMY ; /* CD_DUMMY 0xf0 */
if((ac_mode == 9)&&(old_ac_mode != 9)&&(POWER_F== 1))
{
KEYREQF = ON ;
keyvld = 0x6f; /* ac9 */
}
if(COMERR_F == OFF) /* communication is right */
{
if(com_step == 0)
KEYREQF = OFF ;
else if(receive_err >= 1) //接收出现错误需重发信息
cmd_dt[1] = str_cmd;
// if(( KEYREQF == ON )&&(err_no == 0)) //err_no !=0 mask key
else if(KEYREQF == ON) //err_no != 0 ,enable key
{
KEYREQF = OFF ;
if((stop_step == 0)
|| ((stop_step == 1) && (keyvld == KEY_STOP))
|| ((stop_step == 2) && (keyvld == KEY_STOP))
|| ((stop_step == 3) && ((keyvld == KEY_POWER) || (keyvld == KEY_POWER2))))
key_tbl[keyvld]( ) ;
}
/* judge clear screen or dont clear screen */
if((command_data != cmd_dt[1])&&(KREPTF != 1))
{
if(ac_mode != 9)
command_data = cmd_dt[1] ;
else if((ac_mode==9)&&(old_ac_mode == 9))
command_data = CD_DUMMY;
}
else //REPEAT KEY NO CLEAR SCREEN
command_data = CD_DUMMY ;
if( (POWER_F == ON) && (sb_tmr_h == 0) && (cmd_dt[1] == CD_DUMMY) ) //stanby time up,close
cmd_dt[1] = CD_PW_OFF ;
/* under couse mode, when shoulder is checking, masked leg_up key and leg_dn key */
if((ac_mode != 0)&&(yn_mode < 3)&&((cmd_dt[1] == CD_LEG_UP)||(cmd_dt[1] == CD_LEG_DN)))
cmd_dt[1] = CD_DUMMY ;
cmd_dt[2] = cmd_dt[1] ^ 0xff ;
Hputs( (char *) &cmd_dt , sizeof(cmd_dt) ) ; /* send cmd_dt code */
}
}
/********************************************************/
/* POWER Key process */
/* date:2003-10-29 */
/********************************************************/
void Kp_power( void )
{
if( stp_mode == MD_STP_NULL) //0
{
stp_mode = MD_HOME ; //define MD_HOME (unsigned char)1
ac_mode = MD_AC_NULL ;
mm_mode = MD_MM_NULL ;
mr_mode = MD_MR_NULL ;
mb_mode = MD_MB_NULL ; /* back vibrator mode */
mh_mode = MD_MH_NULL ; /* hand vibrator mode */
hand_ma_mode = MD_MARM_NULL ;
leg_hip_ma_mode = MD_MLH_NULL ;
mn_width = MD_MID ; //define MD_MID (unsigned char)2
mn_speed = MD_SPD4 ; //4
mn_strength = MD_NORMAL ; //2
sts_flag1 = 0 ;
trm_flag = 0 ;
cmd_over = 0 ;
if(stop_step == 3)
{
stop_step = 2;
// off_tmr = OFFTMR; //10
}
if(( POWER_F == OFF ) && (stop_step == 0))
{
UBD_F = ON ;
LBD_F = ON ;
BVIB_F = ON ;
POWER_F = ON ; /* power on */
cmd_dt[1] = CD_PW_ON ; //define cd_pw_on 0x1
Snd_out(START_SOUND) ;
// play_sound_no = PLAY_SOUND_START ;
Tsb_set(TM5M);
}
else
{
UBD_F = ON ;
LBD_F = ON ;
BVIB_F = ON ;
POWER_F = OFF ; /* power off */
cmd_dt[1] = CD_PW_OFF ;
br_pr_prc_flag = 0 ; // CLEAR br pr finger check flag
Snd_out(KEY_SOUND) ;
}
}
}
/********************************************************/
/* FooTrest UP Key process */
/* date:2003-10-29 */
/********************************************************/
void Kp_ft_up( void )
{
KRPREQF = ON ;
kreptmr = TM100MS ; /* 100ms */
cmd_dt[1] = CD_FT_UP ;
if( KREPTF == OFF )
{
Snd_out(KEY_SOUND) ;
}
}
/********************************************************/
/* leg side rise process */
/* date: 2003-10-29 */
/********************************************************/
void Kp_leg_up(void)
{
if((POWER_F == ON)&&(stp_mode == MD_STP_NULL))
{
KRPREQF = ON ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -