mirror of
https://github.com/eclipse/upm.git
synced 2025-03-14 20:47:30 +03:00
Fix some inconsistences for the following sensors:
- a110x - abp - ad8232 - adafruitms1438 - adafruitss Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
parent
7352aab3b0
commit
d7fe4e717b
@ -48,24 +48,22 @@ A110X::A110X(int pin)
|
||||
A110X::A110X(std::string initStr) : mraaIo(initStr)
|
||||
{
|
||||
mraa_io_descriptor* descs = mraaIo.getMraaDescriptors();
|
||||
|
||||
|
||||
if(!descs->gpios)
|
||||
{
|
||||
throw std::invalid_argument(std::string(__FUNCTION__) +
|
||||
": mraa_gpio_init() failed, invalid pin?");
|
||||
return;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if( !(m_gpio = descs->gpios[0]) )
|
||||
{
|
||||
throw std::invalid_argument(std::string(__FUNCTION__) +
|
||||
": mraa_gpio_init() failed, invalid pin?");
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mraa_gpio_dir(m_gpio, MRAA_GPIO_IN);
|
||||
m_isrInstalled = false;
|
||||
}
|
||||
@ -90,7 +88,7 @@ void A110X::installISR(void (*isr)(void *), void *arg)
|
||||
uninstallISR();
|
||||
|
||||
// install our interrupt handler
|
||||
mraa_gpio_isr(m_gpio, MRAA_GPIO_EDGE_BOTH,
|
||||
mraa_gpio_isr(m_gpio, MRAA_GPIO_EDGE_BOTH,
|
||||
isr, arg);
|
||||
m_isrInstalled = true;
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ ABP::ABP(std::string initStr) : mraaIo(initStr)
|
||||
mraa_io_descriptor* descs = mraaIo.getMraaDescriptors();
|
||||
std::vector<std::string> upmTokens;
|
||||
|
||||
if(mraaIo.getLeftoverStr() != "")
|
||||
if(!mraaIo.getLeftoverStr().empty())
|
||||
{
|
||||
upmTokens = UpmStringParser::parse(mraaIo.getLeftoverStr());
|
||||
}
|
||||
|
@ -29,22 +29,44 @@
|
||||
using namespace upm;
|
||||
using namespace std;
|
||||
|
||||
AD8232::AD8232(int loPlus, int loMinus, int output, float aref) :
|
||||
m_gpioLOPlus(loPlus), m_gpioLOMinus(loMinus), m_aioOUT(output)
|
||||
{
|
||||
m_gpioLOPlus.dir(mraa::DIR_IN);
|
||||
m_gpioLOMinus.dir(mraa::DIR_IN);
|
||||
AD8232::AD8232(int loPlus, int loMinus, int output, float aref) {
|
||||
m_gpioLOPlus = new mraa::Gpio(loPlus);
|
||||
m_gpioLOMinus = new mraa::Gpio(loMinus);
|
||||
m_aioOUT = new mraa::Aio(output);
|
||||
|
||||
m_gpioLOPlus->dir(mraa::DIR_IN);
|
||||
m_gpioLOMinus->dir(mraa::DIR_IN);
|
||||
|
||||
m_aref = aref;
|
||||
m_ares = (1 << m_aioOUT.getBit());
|
||||
m_ares = (1 << m_aioOUT->getBit());
|
||||
}
|
||||
|
||||
AD8232::AD8232(std::string initStr) : mraaIo(initStr), m_gpioLOPlus(mraaIo.gpios[0]),
|
||||
m_gpioLOMinus(mraaIo.gpios[1]), m_aioOUT(mraaIo.aios[0])
|
||||
AD8232::AD8232(std::string initStr) : mraaIo(initStr)
|
||||
{
|
||||
if(!mraaIo.gpios.empty())
|
||||
{
|
||||
m_gpioLOPlus = new mraa::Gpio(mraaIo.gpios[0]);
|
||||
m_gpioLOMinus = new mraa::Gpio(mraaIo.gpios[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw std::invalid_argument(std::string(__FUNCTION__) +
|
||||
": mraa_gpio_init() failed, invalid pin?");
|
||||
}
|
||||
|
||||
if(!mraaIo.gpios.empty())
|
||||
{
|
||||
m_aioOUT = new mraa::Aio(mraaIo.aios[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw std::invalid_argument(std::string(__FUNCTION__) +
|
||||
": mraa_aio_init() failed, invalid pin?");
|
||||
}
|
||||
|
||||
std::vector<std::string> upmTokens;
|
||||
|
||||
if(mraaIo.getLeftoverStr() != "")
|
||||
if(!mraaIo.getLeftoverStr().empty())
|
||||
{
|
||||
upmTokens = UpmStringParser::parse(mraaIo.getLeftoverStr());
|
||||
}
|
||||
@ -56,17 +78,20 @@ AD8232::AD8232(std::string initStr) : mraaIo(initStr), m_gpioLOPlus(mraaIo.gpios
|
||||
m_aref = std::stof(tok.substr(5));
|
||||
}
|
||||
}
|
||||
m_ares = (1 << m_aioOUT.getBit());
|
||||
m_ares = (1 << m_aioOUT->getBit());
|
||||
}
|
||||
|
||||
AD8232::~AD8232()
|
||||
{
|
||||
delete m_gpioLOPlus;
|
||||
delete m_gpioLOMinus;
|
||||
delete m_aioOUT;
|
||||
}
|
||||
|
||||
int AD8232::value()
|
||||
{
|
||||
if (m_gpioLOPlus.read() || m_gpioLOMinus.read())
|
||||
if (m_gpioLOPlus->read() || m_gpioLOMinus->read())
|
||||
return 0;
|
||||
else
|
||||
return m_aioOUT.read();
|
||||
return m_aioOUT->read();
|
||||
}
|
||||
|
@ -106,9 +106,9 @@ namespace upm {
|
||||
|
||||
private:
|
||||
mraa::MraaIo mraaIo;
|
||||
mraa::Gpio m_gpioLOPlus;
|
||||
mraa::Gpio m_gpioLOMinus;
|
||||
mraa::Aio m_aioOUT;
|
||||
mraa::Gpio *m_gpioLOPlus;
|
||||
mraa::Gpio *m_gpioLOMinus;
|
||||
mraa::Aio *m_aioOUT;
|
||||
|
||||
float m_aref;
|
||||
int m_ares;
|
||||
|
@ -69,7 +69,7 @@ adafruitss::adafruitss(std::string initStr) : mraaIo(initStr)
|
||||
|
||||
std::vector<std::string> upmTokens;
|
||||
|
||||
if (mraaIo.getLeftoverStr() != "")
|
||||
if (!mraaIo.getLeftoverStr().empty())
|
||||
{
|
||||
upmTokens = UpmStringParser::parse(mraaIo.getLeftoverStr());
|
||||
}
|
||||
@ -78,7 +78,6 @@ adafruitss::adafruitss(std::string initStr) : mraaIo(initStr)
|
||||
{
|
||||
throw std::invalid_argument(std::string(__FUNCTION__) +
|
||||
": mraa_i2c_init() failed");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -86,7 +85,6 @@ adafruitss::adafruitss(std::string initStr) : mraaIo(initStr)
|
||||
{
|
||||
throw std::invalid_argument(std::string(__FUNCTION__) +
|
||||
": mraa_i2c_init() failed");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user