implemented I2C interface

interrupts
polymurph 4 years ago
parent 78f9c210e8
commit 031067ba07

@ -0,0 +1,40 @@
#ifndef _I2C_HPP_
#define _I2C_HPP_
#include <stdint.h>
template <typename Derived>
struct I2C
{
uint8_t readByte(const uint8_t& address, const uint8_t& reg)
{
return static_cast<Derived*>(this)->readByteImpl(address, reg);
}
uint16_t readWord(const uint8_t& address, const uint8_t& reg)
{
return static_cast<Derived*>(this)->readWordImpl(address,reg);
}
uint8_t writeByte(const uint8_t& address, const uint8_t& data)
{
return static_cast<Derived*>(this)->writeByteImpl(address,data);
}
uint8_t writeWord(const uint8_t& address, const uint8_t& reg, const uint8_t& data)
{
return static_cast<Derived*>(this)->writeWordImpl(address, reg, data);
}
void writeBuffer(const uint8_t& address, const uint8_t* buffer, uint8_t len)
{
static_cast<Derived*>(this)->writeBufferImpl(address, buffer, len);
}
void readBuffer(const uint8_t& address, const uint8_t* buffer, uint8_t len)
{
static_cast<Derived*>(this)->readBufferImpl(address, buffer, len);
}
};
#endif // _I2C_HPP_

@ -18,10 +18,9 @@ Pin_Raspberry rpin;
Pin_PC pcpin;
// spi stuff
SPI_dummy spi;
Pin_PC chipSelectPin;
SPICH<Pin_PC, SPI_dummy> spiCH(chipSelectPin, spi);
template<typename derivation>
@ -34,7 +33,6 @@ void dummy()
{
rpin.write(1);
std::cout << "Dummy" << std::endl;
}
void foo()

Binary file not shown.
Loading…
Cancel
Save