Program Listing for File tlx5012-arduino.cpp

Return to documentation for file (src/framework/arduino/wrapper/tlx5012-arduino.cpp)

#include "tlx5012-arduino.hpp"

using namespace tle5012;

Tle5012Ino::Tle5012Ino():Tle5012b()
{
    Tle5012b::mSlave = TLE5012B_S0;
    Tle5012b::sBus = new SPICIno();
}

Tle5012Ino::Tle5012Ino(uint8_t csPin, slaveNum slave):Tle5012b()
{
    Tle5012b::mSlave = slave;
    Tle5012b::sBus = new SPICIno(csPin);
}

Tle5012Ino::Tle5012Ino(SPIClass3W *bus, uint8_t csPin, uint8_t misoPin, uint8_t mosiPin, uint8_t sckPin, slaveNum slave):Tle5012b()
{
    Tle5012b::mSlave = slave;
    Tle5012b::sBus = new SPICIno(*bus,csPin,misoPin,mosiPin,sckPin);
}

errorTypes Tle5012Ino::begin(void)
{
    #if defined(XMC1100_XMC2GO) || defined(XMC1100_H_BRIDGE2GO)
        #undef PIN_SPI_EN
        #define PIN_SPI_EN    8
    #endif
    // init helper libs

    Tle5012b::sBus->init();
    if (PIN_SPI_EN != UNUSED_PIN) {
        Tle5012b::en = new GPIOIno(PIN_SPI_EN, OUTPUT, GPIOIno::POSITIVE);
        Tle5012b::en->init();
    }else{
        Tle5012b::en = NULL;
    }
    // start sensor
    enableSensor();
    writeSlaveNumber(Tle5012b::mSlave);
    // initial CRC check, should be = 0
    return (readBlockCRC());
}