From 8c7a26eb049e57386fade2544df8275a8446a874 Mon Sep 17 00:00:00 2001 From: atomega Date: Sun, 8 Aug 2021 16:00:37 +0200 Subject: [PATCH] First Intreface implementation with CRTP idome --- Makefile | 1 + README.md | 14 +++++++++++++- .../raspberry/peripherals/pinRaspberry.hpp | 15 +++++++++++++++ interfaces/pin.hpp | 13 +++++++++++++ main.cpp | 4 ++++ main.hpp | 2 ++ runtest | Bin 28320 -> 28512 bytes 7 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 bsl/csl/raspberry/peripherals/pinRaspberry.hpp create mode 100644 interfaces/pin.hpp diff --git a/Makefile b/Makefile index b7a2589..acf4a63 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ cpp_src += $(wildcard *.cpp) cpp_src += $(wildcard ./utils/*.cpp) +cpp_src += $(wildcard ./interfaces/*.cpp) #cpp_src += $(wildcard ./communication/i2c/*.cpp) #c_src += $(wildcard ./algorithms/*.c) diff --git a/README.md b/README.md index 987b6a5..d67df74 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ # KED -Kerems and Edwins Develeppoment platform. \ No newline at end of file +Kerems and Edwins Develeppoment platform. + +08.08.21 Kerem & Edwin + - Preparing the main implementation (dummy) of our structure which consists of : + - CSL : Chip Support Layer + - CSL for Raspberry + - CSL for STM Nucleo + - BSL : Board Support Layer + - BSL for Raspberry + - BSL for Oven Control + - Project Level + - Integrate BSL dummy fct. to our main.cpp + diff --git a/bsl/csl/raspberry/peripherals/pinRaspberry.hpp b/bsl/csl/raspberry/peripherals/pinRaspberry.hpp new file mode 100644 index 0000000..4ba5ea3 --- /dev/null +++ b/bsl/csl/raspberry/peripherals/pinRaspberry.hpp @@ -0,0 +1,15 @@ +#ifndef __PINRASPBERRY_HPP__ +#define __PINRASPBERRY_HPP__ + +#include + +struct Pin_Raspberry : Pin +{ + void writeImpl(bool logic) + { + std::cout << "Raspberry pin set to " << logic << std::endl; + } +}; + + +#endif // __PINRASPBERRY_HPP__ diff --git a/interfaces/pin.hpp b/interfaces/pin.hpp new file mode 100644 index 0000000..3a265d6 --- /dev/null +++ b/interfaces/pin.hpp @@ -0,0 +1,13 @@ +#ifndef __PIN_HPP__ +#define __PIN_HPP__ + +template +struct Pin +{ + void write(bool logic) + { + static_cast(this)->writeImpl(logic); + } +}; + +#endif // __PIN_HPP__ diff --git a/main.cpp b/main.cpp index 44cfaa1..a52103e 100644 --- a/main.cpp +++ b/main.cpp @@ -14,9 +14,13 @@ CommandManager commander; +Pin_Raspberry rpin; + void dummy() { + rpin.write(1); std::cout << "Dummy" << std::endl; + } int main(int argc, char *argv[]) diff --git a/main.hpp b/main.hpp index 5c928bb..5e48fef 100644 --- a/main.hpp +++ b/main.hpp @@ -5,5 +5,7 @@ #include #include #include "./utils/commandManager.h" +#include "./interfaces/pin.hpp" +#include "bsl/csl/raspberry/peripherals/pinRaspberry.hpp" #endif // __MAIN_HPP__ diff --git a/runtest b/runtest index b6a1d390ad2d866e92d8fc4ee3777ad19c20d473..f1a0c3a69effc357b9e9a9243115a8f67ef0862a 100755 GIT binary patch delta 7455 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 delta 6886 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