From cfc7c07bb1207ddb0ecd9033072b44db55096736 Mon Sep 17 00:00:00 2001 From: polymurph <eddyed.k@gmail.com> Date: Sat, 16 Oct 2021 21:15:58 +0200 Subject: [PATCH] added structure idea for KED --- KED_structure_idea/Makefile | 29 +++++++++++++ KED_structure_idea/bsl/hw_plattform.hpp | 12 ++++++ .../csl/implementations/avr/avr_pin.hpp | 37 +++++++++++++++++ .../csl/implementations/dummy/dummy_pin.hpp | 38 ++++++++++++++++++ .../csl/implementations/stm/stm_pin.hpp | 37 +++++++++++++++++ KED_structure_idea/csl/interfaces/pin.hpp | 23 +++++++++++ KED_structure_idea/main.cpp | 13 ++++++ KED_structure_idea/runtest | Bin 0 -> 17576 bytes 8 files changed, 189 insertions(+) create mode 100644 KED_structure_idea/Makefile create mode 100644 KED_structure_idea/bsl/hw_plattform.hpp create mode 100644 KED_structure_idea/csl/implementations/avr/avr_pin.hpp create mode 100644 KED_structure_idea/csl/implementations/dummy/dummy_pin.hpp create mode 100644 KED_structure_idea/csl/implementations/stm/stm_pin.hpp create mode 100644 KED_structure_idea/csl/interfaces/pin.hpp create mode 100644 KED_structure_idea/main.cpp create mode 100755 KED_structure_idea/runtest diff --git a/KED_structure_idea/Makefile b/KED_structure_idea/Makefile new file mode 100644 index 0000000..db99c6d --- /dev/null +++ b/KED_structure_idea/Makefile @@ -0,0 +1,29 @@ +cpp_src = $(wildcard *.cpp) +#cpp_src += $(wildcard ./utils/*.cpp) +#cpp_src += $(wildcard ./driver/*.cpp) + +cpp_obj = $(cpp_src:.cpp=.o) +c_obj = $(c_src:.c=.o) +CC = g++ +CFLAGS = -Wall -pedantic -li2c +LDFLAGS = +EXEC = runtest + + +all : $(EXEC) + +$(EXEC): $(cpp_obj) $(c_obj) + $(CC) -o $@ $^ $(LDFLAGS) + +debug : $(EXEC) + +$(EXEC): $(cpp_obj) $(c_obj) + $(CC) -g -o $@ $^ $(LDFLAGS) + +clean: + rm -rf $(c_obj) $(cpp_obj) $(EXEC) + clear + +cleanall: + rm -rf $(c_obj) $(cpp_obj) $(EXEC) + clear diff --git a/KED_structure_idea/bsl/hw_plattform.hpp b/KED_structure_idea/bsl/hw_plattform.hpp new file mode 100644 index 0000000..403f18d --- /dev/null +++ b/KED_structure_idea/bsl/hw_plattform.hpp @@ -0,0 +1,12 @@ +#ifndef __HW_PLATTFORM_HPP__ +#define __HW_PLATTFORM_HPP__ + +#include "./../csl/implementations/dummy/dummy_pin.hpp" + +struct HW_plattform +{ + Dummy_Pin pin_0, pin_1; +}; + + +#endif // __HW_PLATTFORM_HPP__ diff --git a/KED_structure_idea/csl/implementations/avr/avr_pin.hpp b/KED_structure_idea/csl/implementations/avr/avr_pin.hpp new file mode 100644 index 0000000..42c49ec --- /dev/null +++ b/KED_structure_idea/csl/implementations/avr/avr_pin.hpp @@ -0,0 +1,37 @@ +#ifndef __AVR_PIN_HPP__ +#define __AVR_PIN_HPP__ + +#include <iostream> +#include "./../../interfaces/pin.hpp" + + + +struct AVR_Pin : Pin<AVR_Pin> +{ + AVR_Pin() + { + std::cout << "created AVR_Pin" << std::endl; + } + + void setImp(bool logic) + { + std::cout << "AVR pin set to " << logic << std::endl; + } + + void toggleImp() + { + std::cout << "toggled AVR pin" << std::endl; + } + + bool getImp() + { + return true; + } + + void avr_stuff() + { + std::cout << "AVR specific stuff" << std::endl; + } +}; + +#endif // __AVR_PIN_HPP__ \ No newline at end of file diff --git a/KED_structure_idea/csl/implementations/dummy/dummy_pin.hpp b/KED_structure_idea/csl/implementations/dummy/dummy_pin.hpp new file mode 100644 index 0000000..96b1cb6 --- /dev/null +++ b/KED_structure_idea/csl/implementations/dummy/dummy_pin.hpp @@ -0,0 +1,38 @@ +#ifndef __DUMMY_PIN_HPP__ +#define __DUMMY_PIN_HPP__ + +#include "./../../interfaces/pin.hpp" + +#include <iostream> + + +struct Dummy_Pin : Pin<Dummy_Pin> +{ + Dummy_Pin() + { + std::cout << "created Dummy_Pin" << std::endl; + } + + void setImp(bool logic) + { + std::cout << "Dummy pin set to " << logic << std::endl; + } + + void toggleImp() + { + std::cout << "toggled Dummy pin" << std::endl; + } + + bool getImp() + { + return true; + } + + void dummy_stuff() + { + std::cout << "dummy specific stuff" << std::endl; + } +}; + + +#endif // __DUMMY_PIN_HPP__ diff --git a/KED_structure_idea/csl/implementations/stm/stm_pin.hpp b/KED_structure_idea/csl/implementations/stm/stm_pin.hpp new file mode 100644 index 0000000..2d4cf74 --- /dev/null +++ b/KED_structure_idea/csl/implementations/stm/stm_pin.hpp @@ -0,0 +1,37 @@ +#ifndef __STM_PIN_HPP__ +#define __STM_PIN_HPP__ + +#include "./../../interfaces/pin.hpp" + +#include <iostream> + +truct STM32_Pin : Pin<STM32_Pin> +{ + STM32_Pin() + { + std::cout << "created STM32_Pin" << std::endl; + } + + void setImp(bool logic) + { + std::cout << "stm32 pin set to " << logic << std::endl; + } + + void toggleImp() + { + std::cout << "toggled stm32 pin" << std::endl; + } + + bool getImp() + { + return true; + } + + + void STM32_stuff() + { + std::cout << "STM_32 specific stuff" << std::endl; + } +}; + +#endif // __STM_PIN_HPP__ diff --git a/KED_structure_idea/csl/interfaces/pin.hpp b/KED_structure_idea/csl/interfaces/pin.hpp new file mode 100644 index 0000000..3c9c76d --- /dev/null +++ b/KED_structure_idea/csl/interfaces/pin.hpp @@ -0,0 +1,23 @@ +#ifndef __PIN_HPP__ +#define __PIN_HPP__ + +template <typename Derived> +struct Pin +{ + void set(bool logic) + { + static_cast<Derived*>(this)->setImp(logic); + } + + void toggle() + { + static_cast<Derived*>(this)->toggleImp(); + } + + bool get(void) + { + return static_cast<Derived*>(this)->getImp(); + } +}; + +#endif // __PIN_HPP__ diff --git a/KED_structure_idea/main.cpp b/KED_structure_idea/main.cpp new file mode 100644 index 0000000..c546422 --- /dev/null +++ b/KED_structure_idea/main.cpp @@ -0,0 +1,13 @@ +#include <iostream> + +#include "./bsl/hw_plattform.hpp" + + +int main() +{ + HW_plattform hw; + + + hw.pin_0.set(true); + return 1; +} \ No newline at end of file diff --git a/KED_structure_idea/runtest b/KED_structure_idea/runtest new file mode 100755 index 0000000000000000000000000000000000000000..86342058fe275557223a41e4989d8e1f0f918b00 GIT binary patch literal 17576 zcmeHPeQaCR6~B)Ak(Sm;OS`4CP}2cxDRGmg4JoCooy6%gq$NvIzRRm)JBc@cWcD*8 z-O9S9R9IbDH=(Kfl0Zxvo2IECgg~31rHIc7l?g_-m8nBTOVJR87F3{(_dEC9<2=9E z6XTyv+Pjf`?)jaMd+&MoUHkgolWzw*JE~kR!No1UB8b~pYa)InSiV73K>VUbT!8mW z#KmF;_-PU|<$jYuYL>yOQd+HWHz?UXtmJmOMCmc*9ug(HiiI0ss>VTf)5%EjcDk85 zgu;~N#rC{XEQF12SN&&dwWHWPP;c5jpyJ2$fU-NP+GRU}$?ged_k^-zTC41s@-QhT z^m<mw?X(>-Dojb2O4r*)l<HS`iJM9jCM=k;-B)2p{rs$j!``jhs}vWGBU6e$l~sv& zU-Oz(iD-Qyp2`i^54SYeH?Q$!)4tVm+~l8hH*MKU>Vm?mLLub~6h`vvwZcn>F8S?i zbAP(#=J+$e8@cA}juWIi2QTtrj_U`qP8gLVu~(7{_s?lFxvB4W1DZb-78~KP9R6wr z{bU9F$qM*V;9k7!<-!W>-c|vp_<8M4z^|`>Q<Te%s}ug0mGLtR_&l*lZ1<bOTJW;q zx@L`NWaUb_md!%f2a@TOo;AW5L)V2K>fNkIW0}}MJZr=<y_?$-=~S#Y+?R-%vhtE! zxAYh-@pM-23uj|%LaDgX-Wa@7=)lv7Y_O}NyC>bF2LbdLYhtNrA{6N{8XF^n;f!u% z!f_)TiUfn*z?$G89?{cTBNGcJL%n)$gC6W@M$e|U(Pp;MV<fVn&*m=D3ukNfuInRa zS0d@0QS4=(Kx~p`SWp{?MD#3ijf6)yT#@0h9yVgbaTw~v^v6@-M0^M0qm!NrWilL3 ziA|lM*0!5()|-55%(}kXx7xRsu7ewQi(CGg^+`-#CEN@2XD**!P-DdpvGlk_Qe8)q zu0@^i^V~)8S#$@EC^@ftyj~5>GyOiS);GrAQTPEH-k@;JZ`!dw^Dk^Pak_W;o+adn z1y@~>ibpNDbsaly!MP1G7`NaUSh1Y4;IoUU5N9p;1s0s=KYbR>wcvGrlbH!ZYY`W( z->ebN9~Fcw_tU!&g!7tAe1o6fO<aE7nXG8>n-$Whms6YwI1z9n;6%WQfD?iL-w0@< z|E$*bPJeTi5ZXNljjF;CZS>jd!^MCU*1iQ%;qnuBuUYCxjrc*5pFCbbx%@B0(^spL zM<oA8;^`~Q$%B%AiFo?za`J%WpCO*UvYdQC@~z<e_kowC@!e4V)jPEOTiWP}Q(e8C zW7B^EU)tE*CP_9Nf>vSS6|gx|v$UNg8}eYZvFYC>vhJ+05W|`9p^o9qDjcs_x{Dki zRuuZTNd2|lL{>~_hbG)w{*-oTe52-iPJ4C2SO5pFD+kqu<NdN7w%@g3T?5?ZR&CWr zH|&9y(DH8^bF{r1J^?dck0Ff@;_bQV^PuP2#&%3keiOp2utDH!wXxuYmVbWyJh?&r zDGDP2b*MZ+%!`LvH^1{-K6iF>=Q&qy^>=ojEfmm+6&THLFpTjZO%w{+*uuN0*JEpc zOe5PneGzeR7J_h}>F6mkdzu`N{{sEkc6cAV*YZ2h!t?`tCxz1v8q1~RH2(}d{j#1s zJ*Va07++#KE3wO;x;J<R#?PC^v&i_wd1+kpc<_vA=q`G@WzyR#&_dTrylH!bXQ|tL z=%B2R9&{1k4c@LRTdsM0>lsqa|B2KhrdrL?-58}1fty14Hv%_?@*f4Z2J+_vm{FHM ze5DXuwXymGpgo-{=u%XVpFW4?4xM)!iyQx1vs85EKk3YW)SiDYP*`wG8$ImO*1ef~ zhwhErwgqkvYzy2G&~Z%#-6`@OD!FT9)6Sa{0Ve`Z1e^#s5pW{lM8JuF69FdzP6Ym^ zBH*H@4G}!sGGbA0doGzA(Yx@ZNY=bV@su|kGrUIHOPzKtcCV+MKRsVL^IoCw7-;XQ zLg5%_6qI&cq4x`gUTiRPp!b751^O81YoKQ!pYuVXumJq6pld+)fEu8WfxZU1;B=v| z1YM%%wNzX?x`k`F*0p%f%<6rvnYDz|nSi5ce<dlXQeIz(%OEHH7U*v$T~BR?r|!C% z3+}4kB{p8P{>rAymJv+$_&GrgLC^Z!hiq@h>nO%|HK+)9YWGyN&7F}!hrp8jTX>y< zd^2cKUZqI|lK%{^OE7-fU$*a`wEsQi@1otSK#TSRlk#JLXT$yqt2{g@KL`BJun$?~ zRqe(0mmscH=-)!CyvwwwF<%Qgjc*&tTRpYkuL^qV?sEq{-mz&x&+_k0*E|h-W@w(4 z(V3e({;zpj0-lC|XL+l~+v=%<eygWiKKI)VKNJTLr#KOCBH%>8iGULUCjw3coCr7( za3b(IBEaY5_*@*HgX8bmc6zY_82_@3r!#s~if821fjvCBlcoJalP*#`pW9okc%?2b zQaqp2TcUX0JAF7&NE1}84z2N7v|ZCoMLu)apyYgZ?jF@YJ~LOR{K~zHsuNLWLikM( zTSi%i73KXPpLP49!tYf8<AbUr+;6XHpU?Pl`=1uf@xYB##nVhVzU9guPaP%C{lGRz z@-vkDW5uiCtKR(g37;#s_oP`}=nh41RJ32wI~8R+&2QE=wY6R2UEUt+i-%L*7GIOE zp}u*ASz*<R)QvNwoCjc4qO+-dp1l-z3wdzc3Zm}DiAbJzR*@SS06gDH@fm{WWhp*W z@bxRjs|8>8Qhb)+`BaL}7Ci4tam;dC97*oR-RUih&lS7M;+|r@MydZA!S{114kunK zV%FU_p?y_Ze7@LU7QayN`e60u#;+;7E|lU6MY;Lr7GDs2ez#N~cdg%wn02?P6aKRJ z<oR-|mAklFO`>$0PZRIsI7Dfob+Jl##6eq}JqkZ%!!K1hugmO>ek*d}y!%kVM5sL~ z9eBCQ#3u=y+U510bg7Ks<q}ilydQYE{y!-7YsEA#Dk$78{l-N7`G&1OF9WA`A5`b7 z<!?y9K2<n>?(q6c{>rsm1Az+}0k<!Mf~}O(H$SJQ&bReg*sG9TWWO&Or2nb&XB~A2 z@v+ah>lALEpWCFLsq-oed>P{Ks7h+MLXBZe;d>OmQsEB)uf;s<@+&}*5AgxuEi*rV z4gGmED6gr=p94<<r*=7+g60jCmnCl2t?&O(`YozI@;65)%mzLmesbzM%HI-!Pe|PA z!K`<npYy8f1h3nyaW~>WziR5b(F1+eB&$mLvBW3WAC6D5g8riw@FT#fKlXSYBfL!B z$Z6mdf4{$^J0ghj)<S<cP>RzR2Ey(B=g@d<s>C)*+#`-Fq5N$WcmTMU6l`T%1wV%J z<5%CS&^=jpSI~c`g8xS=;C}#KZvOmD;r4lZ26(yg;u(OEHFEv^zKEF2x6zHH9-)kz zEV4<WX?-A(?h7aMsFBWO^>A)jMAFHjL=4Xkd{;NEURz#?GE(AtIFkvF=&_WM84>-N za5APx>1hK@ESwHaqePYRR(z46A(<c3*|=^f9*e~8if3bbB%MN1PA)<TGd)IUi>}Ah zWDa&sqfTir1`>A&iBmodIOG+DQ&FT7nRdiC#N$HW)OkZ|pc5v!K0Tz%Oc`D8=niZS z>cK7Tl!c@tZA=ep3e?)Wh2DP4mcZsv8)PMYj+O#4kEz(g4ILdlL8K4`T04U>gQyA5 zT0-lJk6nUIc-j)|qYR+N)!I$^P$Fy?{pn1yZ8c>t#iC&&jI^g4Ft}(urRTCSG<WNk zNe8B0Ng9yfFSCABrca4>Gg=EJhh&4FHxEj=S4l;fB-yk+h$vHjmh6X_n`H0B=gN_? zwPj1@vPpI1it**6EH6r}va3)$&HN~IwlACIdim5YyS2=&iez(g0{r_-HPzL=iZ19D zK_6@hTS}d;U76IlO6hNwDWMYIY!iyp;mV}Rm3C72vLi_&+y`o8OghN5cnUdrL&BFz z8!=y?HB@he2NXAu%K7?oapY^pqrykrU^qJ{e9@5<{F&6qn36kVnJjL`5=MtC6HA22 zK-Gp4hVaQd+=r@fAPp9YZ+Mr{^JUWV{_w>H)siw8g%jpXQ*&)GEx3*r!pV39&8H3W zjLy-0=EH;#J}huaELyhJ{y%4F|4eH?KDK1xeGXIJKP$1+<vP(X;YE8^w&(p2Q!ixJ z!rw0#YedCr&-*5(m$9OvcKdeVA7Ky6?eqSM>2hVq`+VL{v)e7G;9Fg>|GW=l+NC}i zX}e5Sw&(r#jll5HRkY{*8dLt=04lQZ=PdJgphA0e?mzGAm~#BN|E$OK>#(OiKl8l* zW9nB8QU6JY`>$ZJ0~LxX+w(q=saJKF+h=<o|88a9svPoulIgI*$sXTsi|w=heZZ&* z>YpsUk5QCtti^u)^AK9?y~>X1cB?V!HuvIwoBb}Oz?8?!ZkT8KbDKT?e*&hDaA1`K zZlC=<WV7deF;o7%hxP5_|CO>YHse*Aimp&B6TAH*5K#Qsp7+^I6Ktrc-TrBtJ@3bv zzM$q0yWzMo{~{{1hoyUn3h#?J58oaywrBb}Y-;dgd){vys3&ie^UdTYdA9#M1T^>9 zo_`16|8v0q&w%GA+i}14!<L4~_WXOn3#$O4w3wv$&h|{-fy8Pr{7SXKq|7R`c>l2d zX$Y+Ler4cS_S{dqJ@X%<LcX~F+x@1bOW9M#hqZXE4C)hjk&03;O4***FBY&nE9JSz zIz)$*!~N<9QSw8d6+CWUKj{A8zN1<!)hh6dY!jB-WkuSSmb1U~T2o`D&A`Tre*y9F BK=S|q literal 0 HcmV?d00001