Rev 1218 | Rev 1220 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1218 | Rev 1219 | ||
|---|---|---|---|
| Line 139... | Line 139... | ||
| 139 | this.statusMenuItem = new MenuItem(this); |
139 | this.statusMenuItem = new MenuItem(this); |
| 140 | this.statusMenuItem.displayData[0] = this.lcdCenterText("Meny1"); |
140 | this.statusMenuItem.displayData[0] = this.lcdCenterText("Meny1"); |
| 141 | this.statusMenuItem.displayData[1] = this.lcdCenterText(""); |
141 | this.statusMenuItem.displayData[1] = this.lcdCenterText(""); |
| 142 | this.statusMenuItem.displayData[2] = this.lcdCenterText(""); |
142 | this.statusMenuItem.displayData[2] = this.lcdCenterText(""); |
| 143 | this.statusMenuItem.displayData[3] = this.lcdCenterText(""); |
143 | this.statusMenuItem.displayData[3] = this.lcdCenterText(""); |
| 144 | this.statusMenuItem.doUpdate = |
144 | this.statusMenuItem.doUpdate = function(args) { self.updateStatusMenuItem(); }; |
| 145 | this.currentMenuItem = this.statusMenuItem; |
145 | this.currentMenuItem = this.statusMenuItem; |
| 146 | 146 | ||
| 147 | /* create the menuitem where you can choose to enter the booking sub-menu */ |
147 | /* create the menuitem where you can choose to enter the booking sub-menu */ |
| 148 | this.dtmfMenuItem = new MenuItem(this); |
148 | this.dtmfMenuItem = new MenuItem(this); |
| 149 | this.dtmfMenuItem.displayData[0] = this.lcdCenterText("Senaste nummer"); |
149 | this.dtmfMenuItem.displayData[0] = this.lcdCenterText("Senaste nummer"); |
| 150 | this.dtmfMenuItem.displayData[1] = this.lcdCenterText(""); |
150 | this.dtmfMenuItem.displayData[1] = this.lcdCenterText(""); |
| 151 | this.dtmfMenuItem.displayData[2] = this.lcdCenterText(""); |
151 | this.dtmfMenuItem.displayData[2] = this.lcdCenterText(""); |
| 152 | this.dtmfMenuItem.displayData[3] = this.lcdCenterText(""); |
152 | this.dtmfMenuItem.displayData[3] = this.lcdCenterText(""); |
| 153 | this.dtmfMenuItem.doUpdate = |
153 | this.dtmfMenuItem.doUpdate = function(args) { self.updateDtmfMenuItem(); }; |
| 154 | 154 | ||
| 155 | this.dtmfReturnMenuItem = new MenuItem(this); |
155 | this.dtmfReturnMenuItem = new MenuItem(this); |
| 156 | this.dtmfReturnMenuItem.displayData[0] = this.lcdCenterText("Tryck for att ga"); |
156 | this.dtmfReturnMenuItem.displayData[0] = this.lcdCenterText("Tryck for att ga"); |
| 157 | this.dtmfReturnMenuItem.displayData[1] = this.lcdCenterText("till huvudmenyn"); |
157 | this.dtmfReturnMenuItem.displayData[1] = this.lcdCenterText("till huvudmenyn"); |
| 158 | this.dtmfReturnMenuItem.displayData[2] = this.lcdCenterText(""); |
158 | this.dtmfReturnMenuItem.displayData[2] = this.lcdCenterText(""); |
| 159 | this.dtmfReturnMenuItem.displayData[3] = this.lcdCenterText(""); |
159 | this.dtmfReturnMenuItem.displayData[3] = this.lcdCenterText(""); |
| 160 | this.dtmfReturnMenuItem.doUpdate = |
160 | this.dtmfReturnMenuItem.doUpdate = function(args) { self.updateDtmfMenuItem(); }; |
| 161 | 161 | ||
| 162 | this.phoneItem = new Array(); |
162 | this.phoneItem = new Array(); |
| 163 | for (n=0; n< numberOfItemsInPhonebook; n++) |
163 | for (n=0; n< numberOfItemsInPhonebook; n++) |
| 164 | { |
164 | { |
| 165 | this.phoneItem[n] = new MenuItem(this); |
165 | this.phoneItem[n] = new MenuItem(this); |
| Line 168... | Line 168... | ||
| 168 | 168 | ||
| 169 | /* connect the items as a linked list */ |
169 | /* connect the items as a linked list */ |
| 170 | this.statusMenuItem.setNextItem(this.dtmfMenuItem); |
170 | this.statusMenuItem.setNextItem(this.dtmfMenuItem); |
| 171 | this.statusMenuItem.setPrevItem(this.dtmfMenuItem); |
171 | this.statusMenuItem.setPrevItem(this.dtmfMenuItem); |
| 172 | /* set the function that shall be executed when knob is turned */ |
172 | /* set the function that shall be executed when knob is turned */ |
| 173 | this.statusMenuItem.doRight = |
173 | this.statusMenuItem.doRight = function(args) { self.changeToNext(); }; |
| 174 | this.statusMenuItem.doLeft = |
174 | this.statusMenuItem.doLeft = function(args) { self.changeToPrev(); }; |
| 175 | 175 | ||
| 176 | /* connect the items as a linked list */ |
176 | /* connect the items as a linked list */ |
| 177 | this.dtmfMenuItem.setNextItem(this.statusMenuItem); |
177 | this.dtmfMenuItem.setNextItem(this.statusMenuItem); |
| 178 | this.dtmfMenuItem.setPrevItem(this.statusMenuItem); |
178 | this.dtmfMenuItem.setPrevItem(this.statusMenuItem); |
| 179 | this.dtmfMenuItem.setDescItem(this.dtmfReturnMenuItem); |
179 | this.dtmfMenuItem.setDescItem(this.dtmfReturnMenuItem); |
| 180 | /* set the function that shall be executed when knob is turned */ |
180 | /* set the function that shall be executed when knob is turned */ |
| 181 | this.dtmfMenuItem.doRight = |
181 | this.dtmfMenuItem.doRight = function(args) { self.changeToNext(); }; |
| 182 | this.dtmfMenuItem.doLeft = |
182 | this.dtmfMenuItem.doLeft = function(args) { self.changeToPrev(); }; |
| 183 | this.dtmfMenuItem.doPress = |
183 | this.dtmfMenuItem.doPress = function(args) { self.changeToDesc(); }; |
| 184 | 184 | ||
| 185 | /* connect the items as a linked list */ |
185 | /* connect the items as a linked list */ |
| 186 | this.dtmfReturnMenuItem.setNextItem(this.dtmfReturnMenuItem); |
186 | this.dtmfReturnMenuItem.setNextItem(this.dtmfReturnMenuItem); |
| 187 | this.dtmfReturnMenuItem.setPrevItem(this.dfmfReturnMenuItem); |
187 | this.dtmfReturnMenuItem.setPrevItem(this.dfmfReturnMenuItem); |
| 188 | this.dtmfReturnMenuItem.setDescItem(this.dtmfMenuItem); |
188 | this.dtmfReturnMenuItem.setDescItem(this.dtmfMenuItem); |
| 189 | this.dtmfReturnMenuItem.id = 255; |
189 | this.dtmfReturnMenuItem.id = 255; |
| 190 | /* set the function that shall be executed when knob is turned */ |
190 | /* set the function that shall be executed when knob is turned */ |
| 191 | this.dtmfReturnMenuItem.doRight = |
191 | this.dtmfReturnMenuItem.doRight = function(args) { self.changeToNext(); }; |
| 192 | this.dtmfReturnMenuItem.doLeft = |
192 | this.dtmfReturnMenuItem.doLeft = function(args) { self.changeToPrev(); }; |
| 193 | this.dtmfReturnMenuItem.doPress = |
193 | this.dtmfReturnMenuItem.doPress = function(args) { self.changeToDesc(); }; |
| 194 | } |
194 | } |
| 195 | 195 | ||
| 196 | DisplayLinus.prototype.changeToDesc = function() |
196 | DisplayLinus.prototype.changeToDesc = function() |
| 197 | { |
197 | { |
| 198 | if (this.descItem) |
198 | if (this.descItem) |
| 199 | { |
199 | { |
| 200 | this |
200 | this.currentMenuItem = this.descItem; |
| 201 | } |
201 | } |
| 202 | } |
202 | } |
| 203 | 203 | ||
| 204 | DisplayLinus.prototype.changeToNext = function() |
204 | DisplayLinus.prototype.changeToNext = function() |
| 205 | { |
205 | { |
| 206 | if (this.nextItem) |
206 | if (this.nextItem) |
| 207 | { |
207 | { |
| 208 | this |
208 | this.currentMenuItem = this.nextItem; |
| 209 | } |
209 | } |
| 210 | } |
210 | } |
| 211 | 211 | ||
| 212 | DisplayLinus.prototype.changeToPrev = function() |
212 | DisplayLinus.prototype.changeToPrev = function() |
| 213 | { |
213 | { |
| 214 | if (this.prevItem) |
214 | if (this.prevItem) |
| 215 | { |
215 | { |
| 216 | this |
216 | this.currentMenuItem = this.prevItem; |
| 217 | } |
217 | } |
| 218 | } |
218 | } |
| 219 | 219 | ||
| 220 | 220 | ||
| 221 | DisplayLinus.prototype.updateStatusMenuItem = function() |
221 | DisplayLinus.prototype.updateStatusMenuItem = function() |
| Line 223... | Line 223... | ||
| 223 | var date = new Date(); |
223 | var date = new Date(); |
| 224 | /* Get the current date time on the format YYYY-mm-dd HH.ii.ss */ |
224 | /* Get the current date time on the format YYYY-mm-dd HH.ii.ss */ |
| 225 | var dateAndTime = date.getDateTimeFormated(); |
225 | var dateAndTime = date.getDateTimeFormated(); |
| 226 | //var date = new Date(); |
226 | //var date = new Date(); |
| 227 | //var dateAndTime = "" + date.getTimeShortFormated(); |
227 | //var dateAndTime = "" + date.getTimeShortFormated(); |
| 228 | this.displayData[1] = this |
228 | this.displayData[1] = this.lcdCenterText(""+dateAndTime); |
| 229 | 229 | ||
| 230 | this.displayData[2] = this |
230 | this.displayData[2] = this.lcdCenterText(""+insideTemperature + " C " + outsideTemperature + " C"); |
| 231 | 231 | ||
| 232 | this.displayData[3] = this |
232 | this.displayData[3] = this.lcdCenterText(""+this.CurrentPower.toString()+" Watt "+(this.CurrentEnergy/1000).toString() + "kWh"); |
| 233 | } |
233 | } |
| 234 | 234 | ||
| 235 | DisplayLinus.prototype.temperatureUpdate = function(sensorId) |
235 | DisplayLinus.prototype.temperatureUpdate = function(sensorId) |
| 236 | { |
236 | { |
| 237 | if (sensorId == outsideTemperatureSensorId) { |
237 | if (sensorId == outsideTemperatureSensorId) { |
| Line 262... | Line 262... | ||
| 262 | this.phoneItem[0].setDescItem(this.statusMenuItem); |
262 | this.phoneItem[0].setDescItem(this.statusMenuItem); |
| 263 | this.dtmfReturnMenuItem.setNextItem(this.phoneItem[0]); |
263 | this.dtmfReturnMenuItem.setNextItem(this.phoneItem[0]); |
| 264 | this.dtmfReturnMenuItem.setPrevItem(this.phoneItem[0]); |
264 | this.dtmfReturnMenuItem.setPrevItem(this.phoneItem[0]); |
| 265 | this.nextPhoneItem = 1 % numberOfItemsInPhonebook; |
265 | this.nextPhoneItem = 1 % numberOfItemsInPhonebook; |
| 266 | this.lastPhoneItem = 0; |
266 | this.lastPhoneItem = 0; |
| 267 | this.phoneItem[0].doRight = |
267 | this.phoneItem[0].doRight = function(args) { self.changeToNext(); }; |
| 268 | this.phoneItem[0].doLeft = |
268 | this.phoneItem[0].doLeft = function(args) { self.changeToPrev(); }; |
| 269 | this.phoneItem[0].doPress = |
269 | this.phoneItem[0].doPress = function(args) { self.changeToDesc(); }; |
| 270 | this.phoneItem[0].displayData[0] = this.lcdCenterText(""+dateAndTime); |
270 | this.phoneItem[0].displayData[0] = this.lcdCenterText(""+dateAndTime); |
| 271 | this.phoneItem[0].displayData[1] = this.lcdCenterText(""+phonenumber); |
271 | this.phoneItem[0].displayData[1] = this.lcdCenterText(""+phonenumber); |
| 272 | if (persons.length >= 1) { |
272 | if (persons.length >= 1) { |
| 273 | this.phoneItem[0].displayData[2] = this.lcdCenterText(""+persons[0]); |
273 | this.phoneItem[0].displayData[2] = this.lcdCenterText(""+persons[0]); |
| 274 | } else { |
274 | } else { |
| Line 285... | Line 285... | ||
| 285 | this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1 + numberOfItemsInPhonebook) % numberOfItemsInPhonebook]); |
285 | this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1 + numberOfItemsInPhonebook) % numberOfItemsInPhonebook]); |
| 286 | this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem); |
286 | this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem); |
| 287 | this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem); |
287 | this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem); |
| 288 | this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]); |
288 | this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]); |
| 289 | this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]); |
289 | this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]); |
| 290 | this.phoneItem[this.nextPhoneItem].doRight = |
290 | this.phoneItem[this.nextPhoneItem].doRight = function(args) { self.changeToNext(); }; |
| 291 | this.phoneItem[this.nextPhoneItem].doLeft = |
291 | this.phoneItem[this.nextPhoneItem].doLeft = function(args) { self.changeToPrev(); }; |
| 292 | this.phoneItem[this.nextPhoneItem].doPress = |
292 | this.phoneItem[this.nextPhoneItem].doPress = function(args) { self.changeToDesc(); }; |
| 293 | this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime); |
293 | this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime); |
| 294 | this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber); |
294 | this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber); |
| 295 | if (persons.length >= 1) { |
295 | if (persons.length >= 1) { |
| 296 | this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]); |
296 | this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]); |
| 297 | } else { |
297 | } else { |
| Line 308... | Line 308... | ||
| 308 | this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook]); |
308 | this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook]); |
| 309 | this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem); |
309 | this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem); |
| 310 | this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem); |
310 | this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem); |
| 311 | this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]); |
311 | this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]); |
| 312 | this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]); |
312 | this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]); |
| 313 | this.phoneItem[this.nextPhoneItem].doRight = |
313 | this.phoneItem[this.nextPhoneItem].doRight = function(args) { self.changeToNext(); }; |
| 314 | this.phoneItem[this.nextPhoneItem].doLeft = |
314 | this.phoneItem[this.nextPhoneItem].doLeft = function(args) { self.changeToPrev(); }; |
| 315 | this.phoneItem[this.nextPhoneItem].doPress = |
315 | this.phoneItem[this.nextPhoneItem].doPress = function(args) { self.changeToDesc(); }; |
| 316 | this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime); |
316 | this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime); |
| 317 | this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber); |
317 | this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber); |
| 318 | if (persons.length >= 1) { |
318 | if (persons.length >= 1) { |
| 319 | this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]); |
319 | this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]); |
| 320 | } else { |
320 | } else { |