//-----------------------------------------------------------------------------
///
/// \brief  Class representing an GPIO
///
/// \date   20121107
/// \author Maximilian Seesslen <development.seesslen.net>
///
//-----------------------------------------------------------------------------


//---Includes------------------------------------------------------------------


#include <biwak/biwak.h>      // exception
#include <biwak/gpio.hpp>
#include <biwak/linux/gpio_mode_enums.hpp>

//---Implementation------------------------------------------------------------


struct SGpioMode
{
   const EGpioMode mode;
};


//---Implementation------------------------------------------------------------


const SGpioMode gpioModeOutput            { .mode=EGpioMode::Output };
const SGpioMode gpioModeInput             { .mode=EGpioMode::Input };
const SGpioMode gpioModeInputInterrupt    { .mode=EGpioMode::Input };
const SGpioMode gpioModeLed               { .mode=EGpioMode::Led };
const SGpioMode gpioModePwm               { .mode=EGpioMode::Pwm };
const SGpioMode gpioModeAnalog            { .mode=EGpioMode::Analog };
const SGpioMode gpioModeSpi               { .mode=EGpioMode::Output };
const SGpioMode gpioModeAfIn              { .mode=EGpioMode::Input };
const SGpioMode gpioModeAfOut             { .mode=EGpioMode::Output };
const SGpioMode gpioModeSD                { .mode=EGpioMode::Input };


//---fin-----------------------------------------------------------------------
