Thu, 02 May 2024 15:49:16 +0200
Version 0.9.19b3. The simulator thread can be paused to be able to add and delete simulators. Added simulated door and PSU status. Devices can now fully use multiple simulators. Better rounding of simulated temperature values. The server SIMULATOR DEL and ADD commands pause the simulator when the linked list is manipulated. Fixed SIGSEGV when a simulator is added. Added socket SO_REUSEADDR again to the server socket.
#ifndef PID_H #define PID_H #define PID_MODE_NONE 0 /* Process control off */ #define PID_MODE_AUTO 1 /* Process control auto */ #define PID_MODE_BOO 2 /* Process control Bang On/Off */ #define PID_TYPE_HEAT 0 /* PID is used for heating */ #define PID_TYPE_COOL 1 /* PID is used for cooling */ typedef struct _pid_var { double iMax; /* Maximum allowable integrator state */ double iGain; /* Integral gain */ double pGain; /* Proportional gain */ double dGain; /* Derivative gain */ double idleRange; /* Idle range */ double Input; /* Input value */ double Err; /* Error, diff between input and set point */ double InputLast; /* Input from last pass */ double iState; /* Error from next last pass */ double SetP; /* Set point */ double OutP; /* Output of PID algorithm */ int Mode; /* Value is 'PID_AUTO' if loop is automatic */ int Type; /* Value is 'HEAT' or 'COOL' */ } pid_var; void InitPID( pid_var *, int); void UpdatePID( pid_var *); #endif