📄 dischar.h
字号:
}
}
}else{
RESPWavItstr=NULL;
}//呼吸波形标题
break;
case 0x17: {static char *spo2str=NULL;
if(spo2str!=ITEM_SPO2[LANGUAGE->value]){
spo2str=ITEM_SPO2[LANGUAGE->value];
outtext(390, 592, spo2str, LIGHTRED, BLACK, FONT16);
}
}//SPO2 Item
break;
case 0x18: {static char *respstr=NULL;
if(respstr!=ITEM_RESP[LANGUAGE->value]){
respstr=ITEM_RESP[LANGUAGE->value];
outtext(390, 696, respstr, YELLOW, BLACK, FONT16);
}
}//RESP value Item
break;
case 0x19: {static char *spo2stastr=NULL;
if(spo2stastr!=ITEM_LEADSTAS[(SPO2Status<<1)+LANGUAGE->value]){
spo2stastr=ITEM_LEADSTAS[(SPO2Status<<1)+LANGUAGE->value];
if(SPO2Status==V_ON) color=LIGHTGREEN;
else color=LIGHTRED;
outtext(414, 640, spo2stastr, color, BLACK, FONT12);
}
}//SPO2 status
break;
case 0x1a: {static unsigned char *responoff=NULL;
if(responoff!=VAL_ONOFF[(RESPCHK->value<<1)+LANGUAGE->value]){
responoff=VAL_ONOFF[(RESPCHK->value<<1)+LANGUAGE->value];
if(RESPCHK->value==V_OFF) color=LIGHTRED;
else color=LIGHTGREEN;
outtext(414, 696, responoff, color, BLACK, FONT12);
com1str[2]=0x09;
com1str[3]=0xff;
com1str[4]=!RESPCHK->value; //命令字0关1开
com1str[5]=(unsigned char)((com1str[2]+com1str[3]+com1str[4])&255);//sum, &255==%256
com1count=0;
while(com1count<6)
sendcom1();
}
//RESPWavItstr==NULL;//重新写RESPW
}
break;
case 0x1b: if(RE_RESPSCALE!=RESPSCALE->value){
RE_RESPSCALE=RESPSCALE->value;
outtext(414, 736, VAL_SCALE[RESPSCALE->value], LIGHTRED, BLACK, FONT10);
com1str[2]=0x09; //RESP scale
com1str[3]=RESPSCALE->value;
com1str[4]=0;
com1str[5]=(unsigned char)( (com1str[2]+com1str[3])&255);//sum, &255==%256
com1count=0;
while(com1count<6)
sendcom1();
}//RESP scale
break;
case 0x1c: {static char *temp1str=NULL;
if(temp1str!=ITEM_TEMP1[LANGUAGE->value]){
temp1str=ITEM_TEMP1[LANGUAGE->value];
outtext(498, 568, temp1str, LIGHTBLUE, BLACK, FONT16);
}
}//TEMP1 Item
break;
case 0x1d: {static char *temp2str=NULL;
if(temp2str!=ITEM_TEMP2[LANGUAGE->value]){
temp2str=ITEM_TEMP2[LANGUAGE->value];
outtext(542, 568, temp2str, LIGHTBLUE, BLACK, FONT16);
}
}//TEMP2 Item
break;
case 0x1e: {static char temp1unit=0xff, temp2unit=0xff;
if(temp1unit!=TEMP1UNIT->value){
temp1unit=TEMP1UNIT->value;
outtext(518, 608, VAL_TEMPUNIT[temp1unit], YELLOW, BLACK, FONT10);
}
if(temp2unit!=TEMP2UNIT->value){
temp2unit=TEMP2UNIT->value;
outtext(562, 608, VAL_TEMPUNIT[temp2unit], YELLOW, BLACK, FONT10);
}
}//TEMP1 and TEMP2 unit
break;
case 0x1f: {static char *temp1onoffstr=NULL, *temp2onoffstr=NULL;
if(temp1onoffstr!=VAL_ONOFF[(TEMP1CHK->value<<1)+LANGUAGE->value]){
temp1onoffstr=VAL_ONOFF[(TEMP1CHK->value<<1)+LANGUAGE->value];
if(TEMP1CHK->value==V_ON) color=LIGHTGREEN;
else color=LIGHTRED;
outtext(518, 568, temp1onoffstr, color, BLACK, FONT12);
}
if(temp2onoffstr!=VAL_ONOFF[(TEMP2CHK->value<<1)+LANGUAGE->value]){
temp2onoffstr=VAL_ONOFF[(TEMP2CHK->value<<1)+LANGUAGE->value];
if(TEMP2CHK->value==V_ON) color=LIGHTGREEN;
else color=LIGHTRED;
outtext(562, 568, temp2onoffstr, color, BLACK, FONT12);
}
}
break;
case 0x20: if(MONDEMO->value==V_DEMO){//模拟显示
//static char old_sec=0;
outtext(ECG_IENDY-115, 264, VAL_MONDEMO[(MONDEMO->value<<1)+LANGUAGE->value], YELLOW, BLACK, FONT12);
//if(old_sec!=timer.ti_sec){
//static unsigned index=0;
//if(ECGSCALE->value==V_X4){
//RGB rgb;
//old_sec=timer.ti_sec;
//index++;
//rgb.R=timer.ti_sec&0x1f;
//rgb.G=timer.ti_min&0x0f;
//rgb.B=timer.ti_hund&0x1f;
//SetRGBColor(0, &rgb);//SET BACK COLOR
//}else{
//if(index) SetBackColor(BACKCOLOR->value);
//index=0;
//}//end ECGSCALE->value!=V_X4
//}//end if(oldsec!=ti..)
}//END if(MONDEMO..)
break;
#define LEAD_ITEM_COL 8 //536 //264
#define LEAD_ROW_MOVE 10
case 0x21: if(ItemAllow&0x08){//&&EwaveX==WAVXSTART){
outtext(I_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, "I", LeadColor[V_I], BLACK, FONT10);
//drawECGScaleRule();
}
break;
case 0x22:if(ItemAllow&0x08){
outtext(II_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, "II", LeadColor[V_II], BLACK, FONT10);
outtext(III_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, VAL_LEAD[V_III], LeadColor[V_III], BLACK, FONT10);
}
break;
case 0x23: if(ItemAllow&0x08){
outtext(aVR_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, VAL_LEAD[V_aVR], LeadColor[V_aVR], BLACK, FONT10);
outtext(aVL_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, VAL_LEAD[V_aVL], LeadColor[V_aVL], BLACK, FONT10);
}
break;
case 0x24: if(ItemAllow&0x08){
outtext(aVF_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, VAL_LEAD[V_aVF], LeadColor[V_aVF], BLACK, FONT10);
outtext(V_ENDY-SEVENLEAD_HIGH+LEAD_ROW_MOVE, LEAD_ITEM_COL, "V", LeadColor[V_V], BLACK, FONT10);
}
break;
#undef LEAD_ROW_MOVE
#undef LEAD_ITEM_COL
}//end switch(DisNo)
DisNo=(DisNo+1)&63;
return;
}
#define ALARM_BKCOLOR LIGHTBLUE
void DisNum(void)
{
static unsigned char DisNumCount=0;
unsigned char tempstr[10], color;
int i, col;
switch(DisNumCount){
case 0x00: //HR PR rate
{static unsigned char oldValstr[3], oldcolor=0xff;
unsigned int HPval=255;
if(HRPRFIRST->value==V_HR){//HR优先
if(HRrate!=255)
HPval=HRrate;
else if(PRrate!=255)
HPval=PRrate;
else HPval=NIBPrate;
}else{//PR优先
if(PRrate!=255)
HPval=PRrate;
else if(HRrate!=255)
HPval=HRrate;
else HPval=NIBPrate;
}
if(HPval!=255){
sprintf(tempstr,"%-3d", HPval);
if(HPval>HRPR_UP->value||HPval<HRPR_LOW->value){//alarm
alarmstatus|=0x0001; //set alarmstatus bit0=1;
if(HRPR_ALLOW->value==V_ON)
alarmsound|=0x0001;
else alarmsound&=0xfffe;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xfffe; //set alarmstatus bit0=0;
alarmsound&=0xfffe;
color=ECGNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xfffe;
alarmsound&=0xfffe;
sprintf(tempstr,"---");
color=ECGNUMCOLOR->value;
}
col=640; //56 point every number
for(i=0; i<3; i++, col+=40){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out5040(55, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x01: //ST value
{static unsigned char oldValstr[5], oldcolor=0xff;
if(STvalue!=127){
sprintf(tempstr,"%-5.2f", (float)STvalue/100.0);
if(STvalue>ST_UP->value||STvalue<ST_LOW->value){//alarm
alarmstatus|=0x0002; //set alarmstatus bit1=1;
if(ST_ALLOW->value==V_ON)
alarmsound|=0x0002;
else alarmsound&=0xfffd;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xfffd; //set alarmstatus bit1=0;
alarmsound&=0xfffd;
color=STNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xfffd; //set alarmstatus bit1=0;
alarmsound&=0xfffd;
sprintf(tempstr," -.--");
color=STNUMCOLOR->value;
}
col=616; //32 point every number
for(i=0; i<5; i++, col+=24){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out3024(140, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x02: //SPO2 value
{static unsigned char oldValstr[2], oldcolor=0xff;
if(SPO2value!=255){
sprintf(tempstr,"%2d", SPO2value);
if(SPO2value>SPO2_UP->value||SPO2value<SPO2_LOW->value){//alarm
alarmstatus|=0x0004; //set alarmstatus bit2=1;
if(SPO2_ALLOW->value==V_ON)
alarmsound|=0x0004;
else alarmsound&=0xfffb;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xfffb; //set alarmstatus bit2=0;
alarmsound&=0xfffb;
color=SPO2NUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xfffb; //set alarmstatus bit2=0;
alarmsound&=0xfffb;
sprintf(tempstr,"--");
color=SPO2NUMCOLOR->value;
}
col=592; //64 point every number
for(i=0; i<2; i++, col+=40){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out5040(430, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x03: //SYST value
{static unsigned char oldValstr[4], oldcolor=0xff;
if(disSYST!=255){
if(NIBPUNIT->value==V_MMHG){
sprintf(tempstr,"%4d", disSYST);
}else{
sprintf(tempstr,"%4.1f", (float)disSYST/7.5);
}
if(disSYST>SYST_UP->value||disSYST<SYST_LOW->value){//alarm
alarmstatus|=0x0008; //set alarmstatus bit3=1;
if(NIBP_ALLOW->value==V_ON) alarmsound|=0x0008;
else alarmsound&=0xfff7;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xfff7; //set alarmstatus bit3=0;
alarmsound&=0xfff7;
color=NIBPNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xfff7; //set alarmstatus bit3=0;
alarmsound&=0xfff7;
if(NIBPUNIT->value==V_MMHG){
sprintf(tempstr," ---");
}else{
sprintf(tempstr,"--.-");
}
color=NIBPNUMCOLOR->value;
}
col=568; //step point every number
for(i=0; i<4; i++, col+=24){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out3024(235, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x04: //DIAS value
{static unsigned char oldValstr[4], oldcolor=0xff;
if(disDIAS!=255){
if(NIBPUNIT->value==V_MMHG){
sprintf(tempstr,"%-4d", disDIAS);
}else{
sprintf(tempstr,"%-4.1f", (float)disDIAS/7.5);
}
if(disDIAS>DIAS_UP->value||disDIAS<DIAS_LOW->value){//alarm
alarmstatus|=0x0010; //set alarmstatus bit4=1;
if(NIBP_ALLOW->value==V_ON) alarmsound|=0x0010;
else alarmsound&=0xffef;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xffef; //set alarmstatus bit4=0;
alarmsound&=0xffef;
color=NIBPNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xffef; //set alarmstatus bit4=0;
alarmsound&=0xffef;
if(NIBPUNIT->value==V_MMHG){
sprintf(tempstr,"--- ");
}else{
sprintf(tempstr,"--.-");
}
color=NIBPNUMCOLOR->value;
}
col=696; //step point every number
for(i=0; i<4; i++, col+=24){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out3024(235, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x05: //MEAN or[REAL] value
{static unsigned char oldValstr[4], oldcolor=0xff, oldNIBPsave=0;
unsigned value;
if(NIBPStatus&0x01){
value=CUFFvalue;
oldNIBPsave=1;
}else{ value=disMEAN;
if(oldNIBPsave){
NIBPsave=0x07;//bit0=1 LIST save, bit1=1 NIBP LIST save, bit2=1 RESP off list save;
//SaveRealData();
oldNIBPsave=0;
}
}
if(value!=255){
if(NIBPUNIT->value==V_MMHG){
sprintf(tempstr,"%3d ", value);
}else{
sprintf(tempstr,"%4.1f", (float)value/7.5);
}
if(NIBPStatus&0x01){//正在测量,袖带实时压力
if(NIBPNUMCOLOR->value==YELLOW) color=LIGHTMAGENTA;
else color=YELLOW;
}else{//测量完毕,平均压力值
if(disMEAN>MEAN_UP->value||disMEAN<MEAN_LOW->value){//alarm
alarmstatus|=0x0020; //set alarmstatus bit5=1;
if(NIBP_ALLOW->value==V_ON) alarmsound|=0x0020;
else alarmsound&=0xffdf;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xffdf; //set alarmstatus bit5=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -