Arduino Libraries
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
CAT24C16.hpp
Go to the documentation of this file.
1 // Author: Mario S. Könz <mskoenz@gmx.net>
2 // Date: 19.08.2013 22:23:43 CEST
3 // File: CAT24C16.hpp
4 
5 /* This program is free software. It comes without any warranty, to
6  * the extent permitted by applicable law. You can redistribute it
7  * and/or modify it under the terms of the Do What The Fuck You Want
8  * To Public License, Version 2, as published by Sam Hocevar. See
9  * http://www.wtfpl.net/ or COPYING for more details. */
10 
11 #ifndef __CAT24C16_HEADER
12 #define __CAT24C16_HEADER
13 
14 #include "../com/i2c.hpp"
15 
16 
17 namespace device {
19  public:
20  CAT24C16_class(): dev_ard_(0x50) { //the addres is 0x50 + (A2 << 2 | A1 << 1 | A0)
21  }
22  void write(uint8_t const & adr, uint8_t const & data) {
23  if(read(adr) != data) {
24  com::i2cout(dev_ard_) << adr << data << ustd::endl;
25  delay(5);
26  }
27  }
28  uint8_t read(uint8_t const & adr) const {
29  uint8_t res;
30  com::i2cout(dev_ard_) << adr << ustd::endl(false);
31  com::i2cin(dev_ard_) >> res;
32  return res;
33  }
34  private:
35  uint8_t dev_ard_;
36  };
37 }//end namespace device
38 #endif //__CAT24C16_HEADER
class com::i2cout_class i2cout
uint8_t read(uint8_t const &adr) const
Definition: CAT24C16.hpp:28
Definition: CAT24C16.hpp:18
struct ustd::endl_class endl
void write(uint8_t const &adr, uint8_t const &data)
Definition: CAT24C16.hpp:22
CAT24C16_class()
Definition: CAT24C16.hpp:20
class com::i2cin_class i2cin