📄 marker.cpp
字号:
#include <graphics.h>
#include <stdio.h>
#include <string.h>
#include "keydef.h"
#include "g_func.h"
#include "global.h"
#include "marker.h"
#include "cursor.h"
#include "freqkey.h"
#include "rd7472.h"
#include "numkeyp.h"
//const char *marker[]={"频 标","1.关","2.关","3.关","更多频标","所有频标","频标函数","频标搜索"};
const char *marker[]={"频 标","","","","更多频标","","频标函数","频标搜索"};
const char *marker_4[]={"更多频标","","","","","","","返 回"};
const char *marker_7[]={"频标搜寻","","","中心频标","","","","返 回"};
const char *marker_8[]={"频标搜寻","最大值","最小值","","频标跟踪","","","返 回"};
const char *marker_6[]={"频标函数","Δ:","Δ:","Δ:","","","","返 回"};
const char *marker_73[]={"中心频标","Δ:","Δ:-3dB","Δ:-6dB"," 关","","","返 回"};
int mem2;
int mem1;
KEY mark_last;
void marker_hardkey()
{
int i;
rst_num_mem();
_keyid=MARKER;
if(_freq[ch_sel].is_dot_freq)
goto xxx1;
for(i=0;i<8;i++)
if(_marker[ch_sel].mark[i].freq<_freq[ch_sel].start_freq)
_marker[ch_sel].mark[i].freq=_freq[ch_sel].start_freq;
else if(_marker[ch_sel].mark[i].freq>_freq[ch_sel].end_freq)
_marker[ch_sel].mark[i].freq=_freq[ch_sel].end_freq;
for(i=0;i<3;i++){
if(_marker[ch_sel].marker_fun[i].power>-0.001)
_marker[ch_sel].marker_fun[i].power=-3;
else if(_marker[ch_sel].marker_fun[i].power<max(Min(_freq[ch_sel].start_freq,_marker[ch_sel].cen_mkr.freq,ch_sel),
Min(_marker[ch_sel].cen_mkr.freq,_freq[ch_sel].end_freq,ch_sel)))
_marker[ch_sel].marker_fun[i].power=max(Min(_freq[ch_sel].start_freq,_marker[ch_sel].cen_mkr.freq,ch_sel),
Min(_marker[ch_sel].cen_mkr.freq,_freq[ch_sel].end_freq,ch_sel));
}
if(_marker[ch_sel].cen_mkr.set_attenuate>-0.01)
_marker[ch_sel].cen_mkr.set_attenuate=-6;
else if(_marker[ch_sel].cen_mkr.set_attenuate<max(Min(_freq[ch_sel].start_freq,_marker[ch_sel].cen_mkr.freq,ch_sel),
Min(_marker[ch_sel].cen_mkr.freq,_freq[ch_sel].end_freq,ch_sel)))
_marker[ch_sel].cen_mkr.set_attenuate=max(Min(_freq[ch_sel].start_freq,_marker[ch_sel].cen_mkr.freq,ch_sel),
Min(_marker[ch_sel].cen_mkr.freq,_freq[ch_sel].end_freq,ch_sel));
xxx1:
vision();
_softkeyid1=0;
_softkeyid2=0;
disp_menu12((char **)marker,7);
draw_big_menu(5,2,1,1,0,"所有频标"," 关");
// setfillstyle(SOLID_FILL,TEXTMENUBK);
// bar(B_LX+2,5*59+20,B_RX-2,5*59+40);
// Outchar12(B_LX+35,5*59+22,"关",TEXTDIGITAL);
if(_lst_mkrkeys[ch_sel][0]==0)
_softkeyid=0;
else
_softkeyid=_lst_mkrkeys[ch_sel][0];
refresh_up();
refresh_down_mark();
for(i=0;i<3;i++){
refr_menu_mkr_all(i);
/*
if(_marker[ch_sel].mark[i].on_off==OFF)
{
//marker_show1(i+1);
curs_flag=0;
}
else if(_marker[ch_sel].mark[i].on_off==ON)
{
disable();
setfillstyle(SOLID_FILL,TEXTMENUBK);
bar(B_LX,(i+1)*59+8-5+18,B_RX-3,(i+1)*59+8+20+15);
//marker_show1(i);
//mkr_show_mark_all(i);
refr_menu_mkr_all(i);
digital_en=1;
curs_flag=1;
init_cur_frq(_marker[ch_sel].mark[i].freq);
cursor();
} */
}
border_marker();
// _softkeyid=0;
if(_softkeyid<=3&&_softkeyid>0){
digital_en=1;
curs_flag=1;
}
else {
digital_en=0;
curs_flag=0;
}
// printf("marker");
//delay(3000);
}
void marker_softkey(KEY key)
{
int i;
char msg[20];
switch (key)
{
case F1:
if(_softkeyid==7&&_softkeyid1==73&&_softkeyid2!=0)
{
_softkeyid2=731;
_lst_mkrkeys[ch_sel][2]=731;
mark_last=731;
digital_en=1;
curs_flag=1;
////
for(i=1;i<5;i++){
erase_smal_border(i);
}
// show4(1);
draw_smal_border(1);
rst_num_mem();
refresh_down_mark();
//bit_cnt_pwr(_marker[chs].marker7[3].power);
init_cur_pwr(_marker[chs].cen_mkr.power);
cursor();
/* mark_softkeyid2=0;
disp_menu12((char **)marker_7,7);
for(i=1;i<5;i++){
setfillstyle(SOLID_FILL,TEXTMENUBK);
bar(B_LX,i*59+8-5+18,B_RX-3,i*59+8+20+15);
}
flag_73=0;
for(int j=1;j<4;j++)
marker_show4(j);
mff_show();
border_marker();
*/
}
else if(_softkeyid==4&&_softkeyid1!=0)
{
_softkeyid1=41;
_lst_mkrkeys[ch_sel][1]=41;
if(_marker[ch_sel].mark[3].on_off==OFF)
{
if(mem2==4){
_marker[ch_sel].mark[3].on_off=ON;
mkr_xch = TRUE;
}
else
_marker[ch_sel].mark[3].on_off=OFF;
}
else if(_marker[ch_sel].mark[3].on_off==ON)
{
if(mem2==4){
_marker[ch_sel].mark[3].on_off=OFF;
mkr_xch = TRUE;
}
else
_marker[ch_sel].mark[3].on_off=ON;
}
rst_num_mem();
refresh_down_mark();
// marker_show2(1);
if(_marker[ch_sel].mark[3].on_off==ON)
{
digital_en=1;
curs_flag=1;
if(_freq[ch_sel].is_dot_freq==TRUE){
_marker[ch_sel].mark[3].freq=_freq[ch_sel].dot_freq;
mkr_xch = TRUE;
}
init_cur_frq(_marker[ch_sel].mark[3].freq);
cursor();
}
else if(_marker[ch_sel].mark[3].on_off==OFF)
{
digital_en=0;
curs_flag=0;
}
mem2=4;
//marker_show2(1);
//mkr_show_mark_all(1);
refr_menu_mkr_all(3);
border_marker();
}
else if(_softkeyid==6&&_softkeyid1!=0)
{
_softkeyid1=61;
_lst_mkrkeys[ch_sel][2]=61;
if(_marker[ch_sel].marker_fun[0].on_off==OFF)
{
_marker[ch_sel].marker_fun[0].on_off=ON;
digital_en=1;
curs_flag=1;
}
else if(_marker[ch_sel].marker_fun[0].on_off==ON)
{
_marker[ch_sel].marker_fun[0].on_off=OFF;
digital_en=0;
curs_flag=0;
}
mkr_xch = TRUE;
marker_show3(0);
rst_num_mem();
refresh_down_mark();
border_marker();
}
else if(_softkeyid==7&&_softkeyid1!=0&&_softkeyid2==0)
{
_softkeyid1=71;
_lst_mkrkeys[ch_sel][3]=71;
digital_en=0;
curs_flag=0;
if(_marker[ch_sel].max_mkr.on_off==ON)
{
_marker[ch_sel].max_mkr.on_off=OFF;
marker_show4(1);
}
else if(_marker[ch_sel].max_mkr.on_off==OFF)
{
_marker[ch_sel].max_mkr.on_off=ON;
if(_marker[ch_sel].max_mkr.freq > _freq[ch_sel].end_freq)
_marker[ch_sel].max_mkr.freq = _freq[ch_sel].end_freq;
else if(_marker[ch_sel].max_mkr.freq < _freq[ch_sel].start_freq)
_marker[ch_sel].max_mkr.freq = _freq[ch_sel].start_freq;
marker_show4(1);
}
mkr_xch = TRUE;
border_marker();
rst_num_mem();
refresh_down_mark();
}
else if(_softkeyid1==0){
_softkeyid=1;
_lst_mkrkeys[ch_sel][0]=1;
if(_marker[ch_sel].mark[0].on_off==OFF)
{
if(mem1==1){
_marker[ch_sel].mark[0].on_off=ON;
mkr_xch = TRUE;
}
else
_marker[ch_sel].mark[0].on_off=OFF;
}
else if(_marker[ch_sel].mark[0].on_off==ON)
{
if(mem1==1){
_marker[ch_sel].mark[0].on_off=OFF;
mkr_xch = TRUE;
}
else
_marker[ch_sel].mark[0].on_off=ON;
}
// marker_show1(1);
rst_num_mem();
refresh_down_mark();
if(_marker[ch_sel].mark[0].on_off==ON)
{
digital_en=1;
curs_flag=1;
if(_freq[ch_sel].is_dot_freq==TRUE){
_marker[ch_sel].mark[0].freq=_freq[ch_sel].dot_freq;
mkr_xch = TRUE;
}
init_cur_frq(_marker[ch_sel].mark[0].freq);
cursor();
}
else if(_marker[ch_sel].mark[0].on_off==OFF)
{
digital_en=0;
curs_flag=0;
}
mem1=1;
//marker_show1(1);
refr_menu_mkr_all(0);
border_marker();
}
break;
case F2:
if(_softkeyid==7&&_softkeyid1==73&&_softkeyid2!=0)
{
_softkeyid2=732;
_lst_mkrkeys[ch_sel][2]=732;
mark_last=732;
// power_73=-3;
_marker[ch_sel].cen_mkr.set_attenuate = -3;
rst_num_mem();
refresh_down_mark();
_softkeyid2=0;
disp_menu12((char **)marker_8,7);
// for(i=1;i<5;i++){
// disable();
// setfillstyle(SOLID_FILL,TEXTMENUBK);
// bar(B_LX,i*59+8-5+18,B_RX-3,i*59+8+20+15);
// }
//flag_73[ch_sel]=0;
_marker[ch_sel].cen_mkr.on_off=ON;
if(_marker[ch_sel].cen_mkr.freq > _freq[ch_sel].end_freq)
_marker[ch_sel].cen_mkr.freq = _freq[ch_sel].end_freq;
else if(_marker[ch_sel].cen_mkr.freq < _freq[ch_sel].start_freq)
_marker[ch_sel].cen_mkr.freq = _freq[ch_sel].start_freq;
mkr_xch = TRUE;
for(i=0;i<3;i++)
marker_show4(i+1);
mff_show();
border_marker();
}
else if(_softkeyid==4&&_softkeyid1!=0)
{
_softkeyid1=42;
_lst_mkrkeys[ch_sel][1]=42;
rst_num_mem();
// refresh_down_mark();
if(_marker[ch_sel].mark[4].on_off==OFF)
{ if(mem2==5){
_marker[ch_sel].mark[4].on_off=ON;
mkr_xch = TRUE;
}
else
_marker[ch_sel].mark[4].on_off=OFF;
}
else if(_marker[ch_sel].mark[4].on_off==ON)
{ if(mem2==5){
_marker[ch_sel].mark[4].on_off=OFF;
mkr_xch = TRUE;
}
else
_marker[ch_sel].mark[4].on_off=ON;
}
// marker_show2(2);
if(_marker[ch_sel].mark[4].on_off==ON)
{ digital_en=1;
curs_flag=1;
if(_freq[ch_sel].is_dot_freq==TRUE){
_marker[ch_sel].mark[4].freq=_freq[ch_sel].dot_freq;
mkr_xch = TRUE;
}
rst_num_mem();
refresh_down_mark();
init_cur_frq(_marker[ch_sel].mark[4].freq);
cursor();
}
else if(_marker[ch_sel].mark[4].on_off==OFF)
{
rst_num_mem();
refresh_down_mark();
digital_en=0;
curs_flag=0;
}
//marker_show2(2);
//mkr_show_mark_all(i);
refr_menu_mkr_all(4);
mem2=5;
border_marker();
}
else if(_softkeyid==6&&_softkeyid1!=0)
{ _softkeyid1=62;
_lst_mkrkeys[ch_sel][2]=62;
if(_marker[ch_sel].marker_fun[1].on_off==OFF)
{ _marker[ch_sel].marker_fun[1].on_off=ON;
digital_en=1;
curs_flag=1;
}
else if(_marker[ch_sel].marker_fun[1].on_off==ON)
{ _marker[ch_sel].marker_fun[1].on_off=OFF;
digital_en=0;
curs_flag=0;
}
rst_num_mem();
marker_show3(1);
border_marker();
refresh_down_mark();
mkr_xch = TRUE;
}
else if(_softkeyid==7&&_softkeyid1!=0&&_softkeyid2==0)
{ _softkeyid1=72;
_lst_mkrkeys[ch_sel][1]=72;
digital_en=0;
curs_flag=0;
if(_marker[ch_sel].min_mkr.on_off==ON)
{ _marker[ch_sel].min_mkr.on_off=OFF;
marker_show4(2);
}
else if(_marker[ch_sel].min_mkr.on_off==OFF)
{ _marker[ch_sel].min_mkr.on_off=ON;
if(_marker[ch_sel].min_mkr.freq > _freq[ch_sel].end_freq)
_marker[ch_sel].min_mkr.freq = _freq[ch_sel].end_freq;
else if(_marker[ch_sel].min_mkr.freq < _freq[ch_sel].start_freq)
_marker[ch_sel].min_mkr.freq = _freq[ch_sel].start_freq;
marker_show4(2);
}
mkr_xch = TRUE;
border_marker();
refresh_down_mark();
}
else if(_softkeyid1==0){
_softkeyid=2;
_lst_mkrkeys[ch_sel][0]=2;
if(_marker[ch_sel].mark[1].on_off==OFF)
{ if(mem1==2){
_marker[ch_sel].mark[1].on_off=ON;
mkr_xch = TRUE;
}
}
else if(_marker[ch_sel].mark[1].on_off==ON)
{ if(mem1==2){
_marker[ch_sel].mark[1].on_off=OFF;
mkr_xch = TRUE;
}
}
if(_marker[ch_sel].mark[1].on_off==ON)
{
digital_en=1;
curs_flag=1;
if(_freq[ch_sel].is_dot_freq==TRUE){
_marker[ch_sel].mark[1].freq=_freq[ch_sel].dot_freq;
mkr_xch = TRUE;
}
rst_num_mem();
refresh_down_mark();
init_cur_frq(_marker[ch_sel].mark[1].freq);
cursor();
}
else if(_marker[ch_sel].mark[2].on_off==OFF)
{
digital_en=0;
curs_flag=0;
rst_num_mem();
refresh_down_mark();
}
mem1=2;
//marker_show1(2);
//mkr_show_mark_all(2);
refr_menu_mkr_all(1);
border_marker();
// rst_num_mem();
// refresh_down_mark();
}
break;
case F3:
if(_softkeyid==7&&_softkeyid1==73&&_softkeyid2!=0)
{
_softkeyid2=733;
_lst_mkrkeys[ch_sel][2]=733;
mark_last=733;
_marker[ch_sel].cen_mkr.set_attenuate = -6;
_marker[ch_sel].cen_mkr.on_off=ON;
if(_marker[ch_sel].cen_mkr.freq > _freq[ch_sel].end_freq)
_marker[ch_sel].cen_mkr.freq = _freq[ch_sel].end_freq;
else if(_marker[ch_sel].cen_mkr.freq < _freq[ch_sel].start_freq)
_marker[ch_sel].cen_mkr.freq = _freq[ch_sel].start_freq;
_softkeyid2=0;
disp_menu12((char **)marker_8,7);
for(int j=1;j<4;j++)
marker_show4(j);
mff_show();
border_marker();
rst_num_mem();
refresh_down_mark();
mkr_xch = TRUE;
}
else if(_softkeyid==4&&_softkeyid1!=0)
{
_softkeyid1=43;
_lst_mkrkeys[ch_sel][1]=43;
if(_marker[ch_sel].mark[5].on_off==OFF)
{ if(mem2==6){
_marker[ch_sel].mark[5].on_off=ON;
mkr_xch = TRUE;
}
}
else if(_marker[ch_sel].mark[5].on_off==ON)
{ if(mem2==6){
_marker[ch_sel].mark[5].on_off=OFF;
mkr_xch = TRUE;
}
}
if(_marker[ch_sel].mark[5].on_off==ON)
{
digital_en=1;
curs_flag=1;
if(_freq[ch_sel].is_dot_freq==TRUE)
_marker[ch_sel].mark[5].freq=_freq[ch_sel].dot_freq;
rst_num_mem();
refresh_down_mark();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -