You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1007 B
53 lines
1007 B
/*
|
|
* 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_ */
|