diff --git a/lighthub/item.cpp b/lighthub/item.cpp index 859db51..c6a5904 100644 --- a/lighthub/item.cpp +++ b/lighthub/item.cpp @@ -547,7 +547,7 @@ if (suffixCode == S_RAW) ic.setSuffix(suffixCode); return Ctrl(ic,subItem); } - +//debugSerial<pid && (Status() == CST_INITIALIZED) && item && (item->getCm { if(store->pid->Compute() ) { + int alarmVal; + if (store->alarmArmed && (alarmVal=getAlarmVal()>=0)) store->output=alarmVal; debugSerial<itemArr->name<setpoint<input<<(" out:") << store->output <pid->GetKp() <pid->GetKi() <pid->GetKd(); if (store->alarmArmed) debugSerial << F(" Alarm"); debugSerial<pid && (Status() == CST_INITIALIZED) && item && (item->getCm return 1;//store->pollingInterval; }; - -void out_pid::alarm(bool state) +int out_pid::getAlarmVal() { - -if (!item || !item->itemArg) return; - if (state) - { - - aJsonObject * kPIDObj = aJson.getArrayItem(item->itemArg, 0); + aJsonObject * kPIDObj = aJson.getArrayItem(item->itemArg, 0); if (!kPIDObj || kPIDObj->type != aJson_Array) { errorSerial<itemArg) return; } else if (!alarmValDefined) outAlarm = .255; } - } - errorSerial<itemArr->name<itemArg, 1); - itemCmd value (outAlarm);// * (100./255.))); - executeCommand(oCmd,-1,value); +void out_pid::alarm(bool state) +{ + +if (!item || !item->itemArg) return; + if (state) + { + float outAlarm=getAlarmVal(); + errorSerial<itemArr->name<=0) + { + errorSerial<itemArg, 1); + itemCmd value ((float)outAlarm);// * (100./255.))); + executeCommand(oCmd,-1,value); + } } else { diff --git a/lighthub/modules/out_pwm.cpp b/lighthub/modules/out_pwm.cpp index 4d9ecfa..0426ee6 100644 --- a/lighthub/modules/out_pwm.cpp +++ b/lighthub/modules/out_pwm.cpp @@ -95,23 +95,23 @@ int out_pwm::getChanType() { if (item) { - debugSerial<itemType<itemType<itemType; } }