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
heating/hot-water.c@106:41ed3ea0bbba, 2021-04-23 (annotated)
- Committer:
- andrewboyson
- Date:
- Fri Apr 23 08:36:42 2021 +0000
- Revision:
- 106:41ed3ea0bbba
- Parent:
- 93:5ee0a1ef0279
Not working, crashes.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andrewboyson | 93:5ee0a1ef0279 | 1 | #include <stdint.h> |
andrewboyson | 93:5ee0a1ef0279 | 2 | #include <string.h> |
andrewboyson | 93:5ee0a1ef0279 | 3 | #include <stdbool.h> |
andrewboyson | 93:5ee0a1ef0279 | 4 | #include <stdint.h> |
andrewboyson | 93:5ee0a1ef0279 | 5 | |
andrewboyson | 93:5ee0a1ef0279 | 6 | #include "ds18b20.h" |
andrewboyson | 93:5ee0a1ef0279 | 7 | #include "fram.h" |
andrewboyson | 93:5ee0a1ef0279 | 8 | |
andrewboyson | 93:5ee0a1ef0279 | 9 | static char* hotWaterRom; static int iHotWaterRom; |
andrewboyson | 93:5ee0a1ef0279 | 10 | |
andrewboyson | 93:5ee0a1ef0279 | 11 | uint16_t HotWaterGetDS18B20Value(){ return DS18B20ValueFromRom(hotWaterRom); } |
andrewboyson | 93:5ee0a1ef0279 | 12 | |
andrewboyson | 93:5ee0a1ef0279 | 13 | static void setHotWaterRom (char* value) { memcpy(hotWaterRom, value, 8); FramWrite(iHotWaterRom, 8, hotWaterRom ); } |
andrewboyson | 93:5ee0a1ef0279 | 14 | |
andrewboyson | 93:5ee0a1ef0279 | 15 | int HotWaterInit() |
andrewboyson | 93:5ee0a1ef0279 | 16 | { |
andrewboyson | 93:5ee0a1ef0279 | 17 | hotWaterRom = DS18B20Roms + 8 * DS18B20RomCount; |
andrewboyson | 93:5ee0a1ef0279 | 18 | DS18B20RomSetters[DS18B20RomCount] = setHotWaterRom; |
andrewboyson | 93:5ee0a1ef0279 | 19 | DS18B20RomNames[DS18B20RomCount] = "HotWater"; |
andrewboyson | 93:5ee0a1ef0279 | 20 | DS18B20RomCount++; |
andrewboyson | 93:5ee0a1ef0279 | 21 | |
andrewboyson | 93:5ee0a1ef0279 | 22 | int address; |
andrewboyson | 93:5ee0a1ef0279 | 23 | char def1; |
andrewboyson | 93:5ee0a1ef0279 | 24 | int32_t def4; |
andrewboyson | 93:5ee0a1ef0279 | 25 | address = FramLoad( 8, hotWaterRom, 0); if (address < 0) return -1; iHotWaterRom = address; |
andrewboyson | 93:5ee0a1ef0279 | 26 | return 0; |
andrewboyson | 93:5ee0a1ef0279 | 27 | } |