📄 usermain.c
字号:
switch(cfun_state)
{
case 2:
case 5:
aprintf(0x00,"%6ld",scalenow.ad);
break;
}
break;
}
}
void SS_Weisetfun(MSG *pMsg)
{
switch(pMsg->message)
{
case M_CHAR:
switch(cfun_state)
{
#if 1
case 0: //滤波设定
if(pMsg->param==KEY_NEXT)SetNextFunState();
if(pMsg->param==KEY_ENTER)SetNextcFunState();
break;
#endif
case 1:
if(pMsg->param==KEY_CHA){if(++CalSet.cSCapexp>CAPEXH)CalSet.cSCapexp=CAPEXL;}
if(pMsg->param==KEY_ADD){if(++CalSet.cSCap>CAPS)CalSet.cSCap=0;}
if(pMsg->param==KEY_SUB){if(CalSet.cSCap--==0)CalSet.cSCap=CAPS;}
if(pMsg->param==KEY_NEXT)
{
E_write(I2C_SCAP, CalSet.cSCap);
E_write(I2C_SCAPEX, CalSet.cSCapexp);
SetNextcFunState();
}
break;
case 2:
if(pMsg->param==KEY_CHA)if(++CalSet.cSDiv>SSENSN)CalSet.cSDiv=0;
if(pMsg->param==KEY_NEXT){E_write(I2C_SSENS,CalSet.cSDiv);SetFunState(fun_state);}
break;
}
PostMessage(M_REFURBISH,cfun_state);
break;
case M_REFURBISH:
switch(cfun_state)
{
case 0:
aprintf(0x20,"P2 Wei ");
break;
case 1:
aprintf(0x10,"CAP"); //设置滤波方式
if(CalSet.cSCapexp>CAPEXH)CalSet.cSCapexp=CAPEXL;
if(CalSet.cSCap>CAPS)CalSet.cSCap=0;
CalSet.fSCap=(scaps[CalSet.cSCap].SCapn*pow10(CalSet.cSCapexp));
aprintf(0x00,"%7f",CalSet.fSCap);
break;
case 2:
aprintf(0x10,"DIV"); //设置滤波方式
if(CalSet.cSDiv>SSENSN)CalSet.cSDiv=0;
CalSet.fSDiv=DivTab[CalSet.cSDiv]*pow10(CalSet.cSCapexp);
aprintf(0x00,"%f",CalSet.fSDiv);
break;
}
break;
}
}
/**************************************************************************
* 函数原型:void s_syssetfun(MSG *pMsg)
* 功 能:经销商设置程序,对接收的消息进行处理
**************************************************************************/
void s_syssetfun(MSG *pMsg)
{
((void (*)(MSG * pMsg))SS_Funtab[fun_state])(pMsg);
}
/**************************************************************************
* 函数原型:void s_usersetfun(MSG *pMsg)
* 功 能:用户参数设置程序,对接收的消息进行处理
**************************************************************************/
void s_usersetfun(MSG *pMsg)
{
((void (*)(MSG * pMsg))US_Funtab[fun_state])(pMsg);
}
void US_Unitsetfun(MSG *pMsg)
{
switch(pMsg->message)
{
case M_CHAR:
switch(cfun_state)
{
}
break;
PostMessage(M_REFURBISH,cfun_state);
case M_REFURBISH:
switch(cfun_state)
{
}
break;
}
}
void US_Funsetfun(MSG *pMsg)
{
switch(pMsg->message)
{
case M_CHAR:
switch(cfun_state)
{
case 0:
if(pMsg->param==KEY_NEXT)SetNextFunState();
if(pMsg->param==KEY_ENTER)SetNextcFunState();
break;
case 1:
if(pMsg->param==KEY_CHA)funset.flag^=POWREN;
if(pMsg->param==KEY_NEXT){E_write(I2C_FLAG,funset.flag);SetNextcFunState();}
break;
case 2:
if(pMsg->param==KEY_CHA)funset.flag^=LIGHTEN;
if(pMsg->param==KEY_NEXT){E_write(I2C_FLAG,funset.flag);SetcFunState(0);}
break;
}
PostMessage(M_REFURBISH,cfun_state);
break;
case M_REFURBISH:
switch(cfun_state)
{
case 0:
aprintf(0x20,"P1 Oth ");
break;
case 1:
aprintf(0x10,"PWR");
aprintf(0x00,DisGetonoff(funset.flag&POWREN));
break;
case 2:
aprintf(0x10," BL");
lcd_setback(funset.flag&LIGHTEN);
aprintf(0x00,DisGetonoff(funset.flag&LIGHTEN));
break;
}
break;
}
}
void US_Holdsetfun(MSG *pMsg)
{
switch(pMsg->message)
{
case M_CHAR:
switch(cfun_state)
{
case 0:
if(pMsg->param==KEY_NEXT)SetNextFunState();
if(pMsg->param==KEY_ENTER)SetNextcFunState();
break;
case 1:
if(pMsg->param==KEY_CHA)funset.flag^=HOLDEN;
if(pMsg->param==KEY_NEXT){E_write(I2C_FLAG,funset.flag);SetNextcFunState();}
break;
case 2:
if(pMsg->param==KEY_CHA)holdset.holdd++;
if(pMsg->param==KEY_NEXT){E_write(I2C_HOLDSET_HOLDD,holdset.holdd);SetNextcFunState();}
break;
case 3:
if(pMsg->param==KEY_CHA)holdset.holdt++;
if(pMsg->param==KEY_NEXT){E_write(I2C_HOLDSET_HOLDT,holdset.holdt);SetcFunState(0);}
break;
}
PostMessage(M_REFURBISH,cfun_state);
break;
case M_REFURBISH:
switch(cfun_state)
{
case 0:
aprintf(0x20,"P2 HLD ");
break;
case 1:
aprintf(0x10," HD");
aprintf(0x00,DisGetonoff(funset.flag&HOLDEN));
break;
case 2:
if(holdset.holdd>HOLDD)holdset.holdd=0;
aprintf(0x10," Ht");
aprintf(0x00,"%5bdd",holdset.holdd);
break;
case 3:
if(holdset.holdt>HOLDT)holdset.holdt=0;
aprintf(0x10," Hd");
aprintf(0x00,"%3bd",holdset.holdt);
break;
}
break;
}
}
void US_Comsetfun(MSG *pMsg)
{
switch(pMsg->message)
{
case M_CHAR:
switch(cfun_state)
{
case 0:
if(pMsg->param==KEY_NEXT)SetNextFunState();
if(pMsg->param==KEY_ENTER)SetNextcFunState();
break;
case 1:
if(pMsg->param==KEY_CHA)com.mode++;
if(pMsg->param==KEY_NEXT){SetNextcFunState();}
break;
case 2:
if(pMsg->param==KEY_CHA)com.baud++;
if(pMsg->param==KEY_NEXT){SetcFunState(0);}
break;
}
PostMessage(M_REFURBISH,cfun_state);
break;
case M_REFURBISH:
switch(cfun_state)
{
case 30:
aprintf(0x20,"P3 EL ");
break;
case 31:
if(com.mode>COM_MODES)com.mode=0;
aprintf(0x10,"Mod");
aprintf(0x00,"%3bd",com.mode);
break;
case 32:
if(com.baud>COM_BAUDS)com.baud=0;
aprintf(0x10,"BPS");
aprintf(0x00,"%5bd",baudt[com.baud]);
break;
}
break;
}
}
void s_weightfun(MSG *pMsg )
{
switch(pMsg->message)
{
case M_REFURBISH:
beep(100);
scalenow.zero=scalenow.ad;
ShowWeiFlagEn=1;
LineEnFlag=1;
break;
case M_ADFILOK:
aprintf(0x00,"%f",scalenow.weight);
break;
}
}
Uchar * DisGetonoff(BOOL onoff)
{
if(onoff)return " ON ";
else return " OFF ";
}
void SetFunState(Uchar State)
{
PostMessage(M_REFURBISH,fun_state);
fun_state=State;
cfun_state=0;
}
void SetNextFunState()
{
SetFunState(fun_state+1);
}
void SetcFunState(Uchar State)
{
PostMessage(M_REFURBISH,cfun_state);
cfun_state=State;
}
void SetNextcFunState()
{
SetcFunState(cfun_state+1);
}
float GetLineWei(BOOL linedot)
{
}
float GetTechWei(Uchar cwei)
{
return cwei*pow10(CalSet.cSCapexp-1);
}
/**************************************************************************
* 函数原型: Uchar Dspinit()
* 功 能: 开机时自检
**************************************************************************/
void Dspinit()
{
Uchar i=0; //自检
for(i=0;i<10;i++)
{
aprintf(0x20,"%s",dspt[i]);
lcd_writej(i);
beep(100);
delayms(300);
}
beep(200);
lcd_all();
delayms(300);
lcd_clr();
delayms(200);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -