📄 dischar.h
字号:
alarmsound&=0xffdf;
color=NIBPNUMCOLOR->value;
}
}//END 测量完毕,平均压力值
}else{//no data
alarmstatus&=0xffdf; //set alarmstatus bit5=0;
alarmsound&=0xffdf;
if(NIBPUNIT->value==V_MMHG){
sprintf(tempstr," ---");
}else{
sprintf(tempstr,"--.-");
}
color=NIBPNUMCOLOR->value;
}
col=632; //step point every number
for(i=0; i<4; i++, col+=24){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out3024(295, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x06: //RESP value
{static unsigned char oldValstr[2], oldcolor=0xff;
if(RESPvalue!=255){
sprintf(tempstr,"%2d", RESPvalue);
if(RESPvalue>RESP_UP->value||RESPvalue<RESP_LOW->value){//alarm
alarmstatus|=0x0040; //set alarmstatus bit6=1;
if(RESP_ALLOW->value==V_ON) alarmsound|=0x0040;
else alarmsound&=0xffbf;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xffbf; //set alarmstatus bit6=0;
alarmsound&=0xffbf;
color=RESPNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xffbf; //set alarmstatus bit6=0;
alarmsound&=0xffbf;
sprintf(tempstr,"--");
color=RESPNUMCOLOR->value;
}
col=696; //24 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 0x07: //TEMP1 value
{static unsigned char oldValstr[5], oldcolor=0xff;
float value;
if(TEMP1value!=455){
if(TEMP1UNIT->value==V_C_){
value=TEMP1value/10.0;
}else{
value=TEMP1value*0.18+32.0;
}
sprintf(tempstr, "%5.1f", value);
if(TEMP1value>TEMP1_UP->value){//||TEMP1value<TEMP1_UP->low){//alarm
alarmstatus|=0x0080; //set alarmstatus bit7=1;
if(TEMP1_ALLOW->value==V_ON)
alarmsound|=0x0080;
else alarmsound&=0xff7f;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xff7f; //set alarmstatus bit7=0;
alarmsound&=0xff7f;
color=TEMPNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xff7f; //set alarmstatus bit7=0;
alarmsound&=0xff7f;
sprintf(tempstr," --.-");
color=TEMPNUMCOLOR->value;
}
col=672; //24 point every number
for(i=0; i<5; i++, col+=24){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out3024(500, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
case 0x08: //TEMP2 value
{static unsigned char oldValstr[5], oldcolor=0xff;
float value;
if(TEMP2value!=455){
if(TEMP2UNIT->value==V_C_){
value=TEMP2value/10.0;
}else{
value=TEMP2value*0.18+32.0;
}
sprintf(tempstr, "%5.1f", value);
if(TEMP2value>TEMP2_UP->value){//||TEMP2value<TEMP2_UP->low){//alarm
alarmstatus|=0x0100; //set alarmstatus bit7=1;
if(TEMP2_ALLOW->value==V_ON)
alarmsound|=0x0100;
else alarmsound&=0xfeff;
////if(timer.ti_hund<50)
////sprintf(tempstr," ");
color=ALARM_COLOR;
}else{ //don't alarm
alarmstatus&=0xfeff; //set alarmstatus bit7=0;
alarmsound&=0xfeff;
color=TEMPNUMCOLOR->value;
}
}else{//no data
alarmstatus&=0xfeff; //set alarmstatus bit7=0;
alarmsound&=0xfeff;
sprintf(tempstr," --.-");
color=TEMPNUMCOLOR->value;
}
col=672; //24 point every number
for(i=0; i<5; i++, col+=24){
if(tempstr[i]!=oldValstr[i]||color!=oldcolor){
out3024(545, col, color, BLACK, tempstr[i]);
oldValstr[i]=tempstr[i];
}
}
oldcolor=color;
}
break;
default: DisNumCount=255;
break;
}//end switch;
DisNumCount++;
return;
}
//波形数据取样函数
int sampling(int data1,int data2,int data3)
{
if((data1-data2)*(data2-data3)>=0)
return data3;
else
return data2;
}
void ECGwav2(int *Epointy)//只处理单导联
{
static int main_row1=64, sec_row1=64;
int col=EwaveX+8, temp1, temp2;
SETCOLOR(BLACK);
if(col>=LEFTMAXX){
commline(ECG_ENDY-ECG_HIGH, col-LEFTMAXX+WAVXSTART, ECG_ENDY, col-LEFTMAXX+WAVXSTART);
if(WaveCont&0x01)
commline(ECG_IENDY-ECG_HIGH, col-LEFTMAXX+WAVXSTART, ECG_IENDY, col-LEFTMAXX+WAVXSTART);
}else{
commline(ECG_ENDY-ECG_HIGH, col, ECG_ENDY, col);
if(WaveCont&0x01)
commline(ECG_IENDY-ECG_HIGH, col, ECG_IENDY, col);
}
if(ECGSCALE->value!=V_X4){
*(Epointy+MAINLEAD->value)>>=1;
*(Epointy+SECLEAD->value)>>=1;
}else{
*(Epointy+MAINLEAD->value)-=64;
*(Epointy+SECLEAD->value)-=64;
}
if(*(Epointy+MAINLEAD->value)<=0) *(Epointy+MAINLEAD->value)=1;
if(*(Epointy+MAINLEAD->value)>=128) *(Epointy+MAINLEAD->value)=127;
if(*(Epointy+SECLEAD->value)<=0) *(Epointy+SECLEAD->value)=1;
if(*(Epointy+SECLEAD->value)>=128) *(Epointy+SECLEAD->value)=127;
if(EwaveX==WAVXSTART){
main_row1=*(Epointy+MAINLEAD->value);
sec_row1=*(Epointy+SECLEAD->value);
}
temp1=EwaveX%LEFTMAXX; temp2=(EwaveX+1)%LEFTMAXX;
if(temp1<temp2){
SETCOLOR(LeadColor[MAINLEAD->value]);
commline(ECG_ENDY-main_row1, temp1, ECG_ENDY-*(Epointy+MAINLEAD->value), temp2);
//vertline(temp1, ECG_ENDY-main_row1,ECG_ENDY-*(Epointy+MAINLEAD->value),LeadColor[MAINLEAD->value]);
if(WaveCont&0x01){
SETCOLOR(LeadColor[SECLEAD->value]);
commline(ECG_IENDY-sec_row1, temp1, ECG_IENDY-*(Epointy+SECLEAD->value), temp2);
//vertline(temp1, ECG_IENDY-sec_row1,ECG_IENDY-*(Epointy+SECLEAD->value),LeadColor[SECLEAD->value]);
}
}
EwaveX++;
if(EwaveX==LEFTMAXX)
EwaveX=WAVXSTART;
main_row1=*(Epointy+MAINLEAD->value);
sec_row1=*(Epointy+SECLEAD->value);
return;
}
void ECGwav7(int *Epointy)
{
static int row1[7]={64,64,64,64,64,64,64};
static const baserow[7]={I_ENDY, II_ENDY, III_ENDY, aVR_ENDY, aVL_ENDY, aVF_ENDY, V_ENDY};
int col=EwaveX+8, temp1, temp2, i_i;
if(WaveCont&0x01){
SETCOLOR(BLACK);
if(col>=LEFTMAXX){
commline(WAVE_STARTY, col-LEFTMAXX+WAVXSTART, PLETH_ENDY, col-LEFTMAXX+WAVXSTART);
}else{
commline(WAVE_STARTY, col, PLETH_ENDY, col);
}
for(i_i=0; i_i<7; i_i++){
if(ECGSCALE->value!=V_X4)
Epointy[i_i]=(Epointy[i_i]>>1)*ECGW_SYNC_RATE/ECGW_RATE_BASE;
else
Epointy[i_i]=(Epointy[i_i]-64)*ECGW_SYNC_RATE/ECGW_RATE_BASE;
if(Epointy[i_i]<=0) Epointy[i_i]=1;
if(Epointy[i_i]>SEVENLEAD_HIGH) Epointy[i_i]=SEVENLEAD_HIGH;
}
if(EwaveX==WAVXSTART){
for(i_i=0; i_i<7; i_i++){
row1[i_i]=Epointy[i_i];
}
}
temp1=EwaveX%LEFTMAXX; temp2=(EwaveX+1)%LEFTMAXX;
if(temp1<temp2){
for(i_i=0; i_i<7; i_i++){
SETCOLOR(LeadColor[i_i]);
commline(baserow[i_i]-*(row1+i_i), temp1, baserow[i_i]-*(Epointy+i_i), temp2);
}
}
}
if(WaveCont&0x04){//进入趋势列表和图形一个导联显示
SETCOLOR(BLACK);
if(col>=LEFTMAXX){
commline(ECG_ENDY-ECG_HIGH, col-LEFTMAXX+WAVXSTART, ECG_ENDY, col-LEFTMAXX+WAVXSTART);
}else{
commline(ECG_ENDY-ECG_HIGH, col, ECG_ENDY, col);
}
if(ECGSCALE->value!=V_X4){
*(Epointy+MAINLEAD->value)>>=1;
}else{
*(Epointy+MAINLEAD->value)-=64;
}
if(*(Epointy+MAINLEAD->value)<=0) *(Epointy+MAINLEAD->value)=1;
if(*(Epointy+MAINLEAD->value)>=128) *(Epointy+MAINLEAD->value)=127;
if(EwaveX==WAVXSTART){
row1[MAINLEAD->value]=*(Epointy+MAINLEAD->value);
}
temp1=EwaveX%LEFTMAXX; temp2=(EwaveX+1)%LEFTMAXX;
if(temp1<temp2){
SETCOLOR(LeadColor[MAINLEAD->value]);
commline(ECG_ENDY-row1[MAINLEAD->value], temp1, ECG_ENDY-*(Epointy+MAINLEAD->value), temp2);
}
}
EwaveX++;
if(EwaveX==LEFTMAXX)
EwaveX=WAVXSTART;
for(i_i=0; i_i<7; i_i++)
row1[i_i]=*(Epointy+i_i);
return;
}
/*--------------------------------/
void PLETHwav(int row2)
{
static int row1=0;
int col=PwaveX+8;
SETCOLOR(BLACK);
if(col<LEFTMAXX)
commline(PLETHWave_row-PLETH_HIGH, col, PLETHWave_row, col);
else
commline(PLETHWave_row-PLETH_HIGH, col-LEFTMAXX+WAVXSTART, PLETHWave_row, col-LEFTMAXX+WAVXSTART);
SETCOLOR(PLETHWCOLOR->value);
if(PwaveX==WAVXSTART)
row1=row2;
if(PwaveX%LEFTMAXX<(PwaveX+1)%LEFTMAXX){
if(WAVEFILL->value==V_OFF)
commline(PLETHWave_row-row1, PwaveX, PLETHWave_row-row2, PwaveX);
else
commline(PLETHWave_row, PwaveX, PLETHWave_row-row2, PwaveX);
}
row1=row2;
PwaveX++;
if(PwaveX==LEFTMAXX)
PwaveX=WAVXSTART;
return;
}
/*--------------------------------*/
void PLETHwav(int row2, int high)
{
static int row1=0;
int col=PwaveX+8;
SETCOLOR(BLACK);
if(col<LEFTMAXX)
commline(PLETHWave_row-high, col, PLETHWave_row, col);
else
commline(PLETHWave_row-high, col-LEFTMAXX+WAVXSTART, PLETHWave_row, col-LEFTMAXX+WAVXSTART);
SETCOLOR(PLETHWCOLOR->value);
if(PwaveX==WAVXSTART)
row1=row2;
if(WAVEFILL->value==V_OFF)
commline(PLETHWave_row-row1, PwaveX, PLETHWave_row-row2, PwaveX);
else
commline(PLETHWave_row, PwaveX, PLETHWave_row-row2, PwaveX);
row1=row2;
PwaveX++;
if(PwaveX==LEFTMAXX)
PwaveX=WAVXSTART;
return;
}
//RESP画点函数
/*----------------------------------/
void RESPwav(int row2)
{ static row1=0;
int col=RwaveX+8;
SETCOLOR(BLACK);
if(col<LEFTMAXX)
commline(RESP_ENDY-RESP_HIGH, col, RESP_ENDY, col);
else
commline(RESP_ENDY-RESP_HIGH, col-LEFTMAXX+1, RESP_ENDY, col-LEFTMAXX+1);
if(RwaveX==1)
row1=row2;
SETCOLOR(RESPWCOLOR->value);
commline(RESP_ENDY-row1, RwaveX, RESP_ENDY-row2, RwaveX);
row1=row2;
RwaveX++;
if(RwaveX==LEFTMAXX)
RwaveX=1;
return;
}
/*---------------------------------*/
void RESPwav(int row2)
{
static row1=0;
SETCOLOR(BLACK);
if(RwaveX==LEFTMAXX-1){
commline(RESP_ENDY-RESP_HIGH, 1, RESP_ENDY, 1);
}else{
commline(RESP_ENDY-RESP_HIGH, RwaveX+1, RESP_ENDY, RwaveX+1);
}
if(RwaveX==WAVXSTART)
row1=row2;
SETCOLOR(RESPWCOLOR->value);
commline(RESP_ENDY-row1, RwaveX, RESP_ENDY-row2, RwaveX);
row1=row2;
RwaveX++;
if(RwaveX==LEFTMAXX)
RwaveX=1;
return;
}
void RESPsmallwav(int row2)
{
static row1=0;
SETCOLOR(BLACK);
if(RwaveX==LEFTMAXX-1){
commline(RESP_SMALL_ENDY-RESP_SMALL_HIGH, 1, RESP_SMALL_ENDY, 1);
}else{
commline(RESP_SMALL_ENDY-RESP_SMALL_HIGH, RwaveX+1, RESP_SMALL_ENDY, RwaveX+1);
}
if(RwaveX==WAVXSTART)
row1=row2;
SETCOLOR(RESPWCOLOR->value);
commline(RESP_SMALL_ENDY-row1, RwaveX, RESP_SMALL_ENDY-row2, RwaveX);
row1=row2;
RwaveX++;
if(RwaveX==LEFTMAXX)
RwaveX=1;
return;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -