ibutton
iButton.h@0:cabf3d9fad23, 2017-08-07 (annotated)
- Committer:
- irsanjul
- Date:
- Mon Aug 07 10:54:15 2017 +0000
- Revision:
- 0:cabf3d9fad23
zzz
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
irsanjul | 0:cabf3d9fad23 | 1 | #ifndef I_BUTTON_H |
irsanjul | 0:cabf3d9fad23 | 2 | #define I_BUTTON_H |
irsanjul | 0:cabf3d9fad23 | 3 | |
irsanjul | 0:cabf3d9fad23 | 4 | #include "mbed.h" |
irsanjul | 0:cabf3d9fad23 | 5 | #include <string> |
irsanjul | 0:cabf3d9fad23 | 6 | #include <vector> |
irsanjul | 0:cabf3d9fad23 | 7 | |
irsanjul | 0:cabf3d9fad23 | 8 | //typedef struct |
irsanjul | 0:cabf3d9fad23 | 9 | //{ |
irsanjul | 0:cabf3d9fad23 | 10 | // unsigned char family; |
irsanjul | 0:cabf3d9fad23 | 11 | // unsigned char serial[6]; |
irsanjul | 0:cabf3d9fad23 | 12 | // unsigned char crc; |
irsanjul | 0:cabf3d9fad23 | 13 | // unsigned char valid; |
irsanjul | 0:cabf3d9fad23 | 14 | //} ibuttonvalue; |
irsanjul | 0:cabf3d9fad23 | 15 | class ibuttonvalue |
irsanjul | 0:cabf3d9fad23 | 16 | { |
irsanjul | 0:cabf3d9fad23 | 17 | public: |
irsanjul | 0:cabf3d9fad23 | 18 | unsigned char family; |
irsanjul | 0:cabf3d9fad23 | 19 | std::vector<unsigned char> serial; |
irsanjul | 0:cabf3d9fad23 | 20 | unsigned char crc; |
irsanjul | 0:cabf3d9fad23 | 21 | bool valid; |
irsanjul | 0:cabf3d9fad23 | 22 | }; |
irsanjul | 0:cabf3d9fad23 | 23 | |
irsanjul | 0:cabf3d9fad23 | 24 | class iButton |
irsanjul | 0:cabf3d9fad23 | 25 | { |
irsanjul | 0:cabf3d9fad23 | 26 | public: |
irsanjul | 0:cabf3d9fad23 | 27 | |
irsanjul | 0:cabf3d9fad23 | 28 | iButton(PinName IO); |
irsanjul | 0:cabf3d9fad23 | 29 | ~iButton(); |
irsanjul | 0:cabf3d9fad23 | 30 | |
irsanjul | 0:cabf3d9fad23 | 31 | void OneWireReset(void); |
irsanjul | 0:cabf3d9fad23 | 32 | void OneWireOutByte(unsigned char data); |
irsanjul | 0:cabf3d9fad23 | 33 | unsigned char OneWireReadByte(void); |
irsanjul | 0:cabf3d9fad23 | 34 | void DetectiButton(void); |
irsanjul | 0:cabf3d9fad23 | 35 | std::string GetData(void); |
irsanjul | 0:cabf3d9fad23 | 36 | bool IsTaping(void); |
irsanjul | 0:cabf3d9fad23 | 37 | |
irsanjul | 0:cabf3d9fad23 | 38 | private: |
irsanjul | 0:cabf3d9fad23 | 39 | DigitalInOut io; |
irsanjul | 0:cabf3d9fad23 | 40 | ibuttonvalue detect; |
irsanjul | 0:cabf3d9fad23 | 41 | unsigned char CrcTemp; |
irsanjul | 0:cabf3d9fad23 | 42 | |
irsanjul | 0:cabf3d9fad23 | 43 | unsigned char crc8(unsigned char crc, unsigned char data); |
irsanjul | 0:cabf3d9fad23 | 44 | void ResetData(); |
irsanjul | 0:cabf3d9fad23 | 45 | |
irsanjul | 0:cabf3d9fad23 | 46 | }; |
irsanjul | 0:cabf3d9fad23 | 47 | |
irsanjul | 0:cabf3d9fad23 | 48 | #endif // I_BUTTON_H |