simplify sensor config handling
This commit is contained in:
parent
cf1e0d1224
commit
5a79e0584f
|
@ -90,87 +90,48 @@ class BME280Config : public SensorBase{
|
||||||
sendN2kHumidity(api, *this, humidity, counterId);
|
sendN2kHumidity(api, *this, humidity, counterId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#define CFG280(prefix) \
|
||||||
|
CFG_GET(prAct,prefix); \
|
||||||
|
CFG_GET(tmAct,prefix);\
|
||||||
|
CFG_GET(huAct,prefix);\
|
||||||
|
CFG_GET(tmSrc,prefix);\
|
||||||
|
CFG_GET(huSrc,prefix);\
|
||||||
|
CFG_GET(iid,prefix);\
|
||||||
|
CFG_GET(intv,prefix);\
|
||||||
|
CFG_GET(tmNam,prefix);\
|
||||||
|
CFG_GET(huNam,prefix);\
|
||||||
|
CFG_GET(prNam,prefix);\
|
||||||
|
CFG_GET(tmOff,prefix);\
|
||||||
|
CFG_GET(prOff,prefix);
|
||||||
|
|
||||||
virtual void readConfig(GwConfigHandler *cfg) override
|
virtual void readConfig(GwConfigHandler *cfg) override
|
||||||
{
|
{
|
||||||
if (prefix == PRFX1)
|
if (prefix == PRFX1)
|
||||||
{
|
{
|
||||||
busId = 1;
|
busId = 1;
|
||||||
addr = 0x76;
|
addr = 0x76;
|
||||||
#undef CG
|
CFG280(BME28011);
|
||||||
#define CG(name) CFG_GET(name, BME28011)
|
|
||||||
CG(prAct);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(tmSrc);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(iid);
|
|
||||||
CG(intv);
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(prNam);
|
|
||||||
CG(tmOff);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX2)
|
if (prefix == PRFX2)
|
||||||
{
|
{
|
||||||
busId = 1;
|
busId = 1;
|
||||||
addr = 0x77;
|
addr = 0x77;
|
||||||
#undef CG
|
CFG280(BME28012);
|
||||||
#define CG(name) CFG_GET(name, BME28012)
|
|
||||||
CG(prAct);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(tmSrc);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(iid);
|
|
||||||
CG(intv);
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(prNam);
|
|
||||||
CG(tmOff);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX3)
|
if (prefix == PRFX3)
|
||||||
{
|
{
|
||||||
busId = 2;
|
busId = 2;
|
||||||
addr = 0x76;
|
addr = 0x76;
|
||||||
#undef CG
|
CFG280(BME28021);
|
||||||
#define CG(name) CFG_GET(name, BME28021)
|
|
||||||
CG(prAct);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(tmSrc);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(iid);
|
|
||||||
CG(intv);
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(prNam);
|
|
||||||
CG(tmOff);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX4)
|
if (prefix == PRFX4)
|
||||||
{
|
{
|
||||||
busId = 2;
|
busId = 2;
|
||||||
addr = 0x77;
|
addr = 0x77;
|
||||||
#undef CG
|
CFG280(BME28022);
|
||||||
#define CG(name) CFG_GET(name, BME28022)
|
|
||||||
CG(prAct);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(tmSrc);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(iid);
|
|
||||||
CG(intv);
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(prNam);
|
|
||||||
CG(tmOff);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
|
||||||
}
|
}
|
||||||
intv *= 1000;
|
intv *= 1000;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,53 +40,36 @@ class QMP6988Config : public SensorBase{
|
||||||
LOG_DEBUG(GwLog::DEBUG,"%s measure %2.0fPa, computed %2.0fPa",prefix.c_str(), pressure,computed);
|
LOG_DEBUG(GwLog::DEBUG,"%s measure %2.0fPa, computed %2.0fPa",prefix.c_str(), pressure,computed);
|
||||||
sendN2kPressure(api,*this,computed,counterId);
|
sendN2kPressure(api,*this,computed,counterId);
|
||||||
}
|
}
|
||||||
|
#define CFG6988(prefix)\
|
||||||
|
CFG_GET(prNam,prefix); \
|
||||||
|
CFG_GET(iid,prefix); \
|
||||||
|
CFG_GET(prAct,prefix); \
|
||||||
|
CFG_GET(intv,prefix); \
|
||||||
|
CFG_GET(prOff,prefix);
|
||||||
|
|
||||||
virtual void readConfig(GwConfigHandler *cfg){
|
virtual void readConfig(GwConfigHandler *cfg){
|
||||||
if (prefix == PRFX1){
|
if (prefix == PRFX1){
|
||||||
busId=1;
|
busId=1;
|
||||||
addr=86;
|
addr=86;
|
||||||
#undef CG
|
CFG6988(QMP698811);
|
||||||
#define CG(name) CFG_GET(name,QMP698811)
|
|
||||||
CG(prNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(prAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX2){
|
if (prefix == PRFX2){
|
||||||
busId=1;
|
busId=1;
|
||||||
addr=112;
|
addr=112;
|
||||||
#undef CG
|
CFG6988(QMP698812);
|
||||||
#define CG(name) CFG_GET(name,QMP698812)
|
|
||||||
CG(prNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(prAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX3){
|
if (prefix == PRFX3){
|
||||||
busId=2;
|
busId=2;
|
||||||
addr=86;
|
addr=86;
|
||||||
#undef CG
|
CFG6988(QMP698821);
|
||||||
#define CG(name) CFG_GET(name,QMP698821)
|
|
||||||
CG(prNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(prAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX4){
|
if (prefix == PRFX4){
|
||||||
busId=2;
|
busId=2;
|
||||||
addr=112;
|
addr=112;
|
||||||
#undef CG
|
CFG6988(QMP698822);
|
||||||
#define CG(name) CFG_GET(name,QMP698822)
|
|
||||||
CG(prNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(prAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(prOff);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
intv*=1000;
|
intv*=1000;
|
||||||
|
|
|
@ -66,65 +66,39 @@ class SHT3XConfig : public SensorBase{
|
||||||
* just to get compile time errors if something does not fit
|
* just to get compile time errors if something does not fit
|
||||||
* correctly
|
* correctly
|
||||||
*/
|
*/
|
||||||
|
#define CFG3X(prefix) \
|
||||||
|
CFG_GET(tmNam,prefix); \
|
||||||
|
CFG_GET(huNam,prefix); \
|
||||||
|
CFG_GET(iid,prefix); \
|
||||||
|
CFG_GET(tmAct,prefix); \
|
||||||
|
CFG_GET(huAct,prefix); \
|
||||||
|
CFG_GET(intv,prefix); \
|
||||||
|
CFG_GET(huSrc,prefix); \
|
||||||
|
CFG_GET(tmSrc,prefix);
|
||||||
|
|
||||||
virtual void readConfig(GwConfigHandler *cfg){
|
virtual void readConfig(GwConfigHandler *cfg){
|
||||||
if (prefix == PRFX1){
|
if (prefix == PRFX1){
|
||||||
busId=1;
|
busId=1;
|
||||||
addr=0x44;
|
addr=0x44;
|
||||||
#undef CG
|
CFG3X(SHT3X11);
|
||||||
#define CG(name) CFG_GET(name,SHT3X11)
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(tmSrc);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX2){
|
if (prefix == PRFX2){
|
||||||
busId=1;
|
busId=1;
|
||||||
addr=0x45;
|
addr=0x45;
|
||||||
#undef CG
|
CFG3X(SHT3X12);
|
||||||
#define CG(name) CFG_GET(name,SHT3X12)
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(tmSrc);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX3){
|
if (prefix == PRFX3){
|
||||||
busId=2;
|
busId=2;
|
||||||
addr=0x44;
|
addr=0x44;
|
||||||
#undef CG
|
CFG3X(SHT3X21);
|
||||||
#define CG(name) CFG_GET(name,SHT3X21)
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(tmSrc);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if (prefix == PRFX4){
|
if (prefix == PRFX4){
|
||||||
busId=2;
|
busId=2;
|
||||||
addr=0x45;
|
addr=0x45;
|
||||||
#undef CG
|
CFG3X(SHT3X22);
|
||||||
#define CG(name) CFG_GET(name,SHT3X22)
|
|
||||||
CG(tmNam);
|
|
||||||
CG(huNam);
|
|
||||||
CG(iid);
|
|
||||||
CG(tmAct);
|
|
||||||
CG(huAct);
|
|
||||||
CG(intv);
|
|
||||||
CG(huSrc);
|
|
||||||
CG(tmSrc);
|
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
intv*=1000;
|
intv*=1000;
|
||||||
|
|
Loading…
Reference in New Issue