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 __PARADIGMABASE_H__
leihen 0:4873b21e0bca 2 #define __PARADIGMABASE_H__
leihen 0:4873b21e0bca 3
leihen 1:9c48326ad8c9 4 namespace Paradigma
leihen 1:9c48326ad8c9 5 {
leihen 0:4873b21e0bca 6
leihen 0:4873b21e0bca 7 typedef unsigned char byte;
leihen 0:4873b21e0bca 8 typedef short word;
leihen 0:4873b21e0bca 9 typedef unsigned short uword;
leihen 0:4873b21e0bca 10 typedef unsigned long ulong;
leihen 0:4873b21e0bca 11
leihen 0:4873b21e0bca 12
leihen 0:4873b21e0bca 13 __packed class ParadigmaDword
leihen 0:4873b21e0bca 14 {
leihen 1:9c48326ad8c9 15 protected:
leihen 1:9c48326ad8c9 16 unsigned long m_data;
leihen 1:9c48326ad8c9 17
leihen 1:9c48326ad8c9 18 public:
leihen 1:9c48326ad8c9 19 ParadigmaDword() : m_data(0) {}
leihen 1:9c48326ad8c9 20
leihen 1:9c48326ad8c9 21 /** On the MBED we need to swap the high and lowbytes after reading from stream.
leihen 1:9c48326ad8c9 22 * this function will be called from reading routine.
leihen 1:9c48326ad8c9 23 */
leihen 1:9c48326ad8c9 24 void adjustEndiness() {
leihen 1:9c48326ad8c9 25 m_data = ((m_data>>24)&0xFF) | ((m_data>>8)&0x0000FF00) | ((m_data<<8)&0x00FF0000) | ((m_data<<24)&0xFF000000);
leihen 1:9c48326ad8c9 26 }
leihen 1:9c48326ad8c9 27
leihen 1:9c48326ad8c9 28 ParadigmaDword& operator=(ulong d) {
leihen 1:9c48326ad8c9 29 m_data = d;
leihen 1:9c48326ad8c9 30 return *this;
leihen 1:9c48326ad8c9 31 }
leihen 1:9c48326ad8c9 32 ParadigmaDword& operator=(ParadigmaDword d) {
leihen 1:9c48326ad8c9 33 m_data = d.m_data;
leihen 1:9c48326ad8c9 34 return *this;
leihen 1:9c48326ad8c9 35 }
leihen 1:9c48326ad8c9 36
leihen 1:9c48326ad8c9 37 operator ulong() const {
leihen 1:9c48326ad8c9 38 return m_data;
leihen 1:9c48326ad8c9 39 }
leihen 0:4873b21e0bca 40 };
leihen 0:4873b21e0bca 41
leihen 0:4873b21e0bca 42 __packed class ParadigmaWord
leihen 0:4873b21e0bca 43 {
leihen 1:9c48326ad8c9 44 protected:
leihen 1:9c48326ad8c9 45 unsigned short m_data;
leihen 1:9c48326ad8c9 46
leihen 1:9c48326ad8c9 47 public:
leihen 1:9c48326ad8c9 48 ParadigmaWord() : m_data(0) {}
leihen 1:9c48326ad8c9 49
leihen 1:9c48326ad8c9 50 /** On the MBED we need to swap the high and lowbytes after reading from stream.
leihen 1:9c48326ad8c9 51 * this function will be called from reading routine.
leihen 1:9c48326ad8c9 52 */
leihen 1:9c48326ad8c9 53 void adjustEndiness() {
leihen 1:9c48326ad8c9 54 m_data = ((m_data&0xFF)<<8) | ((m_data>>8)&0xFF);
leihen 1:9c48326ad8c9 55 }
leihen 1:9c48326ad8c9 56
leihen 1:9c48326ad8c9 57 ParadigmaWord& operator=(word d) {
leihen 1:9c48326ad8c9 58 m_data = d;
leihen 1:9c48326ad8c9 59 return *this;
leihen 1:9c48326ad8c9 60 }
leihen 1:9c48326ad8c9 61 ParadigmaWord& operator=(ParadigmaWord d) {
leihen 1:9c48326ad8c9 62 m_data = d.m_data;
leihen 1:9c48326ad8c9 63 return *this;
leihen 1:9c48326ad8c9 64 }
leihen 1:9c48326ad8c9 65
leihen 1:9c48326ad8c9 66 operator word() const {
leihen 1:9c48326ad8c9 67 return m_data;
leihen 1:9c48326ad8c9 68 }
leihen 0:4873b21e0bca 69 };
leihen 1:9c48326ad8c9 70 }
leihen 0:4873b21e0bca 71 #endif // __PARADIGMABASE_H__