DUDS
Distributed Update of Data from Something
I2cErrors.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of the DUDS project. It is subject to the BSD-style
3  * license terms in the LICENSE file found in the top-level directory of this
4  * distribution and at https://github.com/jjackowski/duds/blob/master/LICENSE.
5  * No part of DUDS, including this file, may be copied, modified, propagated,
6  * or distributed except according to the terms contained in the LICENSE file.
7  *
8  * Copyright (C) 2017 Jeff Jackowski
9  */
10 #include <boost/exception/info.hpp>
11 
12 namespace duds { namespace hardware { namespace interface {
13 
20 struct I2cError : virtual std::exception, virtual boost::exception { };
21 
29 
35 
39 struct I2cErrorNoBus : I2cError { };
40 
48 
53 
58 
68 
79 
83 typedef boost::error_info<struct Info_i2cdevaddr, int> I2cDeviceAddr;
84 
85 } } }
boost::error_info< struct Info_i2cdevaddr, int > I2cDeviceAddr
Provides the device (slave) address along with an error.
Definition: I2cErrors.hpp:83
The number of conversation parts is too great for the implementation to handle.
Definition: I2cErrors.hpp:34
The device did not respond to its address (NACK).
Definition: I2cErrors.hpp:47
A ConversationPart of an invalid length was specified.
Definition: I2cErrors.hpp:28
Base class for all errors specific to I2C communications and used for very general errors...
Definition: I2cErrors.hpp:20
An attempt was made to use a non-existent I2C bus.
Definition: I2cErrors.hpp:39
The operation took too long.
Definition: I2cErrors.hpp:67
The device has failed to conform to the protocol.
Definition: I2cErrors.hpp:57
The attempted operation is not supported by the bus master.
Definition: I2cErrors.hpp:52
A timeout occured while waiting to use the bus.
Definition: I2cErrors.hpp:78