📄 powerkey.cpp
字号:
#include <graphics.h>
#include <stdio.h>
#include <string.h>
#include "numkeyp.h"
#include "keydef.h"
#include "cursor.h"
#include "g_func.h"
#include "global.h"
#include "powerkey.h"
#include "updown.h"
const char *power[]={"功 率","输出功率","功率扫描>>","","","","",""};
const char *sweep_p[]={"功率扫描","起始功率","终止功率","","","","","返 回"};
void flags_p()///显示开关程序 written by maoweiying
{ if(_power[ch_sel].flag==0)
{
Outchar12(B_LX+10,5*59+22,"开",TEXTMENU);
Outchar12(B_RX-25,5*59+22,"关",TEXTDIGITAL);
}
else if(_power[ch_sel].flag==1)
{
Outchar12(B_LX+10,5*59+22,"开",TEXTDIGITAL);
Outchar12(B_RX-25,5*59+22,"关",TEXTMENU);
}
}
void power_hardkey()
{
_keyid=POWER;
/* if(_chab[ch_sel].on_off==1&&_chab[!ch_sel].on_off==0)
ch_sel=!ch_sel;
else if(_chab[ch_sel].on_off==1&&count==0&&_chab[!ch_sel].on_off==1)
{ ch_sel=!ch_sel;
count++;
}
*/
refresh_up();
if(_lst_pwrkeys[ch_sel][0]==0)
_softkeyid=1;
else
_softkeyid=_lst_pwrkeys[ch_sel][0];
_softkeyid1=0;
rst_num_mem();
if(_softkeyid==1){
digital_en=1;
curs_flag=1;
}
else{
digital_en=0;
curs_flag=0;
}
disp_menu12((char **)power,7);
draw_big_menu(5,2,1,1,0,"射频功率","","");
flags_p();
border_power();
refresh_down_p();
vision();
}
void power_softkey(KEY key)
{
switch (key)
{
case F1:
if(_softkeyid==2&&_softkeyid1!=0) //在按下是f2或其他情况下的f1功能 written by maoweiying
{ _softkeyid1=21;
_lst_pwrkeys[ch_sel][1]=1;
rst_num_mem();
digital_en=1;
curs_flag=1;
}
else
{ _softkeyid=1;
_lst_pwrkeys[ch_sel][0]=1;
rst_num_mem();
digital_en=1;
curs_flag=1;
_power[ch_sel].power_sweep=OFF;
}
refresh_down_p();
border_power();
break;
case F2:
if(_softkeyid==2&&_softkeyid1!=0) //在按下是f2或其他情况下的f2功能 written by maoweiying
{ _softkeyid1=22;
_lst_pwrkeys[ch_sel][1]=2;
rst_num_mem();
digital_en=1;
curs_flag=1;
}
else
{ _softkeyid=2;
_lst_pwrkeys[ch_sel][0]=2;
if(_lst_pwrkeys[ch_sel][1]==0)
_softkeyid1=21;
else
_softkeyid1=20+_lst_pwrkeys[ch_sel][1];
rst_num_mem();
digital_en=1;
curs_flag=1;
disp_menu12((char**)sweep_p,7);
init_cur_pwr(_power[ch_sel].end_power);
}
refresh_down_p();
border_power();
break;
case F3:
break;
case F4:
break;
case F5:
if(_softkeyid==2&&_softkeyid1!=0)
{ digital_en=0;
}
else
{ _softkeyid=5; //f5的开关功能 written by maoweiying
_lst_pwrkeys[ch_sel][0]=5;
digital_en=0;
curs_flag=0;
onoff_p();
stat_xch=1;
border_power();
refresh_down_p();
}
break;
case F6:
break;
case F7:
if(_softkeyid==2) //在按下是f2情况下f7的返回功能 written by maoweiying
{
// _softkeyid=1;
_softkeyid1=0;
rst_num_mem();
digital_en=0;
curs_flag=0;
// add on 04-08-06
_power[ch_sel].power_sweep=TRUE;
disp_menu12((char**)power,7);
draw_big_menu(5,2,1,1,0,"射频功率","","");
flags_p();
refresh_down_p();
border_power();
}
default:
break;
}
}
///开关程序 written by maoweiying
void onoff_p()
{
// disable();
setfillstyle(SOLID_FILL,TEXTMENUBK);
bar(B_LX+2,5*59+20,B_RX-2,5*59+40);
if(_power[ch_sel].flag==ON)
{
_power[0].flag=OFF;
_power[1].flag=OFF;
set_relay_byte|=0x10;
Outchar12(B_LX+10,5*59+22,"开",TEXTMENU);
Outchar12(B_RX-25,5*59+22,"关",TEXTDIGITAL);
}
else if(_power[ch_sel].flag==0)
{
_power[0].flag=1;
_power[1].flag=1;
set_relay_byte&=0xef;
Outchar12(B_LX+10,5*59+22,"开",TEXTDIGITAL);
Outchar12(B_RX-25,5*59+22,"关",TEXTMENU);
}
}
//功率上下刷新程序 written by maoweiying
void refresh_down_p()
{
char msg[30],msg1[10];
CLR_LN4;
if(_softkeyid== 1)
{
clear_rect(35,462,449,475);
Outchar12(35,462,"输出功率:",TEXTFURLN);
refr_pwr_f1();
init_cur_pwr(_power[ch_sel].output_power);
}
else if(_softkeyid1==22)
{ clear_rect(35,462,449,475);
Outchar12(35,462,"终止功率:",TEXTFURLN);
refr_pwr_f22();
init_cur_pwr(_power[ch_sel].end_power);
}
else if(_softkeyid1==21/*||_softkeyid==2*/)
{
clear_rect(35,462,449,475);
Outchar12(35,462,"起始功率:",TEXTFURLN);
refr_pwr_f21();
init_cur_pwr(_power[ch_sel].start_power);
}
else if(_softkeyid==2&&_softkeyid1==0){
Outchar12(35,462,"功率扫描:",TEXTFURLN);
sprintf(msg,"%.2f",_power[ch_sel].start_power);
strcat(msg,"dBm -->");
sprintf(msg1,"%.2f",_power[ch_sel].end_power);
strcat(msg,msg1);
strcat(msg,"dBm");
Outchar12(105,462,msg,TEXTDIGITAL);
}
else if(_softkeyid==5)
{
clear_rect(35,462,449,475);
clear_rect(35,462,449,475);
Outchar12(35,462,"射频功率:",TEXTFURLN);
if(_power[chs].flag==OFF)
Outchar12(105,462,"关",TEXTDIGITAL);
else if(_power[chs].flag==ON)
Outchar12(105,462,"开",TEXTDIGITAL);
}
}
void border_power()
{
for(int i=1;i<=2;i++)
erase_smal_border(i);
erase_big_border(5);
if(_softkeyid==1||(_softkeyid==2&&_softkeyid1==21))
draw_smal_border(1);
else if(_softkeyid==2&&(_softkeyid1==22||_softkeyid1==0))
draw_smal_border(2);
else if(_softkeyid==5)
draw_big_border(5);
}
//int is_byte_change = 0;
//unsigned char old_byte;
//int iii=0;
void set_relay(float p_db)
{
if(set_relay_byte & 0x10)
{
outportb(0x35c,0xff);
return;
}
set_relay_byte = 0;
if(p_db>-0.001){
// outportb(0x35c,0);
}
else if(p_db>-10.001){
set_relay_byte|=0x01;
// outportb(0x35c,0x1);
}
else if(p_db>-20.001){
// outportb(0x35c,0x2);
set_relay_byte|=0x02;
}
else if(p_db>-30.001){
//outportb(0x35c,0x3);
set_relay_byte|=0x03;
}
else if(p_db>-40.001){
//outportb(0x35c,0x6);
set_relay_byte|=0x05;
}
else if(p_db>-50.001){
// outportb(0x35c,0x7);
set_relay_byte|=0x06;
}
else if(p_db>-60.001){
// outportb(0x35c,0x0e);
set_relay_byte|=0x07;
}
else if(p_db>-70.001){
// outportb(0x35c,0x0f);
set_relay_byte|=0x0d;
}
outportb(0x35c,set_relay_byte);
/* if(set_relay_byte != old_byte){
is_byte_change = 1;
}
else
is_byte_change = 0;
old_byte = set_relay_byte;
if(is_byte_change){
char str[20];
sprintf(str, "%#x", set_relay_byte);
outtextxy(100, 100 + (iii++)*10, str);
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -