This library allows to parse and work with data sent by the Paradigma pelletti oven.

Committer:
leihen
Date:
Thu Jun 27 00:29:33 2013 +0000
Revision:
2:27334bd6dc28
Parent:
1:9c48326ad8c9
Logger working locally
;

Who changed what in which revision?

UserRevisionLine numberNew 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 1:9c48326ad8c9 7 namespace Paradigma {
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 1:9c48326ad8c9 54 }
leihen 0:4873b21e0bca 55 #endif