From e8c353bc599fd0bc635da27ba4a8e51f408b796e Mon Sep 17 00:00:00 2001 From: polymurph Date: Sun, 22 Aug 2021 16:40:45 +0200 Subject: [PATCH] added spi example in foo function --- .vscode/settings.json | 47 ++++++++++++++++++++++++++++ bsl/csl/PC/peripherals/spiDummy.hpp | 28 +++++++++++++++++ interfaces/spich.hpp | 10 +++--- main.cpp | 10 ++++++ main.hpp | 4 +++ runtest | Bin 0 -> 33448 bytes 6 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 bsl/csl/PC/peripherals/spiDummy.hpp create mode 100755 runtest diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d0fbac9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,47 @@ +{ + "files.associations": { + "array": "cpp", + "atomic": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "string": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "new": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "typeinfo": "cpp" + } +} \ No newline at end of file diff --git a/bsl/csl/PC/peripherals/spiDummy.hpp b/bsl/csl/PC/peripherals/spiDummy.hpp new file mode 100644 index 0000000..e4f6be2 --- /dev/null +++ b/bsl/csl/PC/peripherals/spiDummy.hpp @@ -0,0 +1,28 @@ +#ifndef _SPIDUMMY_HPP_ +#define _SPIDUMMY_HPP_ + +#include +//#include "../../interfaces/spi.hpp" +#include + +struct SPI_dummy : SPI +{ + uint8_t trx_u8Impl(const uint8_t& data) + { + std::cout << "spi trx: tx " << data << " rx: " << +0 << std::endl; + return 0; + } + + void txImpl(const uint8_t& data) + { + std::cout << "spi tx: " << +data << std::endl; + } + + uint8_t rxImpl() + { + std::cout << "spi rx: " << +1 << std::endl; + return 1; + } +}; + +#endif // _SPIDUMMY_HPP_ diff --git a/interfaces/spich.hpp b/interfaces/spich.hpp index 49f3b7c..46e2daa 100644 --- a/interfaces/spich.hpp +++ b/interfaces/spich.hpp @@ -33,7 +33,7 @@ struct SPICH } void readArray(const uint8_t& address, - uint8_t[] buffer, + uint8_t* buffer, const uint8_t& len) { chipSelect.write(false); @@ -49,14 +49,14 @@ struct SPICH void writeArray(const uint8_t& address, - const uint8_t[] buffer, + const uint8_t* buffer, const uint8_t& len) { chipSelect.write(false); spiHwCH.tx(address); - for(uint8_t i = 0; i < len;i++) { + for(uint8_t i = 0; i < len; i++) { spiHwCH.tx(buffer[i]); }; @@ -66,8 +66,8 @@ struct SPICH private: // hardware resources - Pin chipSelect; - SPI spiHwCH; + Pin& chipSelect; + SPI& spiHwCH; }; #endif // _SPICH_HPP_ diff --git a/main.cpp b/main.cpp index 9e6e9bb..58bf127 100644 --- a/main.cpp +++ b/main.cpp @@ -18,6 +18,12 @@ Pin_Raspberry rpin; Pin_PC pcpin; +SPI_dummy spi; + +Pin_PC chipSelectPin; + +SPICH spiCH(chipSelectPin, spi); + template void baa(Pin& p) { @@ -37,6 +43,10 @@ void foo() baa(rpin); baa(pcpin); + + std::cout << "SPI test:" << std::endl; + spiCH.read_write_u8(10); + } int main(int argc, char *argv[]) diff --git a/main.hpp b/main.hpp index 206957a..f35b1a2 100644 --- a/main.hpp +++ b/main.hpp @@ -6,7 +6,11 @@ #include #include "./utils/commandManager.h" #include "./interfaces/pin.hpp" +#include "./interfaces/spi.hpp" +#include "./interfaces/spich.hpp" #include "bsl/csl/raspberry/peripherals/pinRaspberry.hpp" #include "bsl/csl/PC/peripherals/pinPC.hpp" +#include "bsl/csl/PC/peripherals/spiDummy.hpp" + #endif // __MAIN_HPP__ diff --git a/runtest b/runtest new file mode 100755 index 0000000000000000000000000000000000000000..cfbc9721ce175cd72c571018eea80437bf813d51 GIT binary patch literal 33448 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 literal 0 HcmV?d00001