Subversion Repositories HomeAutomation

Rev

Rev 410 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 410 Rev 517
1
/*
1
/*
2
 * Defines functs, funccs and other global definitions
2
 * Defines functs, funccs and other global definitions
3
 *
3
 *
4
 * IDENT: <CLASS><TYPE><SID> DATA: <data7>...<data0>
4
 * IDENT: <CLASS><TYPE><SID> DATA: <data7>...<data0>
5
 *
5
 *
6
 * <CLASS>, 4 bits = Function type.
6
 * <CLASS>, 4 bits = Function type.
7
 * <TYPE>, 17 bits = Function code.
7
 * <TYPE>, 17 bits = Function code.
8
 * <SID>, 8 bits = Sender ID.
8
 * <SID>, 8 bits = Sender ID.
9
 */
9
 */
10
 
10
 
11
 
11
 
12
/* Definitions for masking */
12
/* Definitions for masking */
13
#define CLASS_MASK  0x1E000000L     /* bit[28..25] */
13
#define CLASS_MASK  0x1E000000L     /* bit[28..25] */
14
#define TYPE_MASK   0x01FFFF00L     /* bit[24..8] */
14
#define TYPE_MASK   0x01FFFF00L     /* bit[24..8] */
15
#define SID_MASK    0x000000FFL     /* bit[7..0] */
15
#define SID_MASK    0x000000FFL     /* bit[7..0] */
16
 
16
 
17
#define CLASS_MASK_BITS 25
17
#define CLASS_MASK_BITS 25
18
#define TYPE_MASK_BITS  8
18
#define TYPE_MASK_BITS  8
19
#define SID_MASK_BITS   0
19
#define SID_MASK_BITS   0
20
 
20
 
21
/**************************************************************
21
/**************************************************************
22
 * <CLASS> 4 bits 0xFL
22
 * <CLASS> 4 bits 0xFL
23
 *************************************************************/
23
 *************************************************************/
24
#define CLASS_SNS   0x4L
24
#define CLASS_SNS   0x4L
25
#define CLASS_ACT   0x5L
25
#define CLASS_ACT   0x5L
26
 
26
 
27
/****************************************************************
27
/****************************************************************
28
 * <TYPE> 17 bits 0x1FFFFL
28
 * <TYPE> 17 bits 0x1FFFFL
29
 ***************************************************************/
29
 ***************************************************************/
30
 
30
 
31
/* SNS: Sensor data */
31
/* SNS: Sensor data */
32
 
32
 
33
/* <SNS_TYPE><SNS_ID>
33
/* <SNS_TYPE><SNS_ID>
34
 *
34
 *
35
 * <SNS_TYPE>, 8 bits = Sensor type.
35
 * <SNS_TYPE>, 8 bits = Sensor type.
36
 * <SNS_ID>, 9 bits = Sensor ID. Ex outdoor ds18s20, NodeRelay tc1047.
36
 * <SNS_ID>, 9 bits = Sensor ID. Ex outdoor ds18s20, NodeRelay tc1047.
37
 */
37
 */
38
/* SNS masking */
38
/* SNS masking */
39
#define SNS_TYPE_MASK   0x1FE0000L  /* bit[24..17] */
39
#define SNS_TYPE_MASK   0x1FE0000L  /* bit[24..17] */
40
#define SNS_ID_MASK     0x001FF00L  /* bit[16..8] */
40
#define SNS_ID_MASK     0x001FF00L  /* bit[16..8] */
41
 
41
 
42
#define SNS_TYPE_BITS   17
42
#define SNS_TYPE_BITS   17
43
#define SNS_ID_BITS     8
43
#define SNS_ID_BITS     8
44
 
44
 
45
/* <SNS_TYPE> 8 bits 0xFFL */
45
/* <SNS_TYPE> 8 bits 0xFFL */
46
#define SNS_TEMP_DS18S20        0x08L
46
#define SNS_TEMP_DS18S20        0x08L
47
#define SNS_TEMP_TC1047         0x09L
47
#define SNS_TEMP_TC1047         0x09L
48
#define SNS_IR_RECEIVE          0x0AL
48
#define SNS_IR_RECEIVE          0x0AL
49
#define SNS_ACT_STATUS_RELAY    0x0BL
49
#define SNS_ACT_STATUS_RELAY    0x0BL
50
#define SNS_ACT_STATUS_SERVO    0x0CL
50
#define SNS_ACT_STATUS_SERVO    0x0CL
51
#define SNS_ACT_STATUS_DIMMER   0x0DL
51
#define SNS_ACT_STATUS_DIMMER   0x0DL
52
#define SNS_ACT_BUTTON          0x0EL
52
#define SNS_ACT_BUTTON          0x0EL
53
 
53
 
54
/* <SNS_ID> 9 bits 0x1FFL */
54
/* <SNS_ID> 9 bits 0x1FFL */
55
//idn för alla sensorer
55
//idn för alla sensorer
56
//eqlazers idn:
56
//eqlazers idn:
57
#define SNS_DS18S20_OUTSIDE     0x001L
57
#define SNS_DS18S20_OUTSIDE     0x001L
58
#define SNS_DS18S20_FREEZER     0x002L
58
#define SNS_DS18S20_FREEZER     0x002L
59
#define SNS_DS18S20_INSIDE1     0x003L
59
#define SNS_DS18S20_INSIDE1     0x003L
60
#define SNS_DS18S20_INSIDE2     0x004L
60
#define SNS_DS18S20_INSIDE2     0x004L
61
 
61
 
62
/* ACT: Actuator data */
62
/* ACT: Actuator data */
63
 
63
 
64
/* <ACT_TYPE><GROUP><NODE>
64
/* <ACT_TYPE><GROUP><NODE>
65
 *
65
 *
66
 * <ACT_TYPE>, 5 bits = Actuator type, relay, dimmer etc.
66
 * <ACT_TYPE>, 5 bits = Actuator type, relay, dimmer etc.
67
 * <GROUP>, 4 bits = To adress larger groups of actuators.
67
 * <GROUP>, 4 bits = To adress larger groups of actuators.
68
 * <NODE>, 8 bits = Specific node.
68
 * <NODE>, 8 bits = Specific node.
69
 */
69
 */
70
/* ACT masking */
70
/* ACT masking */
71
#define ACT_TYPE_MASK   0x1F000L    /* bit[16..12] */
71
#define ACT_TYPE_MASK   0x1F000L    /* bit[16..12] */
72
#define ACT_GROUP_MASK  0x00F00L    /* bit[11..8] */
72
#define ACT_GROUP_MASK  0x00F00L    /* bit[11..8] */
73
#define ACT_NODE_MASK   0x000FFL    /* bit[7..0] */
73
#define ACT_NODE_MASK   0x000FFL    /* bit[7..0] */
74
 
74
 
75
#define ACT_TYPE_BITS   12
75
#define ACT_TYPE_BITS   12
76
#define ACT_GROUP_BITS  8
76
#define ACT_GROUP_BITS  8
77
#define ACT_NODE_BITS   0
77
#define ACT_NODE_BITS   0
78
 
78
 
79
/* <ACT_TYPE> 5 bits 0x1FL */
79
/* <ACT_TYPE> 5 bits 0x1FL */
80
#define ACT_TYPE_RELAY      0x01L
80
#define ACT_TYPE_RELAY      0x01L
81
#define ACT_TYPE_DIMMER     0x02L
81
#define ACT_TYPE_DIMMER     0x02L
82
#define ACT_TYPE_SERVO      0x03L
82
#define ACT_TYPE_SERVO      0x03L
83
#define ACT_TYPE_BLINDS     ACT_TYPE_SERVO
83
#define ACT_TYPE_BLINDS     ACT_TYPE_SERVO
84
#define ACT_TYPE_LCD        0x04L
84
#define ACT_TYPE_LCD        0x04L
85
#define ACT_TYPE_IRTRANS    0x05L
85
#define ACT_TYPE_IRTRANS    0x05L
86
#define ACT_TYPE_RGBLED     0x06L
86
#define ACT_TYPE_RGBLED     0x06L
87
 
87
 
88
/* ACT LCD 12 bits <ACTION><SIZE> 0xFFFL
88
/* ACT LCD 12 bits <ACTION><SIZE> 0xFFFL
89
 *
89
 *
90
 * <ACTION>, 4 bits = Type och action.
90
 * <ACTION>, 4 bits = Type och action.
91
 * <SIZE>, 8 bits = Size of display.
91
 * <SIZE>, 8 bits = Size of display.
92
 */
92
 */
93
#define LCD_ACTION_MASK 0xF00L /* bit[12..8] */
93
#define LCD_ACTION_MASK 0xF00L /* bit[12..8] */
94
#define LCD_SIZE_MASK 0x0FFL /* bit[7..0] */
94
#define LCD_SIZE_MASK 0x0FFL /* bit[7..0] */
95
 
95
 
96
#define LCD_ACTION_BITS 8
96
#define LCD_ACTION_BITS 8
97
#define LCD_SIZE_BITS 0
97
#define LCD_SIZE_BITS 0
98
 
98
 
99
 
99
 
100
/* <ACTION> 4 bits 0xFL */
100
/* <ACTION> 4 bits 0xFL */
101
 
101
 
102
#define LCD_ACTION_CLR          0x0L
102
#define LCD_ACTION_CLR          0x0L
103
#define LCD_ACTION_CURS         0x1L
103
#define LCD_ACTION_CURS         0x1L
104
#define LCD_ACTION_TEXT         0x2L
104
#define LCD_ACTION_TEXT         0x2L
105
#define LCD_ACTION_GET_SIZE     0x3L
105
#define LCD_ACTION_GET_SIZE     0x3L
106
#define LCD_ACTION_SET_CONT     0x4L
106
#define LCD_ACTION_SET_CONT     0x4L
107
#define LCD_ACTION_SET_BLIGHT   0x5L
107
#define LCD_ACTION_SET_BLIGHT   0x5L
108
#define LCD_ACTION_GET_CONT     0x6L
108
#define LCD_ACTION_GET_CONT     0x6L
109
#define LCD_ACTION_GET_BLIGHT   0x7L
109
#define LCD_ACTION_GET_BLIGHT   0x7L
110
 
110
 
111
#define LCD_ACTION_SEND_CONT    0x8L
111
#define LCD_ACTION_SEND_CONT    0x8L
112
#define LCD_ACTION_SEND_BLIGHT  0x9L
112
#define LCD_ACTION_SEND_BLIGHT  0x9L
113
 
113
 
114
 
114
 
115
 
115
 
116
/* <SIZE> 8 bits 0xFFL */
116
/* <SIZE> 8 bits 0xFFL */
117
#define LCD_SIZE_ALL    0x00L
117
#define LCD_SIZE_ALL    0x00L
118
#define LCD_SIZE_16x2   0x02L
118
#define LCD_SIZE_16x2   0x02L
119
#define LCD_SIZE_20x4   0x10L
119
#define LCD_SIZE_20x4   0x10L
120
 
120
 
121
/*************************************************************
121
/*************************************************************
122
 * <SID> 8 bits 0xFFL
122
 * <SID> 8 bits 0xFFL
123
 ************************************************************/
123
 ************************************************************/
124
 
124
 
125
 
125
 
126
////////////////////////////////////////////////////////////
126
////////////////////////////////////////////////////////////
127
 
127
 
128
 
128
 
129
 
129
 
130
 
130
 
131
/* LCD: strings */
131
/* LCD: strings */
132
#define LCD_SENSOR_TEMPERATURE_INSIDE           "Inne      "
132
#define LCD_SENSOR_TEMPERATURE_INSIDE           "Inne      "
133
#define LCD_SENSOR_TEMPERATURE_OUTSIDE          "Ute       "
133
#define LCD_SENSOR_TEMPERATURE_OUTSIDE          "Ute       "
134
#define LCD_SENSOR_TEMPERATURE_FREEZER          "Frys      "
134
#define LCD_SENSOR_TEMPERATURE_FREEZER          "Frys      "
135
#define LCD_SENSOR_TEMPERATURE_REFRIGERATOR     "Kyl       "
135
#define LCD_SENSOR_TEMPERATURE_REFRIGERATOR     "Kyl       "
136
 
136
 
137
/* DS18S20 serial ID */
137
/* DS18S20 serial ID */
138
#define DS18S20_FREEZER                         0x10A7022601080005
138
#define DS18S20_FREEZER                         0x10A7022601080005
139
#define DS18S20_OUTSIDE                         0x100901E50008001E
139
#define DS18S20_OUTSIDE                         0x100901E50008001E
140
#define DS18S20_INSIDE_1                        0x1061C125010800CC
140
#define DS18S20_INSIDE_1                        0x1061C125010800CC
141
//#define DS18S20_INSIDE_2
141
//#define DS18S20_INSIDE_2
142
//#define DS18S20_REFRIGERATOR
142
//#define DS18S20_REFRIGERATOR
143
#define DS18S20_UNDEF                           0x00
143
#define DS18S20_UNDEF                           0x00
144
 
144
 
145
 
145
 
146
 
146