Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
167 eqlazer 1
/*
2
 * Defines functs, funccs and other global definitions
316 eqlazer 3
 * This is the one for eqnet :)
167 eqlazer 4
 *
316 eqlazer 5
 * IDENT: <CLASS><TYPE><SID> DATA: <data7>...<data0>
6
 *
7
 * <CLASS>, 4 bits = Function type.
8
 * <TYPE>, 17 bits = Function code.
9
 * <SID>, 8 bits = Sender ID.
167 eqlazer 10
 */
11
 
12
 
316 eqlazer 13
/* Definitions for masking */
14
#define CLASS_MASK  0x1E000000L     /* bit[28..25] */
15
#define TYPE_MASK   0x01FFFF00L     /* bit[24..8] */
16
#define SID_MASK    0x000000FFL     /* bit[7..0] */
167 eqlazer 17
 
316 eqlazer 18
#define CLASS_MASK_BITS 25
19
#define TYPE_MASK_BITS  8
20
#define SID_MASK_BITS   0
167 eqlazer 21
 
316 eqlazer 22
/**************************************************************
23
 * <CLASS> 4 bits 0xFL
24
 *************************************************************/
25
#define CLASS_SNS   0x4L
26
#define CLASS_ACT   0x5L
27
 
28
/****************************************************************
29
 * <TYPE> 17 bits 0x1FFFFL
30
 ***************************************************************/
31
 
32
/* SNS: Sensor data */
33
 
34
/* <SNS_TYPE><SNS_ID>
35
 *
36
 * <SNS_TYPE>, 8 bits = Sensor type.
37
 * <SNS_ID>, 9 bits = Sensor ID. Ex outdoor ds18s20, NodeRelay tc1047.
38
 */
39
/* SNS masking */
40
#define SNS_TYPE_MASK   0x1FE00L    /* bit[16..9] */
41
#define SNS_ID_MASK     0x001FFL    /* bit[8..0] */
42
 
43
#define SNS_TYPE_BITS   9
44
#define SNS_ID_BITS     0
45
 
46
/* <SNS_TYPE> 8 bits 0xFFL */
47
#define SNS_TEMP_DS18S20        0x08L
48
#define SNS_TEMP_TC1047         0x09L
49
#define SNS_IR_RECIEVE          0x0AL
50
#define SNS_ACT_STATUS_RELAY    0x0BL
51
#define SNS_ACT_STATUS_SERVO    0x0CL
52
#define SNS_ACT_STATUS_DIMMER   0x0DL
53
 
54
/* <SNS_ID> 9 bits 0x1FFL */
55
//idn för alla sensorer
56
 
57
/* ACT: Actuator data */
58
 
59
/* <ACT_TYPE><GROUP><NODE>
60
 *
61
 * <ACT_TYPE>, 5 bits = Actuator type, relay, dimmer etc.
62
 * <GROUP>, 4 bits = To adress larger groups of actuators.
63
 * <NODE>, 8 bits = Specific node.
64
 */
65
/* ACT masking */
66
#define ACT_TYPE_MASK   0x1F000L    /* bit[16..12] */
67
#define ACT_GROUP_MASK  0x00F00L    /* bit[11..8] */
68
#define ACT_NODE_MASK   0x000FFL    /* bit[7..0] */
69
 
70
#define ACT_TYPE_BITS   12
71
#define ACT_GROUP_BITS  8
72
#define ACT_NODE_BITS   0
73
 
74
/* <ACT_TYPE> 5 bits 0x1FL */
75
#define ACT_TYPE_RELAY      0x01L
76
#define ACT_TYPE_DIMMER     0x02L
77
#define ACT_TYPE_SERVO      0x03L
317 eqlazer 78
#define ACT_TYPE_BLINDS     ACT_TYPE_SERVO
316 eqlazer 79
#define ACT_TYPE_LCD        0x04L
80
#define ACT_TYPE_IRTRANS    0x05L
81
 
82
 
83
/*************************************************************
84
 * <SID> 8 bits 0xFFL
85
 ************************************************************/
86
 
87
 
88
////////////////////////////////////////////////////////////
89
 
90
 
91
 
92
 
167 eqlazer 93
/* LCD: strings */
94
#define LCD_SENSOR_TEMPERATURE_INSIDE           "Inne      "
95
#define LCD_SENSOR_TEMPERATURE_OUTSIDE          "Ute       "
96
#define LCD_SENSOR_TEMPERATURE_FREEZER          "Frys      "
97
#define LCD_SENSOR_TEMPERATURE_REFRIGERATOR     "Kyl       "
98
 
99
/* DS18S20 serial ID */
100
#define DS18S20_FREEZER                         0x10A7022601080005
101
#define DS18S20_OUTSIDE                         0x100901E50008001E
102
#define DS18S20_INSIDE_1                        0x1061C125010800CC
103
//#define DS18S20_INSIDE_2
104
//#define DS18S20_REFRIGERATOR
105
#define DS18S20_UNDEF                           0x00
106
 
107