/* * z21emu.h * * Created on: 16.12.2017 * Author: steffen */ #ifndef Z21EMU_H_ #define Z21EMU_H_ #include "config.h" #define DEFAULT_CONFIG ETCPREFIX"/z21emu.conf" #define RBUS_BYTESPERGROUP 10 #define RBUS_GROUPS 2 #define RBUS_MAXSENSORBYTES (RBUS_GROUPS*RBUS_BYTESPERGROUP) #define XLAN_TURNOUT_MAX 1024 #define XLAN_TURNOUTBYTES (XLAN_TURNOUT_MAX / 8) enum { I2CREGTYPE_UNDEF, I2CREGTYPE_DI, I2CREGTYPE_DO }; struct s_rbussensor { unsigned char status; // current value unsigned char last; // last value unsigned char i2c_addr; // i2c address unsigned char i2c_reg; // i2c register }; extern struct s_rbussensor rbus[RBUS_MAXSENSORBYTES]; struct s_xlanturnout { unsigned char i2c_addr; // i2c address unsigned char i2c_reg; // i2c register unsigned char output; // current value unsigned char last; // last value }; extern struct s_xlanturnout xlturn[XLAN_TURNOUT_MAX]; extern int debug; void xlan_turnout (int addr, bool enable); #endif /* Z21EMU_H_ */