Program Listing for File pal-gpio-arduino.cpp
↰ Return to documentation for file (src/framework/arduino/pal/pal-gpio-arduino.cpp)
#include "pal-gpio-arduino.hpp"
#include <Arduino.h>
using namespace tle5012;
GPIOIno::GPIOIno() : pin(0), mode(OUTPUT), logic(POSITIVE)
{
}
GPIOIno::GPIOIno(uint8_t pin, uint8_t mode, VLogic_t logic): pin(pin), mode(mode), logic(logic)
{
this->pin = pin;
this->mode = mode;
this->logic = logic;
}
Error_t GPIOIno::init()
{
pinMode(this->pin, this->mode);
return OK;
}
Error_t GPIOIno::changeMode(uint8_t mode)
{
this->mode = mode;
pinMode(this->pin, this->mode);
return OK;
}
Error_t GPIOIno::deinit()
{
return OK;
}
GPIOIno::VLevel_t GPIOIno::read()
{
return (VLevel_t) digitalRead(this->pin);
}
Error_t GPIOIno::write(VLevel_t level)
{
digitalWrite(this->pin, level);
return OK;
}
Error_t GPIOIno::enable()
{
if(this->logic == POSITIVE){
digitalWrite(this->pin, GPIO_HIGH);
}
else if(this->logic == NEGATIVE){
digitalWrite(this->pin, GPIO_LOW);;
}
return OK;
}
Error_t GPIOIno::disable()
{
if(this->logic == POSITIVE){
digitalWrite(this->pin, GPIO_LOW);
}
else if(this->logic == NEGATIVE){
digitalWrite(this->pin, GPIO_HIGH);
}
return OK;
}