DUDS
Distributed Update of Data from Something
DigitalPinErrors.hpp File Reference

Various errors involving the use of digital GPIO hardware. More...

#include <duds/hardware/interface/PinErrors.hpp>
#include <duds/general/BitFlags.hpp>
#include <vector>
Include dependency graph for DigitalPinErrors.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  duds::hardware::interface::DigitalPinCannotInputError
 Indicates that a request to configure a pin to input was made of a pin that cannot intput. More...
 
struct  duds::hardware::interface::DigitalPinCannotOutputError
 Indicates that a request to configure a pin to output was made of a pin that cannot output. More...
 
struct  duds::hardware::interface::DigitalPinConfigError
 Indicates an error with the digital pin's configuration. More...
 
struct  duds::hardware::interface::DigitalPinConfigRangeError
 Indicates that the specified configuration data includes too many or too few items, or has parallel data structures of inconsistent sizes. More...
 
struct  duds::hardware::interface::DigitalPinConflictingCurrentError
 Indicates that both the maximum and minimum output current were specified, and the maximum is less than the minimum. More...
 
struct  duds::hardware::interface::DigitalPinConflictingDirectionError
 Indicates that mutually exclusive option flags were set for pin direction. More...
 
struct  duds::hardware::interface::DigitalPinConflictingEventError
 Indicates that mutually exclusive option flags were set for pin events. More...
 
struct  duds::hardware::interface::DigitalPinConflictingInterruptError
 Indicates that mutually exclusive option flags were set for pin interrupts. More...
 
struct  duds::hardware::interface::DigitalPinConflictingOutputError
 Indicates that mutually exclusive option flags were set for pin output drive. More...
 
struct  duds::hardware::interface::DigitalPinConflictingPullError
 Indicates that mutually exclusive option flags were set for pull ups or downs. More...
 
struct  duds::hardware::interface::DigitalPinMultipleConfigError
 Indicates that an operation specified more than one configuration for a pin. More...
 
struct  duds::hardware::interface::DigitalPinNumericRangeError
 An attempt was made to output a number in binary on a set of pins that was too small to represent the number. More...
 
struct  duds::hardware::interface::DigitalPinUnsupportedOperation
 A requested operation or configuration is not supported. More...
 
struct  duds::hardware::interface::DigitalPortDoesNotExistError
 A required DigitalPort object was not supplied. More...
 
struct  duds::hardware::interface::DigitalPortHasPinError
 The provided DigitalPort object has a pin it is explicitly required to not have. More...
 
struct  duds::hardware::interface::DigitalPortLacksPinError
 The provided DigitalPort object lacks a required pin. More...
 

Namespaces

 duds
 
 duds::hardware
 
 duds::hardware::interface
 Library code for interfacing with hardware external to the processor.
 
 duds::hardware::interface::DigitalPinRejectedConfiguration
 Holds error types and codes that detail why a configuration for a digital pin was rejected.
 

Typedefs

typedef boost::error_info< struct Info_DigitalPinNumericBits, int > duds::hardware::interface::DigitalPinNumericBits
 The number of bits available for a numeric output. More...
 
typedef boost::error_info< struct Info_DigitalPinNumericOutput, std::int64_t > duds::hardware::interface::DigitalPinNumericOutput
 The requested number to output; seen with DigitalPinNumericRangeError exceptions. More...
 
typedef duds::general::BitFlags< struct DigitalPinConfigErrorFlags, std::uint8_t > duds::hardware::interface::DigitalPinRejectedConfiguration::Reason
 A set of bit flags for storing pin configuration errors. More...
 
typedef boost::error_info< struct Info_DigitalPinRejectedConfiguration, Reason > duds::hardware::interface::DigitalPinRejectedConfiguration::ReasonInfo
 Allows attaching the configuration rejection flags to an exception. More...
 
typedef boost::error_info< struct Info_DigitalPinRejectedConfigurationVector, std::vector< Reason >> duds::hardware::interface::DigitalPinRejectedConfiguration::ReasonVectorInfo
 

Functions

std::ostream & duds::hardware::interface::DigitalPinRejectedConfiguration::operator<< (std::ostream &os, const Reason &r)
 Needed for using Reason with boost::error_info; ReasonInfo will not build without stream operators. More...
 

Variables

constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::AffectsOthers = Reason::Bit(6)
 The requested pin configuration for the referenced pin affects multiple pins in a manner that was not allowed by the configuration. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::BadEffect = AffectsOthers | WronglyAffected
 The referenced pin's requested configuration either implied a disallowed change of another pin's configuration, or the reverse. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::NotRejected = Reason::Zero()
 There is no error with the requested pin configuration for the referenced pin. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::UnspecifiedError = Reason::Bit(0)
 There is an unspecified error with the requested pin configuration for the referenced pin that is not covered by another error flag. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::Unsupported
 Completely unsupported. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::UnsupportedDirection = Reason::Bit(1)
 The I/O direction configuration is not supported by the hardware or driver. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::UnsupportedEvent = Reason::Bit(3)
 The event pin configuration is not supported by the hardware or driver. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::UnsupportedInputPull = Reason::Bit(2)
 The requested pull up or pull down configuration is not supported by the hardware or driver. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::UnsupportedInterrupt = Reason::Bit(4)
 The requested interrupt configuration is not supported by the hardware or driver. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::UnsupportedOutput = Reason::Bit(5)
 The requested output configuration is not supported by the hardware or driver. More...
 
constexpr Reason duds::hardware::interface::DigitalPinRejectedConfiguration::WronglyAffected = Reason::Bit(7)
 The requested configuration of another pin implied a change to the referenced pin's configuration, but the referenced pin's configuration explicitly disallowed the change. More...
 

Detailed Description

Various errors involving the use of digital GPIO hardware.

Author
Jeff Jackowski

Definition in file DigitalPinErrors.hpp.