#include "gpio.hpp" class Gpio::gpioImpl { public: gpioImpl() { printf("implementation of Gpio Sucsessfull\n"); } void setMode(uint8_t gpioNo, Gpio::pinMode mode) { } void setOutputState(uint8_t gpioNo, Gpio::pinState state) { } void setPullUpDonw(uint8_t gpioNo, Gpio::pinPullUpDown resistance) { } void setSpeed(uint8_t gpioNo, Gpio::pinSpeed speed) { } void config(uint8_t gpioNo, Gpio::pinMode mode, Gpio::pinState state, Gpio::pinPullUpDown resistance, Gpio::pinSpeed speed) { } uint8_t readPin(uint8_t gpioNo) { return 0; } void writePin(uint8_t gpioNo, uint8_t value) { } uint16_t readRange(uint8_t start, uint8_t stop) { return 0; } void writeRange(uint8_t start, uint8_t stop, uint16_t value) { } void pinBlock(uint8_t gpioNo) { } void pinUnblock(uint8_t gpioNo) { } void throwError(Gpio::errors errNo) { } }; Gpio::Gpio():gpioPimpl(new gpioImpl()){} Gpio::~Gpio(){} void Gpio::setMode(uint8_t gpioNo, Gpio::pinMode mode) { return gpioPimpl->setMode(gpioNo, mode); } void Gpio::setOutputState(uint8_t gpioNo, Gpio::pinState state) { return gpioPimpl->setOutputState(gpioNo,state); } void Gpio::setPullUpDonw(uint8_t gpioNo, Gpio::pinPullUpDown resistance) { return gpioPimpl->setPullUpDonw(gpioNo,resistance); } void Gpio::setSpeed(uint8_t gpioNo, Gpio::pinSpeed speed) { return gpioPimpl->setSpeed(gpioNo, speed); } void Gpio::config(uint8_t gpioNo, Gpio::pinMode mode, Gpio::pinState state, Gpio::pinPullUpDown resistance, Gpio::pinSpeed speed) { return gpioPimpl->config(gpioNo,mode,state,resistance,speed); } uint8_t Gpio::readPin(uint8_t gpioNo) { return gpioPimpl->readPin(gpioNo); } void Gpio::writePin(uint8_t gpioNo, uint8_t value) { return gpioPimpl->writePin(gpioNo, value); } uint16_t Gpio::readRange(uint8_t start, uint8_t stop) { return gpioPimpl->readRange(start,stop); } void Gpio::writeRange(uint8_t start, uint8_t stop, uint16_t value) { return gpioPimpl->writeRange(start,stop,value); } void Gpio::pinBlock(uint8_t gpioNo) { return gpioPimpl->pinBlock(gpioNo); } void Gpio::pinUnblock(uint8_t gpioNo) { return gpioPimpl->pinUnblock(gpioNo); } void Gpio::throwError(Gpio::errors error) { return gpioPimpl->throwError(error); }