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
web-this/boiler/web-boiler-query.c@106:41ed3ea0bbba, 2021-04-23 (annotated)
- Committer:
- andrewboyson
- Date:
- Fri Apr 23 08:36:42 2021 +0000
- Revision:
- 106:41ed3ea0bbba
- Parent:
- 105:1899f7ed17ec
Not working, crashes.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andrewboyson | 24:e3ed1b52c6e6 | 1 | #include <stdlib.h> |
andrewboyson | 24:e3ed1b52c6e6 | 2 | #include <string.h> |
andrewboyson | 24:e3ed1b52c6e6 | 3 | #include "http.h" |
andrewboyson | 24:e3ed1b52c6e6 | 4 | #include "boiler.h" |
andrewboyson | 24:e3ed1b52c6e6 | 5 | |
andrewboyson | 49:9491c966dc60 | 6 | void WebBoilerQuery(char* pQuery) |
andrewboyson | 24:e3ed1b52c6e6 | 7 | { |
andrewboyson | 24:e3ed1b52c6e6 | 8 | while (pQuery) |
andrewboyson | 24:e3ed1b52c6e6 | 9 | { |
andrewboyson | 24:e3ed1b52c6e6 | 10 | char* pName; |
andrewboyson | 24:e3ed1b52c6e6 | 11 | char* pValue; |
andrewboyson | 26:85e3becbebc9 | 12 | pQuery = HttpQuerySplit(pQuery, &pName, &pValue); |
andrewboyson | 105:1899f7ed17ec | 13 | |
andrewboyson | 105:1899f7ed17ec | 14 | |
andrewboyson | 105:1899f7ed17ec | 15 | if (HttpSameStr(pName, "boilercallenable")) |
andrewboyson | 105:1899f7ed17ec | 16 | { |
andrewboyson | 105:1899f7ed17ec | 17 | BoilerCallEnable = !BoilerCallEnable; |
andrewboyson | 105:1899f7ed17ec | 18 | } |
andrewboyson | 105:1899f7ed17ec | 19 | |
andrewboyson | 105:1899f7ed17ec | 20 | if (HttpSameStr(pName, "fullspeedsecs" )) |
andrewboyson | 105:1899f7ed17ec | 21 | { |
andrewboyson | 105:1899f7ed17ec | 22 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 105:1899f7ed17ec | 23 | BoilerSetFullSpeedSecs(value); |
andrewboyson | 105:1899f7ed17ec | 24 | return; |
andrewboyson | 105:1899f7ed17ec | 25 | } |
andrewboyson | 91:8b192efd0288 | 26 | if (HttpSameStr(pName, "tanksetpoint" )) |
andrewboyson | 91:8b192efd0288 | 27 | { |
andrewboyson | 91:8b192efd0288 | 28 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 91:8b192efd0288 | 29 | BoilerSetTankSetPoint(value); |
andrewboyson | 91:8b192efd0288 | 30 | return; |
andrewboyson | 91:8b192efd0288 | 31 | } |
andrewboyson | 91:8b192efd0288 | 32 | if (HttpSameStr(pName, "tankhysteresis")) |
andrewboyson | 91:8b192efd0288 | 33 | { |
andrewboyson | 91:8b192efd0288 | 34 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 91:8b192efd0288 | 35 | BoilerSetTankHysteresis(value); |
andrewboyson | 91:8b192efd0288 | 36 | return; |
andrewboyson | 91:8b192efd0288 | 37 | } |
andrewboyson | 91:8b192efd0288 | 38 | if (HttpSameStr(pName, "boilerresidual")) |
andrewboyson | 91:8b192efd0288 | 39 | { |
andrewboyson | 91:8b192efd0288 | 40 | double value = HttpQueryValueAsDouble(pValue); |
andrewboyson | 105:1899f7ed17ec | 41 | BoilerSetRunOnDeltaT((int)(value * 16)); |
andrewboyson | 91:8b192efd0288 | 42 | return; |
andrewboyson | 91:8b192efd0288 | 43 | } |
andrewboyson | 91:8b192efd0288 | 44 | if (HttpSameStr(pName, "boilerrunon" )) |
andrewboyson | 91:8b192efd0288 | 45 | { |
andrewboyson | 91:8b192efd0288 | 46 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 91:8b192efd0288 | 47 | BoilerSetRunOnTime(value); |
andrewboyson | 91:8b192efd0288 | 48 | return; |
andrewboyson | 91:8b192efd0288 | 49 | } |
andrewboyson | 104:46ce1aaf8be7 | 50 | if (HttpSameStr(pName, "pumpspeedcalling")) |
andrewboyson | 104:46ce1aaf8be7 | 51 | { |
andrewboyson | 105:1899f7ed17ec | 52 | if (!pValue) return; |
andrewboyson | 105:1899f7ed17ec | 53 | switch (pValue[0]) |
andrewboyson | 105:1899f7ed17ec | 54 | { |
andrewboyson | 105:1899f7ed17ec | 55 | case 0 : return; |
andrewboyson | 105:1899f7ed17ec | 56 | case 'a': |
andrewboyson | 105:1899f7ed17ec | 57 | case 'A': BoilerSetPumpSpeedCalling(-1); return; |
andrewboyson | 105:1899f7ed17ec | 58 | case 't': |
andrewboyson | 105:1899f7ed17ec | 59 | case 'T': BoilerSetPumpSpeedCalling(-2); return; |
andrewboyson | 105:1899f7ed17ec | 60 | } |
andrewboyson | 104:46ce1aaf8be7 | 61 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 104:46ce1aaf8be7 | 62 | BoilerSetPumpSpeedCalling(value); |
andrewboyson | 104:46ce1aaf8be7 | 63 | return; |
andrewboyson | 104:46ce1aaf8be7 | 64 | } |
andrewboyson | 104:46ce1aaf8be7 | 65 | if (HttpSameStr(pName, "pumpspeedrunon")) |
andrewboyson | 104:46ce1aaf8be7 | 66 | { |
andrewboyson | 104:46ce1aaf8be7 | 67 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 106:41ed3ea0bbba | 68 | BoilerSetRampDownTime(value); |
andrewboyson | 104:46ce1aaf8be7 | 69 | return; |
andrewboyson | 104:46ce1aaf8be7 | 70 | } |
andrewboyson | 104:46ce1aaf8be7 | 71 | if (HttpSameStr(pName, "boileroutputtarget")) |
andrewboyson | 104:46ce1aaf8be7 | 72 | { |
andrewboyson | 104:46ce1aaf8be7 | 73 | int value = HttpQueryValueAsInt(pValue); |
andrewboyson | 104:46ce1aaf8be7 | 74 | BoilerSetOutputTarget(value); |
andrewboyson | 104:46ce1aaf8be7 | 75 | return; |
andrewboyson | 104:46ce1aaf8be7 | 76 | } |
andrewboyson | 104:46ce1aaf8be7 | 77 | if (HttpSameStr(pName, "blrriseat0")) |
andrewboyson | 104:46ce1aaf8be7 | 78 | { |
andrewboyson | 104:46ce1aaf8be7 | 79 | double value = HttpQueryValueAsDouble(pValue); |
andrewboyson | 106:41ed3ea0bbba | 80 | BoilerSetMinSpeed(value); |
andrewboyson | 104:46ce1aaf8be7 | 81 | return; |
andrewboyson | 104:46ce1aaf8be7 | 82 | } |
andrewboyson | 104:46ce1aaf8be7 | 83 | if (HttpSameStr(pName, "blrriseat50")) |
andrewboyson | 104:46ce1aaf8be7 | 84 | { |
andrewboyson | 104:46ce1aaf8be7 | 85 | double value = HttpQueryValueAsDouble(pValue); |
andrewboyson | 106:41ed3ea0bbba | 86 | BoilerSetMidSpeedPwm(value); |
andrewboyson | 104:46ce1aaf8be7 | 87 | return; |
andrewboyson | 104:46ce1aaf8be7 | 88 | } |
andrewboyson | 104:46ce1aaf8be7 | 89 | if (HttpSameStr(pName, "blrriseat100")) |
andrewboyson | 104:46ce1aaf8be7 | 90 | { |
andrewboyson | 104:46ce1aaf8be7 | 91 | double value = HttpQueryValueAsDouble(pValue); |
andrewboyson | 105:1899f7ed17ec | 92 | BoilerSetFullSpeedDeltaT((int)(value * 16)); |
andrewboyson | 104:46ce1aaf8be7 | 93 | return; |
andrewboyson | 104:46ce1aaf8be7 | 94 | } |
andrewboyson | 24:e3ed1b52c6e6 | 95 | } |
andrewboyson | 24:e3ed1b52c6e6 | 96 | } |