?? ncc.c
字號:
#include <formatio.h>
#include <rs232.h>
#include <utility.h>
#include <ansi_c.h>
#include <cvirte.h>
#include <userint.h>
#include "ncc.h"
static int panelHandle;
static int panelm,panelo,panelx,panelp;
unsigned char *sendstr1,*sendstr2,*sendstr3;
unsigned char rvstr1[200],rvstr2[200],rvstr3[200];
int pflag=0;
int portm=1,portx=4,porto=1;
//odu...
char odu_fspl[20]="0",odu_jspl[20]="0",odu_fssj[20]="0",odu_jssj[20]="0.00",odu_pt[20]="0",odu_bpt[20]="0.00",odu_pw[20]="0.00";
//mux................
char mux_fssl1[20]="0",mux_fssl2[20]="0", mux_fssl3[20]="0", mux_jssl1[20]="0",mux_jssl2[20]="0",mux_jssl3[20]="0";
char mux_ck1[5]="0",mux_ck2[5]="0",mux_ck3[5]="0";
int mux_ch=0;
//modem.............................
int modem_disp(void);
int odu_disp(void);
int mux_disp(void);
char code1[100],code2[50]="1230";
char modem_fssl[20]="0",modem_jssl[20]="0",modem_fspl[20]="0",modem_jspl[20]="0";
int kbdd=0,kbpp=0;
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "ncc.uir", PANEL)) < 0)
return -1;
if ((panelm= LoadPanel (0, "ncc.uir",PANELM)) < 0)
return -1;
if ((panelo= LoadPanel (0, "ncc.uir",PANELO)) < 0)
return -1;
if ((panelx = LoadPanel (0, "ncc.uir",PANELX)) < 0)
return -1;
if ((panelp = LoadPanel (0, "ncc.uir",PANELP)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
//DiscardPanel (panelm);
//DiscardPanel (panelo);
//DiscardPanel (panelx);
// DiscardPanel (panelp);
//
return 0;
}
int CVICALLBACK M_JSSL (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
SetCtrlAttribute (panelHandle,PANEL_TIMER, ATTR_ENABLED,1);
InstallPopup (panelp); kbpp=0; kbdd=4;
ResetTextBox (panelm,PANELM_TEXTBOX4," ");
break;
}
return 0;
}
int CVICALLBACK M_FSSL (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
SetCtrlAttribute (panelHandle,PANEL_TIMER, ATTR_ENABLED,1);
InstallPopup (panelp); kbpp=0; kbdd=3;
ResetTextBox (panelm,PANELM_TEXTBOX3," ");
break;
}
return 0;
}
int CVICALLBACK M_JSPL (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
SetCtrlAttribute (panelHandle,PANEL_TIMER, ATTR_ENABLED,1);
InstallPopup (panelp); kbpp=0; kbdd=2;
ResetTextBox (panelm,PANELM_TEXTBOX2," ");
break;
}
return 0;
}
int CVICALLBACK M_FSPL (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
SuspendTimerCallbacks ();
InstallPopup (panelp); kbpp=0; kbdd=1;
ResetTextBox (panelm,PANELM_TEXTBOX1," ");
break;
}
return 0;
}
int CVICALLBACK MSET_OK (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{ double dd;
int i,j,k,t,status;
char s1[10],s2[10],s3[10],s4[10]="0",s5[10]="0",*askstr1,*askstr2,*askstr3,*askstr4;
switch (event)
{
case EVENT_COMMIT:
GetCtrlVal (panelm, PANELM_TEXTBOX1, s1);
dd=atof(s1);
k=dd*1000000;
askstr1="123456789012345678901234567801234567890123456\r";
askstr1[0]=0xFF; askstr1[1]=0xA5; askstr1[2]=0x01; askstr1[3]=0x00; askstr1[4]=0x41; askstr1[5]=0x01;
askstr1[6]=0x24; askstr1[7]=0x01; askstr1[8]=0x01; askstr1[9]=0x00; askstr1[10]=0x00;askstr1[11]=0x05; askstr1[12]=0x80;
askstr1[13]=0x00; askstr1[14]=0x00;
j=k&0x00FF; askstr1[15]=j; j=k>>8;j=j&0x00FF;askstr1[16]=j;
j=k>>16; j=j&0x00FF; askstr1[17]=j; j=k>>24;j=j&0x00FF;askstr1[18]=j;
askstr1[19]=0x00;askstr1[20]=0x00; askstr1[21]=0x00; askstr1[22]=0x00; askstr1[23]=0x00; askstr1[24]=0x00;
askstr1[25]=0x9C; askstr1[26]=0xFF;
for(i=0;i<16;i++)
askstr1[27+i]=0x00;
askstr1[43]=0x96; askstr1[45]=0xFF;
GetCtrlVal (panelm, PANELM_TEXTBOX13, &k);
if(k)
askstr1[12]=0x10;
else
askstr1[12]=0x00;
k=0;
for(i=1;i<44;i++)
k=k+askstr1[i];
k=k%256;k=-k;
j=k&0xFF;
askstr1[44]=j;
status=OpenComConfig(portm,"COM1",9600,0,8,1,1024,512);
if(status!=0)
{
MessagePopup("Error","端口1打不開!");
return 0;
}
SetComTime (portm,0.1) ;
SetCTSMode(portm,LWRS_HWHANDSHAKE_OFF);
FlushInQ(portm);
FlushOutQ(portm);
status=ComWrt(portm, askstr1,46);
if(status!=46)
{ MessagePopup("Error","Send data failed!");
break;
}
Delay(0.2);
//................sl.............
GetCtrlVal (panelm, PANELM_TEXTBOX3, s3);
dd=atof(s3);
k=dd*1000;
askstr2="123456789012345678901234567890\r";
askstr2[0]=0xFF; askstr2[1]=0xA5; askstr2[2]=0x01; askstr2[3]=0x00; askstr2[4]=0x42; askstr2[5]=0x01;
askstr2[6]=0x14;
askstr2[7]=0x4F;
for(i=8;i<17;i++)
askstr2[i]=0x00;
j=k&0x00FF; askstr2[17]=j; j=k>>8;j=j&0x00FF;askstr2[18]=j;
j=k>>16; j=j&0x00FF; askstr2[19]=j; j=k>>24;j=j&0x00FF;askstr2[20]=j;
GetCtrlVal (panelm, PANELM_TEXTBOX5,&k);
askstr2[11]=k;
GetCtrlVal (panelm, PANELM_TEXTBOX7,&k);
askstr2[13]=k<<4;
GetCtrlVal (panelm, PANELM_TEXTBOX9,&k);
askstr2[12]=k<<2;
GetCtrlVal (panelm, PANELM_TEXTBOX11,&k);
j=k%2;
askstr2[12]+=j*2;
k=k-j;
askstr2[14]=k<<1;
for(i=21;i<27;i++)
askstr2[i]=0x00;
k=0; askstr2[27]=0x96;
for(i=1;i<28;i++)
k=k+askstr2[i];
k=k%256;k=-k;
j=k&0xFF;
askstr2[28]=j;
askstr2[29]=0xFF;
FlushInQ(portm);
FlushOutQ(portm);
status=ComWrt(portm, askstr2,30);
if(status!=30)
{ MessagePopup("Error","Send data failed!");
break;
}
Delay(0.2);
//Demod..........................
GetCtrlVal (panelm, PANELM_TEXTBOX2, s2);
dd=atof(s2);
k=dd*1000000;
askstr3="1234567890123456789012345678012345678901234\r";
askstr3[0]=0xFF; askstr3[1]=0xA5; askstr3[2]=0x01; askstr3[3]=0x00; askstr3[4]=0x81; askstr3[5]=0x01;
askstr3[6]=0x22; askstr3[7]=0x01; askstr3[8]=0x00; askstr3[9]=0x00; askstr3[10]=0x00;askstr3[11]=0x00; askstr3[12]=0x00;
askstr3[13]=0x00; askstr3[14]=0x00;
j=k&0x00FF; askstr3[15]=j; j=k>>8;j=j&0x00FF;askstr3[16]=j;
j=k>>16; j=j&0x00FF; askstr3[17]=j; j=k>>24;j=j&0x00FF;askstr3[18]=j;
for(i=19;i<41;i++)
askstr3[i]=0x00;
askstr3[41]=0x96; askstr3[43]=0xFF;
k=0;
for(i=1;i<42;i++)
k=k+askstr3[i];
k=k%256;k=-k;
j=k&0xFF;
askstr3[42]=j;
FlushInQ(portm);
FlushOutQ(portm);
status=ComWrt(portm, askstr3,44);
if(status!=44)
{ MessagePopup("Error","Send data failed!");
break;
}
Delay(0.2);
// ..............
GetCtrlVal (panelm, PANELM_TEXTBOX4, s4);
dd=atof(s4);
k=dd*1000;
askstr4="1234567890123456789012345678901234567890\r";
askstr4[0]=0xFF; askstr4[1]=0xA5; askstr4[2]=0x01; askstr4[3]=0x00; askstr4[4]=0x82; askstr4[5]=0x01;
askstr4[6]=0x1E;
askstr4[7]=0x4F;
for(i=8;i<17;i++)
askstr4[i]=0x00;
j=k&0x00FF; askstr4[17]=j; j=k>>8;j=j&0x00FF;askstr4[18]=j;
j=k>>16; j=j&0x00FF; askstr4[19]=j; j=k>>24;j=j&0x00FF;askstr4[20]=j;
GetCtrlVal (panelm, PANELM_TEXTBOX6,&k);
askstr4[11]=k;
GetCtrlVal (panelm, PANELM_TEXTBOX8,&k);
askstr4[13]=k<<4;
GetCtrlVal (panelm, PANELM_TEXTBOX10,&k);
askstr4[12]=k<<2;
GetCtrlVal (panelm, PANELM_TEXTBOX12,&k);
j=k%2;
askstr4[12]+=j*2;
k=k-j;
askstr4[14]=k<<1;
for(i=21;i<37;i++)
askstr4[i]=0x00;
k=0; askstr4[37]=0x96;
for(i=1;i<38;i++)
k=k+askstr4[i];
k=k%256;k=-k;
j=k&0xFF;
askstr4[38]=j;
askstr4[39]=0xFF;
FlushInQ(portm);
FlushOutQ(portm);
status=ComWrt(portm, askstr4,40);
if(status!=40)
{ MessagePopup("Error","Send data failed!");
break;
}
break;
}
ResumeTimerCallbacks ();
return 0;
}
int CVICALLBACK MUX_EXIT (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
RemovePopup (0);
pflag=0;
break;
}
return 0;
}
int CVICALLBACK ODU_JSSJ (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
InstallPopup (panelp); kbpp=0; kbdd=8;
ResetTextBox (panelo,PANELO_TEXTBOX4," ");
break;
}
return 0;
}
int CVICALLBACK ODU_FSSJ (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
InstallPopup (panelp); kbpp=0; kbdd=7;
ResetTextBox (panelo,PANELO_TEXTBOX3," ");
break;
}
return 0;
}
int CVICALLBACK ODU_JSPL (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
InstallPopup (panelp); kbpp=0; kbdd=6;
ResetTextBox (panelo,PANELO_TEXTBOX2," ");
break;
}
return 0;
}
int CVICALLBACK ODU_FSPL (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
InstallPopup (panelp); kbpp=0; kbdd=5;
ResetTextBox (panelo,PANELO_TEXTBOX1," ");
break;
}
return 0;
}
int CVICALLBACK ODUSET_OK (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
unsigned char ch,*tempstr,*tempstr2,*tempstr3,oss[20];
int i,j,k,t,status;
double data;
switch (event)
{
case EVENT_COMMIT:
tempstr="G000000F180037003700\r";
status=OpenComConfig(porto,"COM1",9600,0,8,1,512,512);
if(status!=0)
{
MessagePopup("Error","config failed!");
return 0;
}
SetComTime (porto,0.1) ;
SetCTSMode(porto,LWRS_HWHANDSHAKE_OFF);
//sxpl
GetCtrlVal (panelo, PANELO_TEXTBOX1, oss);
data=atof(oss);
data=data-13950;
k=data; j=k&0x000F;
switch(j)
{
case 15:
ch='F';
break;
case 14:
ch='E';
break;
case 13:
ch='D';
break;
case 12:
ch='C';
break;
case 11:
ch='B';
break;
case 10:
ch='A';
break;
default:
ch=j+0x30;
}
tempstr[13]=ch; tempstr[17]=ch;
k=k>>4; j=k&0x000F;
switch(j)
{
case 15:
ch='F';
break;
case 14:
ch='E';
break;
case 13:
ch='D';
break;
case 12:
ch='C';
break;
case 11:
ch='B';
break;
case 10:
ch='A';
break;
default:
ch=j+0x30;
}
tempstr[12]=ch; tempstr[16]=ch;
k=k>>4; j=k&0x000F;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -