AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 > Class Template Reference

#include <DiverseIO.h>

List of all members.

Static Public Member Functions

static void InitOutput ()
static void Close ()
static void Set ()
static void SetTo (bool value)
static void Clear ()
static void Toggle ()
static bool IsAnySet ()
static bool IsSet ()

Protected Types

typedef Port0::Output Pins0
typedef Port1::Output Pins1
typedef Port2::Output Pins2
typedef Port3::Output Pins3
typedef Port4::Output Pins4
typedef Port5::Output Pins5
typedef Port6::Output Pins6
typedef Port7::Output Pins7


Detailed Description

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
class AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >

Definition at line 145 of file DiverseIO.h.


Member Typedef Documentation

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port0::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins0 [protected]

Definition at line 149 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port1::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins1 [protected]

Definition at line 150 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port2::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins2 [protected]

Definition at line 151 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port3::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins3 [protected]

Definition at line 152 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port4::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins4 [protected]

Definition at line 153 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port5::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins5 [protected]

Definition at line 154 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port6::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins6 [protected]

Definition at line 155 of file DiverseIO.h.

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
typedef Port7::Output AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Pins7 [protected]

Definition at line 156 of file DiverseIO.h.


Member Function Documentation

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static void AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::InitOutput (  )  [inline, static]

Definition at line 160 of file DiverseIO.h.

00161         {
00162                 if (flags0) Port0::SetAsOutput(flags0);
00163                 if (flags1) Port1::SetAsOutput(flags1);
00164                 if (flags2) Port2::SetAsOutput(flags2);
00165                 if (flags3) Port3::SetAsOutput(flags3);
00166                 if (flags4) Port4::SetAsOutput(flags4);
00167                 if (flags5) Port5::SetAsOutput(flags5);
00168                 if (flags6) Port6::SetAsOutput(flags6);
00169                 if (flags7) Port7::SetAsOutput(flags7);
00170                 
00171         } // InitOutput

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static void AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Close (  )  [inline, static]

Definition at line 173 of file DiverseIO.h.

00174         {
00175                 if (flags0) Port0::SetAsTriStateInput(flags0);
00176                 if (flags1) Port1::SetAsTriStateInput(flags1);
00177                 if (flags2) Port2::SetAsTriStateInput(flags2);
00178                 if (flags3) Port3::SetAsTriStateInput(flags3);
00179                 if (flags4) Port4::SetAsTriStateInput(flags4);
00180                 if (flags5) Port5::SetAsTriStateInput(flags5);
00181                 if (flags6) Port6::SetAsTriStateInput(flags6);
00182                 if (flags7) Port7::SetAsTriStateInput(flags7);
00183                 
00184         } // Close

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static void AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Set (  )  [inline, static]

Definition at line 186 of file DiverseIO.h.

00187         {
00188                 if (flags0) SetBits<Pins0>(flags0);
00189                 if (flags1) SetBits<Pins1>(flags1);
00190                 if (flags2) SetBits<Pins2>(flags2);
00191                 if (flags3) SetBits<Pins3>(flags3);
00192                 if (flags4) SetBits<Pins4>(flags4);
00193                 if (flags5) SetBits<Pins5>(flags5);
00194                 if (flags6) SetBits<Pins6>(flags6);
00195                 if (flags7) SetBits<Pins7>(flags7);
00196                 
00197         } // Set

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static void AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::SetTo ( bool  value  )  [inline, static]

Definition at line 199 of file DiverseIO.h.

00200         {
00201                 if (flags0) SetBitsTo<Pins0>(flags0, value);
00202                 if (flags1) SetBitsTo<Pins1>(flags1, value);
00203                 if (flags2) SetBitsTo<Pins2>(flags2, value);
00204                 if (flags3) SetBitsTo<Pins3>(flags3, value);
00205                 if (flags4) SetBitsTo<Pins4>(flags4, value);
00206                 if (flags5) SetBitsTo<Pins5>(flags5, value);
00207                 if (flags6) SetBitsTo<Pins6>(flags6, value);
00208                 if (flags7) SetBitsTo<Pins7>(flags7, value);
00209 
00210         } // SetTo

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static void AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Clear (  )  [inline, static]

Definition at line 212 of file DiverseIO.h.

00213         {
00214                 if (flags0) ClearBits<Pins0>(flags0);
00215                 if (flags1) ClearBits<Pins1>(flags1);
00216                 if (flags2) ClearBits<Pins2>(flags2);
00217                 if (flags3) ClearBits<Pins3>(flags3);
00218                 if (flags4) ClearBits<Pins4>(flags4);
00219                 if (flags5) ClearBits<Pins5>(flags5);
00220                 if (flags6) ClearBits<Pins6>(flags6);
00221                 if (flags7) ClearBits<Pins7>(flags7);
00222                 
00223         } // Clear

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static void AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::Toggle (  )  [inline, static]

Definition at line 225 of file DiverseIO.h.

00226         {
00227                 if (flags0) ToggleBits<Pins0>(flags0);
00228                 if (flags1) ToggleBits<Pins1>(flags1);
00229                 if (flags2) ToggleBits<Pins2>(flags2);
00230                 if (flags3) ToggleBits<Pins3>(flags3);
00231                 if (flags4) ToggleBits<Pins4>(flags4);
00232                 if (flags5) ToggleBits<Pins5>(flags5);
00233                 if (flags6) ToggleBits<Pins6>(flags6);
00234                 if (flags7) ToggleBits<Pins7>(flags7);
00235                 
00236         } // Toggle

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static bool AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::IsAnySet (  )  [inline, static]

Definition at line 238 of file DiverseIO.h.

00239         {
00240                 return          (flags0 ? IsAnyBitSet<Pins0>(flags0) : false)
00241                                 ||      (flags1 ? IsAnyBitSet<Pins1>(flags1) : false)
00242                                 ||      (flags2 ? IsAnyBitSet<Pins2>(flags2) : false)
00243                                 ||      (flags3 ? IsAnyBitSet<Pins3>(flags3) : false)
00244                                 ||      (flags4 ? IsAnyBitSet<Pins4>(flags4) : false)
00245                                 ||      (flags5 ? IsAnyBitSet<Pins5>(flags5) : false)
00246                                 ||      (flags6 ? IsAnyBitSet<Pins6>(flags6) : false)
00247                                 ||      (flags7 ? IsAnyBitSet<Pins7>(flags7) : false);
00248                 
00249         } // IsSet

template<class Port0, uint8_t flags0, class Port1, uint8_t flags1, class Port2 = PortB, uint8_t flags2 = 0, class Port3 = PortB, uint8_t flags3 = 0, class Port4 = PortB, uint8_t flags4 = 0, class Port5 = PortB, uint8_t flags5 = 0, class Port6 = PortB, uint8_t flags6 = 0, class Port7 = PortB, uint8_t flags7 = 0>
static bool AVRCpp::MultiPortOutputPins< Port0, flags0, Port1, flags1, Port2, flags2, Port3, flags3, Port4, flags4, Port5, flags5, Port6, flags6, Port7, flags7 >::IsSet (  )  [inline, static]

Definition at line 251 of file DiverseIO.h.

00252         {
00253                 return          (flags0 ? IsBitsSet<Pins0>(flags0) : true)
00254                                 &&      (flags1 ? IsBitsSet<Pins1>(flags1) : true)
00255                                 &&      (flags2 ? IsBitsSet<Pins2>(flags2) : true)
00256                                 &&      (flags3 ? IsBitsSet<Pins3>(flags3) : true)
00257                                 &&      (flags4 ? IsBitsSet<Pins4>(flags4) : true)
00258                                 &&      (flags5 ? IsBitsSet<Pins5>(flags5) : true)
00259                                 &&      (flags6 ? IsBitsSet<Pins6>(flags6) : true)
00260                                 &&      (flags7 ? IsBitsSet<Pins7>(flags7) : true);
00261                 
00262         } // IsAllSet


The documentation for this class was generated from the following file:
Generated on Sat Sep 15 23:41:05 2007 for AVR C++ Lib for ATmega64 by  doxygen 1.5.2
SourceForge.net Logo MTÜ TTÜ Robotiklubi