⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 marker.cpp

📁 串口可交换程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
#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 + -