Central Heating controller using the real time clock, PHY module for internet, 1-wire interface for temperature sensors, a system log and a configuration file

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

/media/uploads/andrewboyson/heating.sch

/media/uploads/andrewboyson/heating.brd

/media/uploads/andrewboyson/eagle.epf

Committer:
andrewboyson
Date:
Fri Apr 23 08:36:42 2021 +0000
Revision:
106:41ed3ea0bbba
Parent:
53:c1bf7d9db507
Not working, crashes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 47:229338b3adcb 1 //Program script
andrewboyson 47:229338b3adcb 2 'use strict';
andrewboyson 47:229338b3adcb 3
andrewboyson 48:6eac12df3ad5 4 let programOut = false;
andrewboyson 48:6eac12df3ad5 5 let program1 = '';
andrewboyson 48:6eac12df3ad5 6 let program2 = '';
andrewboyson 48:6eac12df3ad5 7 let program3 = '';
andrewboyson 47:229338b3adcb 8 let monProgram = 0;
andrewboyson 47:229338b3adcb 9 let tueProgram = 0;
andrewboyson 47:229338b3adcb 10 let wedProgram = 0;
andrewboyson 47:229338b3adcb 11 let thuProgram = 0;
andrewboyson 47:229338b3adcb 12 let friProgram = 0;
andrewboyson 47:229338b3adcb 13 let satProgram = 0;
andrewboyson 47:229338b3adcb 14 let sunProgram = 0;
andrewboyson 47:229338b3adcb 15 let newDayHour = 0;
andrewboyson 47:229338b3adcb 16
andrewboyson 48:6eac12df3ad5 17 function parseDayPrograms(line)
andrewboyson 48:6eac12df3ad5 18 {
andrewboyson 48:6eac12df3ad5 19 let fields = line.split(',');
andrewboyson 48:6eac12df3ad5 20 monProgram = parseInt(fields[0]) + 1;
andrewboyson 48:6eac12df3ad5 21 tueProgram = parseInt(fields[1]) + 1;
andrewboyson 48:6eac12df3ad5 22 wedProgram = parseInt(fields[2]) + 1;
andrewboyson 48:6eac12df3ad5 23 thuProgram = parseInt(fields[3]) + 1;
andrewboyson 48:6eac12df3ad5 24 friProgram = parseInt(fields[4]) + 1;
andrewboyson 48:6eac12df3ad5 25 satProgram = parseInt(fields[5]) + 1;
andrewboyson 48:6eac12df3ad5 26 sunProgram = parseInt(fields[6]) + 1;
andrewboyson 48:6eac12df3ad5 27 }
andrewboyson 47:229338b3adcb 28 function parse()
andrewboyson 47:229338b3adcb 29 {
andrewboyson 47:229338b3adcb 30 let lines = Ajax.response.split('\n');
andrewboyson 48:6eac12df3ad5 31 programOut = Ajax.hexToBit(lines[0], 0);
andrewboyson 48:6eac12df3ad5 32 newDayHour = Ajax.hexToSignedInt8(lines[1]);
andrewboyson 48:6eac12df3ad5 33 parseDayPrograms (lines[2]);
andrewboyson 48:6eac12df3ad5 34 program1 = lines[3];
andrewboyson 48:6eac12df3ad5 35 program2 = lines[4];
andrewboyson 48:6eac12df3ad5 36 program3 = lines[5];
andrewboyson 47:229338b3adcb 37 }
andrewboyson 47:229338b3adcb 38 function display()
andrewboyson 47:229338b3adcb 39 {
andrewboyson 47:229338b3adcb 40 let elem;
andrewboyson 48:6eac12df3ad5 41 elem = Ajax.getElementOrNull('ajax-program-toggle' ); if (elem) elem.setAttribute('dir', programOut ? 'rtl' : 'ltr');
andrewboyson 47:229338b3adcb 42 elem = Ajax.getElementOrNull('ajax-program-1' ); if (elem) elem.value = program1;
andrewboyson 47:229338b3adcb 43 elem = Ajax.getElementOrNull('ajax-program-2' ); if (elem) elem.value = program2;
andrewboyson 47:229338b3adcb 44 elem = Ajax.getElementOrNull('ajax-program-3' ); if (elem) elem.value = program3;
andrewboyson 47:229338b3adcb 45 elem = Ajax.getElementOrNull('ajax-mon-program' ); if (elem) elem.value = monProgram;
andrewboyson 47:229338b3adcb 46 elem = Ajax.getElementOrNull('ajax-tue-program' ); if (elem) elem.value = tueProgram;
andrewboyson 47:229338b3adcb 47 elem = Ajax.getElementOrNull('ajax-wed-program' ); if (elem) elem.value = wedProgram;
andrewboyson 47:229338b3adcb 48 elem = Ajax.getElementOrNull('ajax-thu-program' ); if (elem) elem.value = thuProgram;
andrewboyson 47:229338b3adcb 49 elem = Ajax.getElementOrNull('ajax-fri-program' ); if (elem) elem.value = friProgram;
andrewboyson 47:229338b3adcb 50 elem = Ajax.getElementOrNull('ajax-sat-program' ); if (elem) elem.value = satProgram;
andrewboyson 47:229338b3adcb 51 elem = Ajax.getElementOrNull('ajax-sun-program' ); if (elem) elem.value = sunProgram;
andrewboyson 47:229338b3adcb 52 elem = Ajax.getElementOrNull('ajax-new-day-hour' ); if (elem) elem.value = newDayHour;
andrewboyson 47:229338b3adcb 53 }
andrewboyson 47:229338b3adcb 54
andrewboyson 47:229338b3adcb 55 Ajax.server = '/program-ajax';
andrewboyson 47:229338b3adcb 56 Ajax.onResponse = function() { parse(); display(); };
andrewboyson 47:229338b3adcb 57 Ajax.init();