ibutton

Committer:
irsanjul
Date:
Mon Aug 07 10:54:15 2017 +0000
Revision:
0:cabf3d9fad23
zzz

Who changed what in which revision?

UserRevisionLine numberNew 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