📄 macros.h
字号:
//macros availaable within a sensor node are defined here
/* * @name node ID
* @ingroup group_macros
*/
//@{
/* * macro that returns a node's ID(value ranges from 0 to NNODES-1)
* @hideinitializer
*/
//@}
#define ID (int)parentModule()->index()
#define KIND (int)(parentModule()->par("KIND"))
#define COLOR (int)(parentModule()->par("COLOR"))
#define UPDATECOLOR(color){
\parentModule()->par("COLOR")=color;\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
parentModule()->setDisplayString(tempstring);
}
#define UPDAREKIND(kind){\
parentModule()->par("KIND")=kind;\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
parentModule()->setDisplayString(tempstring);
}
#define UPDATEGRAPHICS(color,kind){\
parentModule()->par("COLOR")=color;\
parentModule()->par("KIND")=kind;\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
parentModule()->setDisplayString(tempstring);
}
#define REFRESHIMAGE{\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
parentModule()->setDisplayString(tempstring);
}
#define PX (int)parentModule()->par("PX")
#define PY (int)parentModule()->par("PY")
#define SSTRENGTH (int)parentModule()->par("sstrength")
#define UPDATESSTRENGTH(sstrength){\};
#define NRJ *(double *)lookup("gv_energy")
#define NRJ_CONSUMED *(double *)lookup("gv_energyconsumed")
#define NRJ_CONSUME(nrj){
\
double energy=0.0,energyconsumed=0.0;\
if(lookup("gv_energy")!=NULL)\
energy=NRJ;\
if(lookup("gv_energyconsumed")!=NULL)\
energyconsumed=NRJ_CONSUMED;\
publish("gv_energy",energy-nrj);\
publish("gv_energyconsumed",energyconsumed+nrj);
}
#define NRJ_ADD(nrj){
publish("gv_energy",NRJ+nrj);
}
#define NRJ_LIFETIME(simtime_t)(simTime()*NRJ/NRJ_CONSUMED))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -