From e0fa318b22b970f9792fad4561702fedaa81e152 Mon Sep 17 00:00:00 2001 From: polymurph Date: Mon, 23 Aug 2021 08:46:26 +0200 Subject: [PATCH] added i2c example in foo --- bsl/csl/PC/peripherals/i2cDummy.hpp | 44 ++++++++++++++++++++++++++++ main.cpp | 6 ++++ main.hpp | 5 ++++ runtest | Bin 0 -> 33784 bytes 4 files changed, 55 insertions(+) create mode 100644 bsl/csl/PC/peripherals/i2cDummy.hpp create mode 100755 runtest diff --git a/bsl/csl/PC/peripherals/i2cDummy.hpp b/bsl/csl/PC/peripherals/i2cDummy.hpp new file mode 100644 index 0000000..e74493a --- /dev/null +++ b/bsl/csl/PC/peripherals/i2cDummy.hpp @@ -0,0 +1,44 @@ +#ifndef _I2CDUMMY_HPP_ +#define _I2CDUMMY_HPP_ + +#include + +struct I2CDummy : I2C +{ + uint8_t readByteImpl(const uint8_t& address, const uint8_t& reg) + { + std::cout << "readByte for address: " << +address << " and reg: " << +reg << std::endl; + return 0; + } + + uint16_t readWordImpl(const uint8_t& address, const uint8_t& reg) + { + std::cout << "readWord for address: " << +address << " and reg: " << +reg << std::endl; + return 0; + } + + uint8_t writeByteImpl(const uint8_t& address, const uint8_t& data) + { + std::cout << "writeByte for address: " << +address << " and data: " << +data << std::endl; + return 0; + } + + uint8_t writeWordImpl(const uint8_t& address, const uint8_t& reg, const uint8_t& data) + { + std::cout << "readByte for address: " << +address << " , reg: " << +reg << " and data: " << + data << std::endl; + return 0; + } + + void writeBufferImpl(const uint8_t& address, const uint8_t* buffer, uint8_t len) + { + std::cout << "I2C writeBuffer" << std::endl; + } + + void readBufferImpl(const uint8_t& address, const uint8_t* buffer, uint8_t len) + { + std::cout << "I2C readBuffer" << std::endl; + } +}; + + +#endif // _I2CDUMMY_HPP_ diff --git a/main.cpp b/main.cpp index 058572b..c41ca16 100644 --- a/main.cpp +++ b/main.cpp @@ -23,6 +23,9 @@ SPI_dummy spi; Pin_PC chipSelectPin; SPICH spiCH(chipSelectPin, spi); +// i2c stuff +I2CDummy dummyI2C; + template void baa(Pin& p) { @@ -50,6 +53,9 @@ void foo() spiCH.writeArray(10,a,sizeof(a)); + std::cout << "I2C test:" << std::endl; + dummyI2C.writeWord(0xAE,0xFF,0x01); + } int main(int argc, char *argv[]) diff --git a/main.hpp b/main.hpp index f35b1a2..54e1c5d 100644 --- a/main.hpp +++ b/main.hpp @@ -4,13 +4,18 @@ #include #include #include + #include "./utils/commandManager.h" + #include "./interfaces/pin.hpp" #include "./interfaces/spi.hpp" #include "./interfaces/spich.hpp" +#include "./interfaces/i2c.hpp" + #include "bsl/csl/raspberry/peripherals/pinRaspberry.hpp" #include "bsl/csl/PC/peripherals/pinPC.hpp" #include "bsl/csl/PC/peripherals/spiDummy.hpp" +#include "bsl/csl/PC/peripherals/i2cDummy.hpp" #endif // __MAIN_HPP__ diff --git a/runtest b/runtest new file mode 100755 index 0000000000000000000000000000000000000000..6c6cc52a3457f1045938f3d9d1cc3e8b03a691bc GIT binary patch literal 33784 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 EUm+zgRsaA1 literal 0 HcmV?d00001