/* HELP */ #include #include ArduinoTCSTemperatureSensor::ArduinoTCSTemperatureSensor(object_id_t setObjectid, float *inputTemperature, PoolVariableIF *poolVariable, uint8_t vectorIndex, Parameters parameters, uint32_t datapoolId, DataSet *outputSet, ThermalModuleIF *thermalModule) : AbstractTemperatureSensor(setObjectid, thermalModule), parameters(parameters), inputTemperature(*inputTemperature), poolVariable(poolVariable), outputValidity(datapoolId, outputSet, PoolVariableIF::VAR_READ_WRITE) /*DataPool::poolIdAndPositionToPid(poolVariable->getDataPoolId(), vectorIndex)*/ /*outputTemperature(datapoolId, outputSet, PoolVariableIF::VAR_WRITE)*/ { } ArduinoTCSTemperatureSensor::~ArduinoTCSTemperatureSensor() {} void ArduinoTCSTemperatureSensor::setInvalid() { inputTemperature = INVALID_TEMPERATURE; outputValidity.setValid(false); } void ArduinoTCSTemperatureSensor::doChildOperation() { getTemperature(); // Loop with isValid doesn't work /*if (!poolVariable->isValid() || !healthHelper.healthTable->isHealthy(getObjectId())) { setInvalid(); return; }*/ if (inputTemperatureparameters.upperLimit){ outputValidity.setValid(PoolVariableIF::INVALID); inputTemperature = INVALID_TEMPERATURE; } else { outputValidity.setValid(PoolVariableIF::VALID); } } float ArduinoTCSTemperatureSensor::getTemperature() { return inputTemperature; } bool ArduinoTCSTemperatureSensor::isValid() { // To modify? return outputValidity.isValid(); } void ArduinoTCSTemperatureSensor::resetOldState() {} ReturnValue_t ArduinoTCSTemperatureSensor::getParameter(uint8_t domainId, uint16_t parameterId, ParameterWrapper *parameterWrapper, const ParameterWrapper *newValues, uint16_t startAtIndex){ return HasReturnvaluesIF::RETURN_OK; }