This library allows to parse and work with data sent by the Paradigma pelletti oven.
ParadigmaBase.h@2:27334bd6dc28, 2013-06-27 (annotated)
- 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?
User | Revision | Line number | New 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__ |