📄 dischar.h
字号:
}
if(oldmin!=timer.ti_min){ //--min counter and display
oldmin=timer.ti_min; TIME_MIN->value=timer.ti_min;
sprintf(tempstr,"%02d",timer.ti_min);
outtext(584, 744, tempstr, WHITE, ITEMUL_COLOR, FONT10);
if(CUR_vmenu==VM_DATETIME){//在时间日期设置菜单
unsigned char bkcolor;
if((CUR_vmenu+CUR_Vcus)==TIME_MIN&&ItemValue==AT_VALUE){
color=VM_CCOLOR; bkcolor=VM_CBCOLOR;
}else{
color=VM_COLOR; bkcolor=VM_BCOLOR;
}
outtext(TIME_MIN->vy, TIME_MIN->vx, tempstr, color, bkcolor, FONT12);
}//END时间日期菜单
}
if(oldhour!=timer.ti_hour){ //--hour counter and display
oldhour=timer.ti_hour; TIME_HOUR->value=timer.ti_hour;
sprintf(tempstr,"%02d",timer.ti_hour);
outtext(584, 720, tempstr, WHITE, ITEMUL_COLOR, FONT10);
if(CUR_vmenu==VM_DATETIME){
unsigned char bkcolor;
if((CUR_vmenu+CUR_Vcus)==TIME_HOUR&&ItemValue==AT_VALUE){
color=VM_CCOLOR; bkcolor=VM_CBCOLOR;
}else{
color=VM_COLOR; bkcolor=VM_BCOLOR;
}
outtext(TIME_HOUR->vy, TIME_HOUR->vx, tempstr, color, bkcolor, FONT12);
}
}
if(oldday!=dater.da_day){ //--day counter and display
oldday=dater.da_day; DATE_DAY->value=dater.da_day;
sprintf(tempstr,"%02d",dater.da_day);
outtext(584, 632, tempstr, WHITE, ITEMUL_COLOR, FONT10);
if(CUR_vmenu==VM_DATETIME){
unsigned char bkcolor;
if((CUR_vmenu+CUR_Vcus)==DATE_DAY&&ItemValue==AT_VALUE){
color=VM_CCOLOR; bkcolor=VM_CBCOLOR;
}else{
color=VM_COLOR; bkcolor=VM_BCOLOR;
}
outtext(DATE_DAY->vy, DATE_DAY->vx, tempstr, color, bkcolor, FONT12);
}
}
if(oldmon!=dater.da_mon){ //--month counter and display
oldmon=dater.da_mon; DATE_MON->value=dater.da_mon;
sprintf(tempstr,"%02d",dater.da_mon);
outtext(584, 608, tempstr, WHITE, ITEMUL_COLOR, FONT10);
if(CUR_vmenu==VM_DATETIME){
unsigned char bkcolor;
if((CUR_vmenu+CUR_Vcus)==DATE_MON&&ItemValue==AT_VALUE){
color=VM_CCOLOR; bkcolor=VM_CBCOLOR;
}else{
color=VM_COLOR; bkcolor=VM_BCOLOR;
}
outtext(DATE_MON->vy, DATE_MON->vx, tempstr, color, bkcolor, FONT12);
}
}
if(oldyear!=dater.da_year){ //--year counter and display
oldyear=dater.da_year; DATE_YEAR->value=dater.da_year;
sprintf(tempstr,"%04d",dater.da_year);
outtext(584, 568, tempstr, WHITE, ITEMUL_COLOR, FONT10);
if(CUR_vmenu==VM_DATETIME){
unsigned char bkcolor;
if((CUR_vmenu+CUR_Vcus)==DATE_YEAR&&ItemValue==AT_VALUE){//年修改中
color=VM_CCOLOR; bkcolor=VM_CBCOLOR;
}else{
color=VM_COLOR; bkcolor=VM_BCOLOR;
}
outtext(DATE_YEAR->vy, DATE_YEAR->vx, tempstr, color, bkcolor, FONT12);
}
}
switch(DisNo){
case 0x00: {static char *mainecgstr=NULL;
if(ITEM_ECG[LANGUAGE->value]!=mainecgstr){
outtext(4, 8, ITEM_ECG[LANGUAGE->value], ECG_ICOLOR, BLACK, FONT16);
mainecgstr=ITEM_ECG[LANGUAGE->value];
}
}//ECG ITEM (48*16)
break;
case 0x01: if(RE_ECGSCALE!=ECGSCALE->value){
RE_ECGSCALE=ECGSCALE->value;
sprintf(tempstr,"%4.2f",(float)2/(1<<ECGSCALE->value));
outtext(7, 160, tempstr, WHITE, BLACK, FONT10); //2.00[mV] 1.00mv..
outtext(7, 400, VAL_SCALE[ECGSCALE->value], ECGSCL_COLOR, BLACK, FONT10);//ECG sacle
switch(ECGSCALE->value){///增益大小
case 0: ScaleAndWave=4; break;//与模拟波形控制有关系
case 1: ScaleAndWave=2; break;
case 2:
case 3: ScaleAndWave=1; break;
}
if(RE_ECGSCALE==V_X2&&ECGSCALE->value==V_X4)
break;
if(ECGSCALE->value>2) var=0x02;
else var=ECGSCALE->value;
var=MAINLEAD->value|(var<<3)|(WORKSTA->value<<5)|(INTENSITY->value<<7);
com1str[2]=0x08; //ECG control CMD
com1str[3]=var; //parameter=com1str[3],com1str[4]=0
com1str[4]=0;
com1str[5]=(unsigned char)( (com1str[2]+com1str[3]+com1str[4])&255);//sum, &255==%256
com1count=0;
while(com1count<6)
sendcom1();
}
break;//1.00mV and X 1
case 0x02: if(RE_MAINLEAD!=MAINLEAD->value||RE_INTENSITY!=INTENSITY->value){
RE_MAINLEAD=MAINLEAD->value; RE_INTENSITY=INTENSITY->value;
outtext(7, 72, VAL_LEAD[MAINLEAD->value], LIGHTGREEN, BLACK, FONT10); //I,II,III
if(ECGSCALE->value>2) var=0x02;
else var=ECGSCALE->value;
var=MAINLEAD->value|(var<<3)|(WORKSTA->value<<5)|(INTENSITY->value<<7);
com1str[2]=0x08; //ECG control CMD
com1str[3]=var; //parameter=com1str[3],com1str[4]=0
com1str[4]=0;
com1str[5]=(unsigned char)( (com1str[2]+com1str[3]+com1str[4])&255);//sum, &255==%256
com1count=0;
while(com1count<6)
sendcom1();
}
break;//Main Lead
case 0x03: {static char *leadstastr=NULL;
if(ECGStatus&0x0e) var=V_OFF;
else var=V_ON;
if(leadstastr!=ITEM_LEADSTAS[(var<<1)+LANGUAGE->value]){
leadstastr=ITEM_LEADSTAS[(var<<1)+LANGUAGE->value];
if(var) color=LIGHTRED;
else color=LIGHTGREEN;
outtext(7, 256, leadstastr, color, BLACK, FONT12);
}
}//LEAD status [ON/OFF]
break;
case 0x04: {static char *workstastr=NULL;
if(RE_WORKSTA!=WORKSTA->value||workstastr!=VAL_WORKSTA[(WORKSTA->value<<1)+LANGUAGE->value]){
workstastr=VAL_WORKSTA[(WORKSTA->value<<1)+LANGUAGE->value];
RE_WORKSTA=WORKSTA->value;
outtext(7, 336, workstastr, LIGHTCYAN, BLACK, FONT12);
if(ECGSCALE->value>2) var=0x02;
else var=ECGSCALE->value;
var=MAINLEAD->value|(var<<3)|(WORKSTA->value<<5)|(INTENSITY->value<<7);
com1str[2]=0x08; //ECG control CMD
com1str[3]=var; //parameter=com1str[3],com1str[4]=0
com1str[4]=0;
com1str[5]=(unsigned char)( (com1str[2]+com1str[3]+com1str[4])&255);//sum, &255==%256
com1count=0;
while(com1count<6)
sendcom1();
}
}//Work mode
break;
case 0x05: {static char wavespd=0xff;
if(wavespd!=WAVESPD->value){
wavespd=WAVESPD->value;
outtext(7, 488, VAL_WAVESPD[WAVESPD->value], WAVESPD_COLOR, BLACK, FONT10);
switch(WAVESPD->value){
case 0: WavSpdCount=1; SamplingCount=3; break;//12.5mm/s;
case 1: WavSpdCount=2; SamplingCount=1; break;//25mm/s;
case 2: WavSpdCount=4; SamplingCount=0; break;//50mm/s;
default: WavSpdCount=2; SamplingCount=1; break;//DrawWavCount=3/WavSpdCount
}
}
}
break; //Wave Speed
case 0x06: {static char oldgaparm=0xff;//间断报警开关
if(oldgaparm!=GAPALARM->value){
oldgaparm=GAPALARM->value;
if(ARMALLOW->value==V_ON){//报警(打开)
if(GAPALARM->value==V_ON){//间断报警开
SETCOLOR(LIGHTRED);
commline(ARINGYSTART+22,ARINGXSTART+3, ARINGYSTART+1, ARINGXSTART+21);
commline(ARINGYSTART+22,ARINGXSTART+2, ARINGYSTART+1, ARINGXSTART+22);
}else{//间断报警 关
fillrect(ARINGYSTART+1, ARINGXSTART, ARINGYSTART+22, ARINGXSTART+23, ITEMUL_COLOR);
alarmring();
}
}//end if(ARMALLOW->value==V_ON)
}
}//end static char
break;
case 0x07: {static char oldarmsta=0xff;//报警开关
if(oldarmsta!=ARMALLOW->value){
oldarmsta=ARMALLOW->value;
if(ARMALLOW->value==V_ON){//报警(打开)
alarmsound|=0x8000;//set alarmstatus's alarm allow bit=1;
fillrect(ARINGYSTART+1, ARINGXSTART, ARINGYSTART+22, ARINGXSTART+23, ITEMUL_COLOR);
alarmring();
if(GAPALARM->value==V_ON){//间断报警关
SETCOLOR(LIGHTRED);
commline(ARINGYSTART+22,ARINGXSTART+3, ARINGYSTART+1, ARINGXSTART+21);
commline(ARINGYSTART+22,ARINGXSTART+2, ARINGYSTART+1, ARINGXSTART+22);
}
}else{//报警(关闭)
alarmsound&=0x7fff;//set alarmstatus's alarm allow bit=0;
SETCOLOR(LIGHTRED);
commline(ARINGYSTART+1, ARINGXSTART+2, ARINGYSTART+22, ARINGXSTART+22);
commline(ARINGYSTART+1, ARINGXSTART+3, ARINGYSTART+22, ARINGXSTART+21);
if(GAPALARM->value==V_OFF){//间断报警关
commline(ARINGYSTART+22,ARINGXSTART+3, ARINGYSTART+1, ARINGXSTART+21);
commline(ARINGYSTART+22,ARINGXSTART+2, ARINGYSTART+1, ARINGXSTART+22);
}
}//end else(alarm==off)
AlarmRingAllow();
}//end if(oldarmsta!=ARMALLOW->value)
}//end static char oldarmsta=0xff;
break;
case 0x08: {static char *verstr=NULL;
if(verstr!=VER_STR[LANGUAGE->value]){
verstr=VER_STR[LANGUAGE->value];
outtext(7, 728, verstr, WHITE, ITEMUL_COLOR, FONT12);
}
}//VERSION ITEM
break;
case 0x09: {static char *oldhrpr_cus=NULL;
unsigned char *hrpr_cus;
if(HRPRFIRST->value==V_HR){
if(HRrate!=255||(PRrate==255&&NIBPrate==255)){
hrpr_cus=ITEM_HR[LANGUAGE->value];
hrpr_sound=V_HR;
}else{
hrpr_cus=ITEM_PR[LANGUAGE->value];
hrpr_sound=V_PR;
}
}else{
if((PRrate!=255)||(PRrate==255&&HRrate==255)){
hrpr_cus=ITEM_PR[LANGUAGE->value];
hrpr_sound=V_PR;
}else{
hrpr_cus=ITEM_HR[LANGUAGE->value];
hrpr_sound=V_HR;
}
}
if(oldhrpr_cus!=hrpr_cus){
oldhrpr_cus=hrpr_cus;
outtext(30,568, oldhrpr_cus, ECG_ICOLOR, BLACK, FONT16); //心率HR(脉率PR)
}
}
break;
case 0x0a: {static char *ststr=NULL;
if(ststr!=ITEM_ST[LANGUAGE->value]){
ststr=ITEM_ST[LANGUAGE->value];
outtext(120, 568, ststr, WHITE, BLACK, FONT16);//ST value item
}
}
break;
case 0x0b: {static char *secleadstr=NULL;
if(ItemAllow&0x10){
if(ItemAllow&0x01){//ECG+I(II,III,aVR..) or PLETH wave item display
if(ECGWavItstr!=ITEM_ECG[LANGUAGE->value]){
ECGWavItstr=ITEM_ECG[LANGUAGE->value];
outtext(ECG_ENDY+2, 8, ECGWavItstr, ECG_ICOLOR, BLACK, FONT16);//ECG ...I(II,III,aVR..)
fillrect(ECG_ENDY+2, 48+8, ECG_ENDY+2+15, 48+16, BLACK);
secleadstr=LeadStr2;
outtext(ECG_ENDY+2, 56+8, secleadstr, ECG_ICOLOR, BLACK, FONT16);//ECG I(II,III,aVR..)
}
if(secleadstr!=LeadStr2){
secleadstr=LeadStr2;
outtext(ECG_ENDY+2, 56+8, secleadstr, ECG_ICOLOR, BLACK, FONT16);//ECG I(II,III,aVR..)
}
}else{
if(ECGWavItstr!=ITEM_PLETH[LANGUAGE->value]){
ECGWavItstr=ITEM_PLETH[LANGUAGE->value];
outtext(ECG_ENDY+2, 8, ECGWavItstr, PLETH_ICOLOR, BLACK, FONT16);//PLETH
}
}//end if(ItemAllow&0x01)
}//end if(ItemAllow&0x10)
}//end static
break;
case 0x0c: {static char *nibpstr=NULL;
if(nibpstr!=ITEM_NIBP[LANGUAGE->value]){
nibpstr=ITEM_NIBP[LANGUAGE->value];
outtext(190, 568, nibpstr, LIGHTMAGENTA, BLACK, FONT16);
}
}
break;
case 0x0d: {static char *syststr=NULL;
if(syststr!=ITEM_SYST[LANGUAGE->value]){
syststr=ITEM_SYST[LANGUAGE->value];
outtext(215, 592, syststr, 6, BLACK, FONT12);
}
}//SYST ITEM
break;
case 0x0e: {static char *diasstr=NULL;
if(diasstr!=ITEM_DIAS[LANGUAGE->value]){
diasstr=ITEM_DIAS[LANGUAGE->value];
outtext(215, 720, diasstr, 6, BLACK, FONT12);
}
}//DIAS ITEM
break;
case 0x0f: {static char *meanstr=NULL;
if(meanstr!=ITEM_MEAN[LANGUAGE->value]){
meanstr=ITEM_MEAN[LANGUAGE->value];
outtext(275, 664, meanstr, 6, BLACK, FONT12);
}
}//MEAN ITEM
break;
case 0x10: {static char *criterionstr=NULL;
if(criterionstr!=ITEM_CRITERION[LANGUAGE->value]){
criterionstr=ITEM_CRITERION[LANGUAGE->value];
outtext(340, 584, criterionstr, LIGHTMAGENTA, BLACK, FONT12);
}
}//ITEM 血压标准
break;
case 0x11: {static char *crivaluestr=NULL;
if(crivaluestr!=VAL_NIBPCRIT[(NIBPCRIT->value<<1)+LANGUAGE->value]){
crivaluestr=VAL_NIBPCRIT[(NIBPCRIT->value<<1)+LANGUAGE->value];
outtext(340, 664, crivaluestr, LIGHTMAGENTA, BLACK, FONT12);
}
}//(adult high, adult mid ... child high ... baby low)
break;
case 0x12: {static char *automan=NULL, oldnibpchkture=0xff;
if(automan!=VAL_AUTOMAN[(AUTOMANUAL->value<<1)+LANGUAGE->value]||oldnibpchkture!=NIBPCheckTure){
char *clyclr;
automan=VAL_AUTOMAN[(AUTOMANUAL->value<<1)+LANGUAGE->value];
oldnibpchkture=NIBPCheckTure;
if(AUTOMANUAL->value==V_AUTO){
clyclr=ITEM_CYCLE[LANGUAGE->value];
if(NIBPCheckTure==0)
color=WHITE;
else color=LIGHTGREEN;
}else{
clyclr=ITEM_CLEAR[LANGUAGE->value];
//NIBPCheckTure=0;
color=LIGHTGREEN;
}
outtext(360, 600, automan, color, BLACK, FONT12);//自动手动
outtext(360, 712, clyclr, LIGHTRED, BLACK, FONT12);
}
}//AUTO[MANUAL] CLY[CLR]
break;
case 0x13: {static char oldnibpunit=0xff;
if(oldnibpunit!=NIBPUNIT->value){
oldnibpunit=NIBPUNIT->value;
outtext(360, 760, VAL_BPUNIT[NIBPUNIT->value], YELLOW, BLACK, FONT10);
}
}
break;
case 0x14: {static char *oldchkmodestr=NULL, *oldchkstr=NULL;
if(oldchkmodestr!=VAL_CHKMODE[(CHECKMODE->value<<1)+LANGUAGE->value]){
oldchkmodestr=VAL_CHKMODE[(CHECKMODE->value<<1)+LANGUAGE->value];
outtext(194, 664, oldchkmodestr, LIGHTBLUE, BLACK, FONT12);
}//正向测量
if(oldchkstr!=ITEM_NIBPCHK[LANGUAGE->value]){
oldchkstr=ITEM_NIBPCHK[LANGUAGE->value];
outtext(194, 728, oldchkstr, LIGHTBLUE, BLACK, FONT12);
}
}
break;
case 0x15: if(LEADDIS->value==V_SINGLE){//single lead display
if(ItemAllow&0x02){//PLETH wave item display
if(PLETHWavItstr!=ITEM_PLETH[LANGUAGE->value]){
PLETHWavItstr=ITEM_PLETH[LANGUAGE->value];
outtext(ECG_IENDY+3, 8, PLETHWavItstr, PLETH_ICOLOR, BLACK, FONT16);
}
}else{//PLETH wave item don't display
PLETHWavItstr=NULL;
}
}else{
PLETHWavItstr=NULL;
}
break;
case 0x16: if(ItemAllow&0x04){//RESP wave item display
char *varstr;
if(LEADDIS->value==V_SINGLE){//单导联
varstr=ITEM_RESP[LANGUAGE->value];
if(RESPWavItstr!=varstr){
RESPWavItstr=varstr;
outtext(PLETH_ENDY+2, 8, varstr, YELLOW, BLACK, FONT16);
}
}else{//七导联
if(RESPCHK->value==V_OFF){
varstr=ITEM_PLETH[LANGUAGE->value];
RESPWavItstr=varstr;
outtext(PLETH_ENDY+2, 8, varstr, PLETH_ICOLOR, BLACK, FONT16);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -