This library allows to parse and work with data sent by the Paradigma pelletti oven.
ParadigmaTemperature.h@0:4873b21e0bca, 2013-06-22 (annotated)
- Committer:
- leihen
- Date:
- Sat Jun 22 10:59:05 2013 +0000
- Revision:
- 0:4873b21e0bca
- Child:
- 1:9c48326ad8c9
Fixes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
leihen | 0:4873b21e0bca | 1 | #ifndef __PARADIGMATEMPERATURE_H__ |
leihen | 0:4873b21e0bca | 2 | #define __PARADIGMATEMPERATURE_H__ |
leihen | 0:4873b21e0bca | 3 | |
leihen | 0:4873b21e0bca | 4 | #include <string> |
leihen | 0:4873b21e0bca | 5 | #include "ParadigmaBase.h" |
leihen | 0:4873b21e0bca | 6 | |
leihen | 0:4873b21e0bca | 7 | |
leihen | 0:4873b21e0bca | 8 | |
leihen | 0:4873b21e0bca | 9 | typedef enum { |
leihen | 0:4873b21e0bca | 10 | // Temperatures from Monitor Data 1 |
leihen | 0:4873b21e0bca | 11 | T_aussen, |
leihen | 0:4873b21e0bca | 12 | T_warm_wasser, |
leihen | 0:4873b21e0bca | 13 | T_kessel_vorlauf, |
leihen | 0:4873b21e0bca | 14 | T_kessel_ruecklauf, |
leihen | 0:4873b21e0bca | 15 | T_HK1_raum, |
leihen | 0:4873b21e0bca | 16 | T_HK2_raum, |
leihen | 0:4873b21e0bca | 17 | T_HK1_vorlauf, |
leihen | 0:4873b21e0bca | 18 | T_HK2_vorlauf, |
leihen | 0:4873b21e0bca | 19 | T_HK1_ruecklauf, |
leihen | 0:4873b21e0bca | 20 | T_HK2_ruecklauf, |
leihen | 0:4873b21e0bca | 21 | T_puffer_oben, |
leihen | 0:4873b21e0bca | 22 | T_puffer_unten, |
leihen | 0:4873b21e0bca | 23 | T_zirkulation, |
leihen | 0:4873b21e0bca | 24 | // Temperatures form Monitor Data 2 |
leihen | 0:4873b21e0bca | 25 | T_HK1_raum_soll, |
leihen | 0:4873b21e0bca | 26 | T_HK2_raum_soll, |
leihen | 0:4873b21e0bca | 27 | T_HK1_vorlauf_soll, |
leihen | 0:4873b21e0bca | 28 | T_HK2_vorlauf_soll, |
leihen | 0:4873b21e0bca | 29 | T_warm_wasser_soll, |
leihen | 0:4873b21e0bca | 30 | T_puffer_soll |
leihen | 0:4873b21e0bca | 31 | } ParadigmaTemperatureSelector_t; |
leihen | 0:4873b21e0bca | 32 | |
leihen | 0:4873b21e0bca | 33 | |
leihen | 0:4873b21e0bca | 34 | __packed class ParadigmaTemperature |
leihen | 0:4873b21e0bca | 35 | { |
leihen | 0:4873b21e0bca | 36 | unsigned short m_temp; |
leihen | 0:4873b21e0bca | 37 | |
leihen | 0:4873b21e0bca | 38 | public: |
leihen | 0:4873b21e0bca | 39 | ParadigmaTemperature() : m_temp(0) {} |
leihen | 0:4873b21e0bca | 40 | |
leihen | 0:4873b21e0bca | 41 | operator string() const { char Buffer[14]; sprintf(Buffer, "%3d,%1d C", m_temp/10, m_temp%10); return Buffer; } |
leihen | 0:4873b21e0bca | 42 | operator float() const { return ((float)m_temp)/10.0f; } |
leihen | 0:4873b21e0bca | 43 | |
leihen | 0:4873b21e0bca | 44 | ParadigmaTemperature& operator=(float f) { m_temp = (int)ceil(f*10.0f); return *this; } |
leihen | 0:4873b21e0bca | 45 | ParadigmaTemperature& operator=(ParadigmaTemperature &p) { m_temp = p.m_temp; return *this; } |
leihen | 0:4873b21e0bca | 46 | |
leihen | 0:4873b21e0bca | 47 | public: |
leihen | 0:4873b21e0bca | 48 | |
leihen | 0:4873b21e0bca | 49 | /** On the MBED we need to swap the high and lowbytes after reading from stream. |
leihen | 0:4873b21e0bca | 50 | * this function will be called from reading routine. |
leihen | 0:4873b21e0bca | 51 | */ |
leihen | 0:4873b21e0bca | 52 | void adjustEndiness() { m_temp = ((m_temp&0xFF)<<8) | ((m_temp>>8)&0xFF); } |
leihen | 0:4873b21e0bca | 53 | }; |
leihen | 0:4873b21e0bca | 54 | |
leihen | 0:4873b21e0bca | 55 | #endif |