50 lines
1.6 KiB
C
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
|