From 04dd72a4b344e7a6829c7ddea5dc7f8902a332ff Mon Sep 17 00:00:00 2001 From: myles-parfeniuk Date: Sat, 16 Nov 2024 22:01:30 -0800 Subject: [PATCH] README.md update --- README.md | 59 +++++++++++++++++++++++++++++++ README_images/OutermostCMake.png | Bin 0 -> 7670 bytes 2 files changed, 59 insertions(+) create mode 100644 README_images/OutermostCMake.png diff --git a/README.md b/README.md index 8b38915..bfc0a35 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,13 @@
  • Examples
  • +
  • + Unit Tests + +
  • Documentation
  • Program Flowcharts
  • Acknowledgements
  • @@ -190,6 +197,58 @@ extern "C" void app_main(void) ```

    (back to top)

    +## Unit Tests +A basic unit testing suite is included with this library, but it is very rudimentary. +It can be used to verify some of the basic features of a BNO08x device. +

    (back to top)

    + +### Running Tests +1. Create a project and add the component as described in the getting started guide. + + +2. Open the outermost CMakeLists.txt file in the project root directory, as depicted below. + + ![image](README_images/OutermostCMake.png) + +3. Modify the file by adding "set(TEST_COMPONENTS "esp32_BNO08x" CACHE STRING "Components to test.")" as depicted below: + + ```cmake + # For more information about build system see + # https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html + # The following five lines of boilerplate have to be in your project's + # CMakeLists in this exact order for cmake to work correctly + cmake_minimum_required(VERSION 3.16) + add_compile_definitions("ESP32C3_IMU_CONFIG") + set(TEST_COMPONENTS "esp32_BNO08x" CACHE STRING "Components to test.") + include($ENV{IDF_PATH}/tools/cmake/project.cmake) + project(bno08x_update) + ``` + +4. Include the test suite in your main file and launch into the test suite: + + ```cpp + #include + #include "BNO08xTestSuite.hpp" + + extern "C" void app_main(void) + { + BNO08xTestSuite::run_all_tests(); + } + ``` + +5. Ensure you run `idf.py fullclean` or delete your build directory before building for the first time after modifying the CMakeLists.txt file in step 3. + +

    (back to top)

    + +### Adding Tests +Tests are implemented with the [esp-idf unity unit testing component](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/unit-tests.html). + +To add a test, create a new .cpp file, or modify one of the existing ones in `esp32_BNO08x/test/()`. +Follow the existing test structure as an example, use the `TEST_CASE(){}` macro. + +Any tests added will automatically be detected at build time. +

    (back to top)

    + ## Documentation API documentation generated with doxygen can be found in the documentation directory of the master branch.

    (back to top)

    diff --git a/README_images/OutermostCMake.png b/README_images/OutermostCMake.png new file mode 100644 index 0000000000000000000000000000000000000000..2daac3fafedff29ba7c9459cc6723f413e038165 GIT binary patch literal 7670 zcmcI}cTiK^)_&+66r@U15fvpgL5dLKD~cizAP{4ql6AjJT}D=0-&q$30n2^~ZT z9aM^R(FBE1lokk0f+0dk^2__jy}vtizdPUk=Q}fd&g?V$tT}6)_3ZULYd?lqT^A9Q z69fPNA~(#h+5!L^Q1%ex=Vd=pAYOjJzHuOJuU`Swj>)gFC)|EuOE3V?kS=uiCl7lr zaL3#U2>^(G_lHRGI-RjPMoBs{ zpdZ_rxTO~MIZnV+-QPLzCYJmZ&=)W4kcDY^nkO#n;ADH{5ocJgWE$AgrLS*DHBQZk zP>$6=BjA-Msl{X=w4re~a@&AbfE+)Zn$`_n4( z*K6B>tqOo6C$WI10$`rFTl{JO?<)`vWr=t}K<*JJ;G=g0*!Z)9g@wh#FS`g|R)_No z&@iLs;c0@&a~YUoz}^%xlQ`2-){H>Snv||s6N4VpchdRdB;^p0#j|50>QY3NTA`Y0 zeH_Td!E?1wzhyI>0M{5BU9Cewq&s#L1|sPk9=UQNcDBT8mCrGwPG!g|~vqplR<6joJB z$Tz9t6CvKY`)W~cKs#odUNN=~r@(&Hq;u8R<^nHNl0;wN#H3&PD*;24BCOPhHbo`s zkLDIf=~!vp1$Im{tjQu|os9G%o-_{&>qY^kdkpogbnyCEV5&mlAE0EHnsE(kb}g*IQ8TJR7W94{tokWY~ zo9uhXEs=iahfXlENS2^*r{(Tx)%VtNkGgRO5wt;`x#sC|Nr24p^Md4F{M)?LW`p+f z3?+}{q&LZ#(mj+#$YH42QsuWinS*CKaOvVVN&%kfx?aP`wnsyLFjTU`IOZVzM%Uif z*R%@7s{Mis`&}Jcgzym8U&fp=aJJD->yB4eFZ~InZ7$bW-aZ-K@^4?cUXko3i~o`W zyt@{<9O-&Lc`@FpJQdj>NF%nWlj#l5?vma*$U=>{L^!L`Ln299i~MT!zBNCe$6nct z)=oxb=OmxJ*_T=)Xf6v?_@Hd6>S%M!EXiY%Q(@+MaZXuy>#HqUXtaCu6MZbxi_-NZ zAy*i2pv5JlQ57MIx?%~M1C~smdR_9!R`!B)opzjRq7TMf%83Xo9OxTNhe_g{xi?4Z z3ySmn_Z!XN;}{3JU??PosM^eAWX|aOVtewMhNR1qu|OdC+ug?%SiUB~(v;UzK#t@A zNz%_EPEC0Jcl#6T$Do&*h26rkm zCrYz)>399(r%U;rTV{z4*M<~BP9YW?QoM@4p!*(N_)S|b(qR^E?D$;F0N0G!jYe>! z<`?rw0w&u~$MK%85ut-39@L!T|01Ihl*vy^bT-mt`75tMIF>ZOW2~@i6@$Hd@0Zv= z-#oDHBc}?pMCG8_>8(nWX0n@OU+npcZgtm)S5fN~PuAj<@c32^432}3>aI&~v@>*| zVyzT!SM@#Ytz;b)C`x%LUs@^?xZB@%UiTqU<%N&G&%^Swy?y&j0UFzq}&AZdv}}w}E|CMDd%^Hxzll1mmpveiIKNS&hW7z@H`1 zyHnP#9KQmtCI|u+lm2%EzG}r-1=@<4ys<>@+vN`h9qj!GBJUoA(@rx09v5|`@CoB{ zwR68mYsh@?S=V4;85OxF_|ochP*vf zvME6>54lxY6f-)X2ss7?oGNX=FxQax?(&m?)RFSTAOT-vd>BW@ll9C*APe{d0hU4ZKwi~Q()>|>9@;ldH#1DrO|O~`?vKn~ zAS|BaB8_Prz3>DnM^>gBHABuE1|bKnT$R%uZqOGgWI zo&MXWfQIH=chb?pa}f#i42l(X=$<&3G0@)5+Z3%_eO39bvSXeROjhYqvx|yhS|-R% zC1sUc=MoMiSake+dTY*(!HQPzq7k?Kn39qP4Hj%YeliF$Y#ud_WRR){vgjX*N@FfZ z`C369@M`S)t%QfSEOond{(jW0{n_O~c2O8dp&t8r z(Kh7Xt<27|J~3-{KLl==zE|!gs(ARw+*SFKO(HZ{l{Wx$jQewyqZ&~2)(xF8-DqCI zeb7tal7}b%3hNN@JO=%UqJ2YXGh3rYoZ=-RHQzcZ5R`554v*p{4b+R)gq=1(QO4t#qcR>^|KnH2R_OI_`p zoy+=;$}^kBWIg-!!BMDTCMo6Kf>sL=&=2;?K0MFhKUU@FY<*G%O!b1wIzrO4bKdEV z@-%e>Ex7#k0>c^Lg4DQK^XnAka$i}@(PsSly(+;7BX~3@^kVD@n@}ZE2CX<)D zR^@-327!6{-Pi$HW4od6st*L@SwX1#VI_`_8lWBTpFg zo7{vsoXyL5P;=BFyTS;`2_Ynu9=uT#|7vnldMufv`phT~YH6@~BHwZnNIMmNZ8|_c zPB-OWceugC-95BU>jyRo{8S`zyo>U>Z8eLYVZ_7!&CDE3VIwPd$qEeNz<^Y-ewPob z{y90>WXGn6tK*NxAd5K9y?4aF4|4F)Ob+Fwqi9hS517hcVW|mLn5jCHKtv(5 z8#*-&bZ38{={}Ioz8kLmR6SNFB{=kUNah(3mg%Xs$rCT=afkPi1=+T51R0faIi{0e zjYvs5BebX8&(2@pmOAx}P%v}{cm}(|p#HdN%`Mr35oW%$m7wD%&Q{KPsgbh}gF{z* zxb1z*!KTYG0%~y_vSTjRXI>LF9-pl2^itzji`&uZpi%O%IMh&O?BfMf%Pgn)aPTt4 zHe`9!U5Xy+d$R(0ETGOI|5DJ+CraegtX}+vc1cu96mrjoYP85fy%Iz$C65k*qs88{xTOp@((=NfvDWRoP1H}OOq zYi!Zfo6r*|zIS^L2AN%M4+KHR#OcN%C?GOW{(g`Xc(Yld$NZ_&>Y4Bk5P#)}6%O8| zYY_7YtnPV0!6|JV{qkHOzw;H4OFD3Ofe-=_Gl6vWEb%qe?M9J4!}+oq%dLjIgptJI z(28xLo{!ISSJNb5SYmDKO|%Cw6EVDUfGnT<8Gq1YLv`)eQs9<=7UH-y_0u}e68PDG z=$W*JaCr3mn>zdVG@JB*_~8%N{?=#He1HU2h~wE3o0v;C%lohsgT@#fQ#YUcv57 zn=%I02E2f<~wG(lZVM$mGS7v7*lgZpQK)mLQ-3t>8Mtd;VGOCOgjzVkyL;sqB;Tf@7Rlxa; zO`=wn$z}KkvFR(Z&||JW1eW`G#KmsZ#pa8}uUz|z4HpNyjz0USfQn`}t54cAw@x=b zsV;PL{?8!XjR_Y7M{44=1Vl;HTl=f1>lT~myr$1%6&A6jlO~%rrpv28KHaK6&P|5 z@Z%3Hc-?H#)y58m5d>p1YLbDDojgzf<#o_?xjAe^yHwPpo~^a<#ZFDbLThs$8p)Gh zvk7Wi8~R4)OJ$y%Tm1Sb@3iyT54UN44VS;_vH3!yh2>UZNV&a1DWA}m?lPQP3v4>+k z1fk+7sU*8!{FO%&HTe;Pm!(~!Pq3@kBH}RKnOBuRSu{1JBrQ+mRV?wodZXR(>IK(# z4U}@ChL@erU`)JPrT*)9wd8Vn?*frXRO$v!CyZWhz!u@BZVM-T(F1dx2*U2DM-B2B8L|iyUz1#aGje?{~v408$e~NSk!uuq53a z%v{wRD=0U!t2*2&XaaYya#Kvf0hWV~#)~w@R@7E1*lDNajI{UJcsGdSzCF4`-*{_! zqy2FDLV-4{CZ@<)U}(gDnBjX=0y(d~Ju@L_GZ*2Iz&ZJ^Y@p90{(zk|t}CpjwrlW( z5XMqEUTLJeWKYqs+Up=}r>X03KF@Hndiq#xoA;u9^#i#yTJ{H_c;{m4YzV#NwyVp?vjOxtPM8 z)w<_K?C)(ebE7`Y9u=~Q7K?RoQ`NZYwkx39@CT5E!&<`NN@=uTlF;LAp6#qwo4;8^ z4kj6IrG=F))0>+KD|)vrAM5Paq^mXg)f(cH+Wr>}*d5JlKL$&)WVe%uBS_pz!^co} zQ@a69$6dL+;;i7qw{2@FAX_^&AndF!*95n;50BuVJ5mdZrF421!r&q6(TQXp`;dDY z;R3DJ$oYf&;rS`yJNnaGCJZE(qlR3RDC!oE7R~HWzItFTMwDgG)G~u`+@1Ku`hzE~ zDXGr}pq!yAi?`6|bnaYtqo>~M+C56$!zt;E8IY9l#JRoot^)MlZRCj2Txf3rX(0vl zqC*2v-*1TBj-e^2hU;bdy=;1=7YN}(^~ACd}$8gn+-ZALy@Fv#hQS8q#KB z?|CgZ@JG5*etTAI_iYio7~`W2*{&2CdNw53uV5z@F`N~->sZ^(G^I3f$|zKck~3k7 z1f9xD8DN=LjpIyfiPp5^L^5SKJ%804Z- zxFd2m-Dv#j)&aH+y&{16iq4>-X=o?QvBSsHD43_x!O8Io_lO@LzF6ssP(Y&J6gblY zvd@z>92FbA(R`iN?D%u39R$6%xwp3&bITHqa}@U3E{&Cux7+=hLe`~sMTSyx=3;KW z#KVj3SDG+C?bcP5!QjxOlFiKPc%eF`EBbtE-ImK4I85WRe29x}oiWS2el(IydPy@| zYIxn1l*}|~kI{Je8v$mz=QMDRI)+1*pWDSmM!T)FV-QLP?$_)+qdHujDq#>*K~|RS zPR6H>T6djLD$e2p>Mox=zE+OE@+qloc|X9&MRLUP!4H>kh!3wycRhL>5(G_WKr9ui zf>Xx8nLkm(!W3LFqKGam!=!Jjr1Hd1PQ;4zm-<5TBDE~Xa=hB(k}2@vvv>dNIV^XXb@hPg1;nO< ze1X(hmQgo^h9)^7*J8ge%EpriuJ;p3u+ByA71B6&iX-_5IkybtCEOp`_`X&LAI2;1 z+Whr>;P%(!c7h3&gPq0CS=`Xr zt9GA?UXhWWQNuDfY~$s6M}xM-p_i_4x|&QXW6PY+3MGhEc9>>Pi+S8}I0oGpTc%i? z-?n8NsuDsRE%?c!s*p2%0os*idVpi=dGkDED`wha-9PrEJA>Q4CA0z~*zQ*1H0JmL zLmmh!31nTsomRBd(8E%$rQl-#35_L~X}EJF&8lPEISBGl;AJZ}&G&(gKjP0f^dXBd zgT1BkkMEbrUVm4^106-3_L zNk+Sn39zqq!T{mP)&+}u@eV*W~!^7omaQyT-i=Rs-)t<-xo5ih2``pa*yb~e1 znJm@Qv0@YlJYEKnfFolB>BASi`=?P8$Ex!#&z=lW`xpz~g%v)pb2=~SZv_Wi2GQKY z21R#|s)R%iZ_jAZocua(o0O>Nn&472=GIOAKf-_;FL`EQ~V+98PgE-^+H7nL5o$8J^S58E>f#K8@^U?wJ_> zqQg>;KZxVEzQ$;;Ka^&M?xzohA`2sU5!-*9jC#kDwEx}2<1Zhf%8|;A)GvNqp>vTM z_`N9rN?TBA_5w#^`ar+6`QgDn)b25|91?!AXfA52HP(xBXaL5wcxwH0Z1PBlia5m& z!E#ofXkRU1sJ<1yB7hw!T!b8KY)qS^DGx|kdvu6g#%d#HBj>v-x6#{g4I?Si#Y&@< z(c%NYmd#z%|2~@eTR}7<%KE)0Y=d_9CYlW!>Y;Of2>Cc_@OQ8zP06sb@V@qs06u)p z;~liDEyQm{%ARf>r3Cmb$4~x1X7=Xf{51kJ@l22kbTQ{?%CVewdId6R3R?Tsk@swI zZ=BsXjzkyww?AnH?X4q&bi2DFF09D3TZ6Kijd^?8bo0QOj(rcbIjVe1)bH&FC8)&$ z9o}Wg^phSnw<2?puz{g)&;sGB9ySb4$XP;jINrPV>v=c-zz^6Gp*x^{OZYTaOd*}wjvpiu7HO{s zV8@e@gH$9E%U=m$9Qj3bYQGHdGD4kar z(UW29_D?=L{)WyC^B@z)r9Rg5)>kbzWo(cB@lnjp>IKu>xQ8bM*};7BDVZ^`sC(jG zl}9EqVX*|sDPwdhY7pM*QvlnjGj^)j6AyXH@u4+90Q