FastArduino  v1.8
C++ library to build fast but small Arduino/AVR projects
i2c_handler_common.cpp
1 // Copyright 2016-2021 Jean-Francois Poilpret
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include "i2c_handler_common.h"
16 
17 namespace i2c
18 {
20  streams::ostream& operator<<(streams::ostream& out, const I2CCommandType& t)
21  {
22  if (t.is_none()) return out << F("NONE") << streams::flush;
23  out << (t.is_write() ? F("WRITE") : F("READ"));
24  if (t.is_stop())
25  out << F("[STOP]");
26  if (t.is_finish())
27  out << F("[FINISH]");
28  if (t.is_end())
29  out << F("[END]");
30  return out << streams::flush;
31  }
32 
33  bool operator==(const I2CCommandType& a, const I2CCommandType& b)
34  {
35  return (a.value_ == b.value_);
36  }
37 
38  bool operator!=(const I2CCommandType& a, const I2CCommandType& b)
39  {
40  return (a.value_ != b.value_);
41  }
43 }
streams::ostream
Output stream wrapper to provide formatted output API, a la C++.
Definition: streams.h:61
i2c_handler_common.h
Common I2C Manager API.
time::operator==
bool operator==(const RTTTime &a, const RTTTime &b)
Compare 2 RTTTime instances.
Definition: time.h:204
time::operator!=
bool operator!=(const RTTTime &a, const RTTTime &b)
Compare 2 RTTTime instances.
Definition: time.h:216
i2c
Define API to define and manage I2C devices.
Definition: i2c.cpp:18
F
#define F(ptr)
Force string constant to be stored as flash storage.
Definition: flash.h:118
streams::flush
void flush(FSTREAM &stream)
Manipulator for an output stream, which will flush the stream buffer.
Definition: streams.h:713