DreherTankController/src/types.h

50 lines
1.6 KiB
C

#ifndef _MYTYPES_H_INCLUDED
#define _MYTYPES_H_INCLUDED
#define _SENSOR_FAULT 0x8000
#define _MODBUS_INVALID_BAUDRATE 4294967295
enum PSensor : uint8_t {
SMC_1_5V_0_5BAR=1, // Sensor mit Kabel
GEMS_0_5V_0_6BAR // Sensor mit Würfelstecker
};
struct Parameters { // Prozesswerte
int16_t ts1 = _SENSOR_FAULT; // Soll-Temperatur 1 in 1/100 °C
int16_t th1 = _SENSOR_FAULT; // Hysterese für Temperatur 1 (1/100)
int16_t ts2 = _SENSOR_FAULT; // Soll-Temperatur 2 in 1/100 °C
int16_t th2 = _SENSOR_FAULT; // Hysterese für Temperatur 2 (1/100)
int16_t ps = _SENSOR_FAULT; // Druck in bar
int16_t ph = _SENSOR_FAULT; // Hysterese für Druck
uint8_t tEn = 255; // Kühlung (de)aktiviert
uint8_t pInc = 255; // Drucksteigerung (de)aktiviert
uint8_t pDec = 255; // Druckabfall (de)aktiviert
uint8_t cEn = 255; // Controller (de)aktiviert
};
struct Values { // aktuelle Messwerte
int16_t t1 = _SENSOR_FAULT; // Temperatur in 1/100 °C
int16_t t2 = _SENSOR_FAULT; // Temperatur in 1/100 °C
int16_t p = _SENSOR_FAULT; // Druck in 1/100 bar
};
struct ModbusParameters { // Parameter für Modbus
uint32_t baudrate = _MODBUS_INVALID_BAUDRATE; // Modbus-Baudrate
uint8_t address = 255; // Modbus-Adresse
uint8_t delay = 255; // delay in 1/10 ms vor der Antwort
};
struct ValveStates {
bool t1;
bool t2;
bool pInc;
bool pDec;
};
extern PSensor pSensor;
extern Parameters params;
extern ModbusParameters modbusParams;
extern Values vals;
extern ValveStates vStates;
#endif // _MYTYPES_H_INCLUDED