From 7db75a9fedf5f431065f2544723e2ec6f0d59431 Mon Sep 17 00:00:00 2001 From: Goran Mahovlic Date: Thu, 18 Aug 2022 17:02:17 +0200 Subject: [PATCH] Adding DriversoBSP --- Drivers/BSP/STM32L496G-Discovery/License.md | 3 + .../BSP/STM32L496G-Discovery/Release_Notes.html | 140 ++ .../STM32L496G-Discovery_BSP_User_Manual.chm | Bin 0 -> 1144473 bytes .../BSP/STM32L496G-Discovery/_htmresc/favicon.png | Bin 0 -> 4126 bytes .../STM32L496G-Discovery/_htmresc/mini-st_2020.css | 1711 ++++++++++++++++ .../STM32L496G-Discovery/_htmresc/st_logo_2020.png | Bin 0 -> 7520 bytes .../STM32L496G-Discovery/stm32l496g_discovery.c | 1645 +++++++++++++++ .../STM32L496G-Discovery/stm32l496g_discovery.h | 590 ++++++ .../stm32l496g_discovery_audio.c | 2097 ++++++++++++++++++++ .../stm32l496g_discovery_audio.h | 270 +++ .../stm32l496g_discovery_camera.c | 614 ++++++ .../stm32l496g_discovery_camera.h | 145 ++ .../stm32l496g_discovery_idd.c | 379 ++++ .../stm32l496g_discovery_idd.h | 145 ++ .../STM32L496G-Discovery/stm32l496g_discovery_io.c | 305 +++ .../STM32L496G-Discovery/stm32l496g_discovery_io.h | 128 ++ .../stm32l496g_discovery_lcd.c | 1569 +++++++++++++++ .../stm32l496g_discovery_lcd.h | 262 +++ .../stm32l496g_discovery_qspi.c | 1133 +++++++++++ .../stm32l496g_discovery_qspi.h | 119 ++ .../STM32L496G-Discovery/stm32l496g_discovery_sd.c | 716 +++++++ .../STM32L496G-Discovery/stm32l496g_discovery_sd.h | 149 ++ .../stm32l496g_discovery_sram.c | 358 ++++ .../stm32l496g_discovery_sram.h | 114 ++ .../STM32L496G-Discovery/stm32l496g_discovery_ts.c | 517 +++++ .../STM32L496G-Discovery/stm32l496g_discovery_ts.h | 203 ++ 26 files changed, 13312 insertions(+) create mode 100644 Drivers/BSP/STM32L496G-Discovery/License.md create mode 100644 Drivers/BSP/STM32L496G-Discovery/Release_Notes.html create mode 100644 Drivers/BSP/STM32L496G-Discovery/STM32L496G-Discovery_BSP_User_Manual.chm create mode 100644 Drivers/BSP/STM32L496G-Discovery/_htmresc/favicon.png create mode 100644 Drivers/BSP/STM32L496G-Discovery/_htmresc/mini-st_2020.css create mode 100644 Drivers/BSP/STM32L496G-Discovery/_htmresc/st_logo_2020.png create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.h create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.c create mode 100644 Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.h diff --git a/Drivers/BSP/STM32L496G-Discovery/License.md b/Drivers/BSP/STM32L496G-Discovery/License.md new file mode 100644 index 0000000..39e4194 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/License.md @@ -0,0 +1,3 @@ +# Copyright (c) 2017 STMicroelectronics + +This software component is licensed by STMicroelectronics under the **BSD-3-Clause** license. You may not use this software except in compliance with this license. You may obtain a copy of the license [here](https://opensource.org/licenses/BSD-3-Clause). \ No newline at end of file diff --git a/Drivers/BSP/STM32L496G-Discovery/Release_Notes.html b/Drivers/BSP/STM32L496G-Discovery/Release_Notes.html new file mode 100644 index 0000000..ebaa5ab --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/Release_Notes.html @@ -0,0 +1,140 @@ + + + + + + + Release Notes for 32L496GDISCOVERY Board Drivers + + + + + + +
+
+
+

Release Notes for

+

32L496GDISCOVERY Board Drivers

+

Copyright © 2017 STMicroelectronics
+

+ +
+

License

+

Licensed by ST under BSD 3-Clause license (the "License"). You may not use this package except in compliance with the License. You may obtain a copy of the License at:

+

https://opensource.org/licenses/BSD-3-Clause

+

Purpose

+

This directory contains the board drivers to demonstrate the capabilities of the 32L496GDISCOVERY Kit.

+
+
+

Update History

+
+ +
+

Main Changes

+
    +
  • Minor update of Release Notes template
  • +
  • Add License.md file for GitHub publication
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • Remove useless assignment in BSP_COM_Init() function
  • +
  • Update common GPIO configuration in BSP_SD_MspInit() to remove internal pull-up
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • Enable the Sample Shift (SSHIFT) feature in BSP_QSPI_Init() to ensure the read data isn’t corrupted when prescaler is div/1
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • stm32l496g_discovery.c +
      +
    • Remove superfluous settings of PD.11 and PF.00 from FMC_BANK1_MspInit() and FMC_BANK1_MspDeInit() that were preventing a correct usage of PSRAM
    • +
  • +
  • Minor update in release notes format
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • stm32l496g_discovery.c +
      +
    • Correct logical test in DrawChar()
    • +
    • Comment minor correction
    • +
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • Release notes update to new format
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • stm32l496g_discovery.h/.c +
      +
    • Add BSP_COM_Init()/BSP_COM_DeInit() APIs for ST-Link USB Virtual Com Port
    • +
  • +
  • stm32l496g_discovery_audio.h/.c +
      +
    • Add INPUT_DEVICE_DIGITAL_MIC1 and INPUT_DEVICE_DIGITAL_MIC2 to provide the capability to record over a single digital microphone (respectively left and right microphones)
    • +
  • +
  • stm32l496g_discovery_sd.c/.h +
      +
    • Add weak BSP SD functions +
        +
      • BSP_SD_MspInit(), BSP_SD_MspDeInit(), BSP_SD_WriteCpltCallback(), BSP_SD_ReadCpltCallback() and BSP_SD_AbortCallback()
      • +
    • +
  • +
+
+
+
+ +
+

Main Changes

+
    +
  • First official release of STM32L496G-Discovery board drivers for STM32Cube L4 FW package
  • +
+
+
+
+
+ + + diff --git a/Drivers/BSP/STM32L496G-Discovery/STM32L496G-Discovery_BSP_User_Manual.chm b/Drivers/BSP/STM32L496G-Discovery/STM32L496G-Discovery_BSP_User_Manual.chm new file mode 100644 index 0000000000000000000000000000000000000000..a48341988ff8852da2833767a8111f346dfd94ff GIT binary patch literal 1144473 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

of*W_S- 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⪼U9HkFhx89&C|u74>OT|yL3u9>cXPu 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±Zm=Z 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%0A|@H; z>5Y`UCiI3?8z+d@a@<5oB(l$ZxB3L%f=11X6ix@@gOUac*1a2!lD7egm*()yf-B7m(m6h>V5!SUgnxGl0_M$PU>5@yR=k zs>r9PK$Z>*v{4)TbyH|P?974Q(A0z3X~;_C1i>j7%=klY#<$-LO3=seNfd$F+t81- ziF-}-;4OS1hhK*Q-%2Kdf-hEvTVB$bTB)(wV3MP~-G>bPhI}5^h}&YRxs!}Al8256 zNuJ~*AzdVeU&0=MmpQ*UAtvOp*t50mIJ>d0ivO54pUJObDGukoQVCg_fl8SKqM0LN zERwwtNn))*jbW`!(U=xdAqWPWcJ@MTYQuv}iVwx)5v}^7k^=}M53E7%xu(hoXMEx? z+mR-#?2VwfwLCODXC{@DGh;E1`xvO?87r0JsQC^c#znufgU)KQD}oru-IaRNjL2j@ z2w)2{!j8(mv8Ftp^i?|EDu(VJnNAPZzMfa18gkoB$J|*os;g7R7Gn7RJ4))5=G1Pj zvEwIzKIZBT4nEh8=URBe6o6hy50JBBk7E>@E`bN)1tcBKm_M6X;?cTT34E|tXgl*0 ze{@#|B6slhzqJ+zZZ~-|)~r>J#YwaODuoY7&9hlFZIE;LRWEC4s%D6hWa+;T92K)R z;KJ`}B*AmNf-wq|=|ZFmeFqcod3*199-STC+9$HTx3y1IO)#9;8T}=T7=s%696KECS_aCvv%taHsxmuje*?YUKdpXCIgX>XfjIM-)%f_7$81_@aN(K-5eoOzZ{$+ir1tsaKxxZoj7;*d8q4S@XnDviLYhH z!j*q)!ZE+|_=zw8d5pJe+--AF0#R-@XYX4pVAj$iLM-2F^s0Q)-BY!gUrl3z9-1qN zOIJcZmLx=X7cHECI$*kYlKT4?<=F%bZ}RluxDS?ANnkBb{`yZ@Kl_i)zKG~KN#E>i zLRvjy=Hd6f$te6+t+1A(ziWq-4`_1kpGI?7Uqj~GJ_q-cVfqG9d}Gzq@)T5QGW?tV z`SzvCB&sNSXqH96)W`qfH2md^U$deJs6Md2_ZOAo4RSEoIfLZAmfDXhB==gmo^@_l zA9zOe-35-pSZmv;7GO<5;~$`)MK?=;(z-(mHt3WudQEN4kE3(8DhD(PQ&sJA^A%bP zoy&QW{Z0hna<>f9K7q|5^ro>q(H|nkv&0;6l6~6h)YdxZM^DJZR{s{3AKf+m82n`T z+v!14;8y;v^D!@iI>oP4wTmczafE?j1+@u~x}jaJtI*}~-x~y6z>gp&U@!Qh!p1HDEkeX7B}=jbL#Vra^4-h`jV(OPn6b0n zoaFg2I!RV;tlR;K0Er3MVXtI$lu8l}2aN6Nz?z0DCbD%Y2;V;pW`0Te+REL{Xr%mP zCNYmBu!V^Jpp1h#3BbSwq7YoIfF?(>&fa1qHj8F#^YQSg@Dh3{^~=hTn(%s)SNq(t zxn>UG9Oa2!ZwtR?t{vbUTuSIsDlWugt|9g3U=&{ zw-4Nx6|tX>eOpJ6=F%Gd`j=I1Q|Huq>p8ZXO?qh2kKWBIjyKTDFvU*RI7U^|^yjWJ zOIFF>GM4!{PJzAulUIh!X@pbRUx9mb?#{Q@$FobATd%uR-H!Xe@y;rF>eZwpPc@T| zP3op}roZ#2IKMt<@t;ysiM9PB zmXStr-lIpr8-oW8-xFel87or;T``t;BtSf9$@ri+?IAN^+&6U}^!~vFw6Q$J|2|CU92-+i#T0%y-mutU zdg_(`Ou`ZNXu{1d3h|WFK~9L!lPLnE!3h+k3Zno4gd}vir{kotp43D&cnc<`|B0 zlN9MoDlg}Bobk0yxy6kyTQ7%ArEF`Id0>;xTFfg#OUQzJtd5W!wl1Ufjy zNXcvzod|gsmd_jMr0AQbBz6&E<*=QT7Dew8!5pj;Az@~eNKZulfg=}_qMYXcGOF(Qy;C}AMY98<&P;{-d;50Uu52L|fA7%h5OIAUnZr_mXz zANj73PVMDY`*C>2VorHB>XVJ2Ad^+B%6#34s zw5;oVhjlwmC?CV>3f=~2Tr2}AlLhIliypaa$UqV@ogC{-cP(6zl7({22&S%|kE7|P znP9*Cr;^!`#`7hyu2?UZwZs*?hm_5TQc!)u>Yz7`2BwYlBuJukN^BERV#WqK`zz}Q zRz2gTm)dweiATK;*%BAl*FDMKexrA1lFXZ>!S|%$S%g;-#0DDwJogT;V_8l-+R>ya zFY<*%$haq6;WUS&t|NzR15BF2+F{Ai>^JCU7#HYX3%|mBp8d+RS|qMGQI>-Y%;Bk| z9fknETf3!UtGqKj8^C}M7M0#hK9I?F-@%Mrpx_5J$jSJh#L?9Ss<9OwWfK4%O@~m4 zF`d0TB}fj$?;>K5xwm5uwrdR%>vttGc8h5=&QK5k-=%($1i zr@&h02UKtvzSGmeygmhX>|S;(KgfsX@hXtexkAKtkA%0Be0k-FnlYztkpV<;A-v5I z-s!X8pyTHOjFMpOdWsFh#rDD{{IM=G{b!$`#f{1h7twt>WIF65Lx>RerxR0)_<&(4 zaOG!w>FTqr-PvXbDhp1xwi*1IsdM~kjF@D2>W^+?#Vs6HgET5u%FZ5eEG{V#1Q!$s z5pu(V_kq+3r}`B%Cv?R z|EmVGG9lk=!|bm!Qcpx9OorhbDFeoMwiGR(&E)_ zeXCL){w^24i^S8Q?0)S%0Wv~AJ*N*mTkAX(eLhQ7YaK&)2fPt+#>+Zh+4u1dol~>> za~8%=JcbU$IrSkowJ81CzDqPb0ChCzV7ddN`?Ux^x%}d2UFB7yDuH-yewf0etpU#( z4(E_Sa2rDN(DE=fVE`$)?aE6JbKZ0611tm!Stkq~v>K}iRzIM;$2XdqGa%sSPs*Bf ziFPomP~~aY^FnnPh%}i@``r8x@Yy4$clY(xeP?Eg6b9pzXw=L(I3z$si4z5Y6wqbJ zHB%Gii4zTBGAFU@bdsjNrCmzKN2)HLLqq=Orzy0_8S)*W_)kU?qsC!CxXV=5q1ua} z6cAxz1?(2JC-gcp{tDy(m=HE(8TvnsBZF$=3X~x9Vh!!oZ7o}I4k|{qgd9-{$!XSY zg;3PCav_oZ&(`X;_{MIrEIU>0K9#2s^2k*$Pme{#tskJ+|Ahf-T}3hw6IK zcms0>3u2*fzwNk+uuj^;bvpv>oPeN(>4;!$GEa9UtAVzVYd?m(sfHehJJQiLUk{2C!)v`9&ekDsQd;kF_%3?s z(L66p;ksg~A*||+6tjHc)7oDXPjeWpP4sXKp)<9zY64T8b@BZy?c2^!6bK;uVlq8~ z{Z~+*lMS0D6Ne7PPl`{R1<%gRshJM&0?dE6{C-NFAd}BD#znHOqn@gtsNCZufsWmC zny)y3q2x5(akUnDG&OO;7$0h$BxPIUzs(O>+15|zKjq`~5falqbA#b*me_w`Pz@y{Qq^!gIZ1@_UlaGCEC;I24hNKO zzkCL5Al115lVymhrgTLQJRvo>wQMx}S=dghyfZ;{5`JL*KYj9$85)m<+WcA$PPp0` zC!s)-Y7bB0u?NRyFC(=z+J zHQ{F-2ZPp_vEH@M@-gT`2y!k5@{ahdj)zJf|7E&+D2KDrk7=(m$My~R$7~pOf!U{p z7}O};`_hg3PC*0Botyth?eMrLiGgOPg@myIi`?8hEMrS|q8EeZTuS=h zsmZV)FMpgQ#=ztgKhLMmgSZj;NkERxJj495Icn!nc?A)Qzja1P7hKuUUxsRp96I3Bi7&W#ldi`4tsv4X>21qq2c-sJlQq)< zPu>GfZI>i>0QBD1hO8@mEJ4I zm!-I4y}XKq#q<2o3jBKfdhU+RDGeCWqv>fqL6K zQqLstU{moeN5EN8<{6~aQe2MLKNF{Rq*qYzk0*4LoB~IY*_=#f5U!Zcwf~sXq|V$)N?}izmKvz3J{nALSRB+1Drz* zh`vjB6ne{I`ZPuaQYR>pU^WmC0{{R3Gc`0c003`fE|jGJ0(e0it|qttENdgcKaxBq zY~#|nf<%G{yWPNK$)ijLCXM}jQ2qcQGXq640AK(HHr1-vTN)71LCs|VocI&}5Vb-b z(g-QW09!^`(Ghb9jhySgM_RG9-ZNFM+B@CCnx-1>r%KihG}bS&kr)|2pJpV-$Hfa+ zYQ~NaH?BtG;*tl~PQ-yTTOb$l01yEHni&8n0|UEvzujKN^Xo-y62~DF0ifR_-TY5%Q2Mi|RP>^Ckeoij|BESy_BEnFwlS(M$ z2p}p5>jC|^TdD8#T_XKO);{e$YxjR;I2{G?uZ=5WKl%s&`WH@HI_6up0!es<{hd7i zhi}`y;m0{|kFHk?Tx0n4sH)gDudg#THL#C zZOiNDc1jnxtNX^`;^Zy%G5%oN7e(yvho*UbF7QN?Nn@2G&@5>L<$y?~V}&pitO?{Y zo8!4{hL+o0-{0bGkHmtJMRq)Fb2%s7TNUrY5_oI+V5Ctx*89lM)?yP{kIfQ+d@Q+oRgS8f?Z)xSJ5t@j zvUtOVhn-;ZH+(kU0FJBO%d^c@^xP8Iq-n9@&Zhn)j5q34N5#Rr2IM3Dac-1chP-Pl z+}$5KMA^jv>b`N$zn0~S`9Ir!W&q9TtRK~O+VP`J(XG*y+>o;tkuK0sGx zZ{;tro*VP}Gdzes@TNxetS34X+J7z`9KtRKQ(4Y#sc$Ga-0}eo11QE89_I^)5G}s+ zMq7@WewWT?R@GZY@=;Wf54jg3MFmohQ{O@dqS41}Hy@0H6-iZ7h+w1!s(CGdsq&`A zqu?a+8uS-<^CX=&;yv%?vBayLi8Ov~WDZgP=-9Me*iQGh~@IpsBL-jx@TGWA>kp)Ic7W#GVKFJ$#lES zgys;m1(b#)$>Fj%bV+{5C*Scu^CG_vXC~uslT&V_wTiR1eJhT8!jqJ*k2xa$i`6$5 zoM4jqo_o}%hR+PB8D7jS}9dJnjCNYxz+C50JT|yUv9e( zvXU>a`FrmHf!m zu^JG7Pf&NPPEtcaRBy(T@(qWIm?8i)y@lko*-ASIH)Yn)X9Px8jaEjJ+Zf&P)(W(T zOA#|XVV2BoMjE@VlTmc(CMAHT#RF=DDho^MqHT4!oydLa=J0mIcjS$F`8z7B3TuhJ zN=2cCNa(k$txhPplseHl)ws(O#7NQ=q{W_@#0V`NsY}f(?Mh#iSwo$NHVNa19ukZt z;Z&QToO_{)q!2}PXsdvc4t+Qu-JhTm^_KSoDnbr-QE%-t-~Z*~W>K9T$~+x*8&o3x zijR03uw{6~MM3t733zIg%UIuYc%*QJ==Y7QnBI8kS@ zY1L@0g5<+g>{|!N1>;DIEwGEyfJHP|V0tO9&92mFiT*0YI-Cdy-@rGBl8PXWhUqdO zBHYMvOM}vVO=4ehu<1>!P*yM^v@e)TPp>Z%6ipBi99G4U(NEMUgWS>&tqO)w8qIL2 z*0z%NXVLh%CqOf-E$&J!UdvJFNwniwp&0@I`f;qH0wV}iR)Dl1iunnzj?8Zurx#DM`(mO8Zt< zpJE)gg|0)Jk<@<+4jzI9s@)+t5fxDwNLzXksl#byu~bc?fyih9(jCdDnkS_k zhvpGm9cWrynrS6^=|(U`1%*(OV-ka;yU**@-W-Q?cGS)==t{D-Iy8}8V*<3*b%(I1 zmXiV}f|!IQElN02G|wYRft=L#tDcS0KecG_EH?@d<^Dp~aOQ@>7cV`-)+uM-9yjoh zbmeGEgGsig6*yZOrDl3wU=HnC)H>Q8jr%Ogn-XKV}_^!3_ z6oGz4SuKnvmxig{rud!Od1gC~a{;hfnI;Z?=<oygF=KC&1s0?No_5_n>U(uKnm`>L%)KzG@#-ah^YqS(-dgPmH@ZDPp1*ly(Z;}{y)F7ZQSEA)y$dnRgo_XmCN+^5M_q*5p0ZW zs51(JmxigR{_JUuYRdEfa28p5^7chswokXS%a&|1R$lLkce%R}p|u3xaE;IgfWw1X zu1|(+g9e!l%=#PX`CTG7V=6Hp_jm|Wj#c1L9((g3-#;~lA2Q?5Ul5&j_I95f4 zH8f*PES=S!n)Mm(CEZ{+l2L7I`1TR03}!T8YI3uK>)_!r0JOzKkW!m7)xYL*fvQ-8 zC(*oN+*3SX?_Rs*EVCfGJ2Do%WCwnToN@Vjv{wbn@zn0#Gxl(a9+*Zszwj#L)%=+IQyIwYMnm(7G&^># z4qKf!MUs;99vinl=wL4faLBX2Pp``k%VP0YZe>TD-tl*w=W}(ON_30f1zj+S_$!-khA9BeZz) z3(({Q@Rm`YOEEOhxrOzlavNm#Dt-1G^h+WX0no@Db47Z8BH2tI^J1t@qek&A&J2(} z&G+O5>dbCSbAwM_S@!uj@4|R6ao`Pk&wh6`D{VmSM{T#$gzV1t*Vb)$adB_TJ8wQT zT6r7{&ML!RGh+oy3Zu!_v-A(xRUT(CmLR4L*6P67(*NE)z3bk#?p)ipplthkA0)lR zm6dUX#uAc-s|#e5!mU_+-?MtARTI!#dS@Or^z#NT{<6xi>K@_i%x1s8(njBpmavTP zt4H1mpqftY`-ry6#ApOhGhLIpK!^Hg;~i2{>X#n z6zZ$}R~-$aJc#JR3eX61pnsN8{8hi2WJXlZ;kza9rp0T&`_=nA_sc5!fO99bI0+|i zcR-Sbqkk@eLF)W$J=RA2NmT0q8Mv?pf<#( z{4iYt#cr#J?k|QdoW-k_q}V*ub?8i|?h7B7i$&o<_wnz`SP7$KotVI(n$eN{ZnTYtOrJ{J95d-2RezgRSGa z8o%*R~^EVt9Og(Crd~E)fqK7DD)%mCX5cls&#KgyxhOKK$FmI)?RV{cF%V z!dVRBu53q0@AS+-AEwDz!CJZ3!&LNuVhkc;uqyON>(PIJXTGI*3dx@{>+8}^Zs$CGGCMy0}Fg?c8)=Jtx8n4hJ;5;gR_`%3rsyF; z|3u9p{3##x(WuXbPw}8?iJ@ZQ}&oFNrQAg1(LR96Tf$*%#T91Z?boq9nvX5sRXzgK*&})P%ypML`n~ z7}X>XWWHmtocNe8?^Sr!7xMW_88snJvWHhq#E1}xlvrAxChimJg+Uc|)hjZTuvqGP zMlh+LE1|FE<9TS#_~e+Rn&Mp7X1_06ARO zujQ;efqz1O?G5pPs^V2dhlwP>~IH8>UO}S=-G;Y0ryWI^?GE(h?PRKUsR3 zO7G&omW_yk$l#3DNM2?fGPtc0P+Z_e1odac%(h(57NNzFhU?i9K-DKmrt74F^$&Rs zht#9i-KA4->+6|iYZ7U1muUU9ZGKN?ntWXnHPT+m-#hI7FCaz+?-;`<_fZv0Xz3e% ztjTolP3ud*gYiGnFz)a8|7%LLyLAI66DpWhW|XH^O(b16>|AMPv*OAsw0;D6m{H)L zqNHiS24m2Uh)0#vBRB_CB?;kDs+uLo%T&zs5MB#!LnU1YGWsdY`@>=PZtwoP@0-i~ zC<>k{iU*uVfOc}wp8U)YPs_?^dgwq@zkzz>WmXUULBb0Nl=v!am+0Z}p@TTA%>V&& z>YobN0=-+wV}%na_vaJ}EpH5#GZPr_nQ~9bXfPD!wx_H#Fc5f3_Xf2*Ras#iepi}y z8fZ+A5@zExPvJhp&6r)#%x_$Yim?`^%I zMwshj>&xt&8Sa$mT>)Nsz2e4{TAIvE?OqedIHB^j>MPtQBhZgA+1gs=09M*Ei14Lm zQkMBzD;aXh_Q@xTa4B|Y0{h@E=$wggOhasy)_*u1i2N6Zh*+0}{rZQH#anDKTtC+J zD1H$st_uEzCWHMoCPlu^1C@!0ebx0EnHab)iipHvy*luixvDP;*;#FKrSs| zmRFuANYMH#kF>Wk9&SDDZT)=M|1@0RciI=m)>2@0V}E~^f83<%d+U2Lb)&KQFgZAS zY9GqX&03RsUku5xPxLFZl6yW*aFgnBf`I?;N|_1R7&j)V*ABgJ=5Ycyz8Idxeq+Vc zX`p+3FA@&?~p8JxqPo*kO5CGSIFgf?hoQ-5OJFr;}J0tDZ2KHpkY# z<)=mDUhL#zA*Gj*=<|T^i6$+Xn6jo=Elg^>Kf&abt%ZNKZ@(n7<7yJWq#;FI?Sv>r zlb(4*Yl(e^Is(|tFP#wVYFCM=qfW>;0^hnTHu|F1}6sMpJ)&;pLOCwNu@lC6)n5j^m(O3Bz8U_Wcy9})C&;TL*eIld8%S{Y>j06-8B z0{{R3Gd4ve004h4pG>kjnS{?X?M@~PbAgjxE=;yiw+*<1 zz=6W+-0dk2RTS;zyF1ZiR7BIoE?IG_yET0sF0>Uu^wGJOOSI9Vm*>`7qC{uTr5Tnc zA!KH7egJ?70M*O@7y}sZzIVI!wxr&6%--#i?HQ@|ZoBoVU7NMrJ6J;2g(>X?1Ooyo zVW1&av?d8|`vME?) z)93VqRtO^5p9zk~5AJ3W1R}q_125hZ>(Ud45itkoR@a9*AnWh(NKda#e-YLB{C;>O zweTb$P&syJOBKx9tMaJdlusQ+JXA=_3yL6-JXkqu6F-kB)$($Q+6HEJo!R@ zv|bt{N-ahRgEfs)g#B)n?;5zH|F`7L>T6%Fjj@J;JM*HRZv>A?#1Ld^+mUMRsHE(^ z-4wXqtcOIRdOq_PIng5O{TM`Q5l>k_3_I&2D=gUTlLqrPG)h4O%0%fpq)S_Q(!AA^ zBtDP5{6IcU#XW{2Lgam^d}qcHii6^%(*3P1EZDXSOTmjvhR{}^7ni*OffYAYWn~rp zROkC={d`-#j$J-kKs37SiuHsAHdA>q)ZFRizP!`-J`9#Yybkh(j!JrgVAcI+ZnCtl ztIo1|;?j@iDJ!?^t2gzl_JxABBR`Diki==ktSO;!5;em{Ln&G$T>pKhDC}`bZdgRG z>9!t!xk;5mNVIPl8nYr1%X=wrRE*S)3Cn%AWpqh98ertSCXuw!zrWah*0P=s-l26K zw&^Ex9i_5qd9SI@@Vi?Cdr&r~NHF26T`M*g|+I{ge;m$)UKwY#^t+M)vkCP-fhhvp%$MQ!{(5-~V+_l*`wn?2*_+n-tafcnT4TX=FTO3kzktnx>2cUZa1Jj3?J&*HXE3$&-l`yae1RIxE|>qB{7 zf8>*f$N1}Hed4cLyuXw_E04&hg%682iDk*AIMFIzN*d2U*m_h1_2ThMBFDBrHzyrS zuw9Gr_A>ikH%RFh$T0g%e+A56jS=A3zz!iYcC)95jfWWqfr40hjp+12CJq4 ziw-H{H^$23mIQ^F&%zqEPUPKo7aPp5!2m))`{n!Er&9~Wi$G8c#+{zZ{7y);94!q7 zFw;P>Fo`5NparVq<|q$cyIP1}V_VT;F`A`U!_SH)8`#G7P4zU+esCy8- zvmh2bF!ug=3pDmq@$kz`7NG{8iWB7o@#VL=Y4HZ2uF3oOcHS9}|IwJ;*{ zd-ftsf41VU{<^{dYwY^E#Se-tST|U3wi<1a_?t|XMWK#?x9;eq)nZ0W`2mN>tAESG zY4DSO{h7?~zogcm{Qxo@jB;`K5W_gFV}9}3KZ28N@%XI{=59O|0cgAl=~s)kQ^wJ< z`CXiR%wtpIhkSvw03hB+Q+NjR9Sr? zYt}QJ29A2Qw-iTPdx(5>B9KbqhTVjF%u@S?Or&ReSR03DTSjO(W8q`GRe%oEhSSz-kvg&Hchokq?Y{QU z2fB8nWM?TKPi`E1Uh>e~f9(G5G%DHj<2y@Jm}h%NKis%azk@tU7J<1l%4%ny6abub zVXvfWpsEB7IrYgTNdRrxKITKqS*Zg?8}pyc9910xE@paKqKJ?ZrD!O$hzzk!RM->a z#H-^`S+Y~4b|-T8p+yg`<;O|JuF1{e8r4o*BsjR&GFaN3#CK4s^fWctt;Kztjf7PU z+)hX>`T%yU?LhP3$w{tiO-AATq(MtE`FeNuO)Sb}%aWw>gi-y$^FfTt35X!ZAqGS9 zz|x{-%_WO8!}9W^)gH&>vrAt+P@W?{vjh6-Gg&T`_6u%fBi^mgJ`cjhJbU)G3l30~ zWX6h}C{7vIU=;9oftneM+QlqyJ_EDNlg=bpk|Llm(Mq!^ywsPna$mi{a+(v!>gJ)LyPv5dB8_C3w1&P|h+ zS0w#<@u&Y;W}($`HI`bkzgxzqHP7w4_!H5Xy4UVC9)?xxEcaArA7=(Fso3qc<^t)0 z`@+>qSo~CjK*esdl9G5uZX@#ggA=0ngB!Y_Rqka;sj0?!%qB=;l8t7e6N$khsF2UP zG?q$E&HS&{SGq$kyH2#*y0n63L-wEhE_`;Wz9oyiE#?fT{Lamx-umg)`PaGCE1yix z)@*a&y*&>e^zTjWKQp?q54(FlpKf(W(ltK3&8=^Hek!seTl>W{Fyjh#Lg-;fRx=ba0T!Sw{WAG-&UPOK{$=Yq8M}q zP>S9_LQ9h-0@CxBN#E)b6KQ{PEQ>0QvGnYEhS^lMax=^Rxy4wQDbI5-8Cfp*ETqsA zpfqlL_DV=ZC=A7RpH;NftAr<;4e)hlh99o{VPg-_)l^SaGxqz6O3u#nK>2jaitDB2 z0AEvJT|Md`ZC9wr!bGd?3$$~c{c=`azNn$R6#5|?WCwn17pf+LJ8|L>RWU)$5t^_2amm0hB+$fq@S;@SjtYL^u!O`=>gh-H3(}a_W zaqdKJf(DVqYV#fsBV=fWy^5j*OfLz{blQ%^lB?4PBLSid3kj|G5bl+nL=o zRNf83Vm(W0CY)-V;!saW$-7XHcM>LQ>}fCmZuhgFyO2*5>YbU4FsyW@uhe9Pk_YDk^#E`U z5NZ-hGw_>k2r)x0b}@IOyo&r{hRewLJG*qzMi}U_m?=|X9F#>wYFwh? zq>iIOG+6^9fxKw4%YJKIE#(j1spONH=%T&V5jO3OR|>D$5=CCFNxSMMrtIbpa~=V@ zNp4Zrg`+$H((11g*c6i`+l-8lgrYhPy$T~gBD7OnrI?X zKpNpRF%i!ws5y%oPptsDOSqM~AWtqBQ=nVBtgPNQyKH8ztDnB~vLkp|x z3Oorx>Q%c220!lF0eXFGT(YmWEi@JeG9eAK1Vjv&M`=pbgeb})Xy|d0jETZHMs@w8 z-y=c01X!se zWSwE5PZ}G=7L@on(HO8MdLeuY!Gb9VHYIgV6Oky$QQJcrs|yb7>cWcn8O2A1G4YyBs_b|oKRmqk5CT#j6}JA{7I;-^?Kwk?ZggfQLiWSMswq1lUikm z{N#BR@j|83@acbdR+wYCRFAW!&LL|oKq*oKr9MXmI^>qnoRl*UF?CI{A+C{)$?j;Q7K z`6eeTQ(Su=BbTnAc!^r;=4wW{Fz_G|<;}Xgog;IAL_rdiL~#gW*~`me61W=1jbVVP zq-p!lk@7r{GXx^AR^BfDG?NEd8wxnJ zyOOiWnEimCD3*|H&%xq#FiK-rbL1ORa7v#jbsjZ1*`s$8o?oP)C$8{N`5WffR60~^ z?TG3T@c9+R%w1&}K}$+A_|&D;LaDm6Bc<$FQQYJml9WFUr0nj9 zZ#q)LX&TBfFHmAwuN!G-3hK>j7otSmQPOeSUG@sp|X1%r>_{;k3{s2 z@D2RlV0QOsvXv3%*V}gobN6|#*iXApRkE$_pO827^(G&u}} zjPAPe%44qbcn$;R(mMwy(y1v*QTJ)Jmw}CE*x0?ZO?AI+#PIAe!qc?0t%e<^Mm_q7 z*IB+I>1s-vtZ!5M-b5H9lN8I0KS62p;xMMP_S7E^;~_OSqtl8~kYGXXgTHi*p5F|W0cmq3FdcK5_hJM6Z@e|s^Vsx8yvgWZzL0WP$ zH&51$FN*Kjd~ zTi@FebN1KVbfdPbk=0-2xfa9`fBQ&<31Qcv+1roX2!lY<*)Cu(+_wpsMxWxEt8z2u z`L*tq=na5gp}c@d4`Zq}Lv=zSQ`M0|qj~OJmscqg1{kx)%{!;pv;L)bG8w-~?MdTn z;6$cM;I^X;dn#n~MJyPW8&BswD)$OvvTZhn)n#=OV_)JM|L2Z`cPKvA2NU@6;7-!1 zR#0t{rrzD`A=vDW57_L+o652-T6??sTIu-PbWuB%e;JZ? zOc1}D<-FRML$S>HN-PuN&_YPl;Y<33=m}H%RAtdTh35*2Q>qZKp3`qoWs2Hfbk?c3D ztMe(Uc|NcHUh7HB(V(0tIV8BIoghs^g*B0i66F!|4B85sQL3=bsyxYc<$pvrGw~10 zpge~?8p>dp<<@Cre9Y5C-9tcy0q{zn1qgFUTAC)ZkT1GBb?f(AyGtI+dM!mxz-g=Y z_iPd+E$VARji#Xj1mG+X1(~Rrx0A!tFuaYYgyOR*Mj5MTwkng8AyIOQm>!7-1g?0E zao*@>i7aAg78RXVWz%KNHrI0G49l^v*V>5=h-xep0eHe0%9g|cgDl2;1Q zOe2j5(S=O68F{`K$U>NiQWtG0f_15~0B;3A)}$12~k_=8b{J z9-ND|66c!qD@%r`(+OD4i_Q=vNl?-P!wNM-K@}0B$)LUL{C3@|Zky&(>7QrUyHk#J z6`LL0Icf>F0E+G=V=L)Y(&SDEu>c6kqr*r^LL}gQ&|e-lQedelt^NZ&fB13eyr4Hc9gW3KLB;1i8>a3Zq1YAs;N3 z8h|v8-|ylQr3#uz9&yLV$Rh?R3uR1#u_7*<0Bam!eB#!l=uk;10?{HTB>KXRoY`qT<$%; zi0ZD6v;utUg<{QFg$ ze-^w~SlL0f*`gCcqwDpYTm7e&Y`)N%cXb!=?Auy|$kWVXwl`k}%Y-=hEDbW2)kteh z=Jeh08k9kAn$Cg|cC@-_q1qgTg?M4JBEna6mukz)v)(Hhx0gmsf_yc7Ic<{)tFEjs zZZyIXysKGD;bppKwWO6a^AVolbS7B>E)YL^5%4-GH zbJk?HAtCcHZOZ#YlaKwoNFCA8yZ?eu*xuw!1`tC}B z7bL50rK7l7yy#DCJ?kPh!ElAXB-hEIB+`l~dW4sFaj+y|uGr0*$i;o53|i9yoz*Z~ zNf+Bl;ALzhP*f2mm0y2L)|Y!Ll#iAd-Sg0{mT%b~)>T+pXjd$WI+;JHt=ill)N1*` zlq{a4A4Hzst1v{dei?I4$Fr-6e)k=^gMwXZ6&<4JTd0wDFquVl5P6R@^!~AN_3@%5 zRaSm-VrQBFi4YJ20000pL_{S30B>YImB#{98r6vZfpd38azx@b0*+NgNo^xZrE?2# zH!y`)JPwbpNPpkQzW_vL0E$Kcz`y|99sO3ps44rjLnI^!!M`2a6H`JY%`Okll7g{p z_L~=XS!8XNz5P;E%+B85VcKo?zPB~C9gUAZuv?4|qbJMDS6_OOgQ!q(eHdQ;-TvdN8TD`a4yURD9czyd` zRUsJFI{`C2JDbYUZe(lf?$!lSlXTTJ^FB!B*E@nRKIr?v(fUb-5(gHuw0?xqElFBT@2SGR^4DtWngsR zS_hT3W?iRSt#@Br5Jj%y&G#+)z^eq8-nvmoAK%~K=#>3 zd=%?GNWG8o<&lZ0Ubpu77C23=d=YhvlvBS6sHcIW*6n}mu2I8cxHDe3CXI|)<}zmf z$c%l%0kSMNUuaCO!(BuZ<$bQ?&G&(Ekl?eo-9ZAYx(043EC( z%YBx4r2lNyM%8s#tJl_BE#?9g?jd0PUHydbm|hmFNEaAhm+?0G)lXUSjPKy3wWXw@ zL)KO58fV>KU)g1AL|68wPlw9;5c6zz%Hiz1#-OW!Rj zzC>Jqib1b()N#1q220Q)hKt}Auuqx}D~~GQB8m7%(*{#H?|gL+y7#inh*$_5E6hJ4 zgPTVfUvn^>4DH}YH@oojzQO;#WiyVl2QA*fOo@dNxA5q(%7c@&sMtZ!K%F77a$}Z5 zKoepGZ7`8xaHRo2uBI)srt(+0L)A5J{#3pN_^7DIycYi2CelI!)D>mw{w?2_Xl*-| zE-5@7-=u(K=CF-(C?iQoMgz#%zQCr#RZqn#$*Pb4lw~pcs>_>7zSUYkfmc%&9w3db z3)M#r7jB<2kunf9`@%(deIZCm9&1*sE1ayrnLU)N-{R1;aP!}1SFB~Ru?ELyB{7<1 z@(90n=NUe~1FZh3H%@c=I z`eJ1&&A<0w%`UE6|7v#C;>G1@?rk6E0tfMLdY&>;X~NbW1h6N{ycx^@s$JGQm zA#9So9_s6a2Y*odmp(;~9Jut)c$Qd~C-WJ5{uhEy?mk#a__t8_o%hJ(#=VmFJLZ=0}gt}z3l=9-j2HxRkca!Y+6b9 z6}z0?C5M^2wD_rhvpbi!z|C=8p4`r)BhaVgcL{Q4uF)=b_D4RzgK>8e&TsyfBl25y zx!28+_u0}!XMP^}F(Lm~^m-{quuX9llc9ZROZ25!ANe)Ur8&O-w+!-c6u z*3-JxRd(!N)%y8;#a*oc0t)`uw!9Yc2zITQ`q!VUOJ1Axc>RS>Dk^mn@#1^C$K?Fq z;hyEMOMrapc-`D~J+`v4&)3%8t+l27x{Xb0g-Y6ZoB=!F)~xH6>w4_e*zZ{QZa6!X zG3C4BgA3>CSHkfr$Pv4U@UpYntDJAEAI$&4)DzxqBR&a#Y(3!%mh}nDcq}BpZ63IP z59`WQxZ@{Pcl|2Kn=u`?D&f)UQ}h^rpS<@x%hO-5wHZX>1AXnPp6{f_rGAvB##vvA zQ;W;stj+c@zF}3>U-hx_n@au48B9BkwfKD3-`>T6nui~YycH|^#)Gy_jk4~`FDOAwTzNXqzZ1ua%2I*XXMKh`1Orbn37o$E8ru24ur4~h1iwX zNOfrz--FT+8emQy-6UcT3mbXD|w-F+ZGl>kr ztm#9%(g}IUxAwrgeo)k)-pw+eVL6PM{>nd|%JXz#@sWw=E4RSheYja&;O?H3T={;D zRIVlEA-tgO6f`QlvT~?X>MT9pFT3hd!~WjB1fTAYZr>|@7ip=baa|r99TKQJhS1@p zNnx4;Z@FL6^mbmwZkskLZ$|QRIpn@yaevUz?Je9GK)o24&T`yGYuL@raN1D7EQ=AZ zjN5lWqbK5P8Hb{rhC8#o+g%)A2R7C=-h{=3! zw!0tu>^O_I7V5S|mpmKo%U|6Ra}Ri_FFp@R)F5>Ozhsw(yVyfC1zJ(fog&ZY{YOV- z74A?umsl{jh@!$3`V-M`TKil(b=mec>qK;1*98}H!K`*D$|4i>Bto z%ImD{Y+yJ8rypFcfYz3(>ax3MmPVlM(vz%=S~!M}@VABZ51kDw+`DGCHET)BtA)Kc zOE8=@SD0K+k0bZ~INMojF!SVu*izsUS{nhhK~6ppGc@r>tk^It3yN`g-in!stS+%9rI`)qN)K=OkR#o-0D_m@GC5b8}qi{i?^JnPW4I@hYstfc%!3Lm1dP zxPpK7SCZdSqInxt43Z6wM9MnN;LI% zsGUK)1=EoWDje)(>YWb<<`qoQ(71V-@+4?IUk{aviSpabRxYY@umjN3Hm)oF`jueq zEos4vKqDK^B<6s{kuqPka6*go%)<)KozPB@goiJI`$5^wm|v{NP$9x?zOPZt))dgi zo#hUFy~)&kf{}w5J6){ls+nY7;9>qYk}}Cgkb}pQVMgZY(U~w3>I}9@u0CVfA4d@| z!$;FMUpy)DjW#-QVoU}d5e)wnp`}tAj6ms%X3+cfp{8#TQubW#aR{d7hdd{?o}jTPD0T0rFTb(;gO>vzMt8A@anva0FRh4fV^R;<%ORr2RTQFY$YU2=C!Maoqn!) zir)f9kaiJt-HiZuXy{XJB-1Z3V&d7Dj+-K8^KGZOm`0Fj+Y9DjWMDMQeah|9$#DhDR$mb%xNQ{E z;4OzVrvZu45`iB?(Za^rzVU<4SEu#0PBq@qslPwX>SN|qnt}P$69lQ zF)UcX)}KFYU!M9jb~&-`WX=Tulo=7G4e#P5%h{a-=hhC$ zrk++i44>pM-MEx)_@Ba9C_h(LDM^|=Q$5MEf%@E!YTX4r%LDB4Dm$HQ;d@=i-3nA3 zR8AkJ*(#t2o{7z&fGTlL$pojzZ3zM?&ejgT|9J5x7wIhN(-YdRw!nty|JqGwIla;X zz|!Bx;#s$Jp6ycQ8GTE@yJEL3p27L)bM%&7woj?TPmQFN)oo zm6JrY*Z^eYa|a27d;F%Uj;-#4p#Kd4t8jNVg}E{n>scCoGkiG(kB>Vre*Vw(&y@;#rr!^TNL3VBNQvO*{`m>Ih>V@}`|3>eI^J7ND~PmZ zc;H6YqFdc=IU*9kt8`$;fS%u5&5S)M2;OeT24V{1?-CIy-wkiJxVCSSsKTOO-Nsjj zB_*K!RJx#z^#4mhyF#@wpvSwfARiq{uLjYugN)4gZ*$Y zbHzk$0*8=L3|zw;Ui;aOC(Q=r3WwVR$58oT7eGYP3Sr?%SXdZmB}NPyX2}S9{?Xna zsfBZBEq88nnRYbsiO6$=te)JmP_C0Gp_B|q==RTy>o}ei8-VOiC-Cph3{C+ua2Ucs zQ}|$)W!bJ$nGxhJjtwujezuF&UX|)8b-wP#bbI249Y1d(`O?5Q^UEB@*SUcK*EHN< z+NbAHYX37JX!DtJRYzz~p5_FX{~GPda&I&S$68$%B^JHkXn1sX11xObWa=A&oySPu z=7u+?`NFKD$y0n3y1$9;W%>*EZ+^}a|MQ=k>p5l=?SB+FtH+|eZ_#*C$o#aJ2v3`p zLWFX@!Gksz<{OgSbM9I}y)2Vr@LP_biydA?&POwGxp|ayJHEijG>+ahyOjBrtpZ#Z zJS=yK=WkbhIbW=j76Mk3o0T0(Wu1!fy4XeBsl==5l>Q!5l8*kzY-;FwS-L{IG2nHv zTc1&sT=Vlr?QPeA^zJ-Y`7OSsBr{#kayXKDrdF(dbmKLa$|_Fpr#^VVQ+sma+oHd* zoZzD1TRA;Noy*{8xgprx$qrz5s-!O8P5O8T0V)85r2JJ94prSz*F zG&=jU)_v0NgtQjlLwXXmQcW{Kzgry*{W)o2jl<&?Ln&HJzfYM-0NdXAJx$!yET>fv zrsmFibHSr>cX`q#ZvXMK^>w+gBYAwV=}nZBm2i<{xtmiS)TupM`bPN&ue?e+qn!R< zbCMokPryK?NK%22Wou4(OjF1!$O|2!VV#oSB1+Tgp4pgD)P4e~g3`rx9&%JJSHOqq zVQnuIXj8-Vw~|x(`0p?1!Z>I;@OvnJy>qrB8u!4^Vqo_rxvB5kJA&(Z`CtE~?z@?z zjyY=qy|m!J-j%{WUygU-kL!Qu_5q2V zoSVPb7@x*K#YJ>ClFtRVqSslAXbvQT3%TGhJECQdEYG>cWRZiavQSe^hzN;NAf0ig zgTr(H%m=8nY3ptL#TkI|@^YBuAwVOL1f~@u7oBW5hJ5{D#JiX_YJ1aGyh*%v4C{f_ z^;VYAVgcG}il4XMu%7b&IQfCU9_7YzO{0OgcCy+L)v2cSu~F}(R=#cy+pf82X0}Yk zw=Qi!iO7}iJzV~^X>1n=qfl8P6ve}s6eNjkPmmTAG-;eP6<<5ziO~1|{2mp=YAqdt zWrYxG_Xerw#+on`+9H5V=2mu=calC2-SN}=Qllceut1mw$lgSWWUi79z=wtvgd2k7 zakH*x?5I2c{|(-Gq{O5O!+;P6)0ZefUEWreK(0(E+ZH|p7Qqu%m4rvqpqRj+X*~cU zFNPltD83mqWjLjvkYLA-rh%A}Rp|WhBAMe+t#VSw9I#TOf5?S_krOIJCmD9q=tdA< zvL#9bCjlf8SW(7sC6H~Rx`9pogJm$3N3+&0RU>Mz3v27(C74Fbs5wbx8yU52a6?;1 zV?%Zo4@#z1>BCZIJQ*Ps!i)j@!=f?dh$0Cmg%UBFX4XaoJBH=CdQr&b!I-pR$OLwP zA2^>Ghg9h!=~Xgv9qE#*XY-tvwwXgPkyOa0FkBibXEl%l9T@3LMzRPq_0H9dbZ94o zi_Vge5Me_FwH$(A5h2+TSFYn<)}H%iXe=Wc6>Msa2q%%oXb1?YcxgnyAw`q9wvFQa z(Y{LAn|RLcKS>#r5XvrS8ybUP=ml}D80@l^jpd41VC!o8t85q+rU8?cZ`9I+5BdK( zs3H_O4S||i0)B1SZz$W4LWw~xwID(eaWJ2OGBz}IKy1Q-7z)}o6~g~9Ii%H@-swc6Yt$<}Y*)>;2b(gtbPc=5K4o3?nz18tciFY=ZSC6`bTn+;nzO4-TiUhj zmLnMm4fz9s5dA^@g#-od1;|1818)~p*nk3Nd#UB!jrns@7zO@tt3pkQKY{>R8o}*u zNuyWR1l$ptv{DTL)<-xk7oDHL0v$D#&);5Z-%_>Xg1mQTytdc4mEnGHxPs#I?x7iO zd&k;oU)im;cYjve4zX(+9-l5r43sUc%O0<`Irtm#`Sbbmb+_lhygq6LY1Pf;#gNB; zWw+ab#qYLO^2;4RFg`q8fe(MA{E|GscUuhmwke*gqT3gx;`Fw|1nPd;=F-|@*T#?5 zz}IWC&a)M_&gmc93HbYHg_E$8mEQem{J|Fi{!1GROHw=RU@}@07Ux;~3!itVk0g>o zJGFzT9?nJl8)W6Th1|G>%5o37ytztVo8S)wVUPQyb0E1SsrpKla>uDvi^8zkFRtKM z>bHAV;g;!5__%SimAmjSUpyCKVv?8Qt@L&#SE-`1J=V5z*Sb&sb6dMeaUaWETwi>2 zD2S`#O5grIjaGc4a9}TrfpZ6#AAra6#C{cmHWoXWlc7c~R|b(`2mbm^s&$95u$Jcr zVm*9oPwkhBE+g5O756V9-D~rm;K@%8`EvorBLR9&e?kAUc9zXNX|-M()@uuHJ=?aH z?Fi!o+W#`V8j8B!s#~go=`qUmwU9S*vnWp*Fu!-08&Fo4@m5v5%Tdb^Q!_DM3>L@b z*p&E8@$<_kshN7XZz{BBwIE|53qzrtatwr2M)ULsI7ydZOa5oi{WCo!5EoJ}B8gkn zlsW1=zxn8RcD_+_@hBhSW&8$d+}YP-@ucx)s^EmRMpT$#hwogj|^B(GXoD5(~{krCx=DSI}}uyCRs;Q6eN(p@n2$qIckk$_2|qK%9yRhxURT6k*=z&Xs@4!uOy_a!VY z+p_d7-w%JBTMR)ma0XRQuvDiHB%V(CW5aZaF5pLvqwQB^noD{_UMePOuVMb=`WgtVrU{)Q3FFYt1T~^mYloN4Fd%$2@t3Et)VW zNZ~V9l4vFTR{RiQ0jEazA9!m?f#i@~JMIz%-!NY-{7&!J!-jhI1pE?_pFX2GNvOdO z<|j-w7&^VvI#hSIgPbIC_@M>HLchz@nn&XHqOjPm?(e|7dA+%X`!kg|)Y7T7q%JUj zC0527-fEtu%^i1S#9B5KKJ2x9x9m$!czG>d0EqoVQjQd!Ap48>po5Zy4SLXNOwK8s zN4e;6ge6*zCy075ID6wIl^@O>p{XI1(3b!9UADM&^H*n}*H1n0Yioa{_B(jMY@{|U zRYlE&N84H>uxA5~#eN9d<+MBI-Ge5Ko#;Padb<1Bw7&94TVHQA$tov>pQ5ijr-9}O zm|06u2UO5yu|J#!eNo@l-CZ0Qh>E3rGy9EANvpPu_ro<>~N? zPSfXGFxE=BWI_R&XwDjFD4x@)Ra(bOi`U&?%wTMm1_mj+Lmf=UeWVXenf1C~_LYv2 zsRp@g;FegSFAADhSv#TGOxvr)Px|DUBb|Y*9@;yOyN%NdARE6U_q3~5!tSh+RF}oQ zUPW1Lr9Fsk?IqoLQ!wy31l-ukWe0QdY!E_pfw!s!yN&kiYlpSdX{ezw`YL$M3L<=8Fp%jHq>R z)_|#|7{AY#HLijT_qVr?!o`L16tT`Z=DUI!@80f1*`gGJX>1bMj_svju`~bW<_W5? zs^R~*vP%11+9l3eY}2{-Jy$5h+}LN23*{|s&(^Fvcwha~-f(TJ<-g*rYs8_uAN%?W zx%cf{8)Ig7l_?_9-AMz8uiAgo(1b!z=C9(8bt zmgMr^2)+asd3v_r&Eb?s{}cbbsx9LCmQc1*S$*EPiZE+yPy6p_%hpo>ihX?Y3kh~l`~%NM_cs`OPW?L zS&Lb18^ZX$R=CU2Ul(kZdCi4A4)?UQw8xe2Y8eeOG5TuCJC*tSqi8=c4|gMVt9=61 z8aTgsS6jk)yj!vUp40aS>p#Q%FJD2osh^3z()*uBPuQ>Nfy(^$E$f7f%SW9G9M2#mHE3LoZ7bs(8D6M z`8&x2<(~J$xDVyr@9%!y*N1%d>U&7j?$eeD@OOQWMPH=7?%Z-M<1AJNex5D$2yY+K zL-_xm%yr-MZxmKzHS+(<-^a5_bDcp4A$~h8Pjk|Oq z3H8U}(DNkP{JHC@_KW*Pe+UnNdba1BCpu4h{_BW>`H^<#QaKO&^w0Tz>&znF*EV2+ z8H}E9L-MtC!(f#T;aMN}5kpG97~{Q5#!- z2@xk=C5rvla~0S$x}kkDN>QgY=%S!S(G+GtG7Bp6BMjs~-9wx)a9;nu9OAgh(NSblGI-<7%nWT^~B8b&AGa{o9kHTl6 z_>oX}p1jTsqm2D>hzL=7PDfx4o!_3-7Hn|JdXoOwM;x(8BAM9d7Adhk6M;ZzrmLgy zq%gU2Gc+|RYMTBYGHa32Tm#H}<2;wQGVF-8)0SCCxL=2dOfWhu7-aADB%oDn~SJ{~Sy} z-&`;83Q%1+P;*FdZHWpUUk@Q_YnhEAka%5MJutrTZEb`=^C3V6aBZrnNQp*bby{+-& zQ6h=Of>IU<-w&jgPRRVHo-vb>K_RzDh7r29aGSZekkoxST`KfMC=hRJ$XYK*sH$I! ztS3wwF4fyrbfGqhLKwZ)=I?Tv47X<)L(872u!F#mfa)+ti??;3f{PZEQD<%bF64Kt zXW)Bsf%KO2O*u5YBf?-C2_&9tMcA)w*_O83whkL7{!u{UZ%~4V&mjOQyuqOFz)S6> zQOV8tq*d|gAJR&dnT%^a$BG9eKy}gh+zx~nT!tZ7@Lgx7_#z~gGR(fN)q$3@=)0fe z@pzC5=OE~Yv(6TNl6i&{f>uhx#x1u$S7yiQ62sr2!a5&1r6&3Kv?lcU=S9@CqN6~T zy5xeFht%^#ya}sK;W~(w^lDZfo5<818;;yO& z{oampwv>RN=h2$gBK2sJT%Y)<)%M(`MP8XrgoNS04nE}_B~VvqCMBw8Ejlk0w@Wt; z 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

CCT9#vTBp17vlnP-X3aQdD3egc@JL=9 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%0D4mhdW$cLVXASZ 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 ee){;* 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 z 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

T6#+rlj0`KwCUD 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%0Dw1AYjfK3zV0t1a}x>DdmL0r%?C{XNkk_;WH{x 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%0D# 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]*cf-;jCyM^_@T9L&zwfMF>p}Q4sa`5Y=?@( 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%0A7hhF!Hw>Z#aOG{|4daShr*2##PQ-MS57Mj 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

kzwjRNC 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 A(f|Me literal 0 HcmV?d00001 diff --git a/Drivers/BSP/STM32L496G-Discovery/_htmresc/favicon.png b/Drivers/BSP/STM32L496G-Discovery/_htmresc/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..06713eec4974e141c6e9b4156d34e61e89f282ca GIT binary patch literal 4126 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 literal 0 HcmV?d00001 diff --git a/Drivers/BSP/STM32L496G-Discovery/_htmresc/mini-st_2020.css b/Drivers/BSP/STM32L496G-Discovery/_htmresc/mini-st_2020.css new file mode 100644 index 0000000..986f4d4 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/_htmresc/mini-st_2020.css @@ -0,0 +1,1711 @@ +@charset "UTF-8"; +/* + Flavor name: Custom (mini-custom) + Generated online - https://minicss.org/flavors + mini.css version: v3.0.1 +*/ +/* + Browsers resets and base typography. +*/ +/* Core module CSS variable definitions */ +:root { + --fore-color: #03234b; + --secondary-fore-color: #03234b; + --back-color: #ffffff; + --secondary-back-color: #ffffff; + --blockquote-color: #e6007e; + --pre-color: #e6007e; + --border-color: #3cb4e6; + --secondary-border-color: #3cb4e6; + --heading-ratio: 1.2; + --universal-margin: 0.5rem; + --universal-padding: 0.25rem; + --universal-border-radius: 0.075rem; + --background-margin: 1.5%; + --a-link-color: #3cb4e6; + --a-visited-color: #8c0078; } + +html { + font-size: 13.5px; } + +a, b, del, em, i, ins, q, span, strong, u { + font-size: 1em; } + +html, * { + font-family: -apple-system, BlinkMacSystemFont, Helvetica, arial, sans-serif; + line-height: 1.25; + -webkit-text-size-adjust: 100%; } + +* { + font-size: 1rem; } + +body { + margin: 0; + color: var(--fore-color); + @background: var(--back-color); + background: var(--back-color) linear-gradient(#ffd200, #ffd200) repeat-y left top; + background-size: var(--background-margin); + } + +details { + display: block; } + +summary { + display: list-item; } + +abbr[title] { + border-bottom: none; + text-decoration: underline dotted; } + +input { + overflow: visible; } + +img { + max-width: 100%; + height: auto; } + +h1, h2, h3, h4, h5, h6 { + line-height: 1.25; + margin: calc(1.5 * var(--universal-margin)) var(--universal-margin); + font-weight: 400; } + h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { + color: var(--secondary-fore-color); + display: block; + margin-top: -0.25rem; } + +h1 { + font-size: calc(1rem * var(--heading-ratio) * var(--heading-ratio) * var(--heading-ratio)); } + +h2 { + font-size: calc(1rem * var(--heading-ratio) * var(--heading-ratio) ); + border-style: none none solid none ; + border-width: thin; + border-color: var(--border-color); } +h3 { + font-size: calc(1rem * var(--heading-ratio) ); } + +h4 { + font-size: calc(1rem * var(--heading-ratio)); } + +h5 { + font-size: 1rem; } + +h6 { + font-size: calc(1rem / var(--heading-ratio)); } + +p { + margin: var(--universal-margin); } + +ol, ul { + margin: var(--universal-margin); + padding-left: calc(3 * var(--universal-margin)); } + +b, strong { + font-weight: 700; } + +hr { + box-sizing: content-box; + border: 0; + line-height: 1.25em; + margin: var(--universal-margin); + height: 0.0714285714rem; + background: linear-gradient(to right, transparent, var(--border-color) 20%, var(--border-color) 80%, transparent); } + +blockquote { + display: block; + position: relative; + font-style: italic; + color: var(--secondary-fore-color); + margin: var(--universal-margin); + padding: calc(3 * var(--universal-padding)); + border: 0.0714285714rem solid var(--secondary-border-color); + border-left: 0.3rem solid var(--blockquote-color); + border-radius: 0 var(--universal-border-radius) var(--universal-border-radius) 0; } + blockquote:before { + position: absolute; + top: calc(0rem - var(--universal-padding)); + left: 0; + font-family: sans-serif; + font-size: 2rem; + font-weight: 800; + content: "\201c"; + color: var(--blockquote-color); } + blockquote[cite]:after { + font-style: normal; + font-size: 0.75em; + font-weight: 700; + content: "\a— " attr(cite); + white-space: pre; } + +code, kbd, pre, samp { + font-family: Menlo, Consolas, monospace; + font-size: 0.85em; } + +code { + background: var(--secondary-back-color); + border-radius: var(--universal-border-radius); + padding: calc(var(--universal-padding) / 4) calc(var(--universal-padding) / 2); } + +kbd { + background: var(--fore-color); + color: var(--back-color); + border-radius: var(--universal-border-radius); + padding: calc(var(--universal-padding) / 4) calc(var(--universal-padding) / 2); } + +pre { + overflow: auto; + background: var(--secondary-back-color); + padding: calc(1.5 * var(--universal-padding)); + margin: var(--universal-margin); + border: 0.0714285714rem solid var(--secondary-border-color); + border-left: 0.2857142857rem solid var(--pre-color); + border-radius: 0 var(--universal-border-radius) var(--universal-border-radius) 0; } + +sup, sub, code, kbd { + line-height: 0; + position: relative; + vertical-align: baseline; } + +small, sup, sub, figcaption { + font-size: 0.75em; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +figure { + margin: var(--universal-margin); } + +figcaption { + color: var(--secondary-fore-color); } + +a { + text-decoration: none; } + a:link { + color: var(--a-link-color); } + a:visited { + color: var(--a-visited-color); } + a:hover, a:focus { + text-decoration: underline; } + +/* + Definitions for the grid system, cards and containers. +*/ +.container { + margin: 0 auto; + padding: 0 calc(1.5 * var(--universal-padding)); } + +.row { + box-sizing: border-box; + display: flex; + flex: 0 1 auto; + flex-flow: row wrap; + margin: 0 0 0 var(--background-margin); } + +.col-sm, +[class^='col-sm-'], +[class^='col-sm-offset-'], +.row[class*='cols-sm-'] > * { + box-sizing: border-box; + flex: 0 0 auto; + padding: 0 calc(var(--universal-padding) / 2); } + +.col-sm, +.row.cols-sm > * { + max-width: 100%; + flex-grow: 1; + flex-basis: 0; } + +.col-sm-1, +.row.cols-sm-1 > * { + max-width: 8.3333333333%; + flex-basis: 8.3333333333%; } + +.col-sm-offset-0 { + margin-left: 0; } + +.col-sm-2, +.row.cols-sm-2 > * { + max-width: 16.6666666667%; + flex-basis: 16.6666666667%; } + +.col-sm-offset-1 { + margin-left: 8.3333333333%; } + +.col-sm-3, +.row.cols-sm-3 > * { + max-width: 25%; + flex-basis: 25%; } + +.col-sm-offset-2 { + margin-left: 16.6666666667%; } + +.col-sm-4, +.row.cols-sm-4 > * { + max-width: 33.3333333333%; + flex-basis: 33.3333333333%; } + +.col-sm-offset-3 { + margin-left: 25%; } + +.col-sm-5, +.row.cols-sm-5 > * { + max-width: 41.6666666667%; + flex-basis: 41.6666666667%; } + +.col-sm-offset-4 { + margin-left: 33.3333333333%; } + +.col-sm-6, +.row.cols-sm-6 > * { + max-width: 50%; + flex-basis: 50%; } + +.col-sm-offset-5 { + margin-left: 41.6666666667%; } + +.col-sm-7, +.row.cols-sm-7 > * { + max-width: 58.3333333333%; + flex-basis: 58.3333333333%; } + +.col-sm-offset-6 { + margin-left: 50%; } + +.col-sm-8, +.row.cols-sm-8 > * { + max-width: 66.6666666667%; + flex-basis: 66.6666666667%; } + +.col-sm-offset-7 { + margin-left: 58.3333333333%; } + +.col-sm-9, +.row.cols-sm-9 > * { + max-width: 75%; + flex-basis: 75%; } + +.col-sm-offset-8 { + margin-left: 66.6666666667%; } + +.col-sm-10, +.row.cols-sm-10 > * { + max-width: 83.3333333333%; + flex-basis: 83.3333333333%; } + +.col-sm-offset-9 { + margin-left: 75%; } + +.col-sm-11, +.row.cols-sm-11 > * { + max-width: 91.6666666667%; + flex-basis: 91.6666666667%; } + +.col-sm-offset-10 { + margin-left: 83.3333333333%; } + +.col-sm-12, +.row.cols-sm-12 > * { + max-width: 100%; + flex-basis: 100%; } + +.col-sm-offset-11 { + margin-left: 91.6666666667%; } + +.col-sm-normal { + order: initial; } + +.col-sm-first { + order: -999; } + +.col-sm-last { + order: 999; } + +@media screen and (min-width: 500px) { + .col-md, + [class^='col-md-'], + [class^='col-md-offset-'], + .row[class*='cols-md-'] > * { + box-sizing: border-box; + flex: 0 0 auto; + padding: 0 calc(var(--universal-padding) / 2); } + + .col-md, + .row.cols-md > * { + max-width: 100%; + flex-grow: 1; + flex-basis: 0; } + + .col-md-1, + .row.cols-md-1 > * { + max-width: 8.3333333333%; + flex-basis: 8.3333333333%; } + + .col-md-offset-0 { + margin-left: 0; } + + .col-md-2, + .row.cols-md-2 > * { + max-width: 16.6666666667%; + flex-basis: 16.6666666667%; } + + .col-md-offset-1 { + margin-left: 8.3333333333%; } + + .col-md-3, + .row.cols-md-3 > * { + max-width: 25%; + flex-basis: 25%; } + + .col-md-offset-2 { + margin-left: 16.6666666667%; } + + .col-md-4, + .row.cols-md-4 > * { + max-width: 33.3333333333%; + flex-basis: 33.3333333333%; } + + .col-md-offset-3 { + margin-left: 25%; } + + .col-md-5, + .row.cols-md-5 > * { + max-width: 41.6666666667%; + flex-basis: 41.6666666667%; } + + .col-md-offset-4 { + margin-left: 33.3333333333%; } + + .col-md-6, + .row.cols-md-6 > * { + max-width: 50%; + flex-basis: 50%; } + + .col-md-offset-5 { + margin-left: 41.6666666667%; } + + .col-md-7, + .row.cols-md-7 > * { + max-width: 58.3333333333%; + flex-basis: 58.3333333333%; } + + .col-md-offset-6 { + margin-left: 50%; } + + .col-md-8, + .row.cols-md-8 > * { + max-width: 66.6666666667%; + flex-basis: 66.6666666667%; } + + .col-md-offset-7 { + margin-left: 58.3333333333%; } + + .col-md-9, + .row.cols-md-9 > * { + max-width: 75%; + flex-basis: 75%; } + + .col-md-offset-8 { + margin-left: 66.6666666667%; } + + .col-md-10, + .row.cols-md-10 > * { + max-width: 83.3333333333%; + flex-basis: 83.3333333333%; } + + .col-md-offset-9 { + margin-left: 75%; } + + .col-md-11, + .row.cols-md-11 > * { + max-width: 91.6666666667%; + flex-basis: 91.6666666667%; } + + .col-md-offset-10 { + margin-left: 83.3333333333%; } + + .col-md-12, + .row.cols-md-12 > * { + max-width: 100%; + flex-basis: 100%; } + + .col-md-offset-11 { + margin-left: 91.6666666667%; } + + .col-md-normal { + order: initial; } + + .col-md-first { + order: -999; } + + .col-md-last { + order: 999; } } +@media screen and (min-width: 1280px) { + .col-lg, + [class^='col-lg-'], + [class^='col-lg-offset-'], + .row[class*='cols-lg-'] > * { + box-sizing: border-box; + flex: 0 0 auto; + padding: 0 calc(var(--universal-padding) / 2); } + + .col-lg, + .row.cols-lg > * { + max-width: 100%; + flex-grow: 1; + flex-basis: 0; } + + .col-lg-1, + .row.cols-lg-1 > * { + max-width: 8.3333333333%; + flex-basis: 8.3333333333%; } + + .col-lg-offset-0 { + margin-left: 0; } + + .col-lg-2, + .row.cols-lg-2 > * { + max-width: 16.6666666667%; + flex-basis: 16.6666666667%; } + + .col-lg-offset-1 { + margin-left: 8.3333333333%; } + + .col-lg-3, + .row.cols-lg-3 > * { + max-width: 25%; + flex-basis: 25%; } + + .col-lg-offset-2 { + margin-left: 16.6666666667%; } + + .col-lg-4, + .row.cols-lg-4 > * { + max-width: 33.3333333333%; + flex-basis: 33.3333333333%; } + + .col-lg-offset-3 { + margin-left: 25%; } + + .col-lg-5, + .row.cols-lg-5 > * { + max-width: 41.6666666667%; + flex-basis: 41.6666666667%; } + + .col-lg-offset-4 { + margin-left: 33.3333333333%; } + + .col-lg-6, + .row.cols-lg-6 > * { + max-width: 50%; + flex-basis: 50%; } + + .col-lg-offset-5 { + margin-left: 41.6666666667%; } + + .col-lg-7, + .row.cols-lg-7 > * { + max-width: 58.3333333333%; + flex-basis: 58.3333333333%; } + + .col-lg-offset-6 { + margin-left: 50%; } + + .col-lg-8, + .row.cols-lg-8 > * { + max-width: 66.6666666667%; + flex-basis: 66.6666666667%; } + + .col-lg-offset-7 { + margin-left: 58.3333333333%; } + + .col-lg-9, + .row.cols-lg-9 > * { + max-width: 75%; + flex-basis: 75%; } + + .col-lg-offset-8 { + margin-left: 66.6666666667%; } + + .col-lg-10, + .row.cols-lg-10 > * { + max-width: 83.3333333333%; + flex-basis: 83.3333333333%; } + + .col-lg-offset-9 { + margin-left: 75%; } + + .col-lg-11, + .row.cols-lg-11 > * { + max-width: 91.6666666667%; + flex-basis: 91.6666666667%; } + + .col-lg-offset-10 { + margin-left: 83.3333333333%; } + + .col-lg-12, + .row.cols-lg-12 > * { + max-width: 100%; + flex-basis: 100%; } + + .col-lg-offset-11 { + margin-left: 91.6666666667%; } + + .col-lg-normal { + order: initial; } + + .col-lg-first { + order: -999; } + + .col-lg-last { + order: 999; } } +/* Card component CSS variable definitions */ +:root { + --card-back-color: #3cb4e6; + --card-fore-color: #03234b; + --card-border-color: #03234b; } + +.card { + display: flex; + flex-direction: column; + justify-content: space-between; + align-self: center; + position: relative; + width: 100%; + background: var(--card-back-color); + color: var(--card-fore-color); + border: 0.0714285714rem solid var(--card-border-color); + border-radius: var(--universal-border-radius); + margin: var(--universal-margin); + overflow: hidden; } + @media screen and (min-width: 320px) { + .card { + max-width: 320px; } } + .card > .sectione { + background: var(--card-back-color); + color: var(--card-fore-color); + box-sizing: border-box; + margin: 0; + border: 0; + border-radius: 0; + border-bottom: 0.0714285714rem solid var(--card-border-color); + padding: var(--universal-padding); + width: 100%; } + .card > .sectione.media { + height: 200px; + padding: 0; + -o-object-fit: cover; + object-fit: cover; } + .card > .sectione:last-child { + border-bottom: 0; } + +/* + Custom elements for card elements. +*/ +@media screen and (min-width: 240px) { + .card.small { + max-width: 240px; } } +@media screen and (min-width: 480px) { + .card.large { + max-width: 480px; } } +.card.fluid { + max-width: 100%; + width: auto; } + +.card.warning { + --card-back-color: #e5b8b7; + --card-fore-color: #3b234b; + --card-border-color: #8c0078; } + +.card.error { + --card-back-color: #464650; + --card-fore-color: #ffffff; + --card-border-color: #8c0078; } + +.card > .sectione.dark { + --card-back-color: #3b234b; + --card-fore-color: #ffffff; } + +.card > .sectione.double-padded { + padding: calc(1.5 * var(--universal-padding)); } + +/* + Definitions for forms and input elements. +*/ +/* Input_control module CSS variable definitions */ +:root { + --form-back-color: #ffe97f; + --form-fore-color: #03234b; + --form-border-color: #3cb4e6; + --input-back-color: #ffffff; + --input-fore-color: #03234b; + --input-border-color: #3cb4e6; + --input-focus-color: #0288d1; + --input-invalid-color: #d32f2f; + --button-back-color: #e2e2e2; + --button-hover-back-color: #dcdcdc; + --button-fore-color: #212121; + --button-border-color: transparent; + --button-hover-border-color: transparent; + --button-group-border-color: rgba(124, 124, 124, 0.54); } + +form { + background: var(--form-back-color); + color: var(--form-fore-color); + border: 0.0714285714rem solid var(--form-border-color); + border-radius: var(--universal-border-radius); + margin: var(--universal-margin); + padding: calc(2 * var(--universal-padding)) var(--universal-padding); } + +fieldset { + border: 0.0714285714rem solid var(--form-border-color); + border-radius: var(--universal-border-radius); + margin: calc(var(--universal-margin) / 4); + padding: var(--universal-padding); } + +legend { + box-sizing: border-box; + display: table; + max-width: 100%; + white-space: normal; + font-weight: 500; + padding: calc(var(--universal-padding) / 2); } + +label { + padding: calc(var(--universal-padding) / 2) var(--universal-padding); } + +.input-group { + display: inline-block; } + .input-group.fluid { + display: flex; + align-items: center; + justify-content: center; } + .input-group.fluid > input { + max-width: 100%; + flex-grow: 1; + flex-basis: 0px; } + @media screen and (max-width: 499px) { + .input-group.fluid { + align-items: stretch; + flex-direction: column; } } + .input-group.vertical { + display: flex; + align-items: stretch; + flex-direction: column; } + .input-group.vertical > input { + max-width: 100%; + flex-grow: 1; + flex-basis: 0px; } + +[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; } + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +input:not([type]), [type="text"], [type="email"], [type="number"], [type="search"], +[type="password"], [type="url"], [type="tel"], [type="checkbox"], [type="radio"], textarea, select { + box-sizing: border-box; + background: var(--input-back-color); + color: var(--input-fore-color); + border: 0.0714285714rem solid var(--input-border-color); + border-radius: var(--universal-border-radius); + margin: calc(var(--universal-margin) / 2); + padding: var(--universal-padding) calc(1.5 * var(--universal-padding)); } + +input:not([type="button"]):not([type="submit"]):not([type="reset"]):hover, input:not([type="button"]):not([type="submit"]):not([type="reset"]):focus, textarea:hover, textarea:focus, select:hover, select:focus { + border-color: var(--input-focus-color); + box-shadow: none; } +input:not([type="button"]):not([type="submit"]):not([type="reset"]):invalid, input:not([type="button"]):not([type="submit"]):not([type="reset"]):focus:invalid, textarea:invalid, textarea:focus:invalid, select:invalid, select:focus:invalid { + border-color: var(--input-invalid-color); + box-shadow: none; } +input:not([type="button"]):not([type="submit"]):not([type="reset"])[readonly], textarea[readonly], select[readonly] { + background: var(--secondary-back-color); } + +select { + max-width: 100%; } + +option { + overflow: hidden; + text-overflow: ellipsis; } + +[type="checkbox"], [type="radio"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + position: relative; + height: calc(1rem + var(--universal-padding) / 2); + width: calc(1rem + var(--universal-padding) / 2); + vertical-align: text-bottom; + padding: 0; + flex-basis: calc(1rem + var(--universal-padding) / 2) !important; + flex-grow: 0 !important; } + [type="checkbox"]:checked:before, [type="radio"]:checked:before { + position: absolute; } + +[type="checkbox"]:checked:before { + content: '\2713'; + font-family: sans-serif; + font-size: calc(1rem + var(--universal-padding) / 2); + top: calc(0rem - var(--universal-padding)); + left: calc(var(--universal-padding) / 4); } + +[type="radio"] { + border-radius: 100%; } + [type="radio"]:checked:before { + border-radius: 100%; + content: ''; + top: calc(0.0714285714rem + var(--universal-padding) / 2); + left: calc(0.0714285714rem + var(--universal-padding) / 2); + background: var(--input-fore-color); + width: 0.5rem; + height: 0.5rem; } + +:placeholder-shown { + color: var(--input-fore-color); } + +::-ms-placeholder { + color: var(--input-fore-color); + opacity: 0.54; } + +button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } + +button, html [type="button"], [type="reset"], [type="submit"] { + -webkit-appearance: button; } + +button { + overflow: visible; + text-transform: none; } + +button, [type="button"], [type="submit"], [type="reset"], +a.button, label.button, .button, +a[role="button"], label[role="button"], [role="button"] { + display: inline-block; + background: var(--button-back-color); + color: var(--button-fore-color); + border: 0.0714285714rem solid var(--button-border-color); + border-radius: var(--universal-border-radius); + padding: var(--universal-padding) calc(1.5 * var(--universal-padding)); + margin: var(--universal-margin); + text-decoration: none; + cursor: pointer; + transition: background 0.3s; } + button:hover, button:focus, [type="button"]:hover, [type="button"]:focus, [type="submit"]:hover, [type="submit"]:focus, [type="reset"]:hover, [type="reset"]:focus, + a.button:hover, + a.button:focus, label.button:hover, label.button:focus, .button:hover, .button:focus, + a[role="button"]:hover, + a[role="button"]:focus, label[role="button"]:hover, label[role="button"]:focus, [role="button"]:hover, [role="button"]:focus { + background: var(--button-hover-back-color); + border-color: var(--button-hover-border-color); } + +input:disabled, input[disabled], textarea:disabled, textarea[disabled], select:disabled, select[disabled], button:disabled, button[disabled], .button:disabled, .button[disabled], [role="button"]:disabled, [role="button"][disabled] { + cursor: not-allowed; + opacity: 0.75; } + +.button-group { + display: flex; + border: 0.0714285714rem solid var(--button-group-border-color); + border-radius: var(--universal-border-radius); + margin: var(--universal-margin); } + .button-group > button, .button-group [type="button"], .button-group > [type="submit"], .button-group > [type="reset"], .button-group > .button, .button-group > [role="button"] { + margin: 0; + max-width: 100%; + flex: 1 1 auto; + text-align: center; + border: 0; + border-radius: 0; + box-shadow: none; } + .button-group > :not(:first-child) { + border-left: 0.0714285714rem solid var(--button-group-border-color); } + @media screen and (max-width: 499px) { + .button-group { + flex-direction: column; } + .button-group > :not(:first-child) { + border: 0; + border-top: 0.0714285714rem solid var(--button-group-border-color); } } + +/* + Custom elements for forms and input elements. +*/ +button.primary, [type="button"].primary, [type="submit"].primary, [type="reset"].primary, .button.primary, [role="button"].primary { + --button-back-color: #1976d2; + --button-fore-color: #f8f8f8; } + button.primary:hover, button.primary:focus, [type="button"].primary:hover, [type="button"].primary:focus, [type="submit"].primary:hover, [type="submit"].primary:focus, [type="reset"].primary:hover, [type="reset"].primary:focus, .button.primary:hover, .button.primary:focus, [role="button"].primary:hover, [role="button"].primary:focus { + --button-hover-back-color: #1565c0; } + +button.secondary, [type="button"].secondary, [type="submit"].secondary, [type="reset"].secondary, .button.secondary, [role="button"].secondary { + --button-back-color: #d32f2f; + --button-fore-color: #f8f8f8; } + button.secondary:hover, button.secondary:focus, [type="button"].secondary:hover, [type="button"].secondary:focus, [type="submit"].secondary:hover, [type="submit"].secondary:focus, [type="reset"].secondary:hover, [type="reset"].secondary:focus, .button.secondary:hover, .button.secondary:focus, [role="button"].secondary:hover, [role="button"].secondary:focus { + --button-hover-back-color: #c62828; } + +button.tertiary, [type="button"].tertiary, [type="submit"].tertiary, [type="reset"].tertiary, .button.tertiary, [role="button"].tertiary { + --button-back-color: #308732; + --button-fore-color: #f8f8f8; } + button.tertiary:hover, button.tertiary:focus, [type="button"].tertiary:hover, [type="button"].tertiary:focus, [type="submit"].tertiary:hover, [type="submit"].tertiary:focus, [type="reset"].tertiary:hover, [type="reset"].tertiary:focus, .button.tertiary:hover, .button.tertiary:focus, [role="button"].tertiary:hover, [role="button"].tertiary:focus { + --button-hover-back-color: #277529; } + +button.inverse, [type="button"].inverse, [type="submit"].inverse, [type="reset"].inverse, .button.inverse, [role="button"].inverse { + --button-back-color: #212121; + --button-fore-color: #f8f8f8; } + button.inverse:hover, button.inverse:focus, [type="button"].inverse:hover, [type="button"].inverse:focus, [type="submit"].inverse:hover, [type="submit"].inverse:focus, [type="reset"].inverse:hover, [type="reset"].inverse:focus, .button.inverse:hover, .button.inverse:focus, [role="button"].inverse:hover, [role="button"].inverse:focus { + --button-hover-back-color: #111; } + +button.small, [type="button"].small, [type="submit"].small, [type="reset"].small, .button.small, [role="button"].small { + padding: calc(0.5 * var(--universal-padding)) calc(0.75 * var(--universal-padding)); + margin: var(--universal-margin); } + +button.large, [type="button"].large, [type="submit"].large, [type="reset"].large, .button.large, [role="button"].large { + padding: calc(1.5 * var(--universal-padding)) calc(2 * var(--universal-padding)); + margin: var(--universal-margin); } + +/* + Definitions for navigation elements. +*/ +/* Navigation module CSS variable definitions */ +:root { + --header-back-color: #03234b; + --header-hover-back-color: #ffd200; + --header-fore-color: #ffffff; + --header-border-color: #3cb4e6; + --nav-back-color: #ffffff; + --nav-hover-back-color: #ffe97f; + --nav-fore-color: #e6007e; + --nav-border-color: #3cb4e6; + --nav-link-color: #3cb4e6; + --footer-fore-color: #ffffff; + --footer-back-color: #03234b; + --footer-border-color: #3cb4e6; + --footer-link-color: #3cb4e6; + --drawer-back-color: #ffffff; + --drawer-hover-back-color: #ffe97f; + --drawer-border-color: #3cb4e6; + --drawer-close-color: #e6007e; } + +header { + height: 2.75rem; + background: var(--header-back-color); + color: var(--header-fore-color); + border-bottom: 0.0714285714rem solid var(--header-border-color); + padding: calc(var(--universal-padding) / 4) 0; + white-space: nowrap; + overflow-x: auto; + overflow-y: hidden; } + header.row { + box-sizing: content-box; } + header .logo { + color: var(--header-fore-color); + font-size: 1.75rem; + padding: var(--universal-padding) calc(2 * var(--universal-padding)); + text-decoration: none; } + header button, header [type="button"], header .button, header [role="button"] { + box-sizing: border-box; + position: relative; + top: calc(0rem - var(--universal-padding) / 4); + height: calc(3.1875rem + var(--universal-padding) / 2); + background: var(--header-back-color); + line-height: calc(3.1875rem - var(--universal-padding) * 1.5); + text-align: center; + color: var(--header-fore-color); + border: 0; + border-radius: 0; + margin: 0; + text-transform: uppercase; } + header button:hover, header button:focus, header [type="button"]:hover, header [type="button"]:focus, header .button:hover, header .button:focus, header [role="button"]:hover, header [role="button"]:focus { + background: var(--header-hover-back-color); } + +nav { + background: var(--nav-back-color); + color: var(--nav-fore-color); + border: 0.0714285714rem solid var(--nav-border-color); + border-radius: var(--universal-border-radius); + margin: var(--universal-margin); } + nav * { + padding: var(--universal-padding) calc(1.5 * var(--universal-padding)); } + nav a, nav a:visited { + display: block; + color: var(--nav-link-color); + border-radius: var(--universal-border-radius); + transition: background 0.3s; } + nav a:hover, nav a:focus, nav a:visited:hover, nav a:visited:focus { + text-decoration: none; + background: var(--nav-hover-back-color); } + nav .sublink-1 { + position: relative; + margin-left: calc(2 * var(--universal-padding)); } + nav .sublink-1:before { + position: absolute; + left: calc(var(--universal-padding) - 1 * var(--universal-padding)); + top: -0.0714285714rem; + content: ''; + height: 100%; + border: 0.0714285714rem solid var(--nav-border-color); + border-left: 0; } + nav .sublink-2 { + position: relative; + margin-left: calc(4 * var(--universal-padding)); } + nav .sublink-2:before { + position: absolute; + left: calc(var(--universal-padding) - 3 * var(--universal-padding)); + top: -0.0714285714rem; + content: ''; + height: 100%; + border: 0.0714285714rem solid var(--nav-border-color); + border-left: 0; } + +footer { + background: var(--footer-back-color); + color: var(--footer-fore-color); + border-top: 0.0714285714rem solid var(--footer-border-color); + padding: calc(2 * var(--universal-padding)) var(--universal-padding); + font-size: 0.875rem; } + footer a, footer a:visited { + color: var(--footer-link-color); } + +header.sticky { + position: -webkit-sticky; + position: sticky; + z-index: 1101; + top: 0; } + +footer.sticky { + position: -webkit-sticky; + position: sticky; + z-index: 1101; + bottom: 0; } + +.drawer-toggle:before { + display: inline-block; + position: relative; + vertical-align: bottom; + content: '\00a0\2261\00a0'; + font-family: sans-serif; + font-size: 1.5em; } +@media screen and (min-width: 500px) { + .drawer-toggle:not(.persistent) { + display: none; } } + +[type="checkbox"].drawer { + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); } + [type="checkbox"].drawer + * { + display: block; + box-sizing: border-box; + position: fixed; + top: 0; + width: 320px; + height: 100vh; + overflow-y: auto; + background: var(--drawer-back-color); + border: 0.0714285714rem solid var(--drawer-border-color); + border-radius: 0; + margin: 0; + z-index: 1110; + right: -320px; + transition: right 0.3s; } + [type="checkbox"].drawer + * .drawer-close { + position: absolute; + top: var(--universal-margin); + right: var(--universal-margin); + z-index: 1111; + width: 2rem; + height: 2rem; + border-radius: var(--universal-border-radius); + padding: var(--universal-padding); + margin: 0; + cursor: pointer; + transition: background 0.3s; } + [type="checkbox"].drawer + * .drawer-close:before { + display: block; + content: '\00D7'; + color: var(--drawer-close-color); + position: relative; + font-family: sans-serif; + font-size: 2rem; + line-height: 1; + text-align: center; } + [type="checkbox"].drawer + * .drawer-close:hover, [type="checkbox"].drawer + * .drawer-close:focus { + background: var(--drawer-hover-back-color); } + @media screen and (max-width: 320px) { + [type="checkbox"].drawer + * { + width: 100%; } } + [type="checkbox"].drawer:checked + * { + right: 0; } + @media screen and (min-width: 500px) { + [type="checkbox"].drawer:not(.persistent) + * { + position: static; + height: 100%; + z-index: 1100; } + [type="checkbox"].drawer:not(.persistent) + * .drawer-close { + display: none; } } + +/* + Definitions for the responsive table component. +*/ +/* Table module CSS variable definitions. */ +:root { + --table-border-color: #03234b; + --table-border-separator-color: #03234b; + --table-head-back-color: #03234b; + --table-head-fore-color: #ffffff; + --table-body-back-color: #ffffff; + --table-body-fore-color: #03234b; + --table-body-alt-back-color: #f4f4f4; } + +table { + border-collapse: separate; + border-spacing: 0; + margin: 0; + display: flex; + flex: 0 1 auto; + flex-flow: row wrap; + padding: var(--universal-padding); + padding-top: 0; } + table caption { + font-size: 1rem; + margin: calc(2 * var(--universal-margin)) 0; + max-width: 100%; + flex: 0 0 100%; } + table thead, table tbody { + display: flex; + flex-flow: row wrap; + border: 0.0714285714rem solid var(--table-border-color); } + table thead { + z-index: 999; + border-radius: var(--universal-border-radius) var(--universal-border-radius) 0 0; + border-bottom: 0.0714285714rem solid var(--table-border-separator-color); } + table tbody { + border-top: 0; + margin-top: calc(0 - var(--universal-margin)); + border-radius: 0 0 var(--universal-border-radius) var(--universal-border-radius); } + table tr { + display: flex; + padding: 0; } + table th, table td { + padding: calc(0.5 * var(--universal-padding)); + font-size: 0.9rem; } + table th { + text-align: left; + background: var(--table-head-back-color); + color: var(--table-head-fore-color); } + table td { + background: var(--table-body-back-color); + color: var(--table-body-fore-color); + border-top: 0.0714285714rem solid var(--table-border-color); } + +table:not(.horizontal) { + overflow: auto; + max-height: 100%; } + table:not(.horizontal) thead, table:not(.horizontal) tbody { + max-width: 100%; + flex: 0 0 100%; } + table:not(.horizontal) tr { + flex-flow: row wrap; + flex: 0 0 100%; } + table:not(.horizontal) th, table:not(.horizontal) td { + flex: 1 0 0%; + overflow: hidden; + text-overflow: ellipsis; } + table:not(.horizontal) thead { + position: sticky; + top: 0; } + table:not(.horizontal) tbody tr:first-child td { + border-top: 0; } + +table.horizontal { + border: 0; } + table.horizontal thead, table.horizontal tbody { + border: 0; + flex: .2 0 0; + flex-flow: row nowrap; } + table.horizontal tbody { + overflow: auto; + justify-content: space-between; + flex: .8 0 0; + margin-left: 0; + padding-bottom: calc(var(--universal-padding) / 4); } + table.horizontal tr { + flex-direction: column; + flex: 1 0 auto; } + table.horizontal th, table.horizontal td { + width: auto; + border: 0; + border-bottom: 0.0714285714rem solid var(--table-border-color); } + table.horizontal th:not(:first-child), table.horizontal td:not(:first-child) { + border-top: 0; } + table.horizontal th { + text-align: right; + border-left: 0.0714285714rem solid var(--table-border-color); + border-right: 0.0714285714rem solid var(--table-border-separator-color); } + table.horizontal thead tr:first-child { + padding-left: 0; } + table.horizontal th:first-child, table.horizontal td:first-child { + border-top: 0.0714285714rem solid var(--table-border-color); } + table.horizontal tbody tr:last-child td { + border-right: 0.0714285714rem solid var(--table-border-color); } + table.horizontal tbody tr:last-child td:first-child { + border-top-right-radius: 0.25rem; } + table.horizontal tbody tr:last-child td:last-child { + border-bottom-right-radius: 0.25rem; } + table.horizontal thead tr:first-child th:first-child { + border-top-left-radius: 0.25rem; } + table.horizontal thead tr:first-child th:last-child { + border-bottom-left-radius: 0.25rem; } + +@media screen and (max-width: 499px) { + table, table.horizontal { + border-collapse: collapse; + border: 0; + width: 100%; + display: table; } + table thead, table th, table.horizontal thead, table.horizontal th { + border: 0; + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); } + table tbody, table.horizontal tbody { + border: 0; + display: table-row-group; } + table tr, table.horizontal tr { + display: block; + border: 0.0714285714rem solid var(--table-border-color); + border-radius: var(--universal-border-radius); + background: #ffffff; + padding: var(--universal-padding); + margin: var(--universal-margin); + margin-bottom: calc(1 * var(--universal-margin)); } + table th, table td, table.horizontal th, table.horizontal td { + width: auto; } + table td, table.horizontal td { + display: block; + border: 0; + text-align: right; } + table td:before, table.horizontal td:before { + content: attr(data-label); + float: left; + font-weight: 600; } + table th:first-child, table td:first-child, table.horizontal th:first-child, table.horizontal td:first-child { + border-top: 0; } + table tbody tr:last-child td, table.horizontal tbody tr:last-child td { + border-right: 0; } } +table tr:nth-of-type(2n) > td { + background: var(--table-body-alt-back-color); } + +@media screen and (max-width: 500px) { + table tr:nth-of-type(2n) { + background: var(--table-body-alt-back-color); } } +:root { + --table-body-hover-back-color: #90caf9; } + +table.hoverable tr:hover, table.hoverable tr:hover > td, table.hoverable tr:focus, table.hoverable tr:focus > td { + background: var(--table-body-hover-back-color); } + +@media screen and (max-width: 500px) { + table.hoverable tr:hover, table.hoverable tr:hover > td, table.hoverable tr:focus, table.hoverable tr:focus > td { + background: var(--table-body-hover-back-color); } } +/* + Definitions for contextual background elements, toasts and tooltips. +*/ +/* Contextual module CSS variable definitions */ +:root { + --mark-back-color: #3cb4e6; + --mark-fore-color: #ffffff; } + +mark { + background: var(--mark-back-color); + color: var(--mark-fore-color); + font-size: 0.95em; + line-height: 1em; + border-radius: var(--universal-border-radius); + padding: calc(var(--universal-padding) / 4) var(--universal-padding); } + mark.inline-block { + display: inline-block; + font-size: 1em; + line-height: 1.4; + padding: calc(var(--universal-padding) / 2) var(--universal-padding); } + +:root { + --toast-back-color: #424242; + --toast-fore-color: #fafafa; } + +.toast { + position: fixed; + bottom: calc(var(--universal-margin) * 3); + left: 50%; + transform: translate(-50%, -50%); + z-index: 1111; + color: var(--toast-fore-color); + background: var(--toast-back-color); + border-radius: calc(var(--universal-border-radius) * 16); + padding: var(--universal-padding) calc(var(--universal-padding) * 3); } + +:root { + --tooltip-back-color: #212121; + --tooltip-fore-color: #fafafa; } + +.tooltip { + position: relative; + display: inline-block; } + .tooltip:before, .tooltip:after { + position: absolute; + opacity: 0; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); + transition: all 0.3s; + z-index: 1010; + left: 50%; } + .tooltip:not(.bottom):before, .tooltip:not(.bottom):after { + bottom: 75%; } + .tooltip.bottom:before, .tooltip.bottom:after { + top: 75%; } + .tooltip:hover:before, .tooltip:hover:after, .tooltip:focus:before, .tooltip:focus:after { + opacity: 1; + clip: auto; + -webkit-clip-path: inset(0%); + clip-path: inset(0%); } + .tooltip:before { + content: ''; + background: transparent; + border: var(--universal-margin) solid transparent; + left: calc(50% - var(--universal-margin)); } + .tooltip:not(.bottom):before { + border-top-color: #212121; } + .tooltip.bottom:before { + border-bottom-color: #212121; } + .tooltip:after { + content: attr(aria-label); + color: var(--tooltip-fore-color); + background: var(--tooltip-back-color); + border-radius: var(--universal-border-radius); + padding: var(--universal-padding); + white-space: nowrap; + transform: translateX(-50%); } + .tooltip:not(.bottom):after { + margin-bottom: calc(2 * var(--universal-margin)); } + .tooltip.bottom:after { + margin-top: calc(2 * var(--universal-margin)); } + +:root { + --modal-overlay-color: rgba(0, 0, 0, 0.45); + --modal-close-color: #e6007e; + --modal-close-hover-color: #ffe97f; } + +[type="checkbox"].modal { + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); } + [type="checkbox"].modal + div { + position: fixed; + top: 0; + left: 0; + display: none; + width: 100vw; + height: 100vh; + background: var(--modal-overlay-color); } + [type="checkbox"].modal + div .card { + margin: 0 auto; + max-height: 50vh; + overflow: auto; } + [type="checkbox"].modal + div .card .modal-close { + position: absolute; + top: 0; + right: 0; + width: 1.75rem; + height: 1.75rem; + border-radius: var(--universal-border-radius); + padding: var(--universal-padding); + margin: 0; + cursor: pointer; + transition: background 0.3s; } + [type="checkbox"].modal + div .card .modal-close:before { + display: block; + content: '\00D7'; + color: var(--modal-close-color); + position: relative; + font-family: sans-serif; + font-size: 1.75rem; + line-height: 1; + text-align: center; } + [type="checkbox"].modal + div .card .modal-close:hover, [type="checkbox"].modal + div .card .modal-close:focus { + background: var(--modal-close-hover-color); } + [type="checkbox"].modal:checked + div { + display: flex; + flex: 0 1 auto; + z-index: 1200; } + [type="checkbox"].modal:checked + div .card .modal-close { + z-index: 1211; } + +:root { + --collapse-label-back-color: #03234b; + --collapse-label-fore-color: #ffffff; + --collapse-label-hover-back-color: #3cb4e6; + --collapse-selected-label-back-color: #3cb4e6; + --collapse-border-color: var(--collapse-label-back-color); + --collapse-selected-border-color: #ceecf8; + --collapse-content-back-color: #ffffff; + --collapse-selected-label-border-color: #3cb4e6; } + +.collapse { + width: calc(100% - 2 * var(--universal-margin)); + opacity: 1; + display: flex; + flex-direction: column; + margin: var(--universal-margin); + border-radius: var(--universal-border-radius); } + .collapse > [type="radio"], .collapse > [type="checkbox"] { + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); } + .collapse > label { + flex-grow: 1; + display: inline-block; + height: 1.25rem; + cursor: pointer; + transition: background 0.2s; + color: var(--collapse-label-fore-color); + background: var(--collapse-label-back-color); + border: 0.0714285714rem solid var(--collapse-selected-border-color); + padding: calc(1.25 * var(--universal-padding)); } + .collapse > label:hover, .collapse > label:focus { + background: var(--collapse-label-hover-back-color); } + .collapse > label + div { + flex-basis: auto; + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); + transition: max-height 0.3s; + max-height: 1px; } + .collapse > :checked + label { + background: var(--collapse-selected-label-back-color); + border-color: var(--collapse-selected-label-border-color); } + .collapse > :checked + label + div { + box-sizing: border-box; + position: relative; + width: 100%; + height: auto; + overflow: auto; + margin: 0; + background: var(--collapse-content-back-color); + border: 0.0714285714rem solid var(--collapse-selected-border-color); + border-top: 0; + padding: var(--universal-padding); + clip: auto; + -webkit-clip-path: inset(0%); + clip-path: inset(0%); + max-height: 100%; } + .collapse > label:not(:first-of-type) { + border-top: 0; } + .collapse > label:first-of-type { + border-radius: var(--universal-border-radius) var(--universal-border-radius) 0 0; } + .collapse > label:last-of-type:not(:first-of-type) { + border-radius: 0 0 var(--universal-border-radius) var(--universal-border-radius); } + .collapse > label:last-of-type:first-of-type { + border-radius: var(--universal-border-radius); } + .collapse > :checked:last-of-type:not(:first-of-type) + label { + border-radius: 0; } + .collapse > :checked:last-of-type + label + div { + border-radius: 0 0 var(--universal-border-radius) var(--universal-border-radius); } + +/* + Custom elements for contextual background elements, toasts and tooltips. +*/ +mark.tertiary { + --mark-back-color: #3cb4e6; } + +mark.tag { + padding: calc(var(--universal-padding)/2) var(--universal-padding); + border-radius: 1em; } + +/* + Definitions for progress elements and spinners. +*/ +/* Progress module CSS variable definitions */ +:root { + --progress-back-color: #3cb4e6; + --progress-fore-color: #555; } + +progress { + display: block; + vertical-align: baseline; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 0.75rem; + width: calc(100% - 2 * var(--universal-margin)); + margin: var(--universal-margin); + border: 0; + border-radius: calc(2 * var(--universal-border-radius)); + background: var(--progress-back-color); + color: var(--progress-fore-color); } + progress::-webkit-progress-value { + background: var(--progress-fore-color); + border-top-left-radius: calc(2 * var(--universal-border-radius)); + border-bottom-left-radius: calc(2 * var(--universal-border-radius)); } + progress::-webkit-progress-bar { + background: var(--progress-back-color); } + progress::-moz-progress-bar { + background: var(--progress-fore-color); + border-top-left-radius: calc(2 * var(--universal-border-radius)); + border-bottom-left-radius: calc(2 * var(--universal-border-radius)); } + progress[value="1000"]::-webkit-progress-value { + border-radius: calc(2 * var(--universal-border-radius)); } + progress[value="1000"]::-moz-progress-bar { + border-radius: calc(2 * var(--universal-border-radius)); } + progress.inline { + display: inline-block; + vertical-align: middle; + width: 60%; } + +:root { + --spinner-back-color: #ddd; + --spinner-fore-color: #555; } + +@keyframes spinner-donut-anim { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } +.spinner { + display: inline-block; + margin: var(--universal-margin); + border: 0.25rem solid var(--spinner-back-color); + border-left: 0.25rem solid var(--spinner-fore-color); + border-radius: 50%; + width: 1.25rem; + height: 1.25rem; + animation: spinner-donut-anim 1.2s linear infinite; } + +/* + Custom elements for progress bars and spinners. +*/ +progress.primary { + --progress-fore-color: #1976d2; } + +progress.secondary { + --progress-fore-color: #d32f2f; } + +progress.tertiary { + --progress-fore-color: #308732; } + +.spinner.primary { + --spinner-fore-color: #1976d2; } + +.spinner.secondary { + --spinner-fore-color: #d32f2f; } + +.spinner.tertiary { + --spinner-fore-color: #308732; } + +/* + Definitions for icons - powered by Feather (https://feathericons.com/). +*/ +span[class^='icon-'] { + display: inline-block; + height: 1em; + width: 1em; + vertical-align: -0.125em; + background-size: contain; + margin: 0 calc(var(--universal-margin) / 4); } + span[class^='icon-'].secondary { + -webkit-filter: invert(25%); + filter: invert(25%); } + span[class^='icon-'].inverse { + -webkit-filter: invert(100%); + filter: invert(100%); } + +span.icon-alert { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12' y2='16'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-bookmark { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E"); } +span.icon-calendar { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-credit { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='1' y1='10' x2='23' y2='10'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-edit { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34'%3E%3C/path%3E%3Cpolygon points='18 2 22 6 12 16 8 16 8 12 18 2'%3E%3C/polygon%3E%3C/svg%3E"); } +span.icon-link { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-help { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='17' x2='12' y2='17'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-home { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'%3E%3C/path%3E%3Cpolyline points='9 22 9 12 15 12 15 22'%3E%3C/polyline%3E%3C/svg%3E"); } +span.icon-info { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12' y2='8'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-lock { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E"); } +span.icon-mail { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E"); } +span.icon-location { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E"); } +span.icon-phone { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E"); } +span.icon-rss { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9'%3E%3C/path%3E%3Cpath d='M4 4a16 16 0 0 1 16 16'%3E%3C/path%3E%3Ccircle cx='5' cy='19' r='1'%3E%3C/circle%3E%3C/svg%3E"); } +span.icon-search { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-settings { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'%3E%3C/path%3E%3C/svg%3E"); } +span.icon-share { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'%3E%3C/circle%3E%3Ccircle cx='6' cy='12' r='3'%3E%3C/circle%3E%3Ccircle cx='18' cy='19' r='3'%3E%3C/circle%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'%3E%3C/line%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-cart { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E"); } +span.icon-upload { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E"); } +span.icon-user { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E"); } + +/* + Definitions for STMicroelectronics icons (https://brandportal.st.com/document/26). +*/ +span.icon-st-update { + background-image: url("Update.svg"); } +span.icon-st-add { + background-image: url("Add button.svg"); } + +/* + Definitions for utilities and helper classes. +*/ +/* Utility module CSS variable definitions */ +:root { + --generic-border-color: rgba(0, 0, 0, 0.3); + --generic-box-shadow: 0 0.2857142857rem 0.2857142857rem 0 rgba(0, 0, 0, 0.125), 0 0.1428571429rem 0.1428571429rem -0.1428571429rem rgba(0, 0, 0, 0.125); } + +.hidden { + display: none !important; } + +.visually-hidden { + position: absolute !important; + width: 1px !important; + height: 1px !important; + margin: -1px !important; + border: 0 !important; + padding: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + overflow: hidden !important; } + +.bordered { + border: 0.0714285714rem solid var(--generic-border-color) !important; } + +.rounded { + border-radius: var(--universal-border-radius) !important; } + +.circular { + border-radius: 50% !important; } + +.shadowed { + box-shadow: var(--generic-box-shadow) !important; } + +.responsive-margin { + margin: calc(var(--universal-margin) / 4) !important; } + @media screen and (min-width: 500px) { + .responsive-margin { + margin: calc(var(--universal-margin) / 2) !important; } } + @media screen and (min-width: 1280px) { + .responsive-margin { + margin: var(--universal-margin) !important; } } + +.responsive-padding { + padding: calc(var(--universal-padding) / 4) !important; } + @media screen and (min-width: 500px) { + .responsive-padding { + padding: calc(var(--universal-padding) / 2) !important; } } + @media screen and (min-width: 1280px) { + .responsive-padding { + padding: var(--universal-padding) !important; } } + +@media screen and (max-width: 499px) { + .hidden-sm { + display: none !important; } } +@media screen and (min-width: 500px) and (max-width: 1279px) { + .hidden-md { + display: none !important; } } +@media screen and (min-width: 1280px) { + .hidden-lg { + display: none !important; } } +@media screen and (max-width: 499px) { + .visually-hidden-sm { + position: absolute !important; + width: 1px !important; + height: 1px !important; + margin: -1px !important; + border: 0 !important; + padding: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + overflow: hidden !important; } } +@media screen and (min-width: 500px) and (max-width: 1279px) { + .visually-hidden-md { + position: absolute !important; + width: 1px !important; + height: 1px !important; + margin: -1px !important; + border: 0 !important; + padding: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + overflow: hidden !important; } } +@media screen and (min-width: 1280px) { + .visually-hidden-lg { + position: absolute !important; + width: 1px !important; + height: 1px !important; + margin: -1px !important; + border: 0 !important; + padding: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + overflow: hidden !important; } } + +/*# sourceMappingURL=mini-custom.css.map */ + +img[alt="ST logo"] { display: block; margin: auto; width: 75%; max-width: 250px; min-width: 71px; } +img[alt="Cube logo"] { float: right; width: 30%; max-width: 10rem; min-width: 8rem; padding-right: 1rem;} + +.figure { + display: block; + margin-left: auto; + margin-right: auto; + text-align: center; +} \ No newline at end of file diff --git a/Drivers/BSP/STM32L496G-Discovery/_htmresc/st_logo_2020.png b/Drivers/BSP/STM32L496G-Discovery/_htmresc/st_logo_2020.png new file mode 100644 index 0000000000000000000000000000000000000000..d6cebb5ac70e0594cbe37a6b60036a80ef3bed37 GIT binary patch literal 7520 zcmcI|WmKC@*KTl!K!Z~t6qn*&DDF_CK%q#B6QmH_DHL}I6b%;K-J$eBN|2xh0+bea zmtyV5bG|?CpZBcu=iF<}z4q*xz1LhL*PcBwx;m;Pgmi=e0DweYO-UaBz)*UWZ}4#+ zCC-V!SC16}H#HLv0Dy?%--0o{5_}H;Jf%=ql7H=+dziOk_)KzUSaiQ9L<^g!49k}} z?4y$V zrsn3Ul^TY`00G_J_8;F7Sr5c3Y)f-yOYl{fS0avfKJg7R%r!y-ohcBkr6XBZBkE)( z_t+tVV2}G1_CN!)yWes*wa-AGwk31N_T1`)4COlfz+o(9S90e?6jHV4)!>`j+oRqp z)gb?rtSdw<#&c?q!OKB+Ncn!kr5JR2EYan8HAPXBw*Oh-F(6GmaC!`$p7fl!_Cdu> z5@PUMR_K5&jgevDepWqepZVdMHR$q>ga=7k0ltW$HHVn>HRa!#(+BW_jN$5rx^MtR zzWT7tNWQeFzEp+86jOYI=I)*GZYEiXlf-Mw%tJ^ptL%2)%#PmUjxC4wx@%KxQ)8kO?|7E1 zd@5gd9_$*6nx?fj*iF_EJT*PYLFP}d8*Fw>cu3@&nm%V_C}V7HMmg|Nl#1J1^#)uz zZag|X>{6j-myvL}3(H8o3resNBq_jcuJuyT!QuXnNN&zG^tG? z>y*dy1#XfwyCE#UiLT(~LYAVwp)epErJLsHBA|l0xo)kxLAPob+7tFlr{7x8(#v|O zknK}QC6|~=cTJ0;x9MWMKua;LdTKIHX>35a@7{5y0MQ|zqsP64mM~`gJ&&R{pSUBA zf3Y>k>d|xdzBFztjtO~{y%@LUdwSgzEj=69hH3-NNWx7<|49%2%lvTEeE3_|$~iDd zlktnxf|NB>Bui)yY;%TXgWA;rhODxR!-4GzxKd473I)3;j zS4-Vun<^vqZ4)HbwVzq%5%)S!>Q(Y&PkF ze1ab_oy?_$PZT-mKJ3K^;6MrB*Wc$lkYJ_460AFYEq{AjlDxm;5GRwOsm>doJy3Z;a$FSu-q`X)Hw&o~?_`Dnpx4dOj6#)bGOdZbj4hD`l|&#v~K+WrGO zpLCVQg=*h=4H1sK)D*Pxtb#p`c+g-eK65k!CEZjLIrfm}5<4@KVqZ#8(S$vs{?Xv) zN(}CKeeLR%I)W!p(l-`utKmBbJk-On{)ciqUN5%?TS8uwKU(8}Mxhsb&qHL~DDcB@qi} z4z%efV#K69a#lShPt5}*7ME@^xunFR{k;|qp z`_Hgdj_Qle?%Ydlr3f^SdRkUncIj7qTiu85tA$v`#419Nlof8tjqUjO z!Rwyq$Krfh`(@MiE+)yie&jU^crprYV&?zN!2b33S2qtW+zB$nahDhVZiQ12bmcwYBcT8KS>v`jsuI@X zy^k^7>TM5Ndp@}pSl6vmkk*u`@C`z(gq||K2>y=Y#w1i`Nk2zAP7{_^ACq;bQmT<4 z;b~K3=?mhZX#~jQnZjdU={NFp^HRr~;^PXQ*UIHzkq}Xsn!56*ZCOOEt|^ zawUwGqs;zCEGKTz&(a(@h#0sCE+@`3Y<&}9!(;Pw&`C+d#D?`##&!@*ERaH0fksrh zfk2svh3!d~h{SC6BNKN2j6(lzC>S^_*eh{@gR zP$rV4$nqV1y|zYpd;nQr-`Vlp(5sQXx9AibC?xc7pUV)v2cWfHu3{KLbfP;;;`I&)mWqLcXt6s+5fps9R?K>hGR$5;=( zo#;zzQ5!w+(99p1_gh^?F#$tpMd+4%G|K`XG_#@A>30WD2L9!0a>wRASg`M?^z#)| zifb$d^KUD&3qLsr-@}r_7p${gdmRqhy819bj?yI-v({I?0o3_8d>CZmCzqH4{{QtD z|6dvgm<^~668G`6wLw4C4y-o9E9ZG3RiH^&;rrKSBT@bMR+!TlYo*9P;?Z>xORMV3ndQp9EyNn!!~j&x&$gDVke|t#!{QoegHm+sT7cSjwSu z)jZlx1pHrrx0&YCZWJ4xC&U%r_IwfJOxnYqYMcZn&_hgnKuls z>(Y$qjIhcweo^A_VVq_#UR&urF%UbI^><5L5zbV9owMQviM*_{@i|dke!!v8a_yG! zl%#ay{(6U_N3-)yeif3tx6>aQSf1r zO~OuNW<8a~bi6Xby0@tKw0@f1R!@+3S2nf#F&j~l0mrNCtjoZdPYob?g!Vx4F-uA2 z4uS>8eR?dA9i>C|cm-m5lO0m@$f(DB6Z<9Pe07xR`l4$ks3eZ@v5}1?^YNQy-tB(` zgUNZrGVf#b~`}jew;MQG1O~VDk_i*<)p9DfFfd;vLy4QZT zMYh|DxJg3-!{szUN*uo&`&DUkzq4qG2`Lj;Ar46DYUymcviS{Unhzmx z=LwZ-Lr{t1z?9Oip%!z{j+Z%_@u?C78I`V4fC`icG1c|2;`EoLK$ z)9|wrAV&V1Vgts~tQCw0X?X{74W"NJQ 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 b^}%0^qYmp2WD(pA|JtZ4>nPPKybJpu3@X?! literal 0 HcmV?d00001 diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.c new file mode 100644 index 0000000..6accf84 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.c @@ -0,0 +1,1645 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery.c + * @author MCD Application Team + * @brief This file provides a set of firmware functions to manage Leds, + * push-button and joystick of STM32L496G-Discovery board (MB1261) + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery.h" +#include "stm32l496g_discovery_io.h" +#include "stm32l496g_discovery_lcd.h" + +/** @addtogroup BSP + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY STM32L496G-DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_Common STM32L496G-DISCOVERY Common + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_Private_TypesDefinitions Private Types Definitions + * @brief This file provides firmware functions to manage Leds, push-buttons, + * COM ports, SD card on SPI and temperature sensor (TS751) available on + * STM32L496G-DISCOVERY discoveryuation board from STMicroelectronics. + * @{ + */ + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_Private_Defines Private Defines + * @{ + */ + +/** + * @brief STM32L496G DISCOVERY BSP Driver version number + */ +#define __STM32L496G_DISCOVERY_BSP_VERSION_MAIN (0x01) /*!< [31:24] main version */ +#define __STM32L496G_DISCOVERY_BSP_VERSION_SUB1 (0x01) /*!< [23:16] sub1 version */ +#define __STM32L496G_DISCOVERY_BSP_VERSION_SUB2 (0x06) /*!< [15:8] sub2 version */ +#define __STM32L496G_DISCOVERY_BSP_VERSION_RC (0x00) /*!< [7:0] release candidate */ +#define __STM32L496G_DISCOVERY_BSP_VERSION ((__STM32L496G_DISCOVERY_BSP_VERSION_MAIN << 24)\ + |(__STM32L496G_DISCOVERY_BSP_VERSION_SUB1 << 16)\ + |(__STM32L496G_DISCOVERY_BSP_VERSION_SUB2 << 8 )\ + |(__STM32L496G_DISCOVERY_BSP_VERSION_RC)) +/** + * @} + */ + + +/** @defgroup STM32L496G_DISCOVERY_Private_Macros Private Macros + * @{ + */ + +/** + * @} + */ + + +/** @defgroup STM32L496G_DISCOVERY_Exported_Variables Exported Variables + * @{ + */ + +/** + * @brief LED variables + */ +const uint16_t LED_PIN[LEDn] = {LED1_PIN, + LED2_PIN + }; + +/** + * @brief JOYSTICK variables + */ +GPIO_TypeDef *JOY_PORT[JOYn] = {SEL_JOY_GPIO_PORT, + LEFT_JOY_GPIO_PORT, + RIGHT_JOY_GPIO_PORT, + DOWN_JOY_GPIO_PORT, + UP_JOY_GPIO_PORT + }; + +const uint16_t JOY_PIN[JOYn] = {SEL_JOY_PIN, + LEFT_JOY_PIN, + RIGHT_JOY_PIN, + DOWN_JOY_PIN, + UP_JOY_PIN + }; + +const uint8_t JOY_IRQn[JOYn] = {SEL_JOY_EXTI_IRQn, + LEFT_JOY_EXTI_IRQn, + RIGHT_JOY_EXTI_IRQn, + DOWN_JOY_EXTI_IRQn, + UP_JOY_EXTI_IRQn + }; + + +/** + * @brief COM port variables + */ +#if defined(HAL_UART_MODULE_ENABLED) +USART_TypeDef* COM_USART[COMn] = {DISCOVERY_COM1}; +GPIO_TypeDef* COM_TX_PORT[COMn] = {DISCOVERY_COM1_TX_GPIO_PORT}; +GPIO_TypeDef* COM_RX_PORT[COMn] = {DISCOVERY_COM1_RX_GPIO_PORT}; +const uint16_t COM_TX_PIN[COMn] = {DISCOVERY_COM1_TX_PIN}; +const uint16_t COM_RX_PIN[COMn] = {DISCOVERY_COM1_RX_PIN}; +const uint16_t COM_TX_AF[COMn] = {DISCOVERY_COM1_TX_AF}; +const uint16_t COM_RX_AF[COMn] = {DISCOVERY_COM1_RX_AF}; +#endif /* HAL_UART_MODULE_ENABLED */ + + +/** + * @brief BUS variables + */ +#if defined(HAL_I2C_MODULE_ENABLED) +uint32_t I2c1Timeout = DISCOVERY_I2C2_TIMEOUT_MAX; /*Instance = COM_USART[COM]; + HAL_UART_Init(huart); +} + +/** + * @brief DeInit COM port. + * @param COM: COM port to be configured. + * This parameter can be one of the following values: + * @arg COM1 + * @param huart: Pointer to a UART_HandleTypeDef structure that contains the + * configuration information for the specified USART peripheral. + */ +void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart) +{ + /* USART deinitialization */ + huart->Instance = COM_USART[COM]; + HAL_UART_DeInit(huart); + + /* Disable USART clock */ + DISCOVERY_COMx_CLK_DISABLE(COM); + + /* USART TX/RX pins deinitializations */ + HAL_GPIO_DeInit(COM_TX_PORT[COM], COM_TX_PIN[COM]); + HAL_GPIO_DeInit(COM_RX_PORT[COM], COM_RX_PIN[COM]); + + /* Disable GPIOs clock is left for application */ +} +#endif /* HAL_UART_MODULE_ENABLED */ + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_BusOperations_Functions Bus Operations Functions + * @{ + */ + +/******************************************************************************* + BUS OPERATIONS +*******************************************************************************/ + +#if defined(HAL_I2C_MODULE_ENABLED) +/******************************* I2C Routines**********************************/ +/** + * @brief Discovery I2C2 Bus initialization + * @retval None + */ +void I2C2_Init(void) +{ + if (HAL_I2C_GetState(&I2c2Handle) == HAL_I2C_STATE_RESET) + { + I2c2Handle.Instance = DISCOVERY_I2C2; + I2c2Handle.Init.Timing = DISCOVERY_I2C2_TIMING; + I2c2Handle.Init.OwnAddress1 = 0x70; + I2c2Handle.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + I2c2Handle.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + I2c2Handle.Init.OwnAddress2 = 0xFF; + I2c2Handle.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + I2c2Handle.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + + /* Init the I2C */ + I2C2_MspInit(&I2c2Handle); + HAL_I2C_Init(&I2c2Handle); + } +} + +/** + * @brief Discovery I2C2 MSP Initialization + * @param hi2c: I2C2 handle + * @retval None + */ +static void I2C2_MspInit(I2C_HandleTypeDef *hi2c) +{ + GPIO_InitTypeDef GPIO_InitStructure; + RCC_PeriphCLKInitTypeDef RCC_PeriphCLKInitStruct; + + if (hi2c->Instance == DISCOVERY_I2C2) + { + /*##-1- Configure the Discovery I2C2 clock source. The clock is derived from the SYSCLK #*/ + RCC_PeriphCLKInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C2; + RCC_PeriphCLKInitStruct.I2c2ClockSelection = RCC_I2C2CLKSOURCE_SYSCLK; + HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphCLKInitStruct); + + /*##-2- Configure the GPIOs ################################################*/ + /* Enable GPIO clock */ + DISCOVERY_I2C2_SDA_GPIO_CLK_ENABLE(); + DISCOVERY_I2C2_SCL_GPIO_CLK_ENABLE(); + + /* Configure I2C Rx/Tx as alternate function */ + GPIO_InitStructure.Pin = DISCOVERY_I2C2_SCL_PIN; + GPIO_InitStructure.Mode = GPIO_MODE_AF_OD; + GPIO_InitStructure.Pull = /*GPIO_NOPULL*/ GPIO_PULLUP; + GPIO_InitStructure.Speed = /*GPIO_SPEED_MEDIUM*/ GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStructure.Alternate = DISCOVERY_I2C2_SCL_SDA_AF; + HAL_GPIO_Init(DISCOVERY_I2C2_SCL_GPIO_PORT, &GPIO_InitStructure); + GPIO_InitStructure.Pin = DISCOVERY_I2C2_SDA_PIN; + HAL_GPIO_Init(DISCOVERY_I2C2_SDA_GPIO_PORT, &GPIO_InitStructure); + + /*##-3- Configure the Discovery I2C2 peripheral #############################*/ + /* Enable Discovery_I2C2 clock */ + DISCOVERY_I2C2_CLK_ENABLE(); + + /* Force and release the I2C Peripheral Clock Reset */ + DISCOVERY_I2C2_FORCE_RESET(); + DISCOVERY_I2C2_RELEASE_RESET(); + + /* Enable and set Discovery I2C2 Interrupt to the highest priority */ + HAL_NVIC_SetPriority(DISCOVERY_I2C2_EV_IRQn, 0x00, 0); + HAL_NVIC_EnableIRQ(DISCOVERY_I2C2_EV_IRQn); + + /* Enable and set Discovery I2C2 Interrupt to the highest priority */ + HAL_NVIC_SetPriority(DISCOVERY_I2C2_ER_IRQn, 0x00, 0); + HAL_NVIC_EnableIRQ(DISCOVERY_I2C2_ER_IRQn); + } +} + +/** + * @brief Discovery I2C2 Bus Deinitialization + * @retval None + */ +void I2C2_DeInit(void) +{ + if (HAL_I2C_GetState(&I2c2Handle) != HAL_I2C_STATE_RESET) + { + /* DeInit the I2C */ + HAL_I2C_DeInit(&I2c2Handle); + I2C2_MspDeInit(&I2c2Handle); + } +} + +/** + * @brief Discovery I2C2 MSP DeInitialization + * @param hi2c: I2C2 handle + * @retval None + */ +static void I2C2_MspDeInit(I2C_HandleTypeDef *hi2c) +{ + if (hi2c->Instance == DISCOVERY_I2C2) + { + /*##-1- Unconfigure the GPIOs ################################################*/ + /* Enable GPIO clock */ + DISCOVERY_I2C2_SDA_GPIO_CLK_ENABLE(); + DISCOVERY_I2C2_SCL_GPIO_CLK_ENABLE(); + + /* Configure I2C Rx/Tx as alternate function */ + HAL_GPIO_DeInit(DISCOVERY_I2C2_SCL_GPIO_PORT, DISCOVERY_I2C2_SCL_PIN); + HAL_GPIO_DeInit(DISCOVERY_I2C2_SDA_GPIO_PORT, DISCOVERY_I2C2_SDA_PIN); + + /*##-2- Unconfigure the Discovery I2C2 peripheral ############################*/ + /* Force and release I2C Peripheral */ + DISCOVERY_I2C2_FORCE_RESET(); + DISCOVERY_I2C2_RELEASE_RESET(); + + /* Disable Discovery I2C2 clock */ + DISCOVERY_I2C2_CLK_DISABLE(); + + /* Disable Discovery I2C2 interrupts */ + HAL_NVIC_DisableIRQ(DISCOVERY_I2C2_EV_IRQn); + HAL_NVIC_DisableIRQ(DISCOVERY_I2C2_ER_IRQn); + } +} + +/** + * @brief Write a value in a register of the device through BUS. + * @param Addr: Device address on BUS Bus. + * @param Reg: The target register address to write + * @param RegSize: The target register size (can be 8BIT or 16BIT) + * @param Value: The target register value to be written + * @retval None + */ +static void I2C2_WriteData(uint16_t Addr, uint16_t Reg, uint16_t RegSize, uint8_t Value) +{ + HAL_StatusTypeDef status = HAL_OK; + + __disable_irq(); + + status = HAL_I2C_Mem_Write(&I2c2Handle, Addr, (uint16_t)Reg, RegSize, &Value, 1, I2c2Timeout); + + __enable_irq(); + + + /* Check the communication status */ + if (status != HAL_OK) + { + /* Re-Initiaize the BUS */ + I2C2_Error(); + } +} + +/** + * @brief Write a value in a register of the device through BUS. + * @param Addr: Device address on BUS Bus. + * @param Reg: The target register address to write + * @param RegSize: The target register size (can be 8BIT or 16BIT) + * @param pBuffer: The target register value to be written + * @param Length: buffer size to be written + * @retval None + */ +static HAL_StatusTypeDef I2C2_WriteBuffer(uint16_t Addr, uint16_t Reg, uint16_t RegSize, uint8_t *pBuffer, uint16_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + __disable_irq(); + + status = HAL_I2C_Mem_Write(&I2c2Handle, Addr, (uint16_t)Reg, RegSize, pBuffer, Length, I2c2Timeout); + + __enable_irq(); + + + /* Check the communication status */ + if (status != HAL_OK) + { + /* Re-Initiaize the BUS */ + I2C2_Error(); + } + + return status; +} + +/** + * @brief Read a register of the device through BUS + * @param Addr: Device address on BUS + * @param Reg: The target register address to read + * @param RegSize: The target register size (can be 8BIT or 16BIT) + * @retval read register value + */ +static uint8_t I2C2_ReadData(uint16_t Addr, uint16_t Reg, uint16_t RegSize) +{ + HAL_StatusTypeDef status = HAL_OK; + uint8_t value = 0x0; + + __disable_irq(); + + status = HAL_I2C_Mem_Read(&I2c2Handle, Addr, Reg, RegSize, &value, 1, I2c2Timeout); + + __enable_irq(); + + /* Check the communication status */ + if (status != HAL_OK) + { + /* Re-Initiaize the BUS */ + I2C2_Error(); + HAL_Delay(200); + } + + return value; +} + +static uint8_t I2C2_isDeviceReady(uint16_t Addr, uint32_t trial) +{ + HAL_StatusTypeDef status = HAL_OK; + uint8_t value = 0x0; + + __disable_irq(); + + status = HAL_I2C_IsDeviceReady(&I2c2Handle, Addr, trial, 50); + + __enable_irq(); + + /* Check the communication status */ + if (status != HAL_OK) + { + /* Re-Initiaize the BUS */ + I2C2_Error(); + HAL_Delay(200); + } + + return value; +} + +/** + * @brief Reads multiple data on the BUS. + * @param Addr: I2C Address + * @param Reg: Reg Address + * @param RegSize : The target register size (can be 8BIT or 16BIT) + * @param pBuffer: pointer to read data buffer + * @param Length: length of the data + * @retval 0 if no problems to read multiple data + */ +static HAL_StatusTypeDef I2C2_ReadBuffer(uint16_t Addr, uint16_t Reg, uint16_t RegSize, uint8_t *pBuffer, uint16_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + __disable_irq(); + + status = HAL_I2C_Mem_Read(&I2c2Handle, Addr, (uint16_t)Reg, RegSize, pBuffer, Length, I2c2Timeout); + + __enable_irq(); + + /* Check the communication status */ + if (status != HAL_OK) + { + /* Re-Initiaize the BUS */ + I2C2_Error(); + } + + return status; +} + +/** + * @brief Discovery I2C2 error treatment function + * @retval None + */ +static void I2C2_Error(void) +{ + BSP_ErrorHandler(); + + /* De-initialize the I2C communication BUS */ + HAL_I2C_DeInit(&I2c2Handle); + + /* Re- Initiaize the I2C communication BUS */ + I2C2_Init(); +} + + + +/******************************* I2C Routines *********************************/ +/** + * @brief Initializes I2C HAL. + * @param i2c_handler : I2C handler + * @retval None + */ +static void I2Cx_Init(I2C_HandleTypeDef *i2c_handler) +{ + + if (HAL_I2C_GetState(i2c_handler) == HAL_I2C_STATE_RESET) + { + if (i2c_handler == (I2C_HandleTypeDef *)(&hI2cTSHandler)) + { + /* TS (Capacitive Touch Panel) and LCD I2C configuration */ + i2c_handler->Instance = DISCOVERY_TS_I2Cx; + + /* Need to enable MFX, and in doing so, initialize I2C at the same time */ + /* MFX_IO_Init();*/ + + } + else if (i2c_handler == (I2C_HandleTypeDef *)(&hI2cAudioHandler)) + { + /* Audio and LCD I2C configuration */ + i2c_handler->Instance = DISCOVERY_AUDIO_I2Cx; + } + else if (i2c_handler == (I2C_HandleTypeDef *)(&hI2cCameraHandler)) + { + i2c_handler->Instance = DISCOVERY_CAMERA_I2Cx; + } + else + { + /* External, EEPROM and Arduino connector I2C configuration */ + i2c_handler->Instance = DISCOVERY_EXT_I2Cx; + } + + i2c_handler->Init.Timing = DISCOVERY_I2C_TIMING; + i2c_handler->Init.OwnAddress1 = 0x70; + i2c_handler->Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + i2c_handler->Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + i2c_handler->Init.OwnAddress2 = 0xFF; + i2c_handler->Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + i2c_handler->Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + + + /* Init the I2C */ + HAL_I2C_Init(i2c_handler); + + } + +} + +/** + * @brief Reads multiple data. + * @param i2c_handler : I2C handler + * @param Addr: I2C address + * @param Reg: Reg address + * @param MemAddress: Memory address + * @param Buffer: Pointer to data buffer + * @param Length: Length of the data + * @retval Number of read data + */ +static HAL_StatusTypeDef I2Cx_ReadMultiple(I2C_HandleTypeDef *i2c_handler, + uint8_t Addr, + uint16_t Reg, + uint16_t MemAddress, + uint8_t *Buffer, + uint16_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + status = HAL_I2C_Mem_Read(i2c_handler, Addr, (uint16_t)Reg, MemAddress, Buffer, Length, 1000); + + /* Check the communication status */ + if (status != HAL_OK) + { + /* I2C error occurred */ + I2Cx_Error(i2c_handler, Addr); + } + return status; +} + +/** + * @brief Writes a value in a register of the device through BUS in using DMA mode. + * @param i2c_handler : I2C handler + * @param Addr: Device address on BUS Bus. + * @param Reg: The target register address to write + * @param MemAddress: Memory address + * @param Buffer: The target register value to be written + * @param Length: buffer size to be written + * @retval HAL status + */ +static HAL_StatusTypeDef I2Cx_WriteMultiple(I2C_HandleTypeDef *i2c_handler, + uint8_t Addr, + uint16_t Reg, + uint16_t MemAddress, + uint8_t *Buffer, + uint16_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + status = HAL_I2C_Mem_Write(i2c_handler, Addr, (uint16_t)Reg, MemAddress, Buffer, Length, 1000); + + /* Check the communication status */ + if (status != HAL_OK) + { + /* Re-Initialize the I2C Bus */ + I2Cx_Error(i2c_handler, Addr); + } + return status; +} + +/** + * @brief Manages error callback by re-initializing I2C. + * @param i2c_handler : I2C handler + * @param Addr: I2C Address + * @retval None + */ +static void I2Cx_Error(I2C_HandleTypeDef *i2c_handler, uint8_t Addr) +{ + BSP_ErrorHandler(); + + /* De-initialize the I2C communication bus */ + if (i2c_handler == (I2C_HandleTypeDef *)(&hI2cTSHandler)) + { + I2C2_DeInit(); + } + else + { + HAL_I2C_DeInit(i2c_handler); + } + + /* Re-Initialize the I2C communication bus */ + I2Cx_Init(i2c_handler); +} +#endif /*HAL_I2C_MODULE_ENABLED*/ + + +/******************************************************************************* + LINK OPERATIONS +*******************************************************************************/ + +#if defined(HAL_I2C_MODULE_ENABLED) +/********************************* LINK MFX ***********************************/ +/** + * @brief Initializes MFX low level. + * @retval None + */ +void MFX_IO_Init(void) +{ + /* I2C2 init */ + I2C2_Init(); + + /* Wait for device ready */ + if (I2C2_isDeviceReady(IO1_I2C_ADDRESS, 4) != HAL_OK) + { + BSP_ErrorHandler(); + } +} +/** + * @brief Deinitializes MFX low level. + * @retval None + */ +void MFX_IO_DeInit(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* Enable wakeup gpio clock */ + MFX_WAKEUP_GPIO_CLK_ENABLE(); + + /* MFX wakeup pin configuration */ + GPIO_InitStruct.Pin = MFX_WAKEUP_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(MFX_WAKEUP_GPIO_PORT, &GPIO_InitStruct); + + /* DeInit interrupt pin : disable IRQ before to avoid spurious interrupt */ + HAL_NVIC_DisableIRQ((IRQn_Type)(MFX_INT_EXTI_IRQn)); + MFX_INT_GPIO_CLK_ENABLE(); + HAL_GPIO_DeInit(MFX_INT_GPIO_PORT, MFX_INT_PIN); + + /* I2C2 Deinit */ + I2C2_DeInit(); +} + +/** + * @brief Configures MFX low level interrupt. + * @retval None + */ +void MFX_IO_ITConfig(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* Enable the GPIO clock */ + MFX_INT_GPIO_CLK_ENABLE(); + + /* MFX_OUT_IRQ (normally used for EXTI_WKUP) */ + GPIO_InitStruct.Pin = MFX_INT_PIN; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + HAL_GPIO_Init(MFX_INT_GPIO_PORT, &GPIO_InitStruct); + + /* Enable and set GPIO EXTI Interrupt to the lowest priority */ + HAL_NVIC_SetPriority((IRQn_Type)(MFX_INT_EXTI_IRQn), 0x0F, 0x0F); + HAL_NVIC_EnableIRQ((IRQn_Type)(MFX_INT_EXTI_IRQn)); +} + +/** + * @brief Configures MFX wke up pin. + * @retval None + */ +void MFX_IO_EnableWakeupPin(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* Enable wakeup gpio clock */ + MFX_WAKEUP_GPIO_CLK_ENABLE(); + + /* MFX wakeup pin configuration */ + GPIO_InitStruct.Pin = MFX_WAKEUP_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(MFX_WAKEUP_GPIO_PORT, &GPIO_InitStruct); +} + +/** + * @brief Wakeup MFX. + * @retval None + */ +void MFX_IO_Wakeup(void) +{ + /* Set Wakeup pin to high to wakeup Idd measurement component from standby mode */ + HAL_GPIO_WritePin(MFX_WAKEUP_GPIO_PORT, MFX_WAKEUP_PIN, GPIO_PIN_SET); + + /* Wait */ + HAL_Delay(1); + + /* Set gpio pin basck to low */ + HAL_GPIO_WritePin(MFX_WAKEUP_GPIO_PORT, MFX_WAKEUP_PIN, GPIO_PIN_RESET); +} + +/** + * @brief MFX writes single data. + * @param Addr: I2C address + * @param Reg: Register address + * @param Value: Data to be written + * @retval None + */ +void MFX_IO_Write(uint16_t Addr, uint8_t Reg, uint8_t Value) +{ + I2C2_WriteData(Addr, Reg, I2C_MEMADD_SIZE_8BIT, Value); +} + +/** + * @brief MFX reads single data. + * @param Addr: I2C address + * @param Reg: Register address + * @retval Read data + */ +uint8_t MFX_IO_Read(uint16_t Addr, uint8_t Reg) +{ + return I2C2_ReadData(Addr, Reg, I2C_MEMADD_SIZE_8BIT); +} + +/** + * @brief MFX reads multiple data. + * @param Addr: I2C address + * @param Reg: Register address + * @param Buffer: Pointer to data buffer + * @param Length: Length of the data + * @retval Number of read data + */ +uint16_t MFX_IO_ReadMultiple(uint16_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length) +{ + return I2C2_ReadBuffer(Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, Buffer, Length); +} + +/** + * @brief MFX writes multiple data. + * @param Addr: I2C address + * @param Reg: Register address + * @param Buffer: Pointer to data buffer + * @param Length: Length of the data + * @retval None + */ +void MFX_IO_WriteMultiple(uint16_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length) +{ + I2C2_WriteBuffer(Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, Buffer, Length); +} + +/** + * @brief MFX delay + * @param Delay: Delay in ms + * @retval None + */ +void MFX_IO_Delay(uint32_t Delay) +{ + HAL_Delay(Delay); +} + + +/********************************* LINK AUDIO *********************************/ +/** + * @brief Initializes Audio low level. + * @retval None + */ +void AUDIO_IO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + uint8_t Value; + + /* Enable Reset GPIO Clock */ + AUDIO_RESET_GPIO_CLK_ENABLE(); + + /* Audio reset pin configuration */ + GPIO_InitStruct.Pin = AUDIO_RESET_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(AUDIO_RESET_GPIO, &GPIO_InitStruct); + + /* I2C bus init */ + I2C2_Init(); + + /* Power off the codec */ + CODEC_AUDIO_POWER_OFF(); + + /* wait until power supplies are stable */ + HAL_Delay(10); + + /* Power on the codec */ + CODEC_AUDIO_POWER_ON(); + + /* Set the device in standby mode */ + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x02); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x02, (Value | 0x01)); + + /* Set all power down bits to 1 */ + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x02, 0x7F); + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x03); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x03, (Value | 0x0E)); +} + +/** + * @brief Deinitializes Audio low level. + * @retval None + */ +void AUDIO_IO_DeInit(void) +{ + uint8_t Value; + + /* Mute DAC and ADC */ + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x08); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x08, (Value | 0x03)); + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x07); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x07, (Value | 0x03)); + + /* Disable soft ramp and zero cross */ + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x06); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x06, (Value & 0xF0)); + + /* Set PDN to 1 */ + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x02); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x02, (Value | 0x01)); + + /* Set all power down bits to 1 */ + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x02, 0x7F); + Value = AUDIO_IO_Read(AUDIO_I2C_ADDRESS, 0x03); + AUDIO_IO_Write(AUDIO_I2C_ADDRESS, 0x03, (Value | 0x0E)); + + /* Power off the codec */ + CODEC_AUDIO_POWER_OFF(); + +} + +/** + * @brief Writes a single data. + * @param Addr: I2C address + * @param Reg: Reg address + * @param Value: Data to be written + * @retval None + */ +void AUDIO_IO_Write(uint8_t Addr, uint8_t Reg, uint8_t Value) +{ + I2C2_WriteBuffer(Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, &Value, 1); +} + +/** + * @brief Reads a single data. + * @param Addr: I2C address + * @param Reg: Reg address + * @retval Data to be read + */ +uint8_t AUDIO_IO_Read(uint8_t Addr, uint8_t Reg) +{ + uint8_t Read_Value = 0; + + I2C2_ReadBuffer((uint16_t) Addr, (uint16_t) Reg, I2C_MEMADD_SIZE_8BIT, &Read_Value, 1); + + return Read_Value; +} + +/** + * @brief AUDIO Codec delay + * @param Delay: Delay in ms + * @retval None + */ +void AUDIO_IO_Delay(uint32_t Delay) +{ + HAL_Delay(Delay); +} + + + + +/*************************** FMC Routines ************************************/ +/** + * @brief Initializes FMC_BANK1_LCD_IO MSP. + * @param None + * @retval None + */ +void FMC_BANK1_MspInit(void) +{ + + GPIO_InitTypeDef GPIO_Init_Structure; + + /* Enable FMC clock */ + __HAL_RCC_FMC_CLK_ENABLE(); + + /* Enable GPIOs clock */ + __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_PWR_CLK_ENABLE(); + HAL_PWREx_EnableVddIO2(); + + GPIO_Init_Structure.Mode = GPIO_MODE_AF_PP; + GPIO_Init_Structure.Pull = GPIO_PULLUP; + GPIO_Init_Structure.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_Init_Structure.Alternate = GPIO_AF12_FMC; + /* GPIOD configuration */ /* GPIO_PIN_7 is FMC_NE1 */ + GPIO_Init_Structure.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_8 | \ + GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_14 | GPIO_PIN_15 | GPIO_PIN_7; + + HAL_GPIO_Init(GPIOD, &GPIO_Init_Structure); + + + + + /* GPIOE configuration */ + GPIO_Init_Structure.Pin = GPIO_PIN_7 | \ + GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | \ + GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15; + HAL_GPIO_Init(GPIOE, &GPIO_Init_Structure); + + /* GPIOD configuration */ + GPIO_Init_Structure.Pin = GPIO_PIN_13 ; + HAL_GPIO_Init(GPIOD, &GPIO_Init_Structure); + +} + + +/** + * @brief Initializes LCD IO. + * @param None + * @retval None + */ +void FMC_BANK1_Init(void) +{ + SRAM_HandleTypeDef hsram; + FMC_NORSRAM_TimingTypeDef sram_timing; + FMC_NORSRAM_TimingTypeDef sram_timing_write; + + /*** Configure the SRAM Bank 1 ***/ + /* Configure IPs */ + hsram.Instance = FMC_NORSRAM_DEVICE; + hsram.Extended = FMC_NORSRAM_EXTENDED_DEVICE; + + + /* Timing for READING */ + + sram_timing.AddressSetupTime = 1; + sram_timing.AddressHoldTime = 1; + sram_timing.DataSetupTime = 1; + sram_timing.BusTurnAroundDuration = 0; + sram_timing.CLKDivision = 2; + sram_timing.DataLatency = 2; + sram_timing.AccessMode = FMC_ACCESS_MODE_A; + /* Timing for WRITING */ + sram_timing_write.AddressSetupTime = 5; + sram_timing_write.AddressHoldTime = 1; + sram_timing_write.DataSetupTime = 3; + sram_timing_write.BusTurnAroundDuration = 2; + sram_timing_write.CLKDivision = 2; + sram_timing_write.DataLatency = 2; + sram_timing_write.AccessMode = FMC_ACCESS_MODE_A; + + + hsram.Init.NSBank = FMC_NORSRAM_BANK1; + hsram.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE; + hsram.Init.MemoryType = FMC_MEMORY_TYPE_SRAM; + hsram.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16; + hsram.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE; + hsram.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW; + hsram.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS; + hsram.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE; + hsram.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE; + hsram.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE; + hsram.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE; + hsram.Init.WriteBurst = FMC_WRITE_BURST_DISABLE; + hsram.Init.PageSize = FMC_PAGE_SIZE_NONE; + hsram.Init.WriteFifo = FMC_WRITE_FIFO_DISABLE; + hsram.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY; + /* Initialize the SRAM controller */ + FMC_BANK1_MspInit(); + HAL_SRAM_Init(&hsram, &sram_timing, &sram_timing_write); + +} + + +/** + * @brief DeInitializes FMC_BANK1_LCD_IO MSP. + * @param None + * @retval None + */ +void FMC_BANK1_MspDeInit(void) +{ + + /* Enable FMC clock */ + __HAL_RCC_FMC_CLK_ENABLE(); + + /* Enable GPIOs clock */ + __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_PWR_CLK_ENABLE(); + + + HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_8 | \ + GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_14 | GPIO_PIN_15 | GPIO_PIN_7 | GPIO_PIN_13); + + + + HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7 | \ + GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | \ + GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15); + +} + + +/** + * @brief Writes register value. + * @param Data: Data to be written + * @retval None + */ +static void FMC_BANK1_WriteData(uint16_t Data) +{ + /* Write 16-bit Reg */ + LCD_ADDR->REG = Data; +} + +/** + * @brief Writes register address. + * @param Reg: Register to be written + * @retval None + */ +static void FMC_BANK1_WriteReg(uint8_t Reg) +{ + /* Write 16-bit Index, then write register */ + FMC_BANK1_ADDR->REG = Reg; +} + +/** + * @brief Reads register value. + * @param None + * @retval Read value + */ +static uint16_t FMC_BANK1_ReadData(void) +{ + return LCD_ADDR->REG; +} + +/******************************************************************************* + LINK OPERATIONS +*******************************************************************************/ + +/********************************* LINK LCD ***********************************/ + +/** + * @brief Initializes LCD low level. + * @param None + * @retval None + */ +void LCD_IO_Init(void) +{ + FMC_BANK1_Init(); +} + +/** + * @brief Writes data on LCD data register. + * @param Data: Data to be written + * @retval None + */ +void LCD_IO_WriteData(uint16_t RegValue) +{ + /* Write 16-bit Reg */ + FMC_BANK1_WriteData(RegValue); +} + +/** + * @brief Writes several data on LCD data register. + * @param Data: pointer on data to be written + * @param Size: data amount in 16bits short unit + * @retval None + */ +void LCD_IO_WriteMultipleData(uint16_t *pData, uint32_t Size) +{ + uint32_t i; + + for (i = 0; i < Size; i++) + { + FMC_BANK1_WriteData(pData[i]); + } +} + +/** + * @brief Writes register on LCD register. + * @param Reg: Register to be written + * @retval None + */ +void LCD_IO_WriteReg(uint8_t Reg) +{ + /* Write 16-bit Index, then Write Reg */ + FMC_BANK1_WriteReg(Reg); +} + +/** + * @brief Reads data from LCD data register. + * @param None + * @retval Read data. + */ +uint16_t LCD_IO_ReadData(void) +{ + return FMC_BANK1_ReadData(); +} + +/** + * @brief LCD delay + * @param Delay: Delay in ms + * @retval None + */ +void LCD_IO_Delay(uint32_t Delay) +{ + HAL_Delay(Delay); +} + + +/************************** LINK TS (TouchScreen) *****************************/ +/** + * @brief Initializes Touchscreen low level. + * @retval None + */ +void TS_IO_Init(void) +{ + I2Cx_Init(&hI2cTSHandler); + + if (ts_io_init == 0) + { + if (BSP_LCD_Init() == LCD_ERROR) + { + BSP_ErrorHandler(); + } + + BSP_IO_ConfigPin(TS_RST_PIN, IO_MODE_OUTPUT); + + BSP_IO_WritePin(TS_RST_PIN, GPIO_PIN_RESET); + HAL_Delay(10); + BSP_IO_WritePin(TS_RST_PIN, GPIO_PIN_SET); + HAL_Delay(200); + + ts_io_init = 1; + } +} + +/** + * @brief Writes a single data. + * @param Addr: I2C address + * @param Reg: Reg address + * @param Value: Data to be written + * @retval None + */ +void TS_IO_Write(uint8_t Addr, uint8_t Reg, uint8_t Value) +{ + I2Cx_WriteMultiple(&hI2cTSHandler, Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, (uint8_t *)&Value, 1); +} + +/** + * @brief Reads a single data. + * @param Addr: I2C address + * @param Reg: Reg address + * @retval Data to be read + */ +uint8_t TS_IO_Read(uint8_t Addr, uint8_t Reg) +{ + return I2C2_ReadData(Addr, Reg, I2C_MEMADD_SIZE_8BIT); +} + +/** + * @brief Reads multiple data with I2C communication + * channel from TouchScreen. + * @param Addr: I2C address + * @param Reg: Register address + * @param Buffer: Pointer to data buffer + * @param Length: Length of the data + * @retval Number of read data + */ +uint16_t TS_IO_ReadMultiple(uint8_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length) +{ + return I2Cx_ReadMultiple(&hI2cTSHandler, Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, Buffer, Length); +} + +/** + * @brief Writes multiple data with I2C communication + * channel from MCU to TouchScreen. + * @param Addr: I2C address + * @param Reg: Register address + * @param Buffer: Pointer to data buffer + * @param Length: Length of the data + * @retval None + */ +void TS_IO_WriteMultiple(uint8_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length) +{ + I2Cx_WriteMultiple(&hI2cTSHandler, Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, Buffer, Length); +} + +/** + * @brief Delay function used in TouchScreen low level driver. + * @param Delay: Delay in ms + * @retval None + */ +void TS_IO_Delay(uint32_t Delay) +{ + HAL_Delay(Delay); +} + + +/************************** Camera *****************************/ +/** + * @brief Initializes Camera low level. + * @retval None + */ +void CAMERA_IO_Init(void) +{ + I2Cx_Init(&hI2cCameraHandler); +} + +/** + * @brief Camera writes single data. + * @param Addr: I2C address + * @param Reg: Register address + * @param Value: Data to be written + * @retval None + */ +void CAMERA_IO_Write(uint8_t Addr, uint8_t Reg, uint8_t Value) +{ + I2Cx_WriteMultiple(&hI2cCameraHandler, Addr, (uint16_t)Reg, I2C_MEMADD_SIZE_8BIT, (uint8_t *)&Value, 1); +} + +/** + * @brief Camera reads single data. + * @param Addr: I2C address + * @param Reg: Register address + * @retval Read data + */ +uint8_t CAMERA_IO_Read(uint8_t Addr, uint8_t Reg) +{ + uint8_t read_value = 0; + + I2Cx_ReadMultiple(&hI2cCameraHandler, Addr, Reg, I2C_MEMADD_SIZE_8BIT, (uint8_t *)&read_value, 1); + + return read_value; +} + +/** + * @brief Camera delay + * @param Delay: Delay in ms + * @retval None + */ +void CAMERA_Delay(uint32_t Delay) +{ + HAL_Delay(Delay); +} + +#endif /* HAL_I2C_MODULE_ENABLED */ + + +__weak uint8_t BSP_LCD_Init(void) +{ + uint8_t ret = 0; + return ret; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.h new file mode 100644 index 0000000..4211be5 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery.h @@ -0,0 +1,590 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery.h + * @author MCD Application Team + * @brief This file contains definitions for STM32L496G_DISCOVERY's LEDs, + * push-buttons hardware resources (MB1261). + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_H +#define __STM32L496G_DISCOVERY_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Define for STM32L496G_DISCOVERY board + */ + + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l4xx_hal.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_Common + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_Exported_Types Exported Types + * @{ + */ + +/** + * @brief LED Types Definition + */ +typedef enum +{ + LED1 = 0, + LED2 = 1, + LED_ORANGE = LED1, + LED_GREEN = LED2 +} +Led_TypeDef; + + +/** + * @brief JOYSTICK Types Definition + */ +typedef enum +{ + JOY_SEL = 0, + JOY_LEFT = 1, + JOY_RIGHT = 2, + JOY_DOWN = 3, + JOY_UP = 4, + JOY_NONE = 5 +} JOYState_TypeDef; + +typedef enum +{ + JOY_MODE_GPIO = 0, + JOY_MODE_EXTI = 1 +} JOYMode_TypeDef; + +typedef enum +{ + COM1 = 0 +} COM_TypeDef; + +/** + * @brief LCD constroller Types Definition + */ +typedef struct +{ + __IO uint16_t REG; + __IO uint16_t RAM; +} LCD_CONTROLLER_TypeDef; + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_Exported_Constants Exported Constants + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_FMC FMC LCD Constants + * @{ + */ +/* We use BANK1 as we use FMC_NE1 signal */ +#define FMC_BANK1_BASE ((uint32_t)(0x60000000 | 0x00000000)) +#define FMC_LCD_BASE ((uint32_t)(0x60000000 | 0x00080000)) /*using A18*/ +#define FMC_BANK1_ADDR ((LCD_CONTROLLER_TypeDef *) FMC_BANK1_BASE) +#define LCD_ADDR ((LCD_CONTROLLER_TypeDef *) FMC_LCD_BASE) + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LED LED Constants + * @{ + */ +/* To do: invert LED1 and LED2 */ +#define LEDn 2 + +/* LED1 is accessed thru the MFX */ +#define LED1_PIN IO1_PIN_4 + +#define LED2_PIN GPIO_PIN_13 +#define LED2_GPIO_PORT GPIOB +#define LED2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define LED2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() + + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_BUTTON BUTTON Constants + * @{ + */ +#define JOYn 5 + +/** +* @brief Joystick Right push-button +*/ +#define RIGHT_JOY_PIN GPIO_PIN_11 /* PF.11 */ +#define RIGHT_JOY_GPIO_PORT GPIOF +#define RIGHT_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOF_CLK_ENABLE() +#define RIGHT_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOF_CLK_DISABLE() +#define RIGHT_JOY_EXTI_IRQn EXTI15_10_IRQn + +/** +* @brief Joystick Left push-button +*/ +#define LEFT_JOY_PIN GPIO_PIN_9 /* PI.09 */ +#define LEFT_JOY_GPIO_PORT GPIOI +#define LEFT_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() +#define LEFT_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() +#define LEFT_JOY_EXTI_IRQn EXTI9_5_IRQn + +/** +* @brief Joystick Up push-button +*/ +#define UP_JOY_PIN GPIO_PIN_8 /* PI.08 */ +#define UP_JOY_GPIO_PORT GPIOI +#define UP_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() +#define UP_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() +#define UP_JOY_EXTI_IRQn EXTI9_5_IRQn + +/** + * @brief Joystick Down push-button + */ +#define DOWN_JOY_PIN GPIO_PIN_10 /* PI.10 */ +#define DOWN_JOY_GPIO_PORT GPIOI +#define DOWN_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() +#define DOWN_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() +#define DOWN_JOY_EXTI_IRQn EXTI15_10_IRQn + +/** + * @brief Joystick Sel push-button + */ +#define SEL_JOY_PIN GPIO_PIN_13 /* PC.13 */ +#define SEL_JOY_GPIO_PORT GPIOC +#define SEL_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define SEL_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() +#define SEL_JOY_EXTI_IRQn EXTI15_10_IRQn + +#define JOYx_GPIO_CLK_ENABLE(__JOY__) do { if((__JOY__) == JOY_SEL) { SEL_JOY_GPIO_CLK_ENABLE(); } else \ + if((__JOY__) == JOY_DOWN) { DOWN_JOY_GPIO_CLK_ENABLE(); } else \ + if((__JOY__) == JOY_LEFT) { LEFT_JOY_GPIO_CLK_ENABLE(); } else \ + if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_ENABLE(); } else \ + if((__JOY__) == JOY_UP) { UP_JOY_GPIO_CLK_ENABLE(); } } while(0) + +#define JOYx_GPIO_CLK_DISABLE(__JOY__) do { if((__JOY__) == JOY_SEL) { SEL_JOY_GPIO_CLK_DISABLE(); } else \ + if((__JOY__) == JOY_DOWN) { DOWN_JOY_GPIO_CLK_DISABLE(); } else \ + if((__JOY__) == JOY_LEFT) { LEFT_JOY_GPIO_CLK_DISABLE(); } else \ + if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_DISABLE(); } else \ + if((__JOY__) == JOY_UP) { UP_JOY_GPIO_CLK_DISABLE(); } } while(0) + +#define JOY_ALL_PINS (RIGHT_JOY_PIN | LEFT_JOY_PIN | UP_JOY_PIN | DOWN_JOY_PIN | SEL_JOY_PIN) + +/** + * @} + */ + +/** @defgroup STM32L4R9I_DISCOVERY_COM COM Constants + * @{ + */ +#define COMn 1 + +/** + * @brief Definition for COM port1, connected to USART2 (ST-Link USB Virtual Com Port) + */ +#define DISCOVERY_COM1 USART2 +#define DISCOVERY_COM1_CLK_ENABLE() __HAL_RCC_USART2_CLK_ENABLE() +#define DISCOVERY_COM1_CLK_DISABLE() __HAL_RCC_USART2_CLK_DISABLE() + +#define DISCOVERY_COM1_TX_PIN GPIO_PIN_2 +#define DISCOVERY_COM1_TX_GPIO_PORT GPIOA +#define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() +#define DISCOVERY_COM1_TX_AF GPIO_AF7_USART2 + +#define DISCOVERY_COM1_RX_PIN GPIO_PIN_6 +#define DISCOVERY_COM1_RX_GPIO_PORT GPIOD +#define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() +#define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE() +#define DISCOVERY_COM1_RX_AF GPIO_AF7_USART2 + +#define DISCOVERY_COM1_IRQn USART2_IRQn + + +#define DISCOVERY_COMx_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_ENABLE();}} while(0) +#define DISCOVERY_COMx_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_DISABLE();}} while(0) + +#define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_ENABLE();}} while(0) +#define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_DISABLE();}} while(0) + +#define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_ENABLE();}} while(0) +#define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_DISABLE();}} while(0) + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_BUS BUS Constants + * @{ + */ + +#if defined(HAL_I2C_MODULE_ENABLED) +/*##################### I2C1 ###################################*/ +/* User can use this section to tailor I2C1 instance used and associated + resources */ +/* Definition for I2C1 Pins */ +#define DISCOVERY_I2C1_SCL_GPIO_PORT GPIOG +#define DISCOVERY_I2C1_SDA_GPIO_PORT GPIOG +#define DISCOVERY_I2C1_SCL_PIN GPIO_PIN_14 +#define DISCOVERY_I2C1_SDA_PIN GPIO_PIN_13 + +#define DISCOVERY_I2C1_SCL_SDA_AF GPIO_AF4_I2C1 + +/* Definition for I2C1 clock resources */ +#define DISCOVERY_I2C1 I2C1 +#define DISCOVERY_I2C1_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() +#define DISCOVERY_I2C1_CLK_DISABLE() __HAL_RCC_I2C1_CLK_DISABLE() +#define DISCOVERY_I2C1_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() +#define DISCOVERY_I2C1_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() +#define DISCOVERY_I2C1_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() +#define DISCOVERY_I2C1_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() +#define DISCOVERY_I2C1_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() +#define DISCOVERY_I2C1_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() + +/* Definition for I2C1's NVIC */ +#define DISCOVERY_I2C1_EV_IRQn I2C1_EV_IRQn +#define DISCOVERY_I2C1_EV_IRQHandler I2C1_EV_IRQHandler +#define DISCOVERY_I2C1_ER_IRQn I2C1_ER_IRQn +#define DISCOVERY_I2C1_ER_IRQHandler I2C1_ER_IRQHandler + +/* I2C TIMING Register define when I2C clock source is SYSCLK */ +/* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */ +/* Set 0x90112626 value to reach 100 KHz speed (Rise time = 640ns, Fall time = 20ns) */ +#ifndef DISCOVERY_I2C1_TIMING +#define DISCOVERY_I2C1_TIMING 0x90D00e28/* 0x90112626*/ +#endif /* DISCOVERY_I2C1_TIMING */ + +/* I2C clock speed configuration (in Hz) + WARNING: + Make sure that this define is not already declared in other files (ie. + stm324xg_discovery.h file). It can be used in parallel by other modules. */ +#ifndef BSP_I2C_SPEED +#define BSP_I2C_SPEED 100000 +#endif /* BSP_I2C_SPEED */ + +/* Maximum Timeout values for flags waiting loops. These timeouts are not based + on accurate values, they just guarantee that the application will not remain + stuck if the I2C communication is corrupted. + You may modify these timeout values depending on CPU frequency and application + conditions (interrupts routines ...). */ +#define DISCOVERY_I2C1_TIMEOUT_MAX 3000 + + +/*##################### I2C2 ###################################*/ +/* User can use this section to tailor I2C2 instance used and associated + resources */ +/* Definition for I2C2 Pins */ +#define DISCOVERY_I2C2_SCL_PIN GPIO_PIN_4 +#define DISCOVERY_I2C2_SCL_GPIO_PORT GPIOH +#define DISCOVERY_I2C2_SDA_PIN GPIO_PIN_14 +#define DISCOVERY_I2C2_SDA_GPIO_PORT GPIOB +#define DISCOVERY_I2C2_SCL_SDA_AF GPIO_AF4_I2C2 +/* Definition for I2C2 clock resources */ +#define DISCOVERY_I2C2 I2C2 +#define DISCOVERY_I2C2_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() +#define DISCOVERY_I2C2_CLK_DISABLE() __HAL_RCC_I2C2_CLK_DISABLE() +#define DISCOVERY_I2C2_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define DISCOVERY_I2C2_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() +#define DISCOVERY_I2C2_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() +#define DISCOVERY_I2C2_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() +#define DISCOVERY_I2C2_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() +#define DISCOVERY_I2C2_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() + +/* Definition for I2C2's NVIC */ +#define DISCOVERY_I2C2_EV_IRQn I2C2_EV_IRQn +#define DISCOVERY_I2C2_ER_IRQn I2C2_ER_IRQn + +/* I2C TIMING Register define when I2C clock source is SYSCLK */ +/* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */ +/* Set 0x90112626 value to reach 100 KHz speed (Rise time = 25ns, Fall time = 10ns) */ +#ifndef DISCOVERY_I2C2_TIMING +#define DISCOVERY_I2C2_TIMING 0x40403E5D +#endif /* DISCOVERY_I2C2_TIMING */ + +#define IDD_I2C_ADDRESS ((uint16_t) 0x84) +#define IO1_I2C_ADDRESS ((uint16_t) 0x84) +#define AUDIO_I2C_ADDRESS ((uint16_t) 0x94) +#define TS_I2C_ADDRESS ((uint16_t) 0x70) +#define CAMERA_I2C_ADDRESS ((uint16_t) 0x60) + +/* Maximum Timeout values for flags waiting loops. These timeouts are not based + on accurate values, they just guarantee that the application will not remain + stuck if the I2C communication is corrupted. + You may modify these timeout values depending on CPU frequency and application + conditions (interrupts routines ...). */ +#define DISCOVERY_I2C2_TIMEOUT_MAX 3000 + + +#ifndef DISCOVERY_I2C_TIMING +#define DISCOVERY_I2C_TIMING /*0x90D00e28*/ 0x90112626 +#endif /* DISCOVERY_I2C2_TIMING */ + +/* Written here after to enable compilation only, to be thoroughly reviewed */ + +/* Definition for AUDIO I2Cx resources */ +#define DISCOVERY_AUDIO_I2Cx I2C1 +#define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() +#define DISCOVERY_AUDIO_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() +#define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() + +#define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() +#define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() + +/* Definition for I2Cx Pins */ +#define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_6 +#define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT GPIOB +#define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1 +#define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_7 + +/* I2C interrupt requests */ +#define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C1_EV_IRQn +#define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C1_ER_IRQn + + +/* Definition for TS (Capacitive Touch Panel) I2Cx resources */ +#define DISCOVERY_TS_I2Cx I2C2 +#define DISCOVERY_TS_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() +#define DISCOVERY_TS_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() +#define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() +#define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() +#define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() + +#define DISCOVERY_TS_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() +#define DISCOVERY_TS_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() + +/* Definition for I2Cx Pins */ +#define DISCOVERY_TS_I2Cx_SCL_PIN GPIO_PIN_4 +#define DISCOVERY_TS_I2Cx_SCL_GPIO_PORT GPIOH +#define DISCOVERY_TS_I2Cx_SDA_PIN GPIO_PIN_14 +#define DISCOVERY_TS_I2Cx_SDA_GPIO_PORT GPIOB +#define DISCOVERY_TS_I2Cx_SCL_SDA_AF GPIO_AF4_I2C2 + +/* I2C interrupt requests */ +#define DISCOVERY_TS_I2Cx_EV_IRQn I2C2_EV_IRQn +#define DISCOVERY_TS_I2Cx_ER_IRQn I2C2_ER_IRQn + +/* I2C clock setting */ +#define DISCOVERY_TS_RCC_PERIPHCLK_I2C RCC_PERIPHCLK_I2C2 +#define DISCOVERY_TS_RCC_CLKSOURCE_I2C RCC_I2C2CLKSOURCE_SYSCLK + + + +/* Definition for Camera I2Cx resources */ +#define DISCOVERY_CAMERA_I2Cx I2C2 +#define DISCOVERY_CAMERA_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() +#define DISCOVERY_CAMERA_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() +#define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() +#define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() +#define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() + +#define DISCOVERY_CAMERA_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() +#define DISCOVERY_CAMERA_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() + +/* Definition for I2Cx Pins */ +#define DISCOVERY_CAMERA_I2Cx_SCL_PIN GPIO_PIN_4 +#define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_PORT GPIOH +#define DISCOVERY_CAMERA_I2Cx_SDA_PIN GPIO_PIN_14 +#define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_PORT GPIOB +#define DISCOVERY_CAMERA_I2Cx_SCL_SDA_AF GPIO_AF4_I2C2 + +/* I2C interrupt requests */ +#define DISCOVERY_CAMERA_I2Cx_EV_IRQn I2C2_EV_IRQn +#define DISCOVERY_CAMERA_I2Cx_ER_IRQn I2C2_ER_IRQn + +/* I2C clock setting */ +#define DISCOVERY_CAMERA_RCC_PERIPHCLK_I2C RCC_PERIPHCLK_I2C2 +#define DISCOVERY_CAMERA_RCC_CLKSOURCE_I2C RCC_I2C2CLKSOURCE_SYSCLK + + + + + +/* Definition for external, camera and Arduino connector I2Cx resources */ /* to be reviewed */ +#define DISCOVERY_EXT_I2Cx I2C2 +#define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() +#define DISCOVERY_EXT_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() +#define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() + +#define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() +#define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() + +/* Definition for I2Cx Pins */ +#define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_10 +#define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB +#define DISCOVERY_EXT_I2Cx_SCL_AF GPIO_AF4_I2C2 +#define DISCOVERY_EXT_I2Cx_SDA_AF GPIO_AF4_I2C2 +#define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9 + +/* I2C interrupt requests */ +#define DISCOVERY_EXT_I2Cx_EV_IRQn I2C2_EV_IRQn +#define DISCOVERY_EXT_I2Cx_ER_IRQn I2C2_ER_IRQn + +#ifndef DISCOVERY_I2C_SPEED +#define DISCOVERY_I2C_SPEED 100000 +#endif /* DISCOVERY_I2C_SPEED */ + + +#endif /* HAL_I2C_MODULE_ENABLED */ + + + +/*##################### Audio Codec ##########################*/ +/** + * @brief Audio codec chip reset definition + */ +/* Audio codec power on/off macro definition */ +#define CODEC_AUDIO_POWER_OFF() HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_RESET) +#define CODEC_AUDIO_POWER_ON() HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_SET) + +/* Audio Reset Pin definition */ +#define AUDIO_RESET_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define AUDIO_RESET_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() +#define AUDIO_RESET_PIN GPIO_PIN_6 +#define AUDIO_RESET_GPIO GPIOC + + + + +/*##################### MFX ##########################*/ +/** + * @brief MFX interface pins + */ + +#define MFX_INT_GPIO_PORT GPIOC /* GPIOC */ +#define MFX_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define MFX_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() +#define MFX_INT_PIN GPIO_PIN_5 /* PC.05 */ +#define MFX_INT_EXTI_IRQn EXTI9_5_IRQn + +#define MFX_WAKEUP_GPIO_PORT GPIOH /* GPIOH */ +#define MFX_WAKEUP_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() +#define MFX_WAKEUP_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() +#define MFX_WAKEUP_PIN GPIO_PIN_6 /* PH.06 */ + + + +/* Legacy */ +#define IDD_INT_GPIO_PORT MFX_INT_GPIO_PORT +#define IDD_INT_GPIO_CLK_ENABLE() MFX_INT_GPIO_CLK_ENABLE() +#define IDD_INT_GPIO_CLK_DISABLE() MFX_INT_GPIO_CLK_DISABLE() +#define IDD_INT_PIN MFX_INT_PIN +#define IDD_INT_EXTI_IRQn MFX_INT_EXTI_IRQn +#define IDD_WAKEUP_GPIO_PORT MFX_WAKEUP_GPIO_PORT +#define IDD_WAKEUP_GPIO_CLK_ENABLE() MFX_WAKEUP_GPIO_CLK_ENABLE() +#define IDD_WAKEUP_GPIO_CLK_DISABLE() MFX_WAKEUP_GPIO_CLK_DISABLE() +#define IDD_WAKEUP_PIN MFX_WAKEUP_PIN + + +/** + * @brief Idd current measurement interface pins on MFX + */ +#define IDD_AMP_CONTROL_PIN AGPIO_PIN_1 + +/** + * @brief TS INT pin + */ +#define TS_INT_PIN GPIO_PIN_14 +#define TS_INT_GPIO_PORT GPIOG +#define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() +#define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() +#define TS_INT_EXTI_IRQn EXTI15_10_IRQn + +/** + * @brief TS RST pin + */ +/* TS RST is accessed thru the MFX */ +#define TS_RST_PIN IO1_PIN_1 + +/** + * @} + */ + +/** + * @} + */ + + +/** @defgroup STM32L496G_DISCOVERY_Exported_Functions Exported Functions + * @{ + */ +uint32_t BSP_GetVersion(void); +void BSP_LED_Init(Led_TypeDef Led); +void BSP_LED_DeInit(Led_TypeDef Led); +void BSP_LED_On(Led_TypeDef Led); +void BSP_LED_Off(Led_TypeDef Led); +void BSP_LED_Toggle(Led_TypeDef Led); +uint8_t BSP_JOY_Init(JOYMode_TypeDef Joy_Mode); +void BSP_JOY_DeInit(void); +JOYState_TypeDef BSP_JOY_GetState(void); +#if defined(HAL_UART_MODULE_ENABLED) +void BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart); +void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart); +#endif /* HAL_UART_MODULE_ENABLED */ + +/* These __weak functions can be surcharged by application code for specific application needs */ +void BSP_ErrorHandler(void); + + +void FMC_BANK1_MspInit(void); +void FMC_BANK1_MspDeInit(void); +#if defined(HAL_I2C_MODULE_ENABLED) +void I2C2_Init(void); +void I2C2_DeInit(void); +#endif /* HAL_I2C_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.c new file mode 100644 index 0000000..380ea5b --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.c @@ -0,0 +1,2097 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_audio.c + * @author MCD Application Team + * @brief This file provides a set of functions needed to manage the + * Audio driver for the STM32L496G-Discovery board. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/*============================================================================== + User NOTES + +1. How To use this driver: +-------------------------- + + This driver supports STM32L4xx devices on STM32L496G-Discovery (MB1261) Discovery boards. + a) to play an audio file through headset. All functions names start by BSP_AUDIO_OUT_xxx. + b) to record an audio file through digital microphones (MP34DT01TR ST mems) + or analog microphone (headset microphone). All functions names start by BSP_AUDIO_IN_xxx. + +a) PLAY A FILE: +============== + + Call the function BSP_AUDIO_OUT_Init( + OutputDevice: physical output mode (only OUTPUT_DEVICE_HEADPHONE). + Volume : Initial volume to be set (0 is min (mute), 100 is max (100%) + AudioFreq : Audio frequency in Hz (8000, 16000, 22500, 32000...) + this parameter is relative to the audio file/stream type. + ) + This function configures all the hardware required for the audio application (codec, I2C, SAI, + GPIOs, DMA and interrupt if needed). This function returns AUDIO_OK if configuration is OK. + If the returned value is different from AUDIO_OK or the function is stuck then the communication with + the audio codec has failed. + - OUTPUT_DEVICE_HEADPHONE: only Headphone output is available on this board. + + + Call the function BSP_AUDIO_OUT_RegisterCallbacks to register user callbacks + required to manage audio data streaming towards the audio codec (ErrorCallback(), + HalfTransfer_CallBack() and TransferComplete_CallBack()). + + + Call the function BSP_AUDIO_OUT_Play() to start audio playback (for the first time). + + Call the function BSP_AUDIO_OUT_Pause() to pause audio playback. + + Call the function BSP_AUDIO_OUT_Resume() to resume audio playback. + Note. After calling BSP_AUDIO_OUT_Pause() function for pause, only BSP_AUDIO_OUT_Resume() should be called + for resume (it is not allowed to call BSP_AUDIO_OUT_Play() in this case). + Note. This function should be called only when the audio file is played or paused (not stopped). + + Call the function BSP_AUDIO_OUT_Stop() to stop audio playback. + + To modify the volume level, the sampling frequency, the device output mode, + the mute status or the audio configuration or the stop, use the functions: BSP_AUDIO_OUT_SetVolume(), + AUDIO_OUT_SetFrequency(), BSP_AUDIO_OUT_SetOutputMode(), BSP_AUDIO_OUT_SetMute()and + BSP_AUDIO_OUT_ChangeAudioConfig(). + +Driver architecture: +-------------------- + + This driver provides the audio layer high level API: it consists in functions + exported in the stm32l496g_discovery_audio.h file (e.g. BSP_AUDIO_OUT_Init(), + BSP_AUDIO_OUT_Play(), ...). + + This driver also includes the Media Access Layer (MAL): it consists in + functions allowing to access setup the audio devices. These functions + are included as local functions into the stm32l496g_discovery_audio.c file + (e.g. AUDIO_SAIx_Init()). + +Known Limitations: +------------------ + 1- Communication with the audio codec (through I2C) may be corrupted if it is interrupted by some + user interrupt routines (in this case, interrupts could be disabled just before the start of + communication then re-enabled when it is over). Note that this communication is only done at + the configuration phase (BSP_AUDIO_OUT_Init() or BSP_AUDIO_OUT_Stop()) and when Volume control modification is + performed (BSP_AUDIO_OUT_SetVolume() or BSP_AUDIO_OUT_SetMute()or BSP_AUDIO_OUT_SetOutputMode()). + When the audio data is played, no communication is required with the audio codec. + 2- Parsing of audio file is not implemented (in order to determine audio file properties: Mono/Stereo, Data size, + File size, Audio Frequency, Audio Data header size ...). The configuration is fixed for the given audio file. + 3- Supports only 16-bits audio data size. + +b) RECORD A FILE: +================ + + Call the function BSP_AUDIO_IN_InitEx( + InputDevice: physical input mode (INPUT_DEVICE_DIGITAL_MIC + INPUT_DEVICE_DIGITAL_MIC1, INPUT_DEVICE_DIGITAL_MIC2 + or INPUT_DEVICE_ANALOG_MIC) + AudioFreq: Audio frequency in Hz (8000, 16000, 22500, 32000 ...) + ) + This function configures all the hardware required for the audio application (DFSDM or SAI, + GPIOs, DMA and interrupt if needed). This function returns AUDIO_OK if the + configuration completes successfully. + - INPUT_DEVICE_DIGITAL_MIC: Record from digital microphones mounted on board. + - INPUT_DEVICE_DIGITAL_MIC1: Record from digital microphone 1 mounted on board (left microphone). + - INPUT_DEVICE_DIGITAL_MIC2: Record from digital microphone 2 mounted on board (right microphone). + - INPUT_DEVICE_ANALOG_MIC: Record from headset microphone. + + + Call the function BSP_AUDIO_IN_RegisterCallbacks to register user callbacks + used to stream audio data toward the record buffer (ErrorCallback(), + HalfTransfer_CallBack() and TransferComplete_CallBack()). + + + Call the function BSP_AUDIO_IN_Record( + pbuf Main buffer pointer for the recorded data storing + size Current size of the recorded buffer + ) + to start recording from the microphone. + + + Call the function BSP_AUDIO_IN_STOP() to stop recording. +==============================================================================*/ + +/* Includes ------------------------------------------------------------------*/ +#include +#include "stm32l496g_discovery_audio.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_AUDIO STM32L496G-DISCOVERY AUDIO + * @brief This file includes the low layer driver for cs42l51 Audio Codec + * available on STM32L496G-Discovery board (MB1261). + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Private_Types Private Types + * @{ + */ +typedef struct +{ + AUDIO_DrvTypeDef *AudioDrv; /* Audio codec driver */ + uint32_t OutputDevice; /* Output device */ + uint32_t Frequency; /* Playback frequency */ + uint32_t Volume; /* Playback volume */ + Audio_CallbackTypeDef CbError; /* pointer to the callback function invoked when error occurs */ + Audio_CallbackTypeDef CbHalfTransfer; /* pointer to the callback function invoked when half transfer occurs */ + Audio_CallbackTypeDef CbTransferComplete; /* pointer to the callback function invoked when transfer complete occurs */ +} AUDIO_OUT_TypeDef; + +typedef struct +{ + AUDIO_DrvTypeDef *AudioDrv; /* Audio codec driver */ + DFSDM_Channel_HandleTypeDef hDfsdmLeftChannel; /* DFSDM channel handle used for left channel */ + DFSDM_Channel_HandleTypeDef hDfsdmRightChannel; /* DFSDM channel handle used for right channel */ + DMA_HandleTypeDef hDmaDfsdmLeft; /* DMA handle used for DFSDM regular conversions on left channel */ + DMA_HandleTypeDef hDmaDfsdmRight; /* DMA handle used for DFSDM regular conversions on right channel */ + int32_t *LeftRecBuff; /* Buffers for left samples */ + int32_t *RightRecBuff; /* Buffers for right samples */ + uint32_t InputDevice; /* Input device */ + uint32_t Frequency; /* Record Frequency */ + uint32_t BitResolution; /* Record bit resolution */ + uint32_t ChannelNbr; /* Record Channel Number */ + uint16_t *pRecBuf; /* Pointer to record user buffer */ + uint32_t RecSize; /* Size to record in mono, double size to record in stereo */ + Audio_CallbackTypeDef CbError; /* pointer to the callback function invoked when a DMA transfer fails */ + Audio_CallbackTypeDef CbHalfTransfer; /* pointer to the callback function invoked when half of the DMA transfer is completed */ + Audio_CallbackTypeDef CbTransferComplete; /* pointer to the callback function invoked when the DMA transfer is completed */ +} AUDIO_IN_TypeDef; + +/** + * @} + */ + +/* Private defines ------------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Private_Constants Private Constants + * @{ + */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Private_Macros Private Macros + * @{ + */ +/*### PLAY ###*/ +/* SCK(kHz) = SAI_CK_x/(SAIClockDivider*2*256) */ +#define SAIClockDivider(__FREQUENCY__) \ + (__FREQUENCY__ == AUDIO_FREQUENCY_8K) ? 12 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_11K) ? 2 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_16K) ? 6 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_22K) ? 1 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_32K) ? 3 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_44K) ? 0 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_48K) ? 2 : 1 \ + +/*### RECORD ###*/ +#define DFSDMOverSampling(__FREQUENCY__) \ + (__FREQUENCY__ == AUDIO_FREQUENCY_8K) ? 256 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_11K) ? 256 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_16K) ? 128 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_22K) ? 128 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_32K) ? 64 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_44K) ? 64 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_48K) ? 32 : 16 \ + +#define DFSDMClockDivider(__FREQUENCY__) \ + (__FREQUENCY__ == AUDIO_FREQUENCY_8K) ? 24 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_11K) ? 4 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_16K) ? 24 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_22K) ? 4 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_32K) ? 24 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_44K) ? 4 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_48K) ? 32 : 32 \ + +#define DFSDMFilterOrder(__FREQUENCY__) \ + (__FREQUENCY__ == AUDIO_FREQUENCY_8K) ? DFSDM_FILTER_SINC3_ORDER \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_11K) ? DFSDM_FILTER_SINC3_ORDER \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_16K) ? DFSDM_FILTER_SINC3_ORDER \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_22K) ? DFSDM_FILTER_SINC3_ORDER \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_32K) ? DFSDM_FILTER_SINC4_ORDER \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_44K) ? DFSDM_FILTER_SINC3_ORDER \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_48K) ? DFSDM_FILTER_SINC4_ORDER : DFSDM_FILTER_SINC5_ORDER \ + +#define DFSDMRightBitShift(__FREQUENCY__) \ + (__FREQUENCY__ == AUDIO_FREQUENCY_8K) ? 8 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_11K) ? 8 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_16K) ? 6 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_22K) ? 6 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_32K) ? 8 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_44K) ? 2 \ + : (__FREQUENCY__ == AUDIO_FREQUENCY_48K) ? 4 : 4 \ + +/* Saturate the record PCM sample */ +#define SaturaLH(N, L, H) (((N)<(L))?(L):(((N)>(H))?(H):(N))) + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Private_Variables Private Variables + * @{ + */ +/* Audio output context information */ +static AUDIO_OUT_TypeDef hAudioOut = {0}; + +/* Audio input context information */ +static AUDIO_IN_TypeDef hAudioIn = {0}; + +/* SAI DMA handle */ +static DMA_HandleTypeDef hDmaSaiTx; +static DMA_HandleTypeDef hDmaSaiRx; + +static uint32_t DmaLeftRecHalfBuffCplt; +static uint32_t DmaLeftRecBuffCplt; +static uint32_t DmaRightRecHalfBuffCplt; +static uint32_t DmaRightRecBuffCplt; + + +/** + * @} + */ + +/* Exported variables ---------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Exported_Variables Exported Variables + * @{ + */ +/* SAIx handle */ +SAI_HandleTypeDef BSP_AUDIO_hSai_Tx; +SAI_HandleTypeDef BSP_AUDIO_hSai_Rx; + +/* DFSDM filter handle */ +DFSDM_Filter_HandleTypeDef BSP_AUDIO_hDfsdmLeftFilter; +DFSDM_Filter_HandleTypeDef BSP_AUDIO_hDfsdmRightFilter; +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Private_Functions Private Functions + * @{ + */ +static uint8_t AUDIO_SAIx_Init(uint32_t AudioFreq); +static uint8_t AUDIO_SAIx_DeInit(void); +static uint8_t AUDIO_DFSDMx_Init(uint32_t AudioFreq); +static uint8_t AUDIO_DFSDMx_DeInit(void); +static uint8_t AUDIO_SAIPLLConfig(uint32_t AudioFreq); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup STM32L496G_DISCOVERY_AUDIO_Exported_Functions + * @{ + */ + +/** + * @brief Configures the audio codec related peripherals. + * @param OutputDevice: OUTPUT_DEVICE_HEADPHONE. + * @param Volume: Initial volume level (from 0 (Mute) to 100 (Max)) + * @param AudioFreq: Audio frequency used to play the audio stream. + * @retval BSP AUDIO status + * @note The SAI PLL input clock must be configure in the user application. + * The SAI PLL configuration done within this function assumes that + * the SAI PLL input clock runs at 8 MHz. + */ +uint8_t BSP_AUDIO_OUT_Init(uint16_t OutputDevice, + uint8_t Volume, + uint32_t AudioFreq) +{ + /* Initialize the audio output context */ + hAudioOut.AudioDrv = &cs42l51_drv; + hAudioOut.OutputDevice = OutputDevice; + hAudioOut.Frequency = AudioFreq; + hAudioOut.Volume = Volume; + hAudioOut.CbError = (Audio_CallbackTypeDef)NULL; + hAudioOut.CbHalfTransfer = (Audio_CallbackTypeDef)NULL; + hAudioOut.CbTransferComplete = (Audio_CallbackTypeDef)NULL; + + /* Check if input device is currently used */ + if (hAudioIn.InputDevice != 0) + { + /* If input device is currently used, SAI PLL is already initialized */ + /* Check that AudioFreq for record and playback is the same */ + if (hAudioIn.Frequency != hAudioOut.Frequency) + { + return AUDIO_ERROR; + } + } + else + { + /* Configure the SAI PLL according to the requested audio frequency */ + if (AUDIO_SAIPLLConfig(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + + /* If input device is analogic mic, SAI is already initialized */ + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + /* SAI data transfer preparation: prepare the Media to be used for the audio + transfer from memory to SAI peripheral. */ + if (AUDIO_SAIx_Init(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + + /* Initialize the audio codec internal registers */ + if (hAudioOut.AudioDrv->Init(AUDIO_I2C_ADDRESS, + (hAudioOut.OutputDevice | hAudioIn.InputDevice), + Volume, + AudioFreq) != 0) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief De-Initializes audio codec related peripherals + * @retval BSP AUDIO status + + */ +uint8_t BSP_AUDIO_OUT_DeInit(void) +{ + if (hAudioIn.InputDevice == INPUT_DEVICE_ANALOG_MIC) + { + /* Reset playback path on audio codec */ + if (hAudioIn.AudioDrv->Init(AUDIO_I2C_ADDRESS, + hAudioIn.InputDevice, + (uint8_t) hAudioOut.Volume, + hAudioIn.Frequency) != 0) + { + return AUDIO_ERROR; + } + } + else + { + /* De-initializes SAI interface */ + if (AUDIO_SAIx_DeInit() != AUDIO_OK) + { + return AUDIO_ERROR; + } + + /* DeInit audio codec */ + hAudioOut.AudioDrv->DeInit(); + } + + /* Disable SAI PLL if no more device is used */ + if (hAudioIn.InputDevice == 0) + { + if (AUDIO_SAIx_PLL_DISABLE() != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + + /* Reset the audio output context */ + memset(&hAudioOut, 0, sizeof(hAudioOut)); + + return AUDIO_OK; +} + +/** + * @brief Starts playing audio stream from a data buffer for a determined size. + * @param pData: pointer on PCM samples buffer + * @param Size: Number of audio data HALF WORD. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_Play(uint16_t *pData, uint32_t Size) +{ + /* Initiate a DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_Transmit_DMA(&BSP_AUDIO_hSai_Tx, (uint8_t *)pData, DMA_MAX(Size)) != HAL_OK) + { + return AUDIO_ERROR; + } + + /* Call the audio Codec Play function */ + if (hAudioOut.AudioDrv->Play(AUDIO_I2C_ADDRESS, pData, Size) != 0) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief Sends n-Bytes on the SAI interface. + * @param pData: pointer on PCM samples buffer + * @param Size: number of data to be written + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_ChangeBuffer(uint16_t *pData, uint16_t Size) +{ + /* Initiate a DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_Transmit_DMA(&BSP_AUDIO_hSai_Tx, (uint8_t *)pData, Size) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief This function Pauses the audio file stream. In case + * of using DMA, the DMA Pause feature is used. + * @note When calling BSP_AUDIO_OUT_Pause() function for pause, only + * BSP_AUDIO_OUT_Resume() function should be called for resume + * (use of BSP_AUDIO_OUT_Play() function for resume could lead + * to unexpected behavior). + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_Pause(void) +{ + /* Call the Audio Codec Pause function */ + if (hAudioOut.AudioDrv->Pause(AUDIO_I2C_ADDRESS) != 0) + { + return AUDIO_ERROR; + } + + /* Pause DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_DMAPause(&BSP_AUDIO_hSai_Tx) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief This function Resumes the audio file stream. + * @note When calling BSP_AUDIO_OUT_Pause() function for pause, only + * BSP_AUDIO_OUT_Resume() function should be called for resume + * (use of BSP_AUDIO_OUT_Play() function for resume could lead to + * unexpected behavior). + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_Resume(void) +{ + /* Call the Audio Codec Resume function */ + if (hAudioOut.AudioDrv->Resume(AUDIO_I2C_ADDRESS) != 0) + { + return AUDIO_ERROR; + } + + /* Resume DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_DMAResume(&BSP_AUDIO_hSai_Tx) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief Stops audio playing and Power down the Audio Codec. + * @param Option: could be one of the following parameters + * - CODEC_PDWN_SW: for software power off (by writing registers). + * Then no need to reconfigure the Codec after power on. + * - CODEC_PDWN_HW: completely shut down the codec (physically). + * Then need to reconfigure the Codec after power on. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_Stop(uint32_t Option) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(Option); + + /* Call Audio Codec Stop function */ + if (hAudioOut.AudioDrv->Stop(AUDIO_I2C_ADDRESS, Option) != 0) + { + return AUDIO_ERROR; + } + + /* Wait at least 100ms */ + HAL_Delay(100); + + /* Stop DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_DMAStop(&BSP_AUDIO_hSai_Tx) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief Controls the current audio volume level. + * @param Volume: Volume level to be set in percentage from 0% to 100% (0 for + * Mute and 100 for Max volume level). + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_SetVolume(uint8_t Volume) +{ + /* Call the codec volume control function with converted volume value */ + if (hAudioOut.AudioDrv->SetVolume(AUDIO_I2C_ADDRESS, Volume) != 0) + { + return AUDIO_ERROR; + } + + hAudioOut.Volume = Volume; + + return AUDIO_OK; +} + +/** + * @brief Enables or disables the MUTE mode by software + * @param Cmd: Could be AUDIO_MUTE_ON to mute sound or AUDIO_MUTE_OFF to + * unmute the codec and restore previous volume level. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_SetMute(uint32_t Cmd) +{ + /* Call the Codec Mute function */ + if (hAudioOut.AudioDrv->SetMute(AUDIO_I2C_ADDRESS, Cmd) != 0) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief Switch dynamically (while audio file is being played) the output + * target (speaker or headphone). + * @param Output: The audio output target: OUTPUT_DEVICE_SPEAKER, + * OUTPUT_DEVICE_HEADPHONE or OUTPUT_DEVICE_BOTH + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_SetOutputMode(uint8_t Output) +{ + /* Call the Codec output device function */ + if (hAudioOut.AudioDrv->SetOutputMode(AUDIO_I2C_ADDRESS, Output) != 0) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief Updates the audio frequency. + * @param AudioFreq: Audio frequency used to play the audio stream. + * @note The SAI PLL input clock must be configure in the user application. + * The SAI PLL configuration done within this function assumes that + * the SAI PLL input clock runs at 8 MHz. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_OUT_SetFrequency(uint32_t AudioFreq) +{ + uint8_t TxData[2] = {0x00, 0x00}; + + /* Configure the SAI PLL according to the requested audio frequency */ + if (AUDIO_SAIPLLConfig(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + + /* Disable SAI peripheral to allow access to SAI internal registers */ + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Tx); + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Rx); + + /* Update the SAI audio frequency configuration */ + BSP_AUDIO_hSai_Tx.Init.Mckdiv = SAIClockDivider(AudioFreq); + HAL_SAI_Init(&BSP_AUDIO_hSai_Tx); + BSP_AUDIO_hSai_Rx.Init.Mckdiv = SAIClockDivider(AudioFreq); + HAL_SAI_Init(&BSP_AUDIO_hSai_Rx); + + /* Enable SAI peripheral to generate MCLK */ + __HAL_SAI_ENABLE(&BSP_AUDIO_hSai_Tx); + /* Transmit one byte to start FS generation */ + if (HAL_SAI_Transmit(&BSP_AUDIO_hSai_Tx, TxData, 2, 1000) != HAL_OK) + { + return AUDIO_ERROR; + } + + hAudioOut.Frequency = AudioFreq; + + return AUDIO_OK; +} + +/** + * @brief Changes the Audio Out Configuration. + * @param AudioOutOption: specifies the audio out new configuration + * This parameter can be any value of @ref BSP_Audio_Out_Option + * @note This API should be called after the BSP_AUDIO_OUT_Init() to adjust the + * audio out configuration. + * @retval None + */ +void BSP_AUDIO_OUT_ChangeAudioConfig(uint32_t AudioOutOption) +{ + uint8_t TxData[2] = {0x00, 0x00}; + + /********** Playback Buffer circular/normal mode **********/ + if (AudioOutOption & BSP_AUDIO_OUT_CIRCULARMODE) + { + /* Deinitialize the Stream to update DMA mode */ + HAL_DMA_DeInit(BSP_AUDIO_hSai_Tx.hdmatx); + + /* Update the SAI audio Transfer DMA mode */ + BSP_AUDIO_hSai_Tx.hdmatx->Init.Mode = DMA_CIRCULAR; + + /* Configure the DMA Stream with new Transfer DMA mode */ + HAL_DMA_Init(BSP_AUDIO_hSai_Tx.hdmatx); + } + else /* BSP_AUDIO_OUT_NORMALMODE */ + { + /* Deinitialize the Stream to update DMA mode */ + HAL_DMA_DeInit(BSP_AUDIO_hSai_Tx.hdmatx); + + /* Update the SAI audio Transfer DMA mode */ + BSP_AUDIO_hSai_Tx.hdmatx->Init.Mode = DMA_NORMAL; + + /* Configure the DMA Stream with new Transfer DMA mode */ + HAL_DMA_Init(BSP_AUDIO_hSai_Tx.hdmatx); + } + + /********** Playback Buffer stereo/mono mode **********/ + if (AudioOutOption & BSP_AUDIO_OUT_STEREOMODE) + { + /* Disable SAI peripheral to allow access to SAI internal registers */ + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Tx); + + /* Update the SAI audio frame slot configuration */ + BSP_AUDIO_hSai_Tx.Init.MonoStereoMode = SAI_STEREOMODE; + HAL_SAI_Init(&BSP_AUDIO_hSai_Tx); + + /* Enable SAI peripheral to generate MCLK */ + __HAL_SAI_ENABLE(&BSP_AUDIO_hSai_Tx); + /* Transmit one byte to start FS generation */ + HAL_SAI_Transmit(&BSP_AUDIO_hSai_Tx, TxData, 2, 1000); + } + else /* BSP_AUDIO_OUT_MONOMODE */ + { + /* Disable SAI peripheral to allow access to SAI internal registers */ + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Tx); + + /* Update the SAI audio frame slot configuration */ + BSP_AUDIO_hSai_Tx.Init.MonoStereoMode = SAI_MONOMODE; + HAL_SAI_Init(&BSP_AUDIO_hSai_Tx); + + /* Enable SAI peripheral to generate MCLK */ + __HAL_SAI_ENABLE(&BSP_AUDIO_hSai_Tx); + /* Transmit one byte to start FS generation */ + HAL_SAI_Transmit(&BSP_AUDIO_hSai_Tx, TxData, 2, 1000); + } +} + +/** + * @brief register user callback functions + * @param ErrorCallback: pointer to the error callback function + * @param HalfTransferCallback: pointer to the half transfer callback function + * @param TransferCompleteCallback: pointer to the transfer complete callback function + * @retval None + */ +void BSP_AUDIO_OUT_RegisterCallbacks(Audio_CallbackTypeDef ErrorCallback, + Audio_CallbackTypeDef HalfTransferCallback, + Audio_CallbackTypeDef TransferCompleteCallback) +{ + hAudioOut.CbError = ErrorCallback; + hAudioOut.CbHalfTransfer = HalfTransferCallback; + hAudioOut.CbTransferComplete = TransferCompleteCallback; +} + +/** + * @brief Tx Transfer completed callbacks. + * @param hsai: SAI handle + * @retval None + */ +void HAL_SAI_TxCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Invoke the registered 'TransferComplete' function (if any) */ + if (hAudioOut.CbTransferComplete != (Audio_CallbackTypeDef)NULL) + { + hAudioOut.CbTransferComplete(); + } +} + +/** + * @brief Tx Half Transfer completed callbacks. + * @param hsai: SAI handle + * @retval None + */ +void HAL_SAI_TxHalfCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Invoke the registered 'HalfTransfer' callback function (if any) */ + if (hAudioOut.CbHalfTransfer != (Audio_CallbackTypeDef)NULL) + { + hAudioOut.CbHalfTransfer(); + } +} + +/** + * @brief SAI error callbacks. + * @param hsai: SAI handle + * @retval None + */ +void HAL_SAI_ErrorCallback(SAI_HandleTypeDef *hsai) +{ + /* Invoke the registered 'ErrorCallback' callback function (if any) */ + if (hAudioOut.CbError != (Audio_CallbackTypeDef)NULL) + { + hAudioOut.CbError(); + } + /* Invoke the registered 'ErrorCallback' callback function (if any) */ + if (hAudioIn.CbError != (Audio_CallbackTypeDef)NULL) + { + hAudioIn.CbError(); + } +} + +/** + * @} + */ + +/** @addtogroup STM32L496G_EVAL_AUDIO_Exported_Functions + * @{ + */ + +/** + * @brief Initializes micropone related peripherals. + * @note This function assumes that the SAI input clock (through PLL_M) + * is already configured and ready to be used. + * @param AudioFreq: Audio frequency to be configured for the SAI peripheral. + * @param BitRes: Audio frequency to be configured for the SAI peripheral. + * @param ChnlNbr: Audio frequency to be configured for the SAI peripheral. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_IN_Init(uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr) +{ + return BSP_AUDIO_IN_InitEx(INPUT_DEVICE_DIGITAL_MIC, AudioFreq, BitRes, ChnlNbr); +} + +/** + * @brief Initialize wave recording. + * @param InputDevice: INPUT_DEVICE_DIGITAL_MIC, INPUT_DEVICE_DIGITAL_MIC1, + * INPUT_DEVICE_DIGITAL_MIC2 or INPUT_DEVICE_ANALOG_MIC. + * @param AudioFreq: Audio frequency to be configured. + * @param BitRes: Audio bit resolution to be configured.. + * @param ChnlNbr: Number of channel to be configured. + * @retval AUDIO_OK if correct communication, else wrong communication + */ +uint8_t BSP_AUDIO_IN_InitEx(uint16_t InputDevice, uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr) +{ + /* Update the audio input context */ + hAudioIn.AudioDrv = &cs42l51_drv; + hAudioIn.InputDevice = InputDevice; + hAudioIn.Frequency = AudioFreq; + hAudioIn.BitResolution = BitRes; + hAudioIn.ChannelNbr = ChnlNbr; + hAudioIn.CbError = (Audio_CallbackTypeDef)NULL; + hAudioIn.CbHalfTransfer = (Audio_CallbackTypeDef)NULL; + hAudioIn.CbTransferComplete = (Audio_CallbackTypeDef)NULL; + + /* Check channel number according device : only record mono with analog mic and stereo with digital mic are allowed */ + if (((InputDevice == INPUT_DEVICE_DIGITAL_MIC) && (ChnlNbr == 1)) || + ((InputDevice == INPUT_DEVICE_DIGITAL_MIC1) && (ChnlNbr == 2)) || + ((InputDevice == INPUT_DEVICE_DIGITAL_MIC2) && (ChnlNbr == 2)) || + ((InputDevice == INPUT_DEVICE_ANALOG_MIC) && (ChnlNbr == 2))) + { + return AUDIO_ERROR; + } + + /* Check if output device is currently used */ + if (hAudioOut.OutputDevice != 0) + { + /* If output device is currently used, SAI PLL is already initialized */ + /* Check that AudioFreq for record and playback is the same */ + if (hAudioIn.Frequency != hAudioOut.Frequency) + { + return AUDIO_ERROR; + } + } + else + { + /* Configure the SAI PLL according to the requested audio frequency */ + if (AUDIO_SAIPLLConfig(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + + if (InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + /* Initializes the Digital Filter for Sigma-Delta Modulators interface */ + if (AUDIO_DFSDMx_Init(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* If output device is currently used, SAI is already initialized */ + if (hAudioOut.OutputDevice == 0) + { + /* SAI data transfer preparation: prepare the Media to be used for the audio + transfer from SAI peripheral to memory. */ + if (AUDIO_SAIx_Init(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + + /* Initialize the audio codec internal registers */ + if (hAudioIn.AudioDrv->Init(AUDIO_I2C_ADDRESS, + (hAudioOut.OutputDevice | hAudioIn.InputDevice), + hAudioOut.Volume, + AudioFreq) != 0) + { + return AUDIO_ERROR; + } + } + + /* Initialise transfer control flag */ + DmaLeftRecHalfBuffCplt = 0; + DmaLeftRecBuffCplt = 0; + DmaRightRecHalfBuffCplt = 0; + DmaRightRecBuffCplt = 0; + + return AUDIO_OK; +} + +/** + * @brief De-Initializes microphone related peripherals. + * @retval BSP AUDIO status + + */ +uint8_t BSP_AUDIO_IN_DeInit(void) +{ + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + /* De-initializes the Digital Filter for Sigma-Delta Modulators interface */ + if (AUDIO_DFSDMx_DeInit() != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* Check if output device is currently used */ + if (hAudioOut.OutputDevice != 0) + { + /* Reset record path on audio codec */ + if (hAudioOut.AudioDrv->Init(AUDIO_I2C_ADDRESS, + hAudioOut.OutputDevice, + (uint8_t) hAudioOut.Volume, + hAudioOut.Frequency) != 0) + { + return AUDIO_ERROR; + } + } + else + { + /* De-initializes SAI interface */ + if (AUDIO_SAIx_DeInit() != AUDIO_OK) + { + return AUDIO_ERROR; + } + + /* DeInit audio codec */ + hAudioIn.AudioDrv->DeInit(); + } + } + + /* Disable SAI PLL if no more device is used */ + if (hAudioOut.OutputDevice == 0) + { + if (AUDIO_SAIx_PLL_DISABLE() != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + + /* Reset the audio input context */ + memset(&hAudioIn, 0, sizeof(hAudioIn)); + + return AUDIO_OK; +} + +/** + * @brief Starts audio recording. + * @param pbuf: Main buffer pointer for the recorded data storing + * @param size: Current size of the recorded buffer + * @note The Right channel is start at first with synchro on start of Left channel + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_IN_Record(uint16_t *pbuf, uint32_t size) +{ + hAudioIn.pRecBuf = pbuf; + hAudioIn.RecSize = size; + + + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /* Allocate hAudioIn.LeftRecBuff buffer */ +#if defined(BSP_AUDIO_USE_RTOS) + hAudioIn.LeftRecBuff = (int32_t *)k_malloc((size / hAudioIn.ChannelNbr) * sizeof(int32_t)); +#else + hAudioIn.LeftRecBuff = (int32_t *)malloc((size / hAudioIn.ChannelNbr) * sizeof(int32_t)); +#endif + if (hAudioIn.LeftRecBuff == NULL) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /* Allocate hAudioIn.RightRecBuff buffer */ +#if defined(BSP_AUDIO_USE_RTOS) + hAudioIn.RightRecBuff = (int32_t *)k_malloc((size / hAudioIn.ChannelNbr) * sizeof(int32_t)); +#else + hAudioIn.RightRecBuff = (int32_t *)malloc((size / hAudioIn.ChannelNbr) * sizeof(int32_t)); +#endif + if (hAudioIn.RightRecBuff == NULL) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /* Call the Media layer start function for right channel */ + if (HAL_DFSDM_FilterRegularStart_DMA(&BSP_AUDIO_hDfsdmRightFilter, + (int32_t *)hAudioIn.RightRecBuff, + (hAudioIn.RecSize / hAudioIn.ChannelNbr)) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /* Call the Media layer start function for left channel */ + if (HAL_DFSDM_FilterRegularStart_DMA(&BSP_AUDIO_hDfsdmLeftFilter, + (int32_t *)hAudioIn.LeftRecBuff, + (hAudioIn.RecSize / hAudioIn.ChannelNbr)) != HAL_OK) + { + return AUDIO_ERROR; + } + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* Call the audio Codec Play function */ + if (hAudioIn.AudioDrv->Play(AUDIO_I2C_ADDRESS, pbuf, size) != 0) + { + return AUDIO_ERROR; + } + + /* Start the process receive DMA */ + if (HAL_OK != HAL_SAI_Receive_DMA(&BSP_AUDIO_hSai_Rx, (uint8_t *)pbuf, size)) + { + return AUDIO_ERROR; + } + } + + return AUDIO_OK; +} + +/** + * @brief Updates the audio frequency. + * @param AudioFreq: Audio frequency used to record the audio stream. + * @note This API should be called after the BSP_AUDIO_IN_Init() to adjust the + * audio frequency. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_IN_SetFrequency(uint32_t AudioFreq) +{ + uint8_t TxData[2] = {0x00, 0x00}; + + /* Configure the SAI PLL according to the requested audio frequency */ + if (AUDIO_SAIPLLConfig(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + /* De-initializes the Digital Filter for Sigma-Delta Modulators interface */ + if (AUDIO_DFSDMx_DeInit() != AUDIO_OK) + { + return AUDIO_ERROR; + } + + /* Initializes the Digital Filter for Sigma-Delta Modulators interface */ + if (AUDIO_DFSDMx_Init(AudioFreq) != AUDIO_OK) + { + return AUDIO_ERROR; + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* Disable SAI peripheral to allow access to SAI internal registers */ + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Tx); + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Rx); + + /* Update the SAI audio frequency configuration */ + BSP_AUDIO_hSai_Tx.Init.Mckdiv = SAIClockDivider(AudioFreq); + HAL_SAI_Init(&BSP_AUDIO_hSai_Tx); + BSP_AUDIO_hSai_Rx.Init.Mckdiv = SAIClockDivider(AudioFreq); + HAL_SAI_Init(&BSP_AUDIO_hSai_Rx); + + /* Enable SAI peripheral to generate MCLK */ + __HAL_SAI_ENABLE(&BSP_AUDIO_hSai_Tx); + /* Transmit one byte to start FS generation */ + if (HAL_SAI_Transmit(&BSP_AUDIO_hSai_Tx, TxData, 2, 1000) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + hAudioIn.Frequency = AudioFreq; + + return AUDIO_OK; +} + +/** + * @brief Regular conversion complete callback. + * @note In interrupt mode, user has to read conversion value in this function + using HAL_DFSDM_FilterGetRegularValue. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +void HAL_DFSDM_FilterRegConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + uint32_t index; + uint32_t recbufsize = (hAudioIn.RecSize / hAudioIn.ChannelNbr); + + if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC) + { + for (index = (recbufsize / 2); index < recbufsize; index++) + { + hAudioIn.pRecBuf[2 * index] = (uint16_t)(SaturaLH((hAudioIn.LeftRecBuff[index] >> 8), -32768, 32767)); + hAudioIn.pRecBuf[(2 * index) + 1] = (uint16_t)(SaturaLH((hAudioIn.RightRecBuff[index] >> 8), -32768, 32767)); + } + } + else if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC1) + { + for (index = (recbufsize / 2); index < recbufsize; index++) + { + hAudioIn.pRecBuf[index] = (uint16_t)(SaturaLH((hAudioIn.LeftRecBuff[index] >> 8), -32768, 32767)); + } + } + else if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2) + { + for (index = (recbufsize / 2); index < recbufsize; index++) + { + hAudioIn.pRecBuf[index] = (uint16_t)(SaturaLH((hAudioIn.RightRecBuff[index] >> 8), -32768, 32767)); + } + } + + /* Invoke the registered 'TransferCompete' callback function (if any) */ + if (hAudioIn.CbTransferComplete != (Audio_CallbackTypeDef)NULL) + { + if (hdfsdm_filter == &BSP_AUDIO_hDfsdmLeftFilter) + { + if (DmaLeftRecBuffCplt) + { + BSP_ErrorHandler(); + } + + DmaLeftRecBuffCplt = 1; + } + else + { + if (DmaRightRecBuffCplt) + { + BSP_ErrorHandler(); + } + + DmaRightRecBuffCplt = 1; + } + + if (((DmaLeftRecBuffCplt != 0) && (DmaRightRecBuffCplt != 0) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC)) || + ((DmaLeftRecBuffCplt != 0) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC1)) || + ((DmaRightRecBuffCplt != 0) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2))) + { + hAudioIn.CbTransferComplete(); + DmaLeftRecBuffCplt = 0; + DmaRightRecBuffCplt = 0; + } + } +} + +/** + * @brief Half regular conversion complete callback. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +void HAL_DFSDM_FilterRegConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + uint32_t index; + uint32_t recbufsize = (hAudioIn.RecSize / hAudioIn.ChannelNbr); + + if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC) + { + for (index = 0; index < (recbufsize / 2); index++) + { + hAudioIn.pRecBuf[2 * index] = (uint16_t)(SaturaLH((hAudioIn.LeftRecBuff[index] >> 8), -32768, 32767)); + hAudioIn.pRecBuf[(2 * index) + 1] = (uint16_t)(SaturaLH((hAudioIn.RightRecBuff[index] >> 8), -32768, 32767)); + } + } + else if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC1) + { + for (index = 0; index < (recbufsize / 2); index++) + { + hAudioIn.pRecBuf[index] = (uint16_t)(SaturaLH((hAudioIn.LeftRecBuff[index] >> 8), -32768, 32767)); + } + } + else if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2) + { + for (index = 0; index < (recbufsize / 2); index++) + { + hAudioIn.pRecBuf[index] = (uint16_t)(SaturaLH((hAudioIn.RightRecBuff[index] >> 8), -32768, 32767)); + } + } + + /* Invoke the registered 'HalfTransfer' callback function (if any) */ + if (hAudioIn.CbHalfTransfer != (Audio_CallbackTypeDef)NULL) + { + if (hdfsdm_filter == &BSP_AUDIO_hDfsdmLeftFilter) + { + if (DmaLeftRecHalfBuffCplt) + { + BSP_ErrorHandler(); + } + + DmaLeftRecHalfBuffCplt = 1; + } + else + { + if (DmaRightRecHalfBuffCplt) + { + BSP_ErrorHandler(); + } + + DmaRightRecHalfBuffCplt = 1; + } + + if (((DmaLeftRecHalfBuffCplt != 0) && (DmaRightRecHalfBuffCplt != 0) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC)) || + ((DmaLeftRecHalfBuffCplt != 0) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC1)) || + ((DmaRightRecHalfBuffCplt != 0) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2))) + { + hAudioIn.CbHalfTransfer(); + DmaLeftRecHalfBuffCplt = 0; + DmaRightRecHalfBuffCplt = 0; + } + } +} + +/** + * @brief Error callback. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +void HAL_DFSDM_FilterErrorCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Invoke the registered 'ErrorCallback' callback function (if any) */ + if (hAudioIn.CbError != (Audio_CallbackTypeDef)NULL) + { + hAudioIn.CbError(); + } +} + +/** + * @brief SAI Rx Transfer completed callbacks. + * @param hsai: SAI handle + * @retval None + */ +void HAL_SAI_RxCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Invoke the registered 'TransferComplete' function (if any) */ + if (hAudioIn.CbTransferComplete != (Audio_CallbackTypeDef)NULL) + { + hAudioIn.CbTransferComplete(); + } +} + +/** + * @brief SAI Rx Half Transfer completed callbacks. + * @param hsai: SAI handle + * @retval None + */ +void HAL_SAI_RxHalfCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Invoke the registered 'HalfTransfer' callback function (if any) */ + if (hAudioIn.CbHalfTransfer != (Audio_CallbackTypeDef)NULL) + { + hAudioIn.CbHalfTransfer(); + } +} + +/** + * @brief Stops audio recording. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_IN_Stop(void) +{ + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /* Call the Media layer stop function for right channel */ + if (HAL_DFSDM_FilterRegularStop_DMA(&BSP_AUDIO_hDfsdmRightFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + } + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /* Call the Media layer stop function for left channel */ + if (HAL_DFSDM_FilterRegularStop_DMA(&BSP_AUDIO_hDfsdmLeftFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /* Free hAudioIn.LeftRecBuff buffer */ +#if defined(BSP_AUDIO_USE_RTOS) + k_free((void *)hAudioIn.LeftRecBuff); +#else + free((void *)hAudioIn.LeftRecBuff); +#endif + } + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /* Free hAudioIn.RightRecBuff buffer */ +#if defined(BSP_AUDIO_USE_RTOS) + k_free((void *)hAudioIn.RightRecBuff); +#else + free((void *)hAudioIn.RightRecBuff); +#endif + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* Call Audio Codec Stop function */ + if (hAudioIn.AudioDrv->Stop(AUDIO_I2C_ADDRESS, CODEC_PDWN_HW) != 0) + { + return AUDIO_ERROR; + } + + /* Wait at least 100ms */ + HAL_Delay(100); + + /* Stop DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_DMAStop(&BSP_AUDIO_hSai_Rx) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + return AUDIO_OK; +} + +/** + * @brief Pauses the audio file stream. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_IN_Pause(void) +{ + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + /* Call the Media layer stop function */ + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + if (HAL_DFSDM_FilterRegularStop_DMA(&BSP_AUDIO_hDfsdmRightFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + if (HAL_DFSDM_FilterRegularStop_DMA(&BSP_AUDIO_hDfsdmLeftFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* Pause DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_DMAPause(&BSP_AUDIO_hSai_Rx) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + return AUDIO_OK; +} + +/** + * @brief Resumes the audio file stream. + * @retval BSP AUDIO status + */ +uint8_t BSP_AUDIO_IN_Resume(void) +{ + if (hAudioIn.InputDevice != INPUT_DEVICE_ANALOG_MIC) + { + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /* Call the Media layer start function for right channel */ + if (HAL_DFSDM_FilterRegularStart_DMA(&BSP_AUDIO_hDfsdmRightFilter, + (int32_t *)hAudioIn.RightRecBuff, + (hAudioIn.RecSize / hAudioIn.ChannelNbr)) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /* Call the Media layer start function for left channel */ + if (HAL_DFSDM_FilterRegularStart_DMA(&BSP_AUDIO_hDfsdmLeftFilter, + (int32_t *)hAudioIn.LeftRecBuff, + (hAudioIn.RecSize / hAudioIn.ChannelNbr)) != HAL_OK) + { + return AUDIO_ERROR; + } + } + } + else + { + /* INPUT_DEVICE_ANALOG_MIC */ + /* Resume DMA transfer of PCM samples towards the serial audio interface */ + if (HAL_SAI_DMAResume(&BSP_AUDIO_hSai_Rx) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + return AUDIO_OK; +} + +/** + * @brief register user callback functions + * @param ErrorCallback: pointer to the error callback function + * @param HalfTransferCallback: pointer to the half transfer callback function + * @param TransferCompleteCallback: pointer to the transfer complete callback function + * @retval None + */ +void BSP_AUDIO_IN_RegisterCallbacks(Audio_CallbackTypeDef ErrorCallback, + Audio_CallbackTypeDef HalfTransferCallback, + Audio_CallbackTypeDef TransferCompleteCallback) +{ + hAudioIn.CbError = ErrorCallback; + hAudioIn.CbHalfTransfer = HalfTransferCallback; + hAudioIn.CbTransferComplete = TransferCompleteCallback; +} +/** + * @} + */ + +/* private functions --------------------------------------------------------*/ +/** @addtogroup STM32L496G_DISCOVERY_AUDIO_Private_Functions + * @{ + */ +/** + * @brief Initializes the Audio Codec audio interface (SAI). + * @param AudioFreq: Audio frequency to be configured for the SAI peripheral. + * @retval BSP AUDIO status + */ +static uint8_t AUDIO_SAIx_Init(uint32_t AudioFreq) +{ + uint8_t TxData[2] = {0x00, 0x00}; + + /* Initialize the BSP_AUDIO_hSai_Xx instances parameter */ + BSP_AUDIO_hSai_Tx.Instance = SAI1_Block_A; + BSP_AUDIO_hSai_Rx.Instance = SAI1_Block_B; + + /* Disable SAI peripheral to allow access to SAI internal registers */ + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Tx); + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Rx); + + /*******************************/ + /* SAI block used for playback */ + /*******************************/ + /* Configure SAI_Block_x used for transmit + LSBFirst: Disabled + DataSize: 16 */ + BSP_AUDIO_hSai_Tx.Init.AudioMode = SAI_MODEMASTER_TX; + BSP_AUDIO_hSai_Tx.Init.Synchro = SAI_ASYNCHRONOUS; + BSP_AUDIO_hSai_Tx.Init.SynchroExt = SAI_SYNCEXT_DISABLE; + BSP_AUDIO_hSai_Tx.Init.OutputDrive = SAI_OUTPUTDRIVE_ENABLE; + BSP_AUDIO_hSai_Tx.Init.NoDivider = SAI_MASTERDIVIDER_ENABLE; + BSP_AUDIO_hSai_Tx.Init.FIFOThreshold = SAI_FIFOTHRESHOLD_1QF; + BSP_AUDIO_hSai_Tx.Init.AudioFrequency = SAI_AUDIO_FREQUENCY_MCKDIV; + BSP_AUDIO_hSai_Tx.Init.Mckdiv = SAIClockDivider(AudioFreq); + BSP_AUDIO_hSai_Tx.Init.MonoStereoMode = SAI_STEREOMODE; + BSP_AUDIO_hSai_Tx.Init.CompandingMode = SAI_NOCOMPANDING; + BSP_AUDIO_hSai_Tx.Init.TriState = SAI_OUTPUT_NOTRELEASED; + BSP_AUDIO_hSai_Tx.Init.Protocol = SAI_FREE_PROTOCOL; + BSP_AUDIO_hSai_Tx.Init.DataSize = SAI_DATASIZE_16; + BSP_AUDIO_hSai_Tx.Init.FirstBit = SAI_FIRSTBIT_MSB; + BSP_AUDIO_hSai_Tx.Init.ClockStrobing = SAI_CLOCKSTROBING_FALLINGEDGE; + + /* Configure SAI_Block_x Frame + Frame Length: 32 + Frame active Length: 16 + FS Definition: Start frame + Channel Side identification + FS Polarity: FS active Low + FS Offset: FS asserted one bit before the first bit of slot 0 */ + BSP_AUDIO_hSai_Tx.FrameInit.FrameLength = 32; + BSP_AUDIO_hSai_Tx.FrameInit.ActiveFrameLength = 16; + BSP_AUDIO_hSai_Tx.FrameInit.FSDefinition = SAI_FS_CHANNEL_IDENTIFICATION; + BSP_AUDIO_hSai_Tx.FrameInit.FSPolarity = SAI_FS_ACTIVE_LOW; + BSP_AUDIO_hSai_Tx.FrameInit.FSOffset = SAI_FS_BEFOREFIRSTBIT; + + /* Configure SAI Block_x Slot + Slot First Bit Offset: 0 + Slot Size : 16 + Slot Number: 2 + Slot Active: Slots 0 and 1 actives */ + BSP_AUDIO_hSai_Tx.SlotInit.FirstBitOffset = 0; + BSP_AUDIO_hSai_Tx.SlotInit.SlotSize = SAI_SLOTSIZE_DATASIZE; + BSP_AUDIO_hSai_Tx.SlotInit.SlotNumber = 2; + BSP_AUDIO_hSai_Tx.SlotInit.SlotActive = SAI_SLOTACTIVE_0 | SAI_SLOTACTIVE_1; + + /*****************************/ + /* SAI block used for record */ + /*****************************/ + /* Configure SAI_Block_x used for receive + LSBFirst: Disabled + DataSize: 16 */ + BSP_AUDIO_hSai_Rx.Init.AudioMode = SAI_MODESLAVE_RX; + BSP_AUDIO_hSai_Rx.Init.Synchro = SAI_SYNCHRONOUS; + BSP_AUDIO_hSai_Rx.Init.SynchroExt = SAI_SYNCEXT_DISABLE; + BSP_AUDIO_hSai_Rx.Init.OutputDrive = SAI_OUTPUTDRIVE_ENABLE; + BSP_AUDIO_hSai_Rx.Init.NoDivider = SAI_MASTERDIVIDER_ENABLE; + BSP_AUDIO_hSai_Rx.Init.FIFOThreshold = SAI_FIFOTHRESHOLD_1QF; + BSP_AUDIO_hSai_Rx.Init.AudioFrequency = SAI_AUDIO_FREQUENCY_MCKDIV; + BSP_AUDIO_hSai_Rx.Init.Mckdiv = SAIClockDivider(AudioFreq); + BSP_AUDIO_hSai_Rx.Init.MonoStereoMode = SAI_MONOMODE; + BSP_AUDIO_hSai_Rx.Init.CompandingMode = SAI_NOCOMPANDING; + BSP_AUDIO_hSai_Rx.Init.TriState = SAI_OUTPUT_NOTRELEASED; + BSP_AUDIO_hSai_Rx.Init.Protocol = SAI_FREE_PROTOCOL; + BSP_AUDIO_hSai_Rx.Init.DataSize = SAI_DATASIZE_16; + BSP_AUDIO_hSai_Rx.Init.FirstBit = SAI_FIRSTBIT_MSB; + BSP_AUDIO_hSai_Rx.Init.ClockStrobing = SAI_CLOCKSTROBING_FALLINGEDGE; + + /* Configure SAI_Block_x Frame + Frame Length: 32 + Frame active Length: 16 + FS Definition: Start frame + Channel Side identification + FS Polarity: FS active Low + FS Offset: FS asserted one bit before the first bit of slot 0 */ + BSP_AUDIO_hSai_Rx.FrameInit.FrameLength = 32; + BSP_AUDIO_hSai_Rx.FrameInit.ActiveFrameLength = 16; + BSP_AUDIO_hSai_Rx.FrameInit.FSDefinition = SAI_FS_CHANNEL_IDENTIFICATION; + BSP_AUDIO_hSai_Rx.FrameInit.FSPolarity = SAI_FS_ACTIVE_LOW; + BSP_AUDIO_hSai_Rx.FrameInit.FSOffset = SAI_FS_BEFOREFIRSTBIT; + + /* Configure SAI Block_x Slot + Slot First Bit Offset: 0 + Slot Size : 16 + Slot Number: 2 + Slot Active: Slots 0 and 1 actives */ + BSP_AUDIO_hSai_Rx.SlotInit.FirstBitOffset = 0; + BSP_AUDIO_hSai_Rx.SlotInit.SlotSize = SAI_SLOTSIZE_DATASIZE; + BSP_AUDIO_hSai_Rx.SlotInit.SlotNumber = 2; + BSP_AUDIO_hSai_Rx.SlotInit.SlotActive = SAI_SLOTACTIVE_0 | SAI_SLOTACTIVE_1; + + /*********************************/ + /* Initializes the SAI peripheral*/ + /*********************************/ + if (HAL_SAI_Init(&BSP_AUDIO_hSai_Tx) != HAL_OK) + { + return AUDIO_ERROR; + } + if (HAL_SAI_Init(&BSP_AUDIO_hSai_Rx) != HAL_OK) + { + return AUDIO_ERROR; + } + + /******************************************/ + /* Enable SAI peripheral to generate MCLK */ + /******************************************/ + __HAL_SAI_ENABLE(&BSP_AUDIO_hSai_Tx); + /* Transmit one byte to start FS generation */ + if (HAL_SAI_Transmit(&BSP_AUDIO_hSai_Tx, TxData, 2, 1000) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief De-initializes the Audio Codec audio interface (SAI). + * @retval BSP AUDIO status + */ +static uint8_t AUDIO_SAIx_DeInit(void) +{ + /* Disable the SAI audio block */ + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Tx); + __HAL_SAI_DISABLE(&BSP_AUDIO_hSai_Rx); + + /* De-initializes the SAI peripheral */ + if (HAL_SAI_DeInit(&BSP_AUDIO_hSai_Tx) != HAL_OK) + { + return AUDIO_ERROR; + } + if (HAL_SAI_DeInit(&BSP_AUDIO_hSai_Rx) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @brief SAI MSP Init + * @param hsai : pointer to a SAI_HandleTypeDef structure + * @retval None + */ +void HAL_SAI_MspInit(SAI_HandleTypeDef *hsai) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* Enable SAI clock */ + __HAL_RCC_SAI1_CLK_ENABLE(); + + if (hsai->Instance == SAI1_Block_A) + { + /* SAI pins configuration: FS, SCK, MCLK and SD pins */ + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF13_SAI1; + GPIO_InitStruct.Pin = GPIO_PIN_2; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); /* SAI1_MCLK_A */ + GPIO_InitStruct.Pin = GPIO_PIN_4; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); /* SAI1_FS_A */ + GPIO_InitStruct.Pin = GPIO_PIN_10; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* SAI1_SCK_A */ + GPIO_InitStruct.Pin = GPIO_PIN_6; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); /* SAI1_SD_A */ + + /* Configure the hDmaSaiTx handle parameters */ + __HAL_RCC_DMA2_CLK_ENABLE(); + hDmaSaiTx.Init.Request = DMA_REQUEST_1; + hDmaSaiTx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hDmaSaiTx.Init.PeriphInc = DMA_PINC_DISABLE; + hDmaSaiTx.Init.MemInc = DMA_MINC_ENABLE; + hDmaSaiTx.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + hDmaSaiTx.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + hDmaSaiTx.Init.Mode = DMA_CIRCULAR; + hDmaSaiTx.Init.Priority = DMA_PRIORITY_HIGH; + hDmaSaiTx.Instance = DMA2_Channel1; + /* Associate the DMA handle */ + __HAL_LINKDMA(hsai, hdmatx, hDmaSaiTx); + /* Deinitialize the Stream for new transfer */ + HAL_DMA_DeInit(&hDmaSaiTx); + /* Configure the DMA Stream */ + HAL_DMA_Init(&hDmaSaiTx); + /* SAI DMA IRQ Channel configuration */ + HAL_NVIC_SetPriority(DMA2_Channel1_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA2_Channel1_IRQn); + } + else /* SAI1_BlockB */ + { + /* SAI pins configuration: SD pin */ + __HAL_RCC_GPIOE_CLK_ENABLE(); + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF13_SAI1; + GPIO_InitStruct.Pin = GPIO_PIN_3; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); /* SAI1_SD_B */ + + /* Configure the hDmaSaiRx handle parameters */ + __HAL_RCC_DMA2_CLK_ENABLE(); + hDmaSaiRx.Init.Request = DMA_REQUEST_1; + hDmaSaiRx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hDmaSaiRx.Init.PeriphInc = DMA_PINC_DISABLE; + hDmaSaiRx.Init.MemInc = DMA_MINC_ENABLE; + hDmaSaiRx.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + hDmaSaiRx.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + hDmaSaiRx.Init.Mode = DMA_CIRCULAR; + hDmaSaiRx.Init.Priority = DMA_PRIORITY_HIGH; + hDmaSaiRx.Instance = DMA2_Channel2; + /* Associate the DMA handle */ + __HAL_LINKDMA(hsai, hdmarx, hDmaSaiRx); + /* Deinitialize the Stream for new transfer */ + HAL_DMA_DeInit(&hDmaSaiRx); + /* Configure the DMA Stream */ + HAL_DMA_Init(&hDmaSaiRx); + /* SAI DMA IRQ Channel configuration */ + HAL_NVIC_SetPriority(DMA2_Channel2_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA2_Channel2_IRQn); + } +} + +/** + * @brief SAI MSP De-init + * @param hsai : pointer to a SAI_HandleTypeDef structure + * @retval None + */ +void HAL_SAI_MspDeInit(SAI_HandleTypeDef *hsai) +{ + if (hsai->Instance == SAI1_Block_A) + { + /* Disable SAI DMA Channel IRQ */ + HAL_NVIC_DisableIRQ(DMA2_Channel1_IRQn); + + /* Reset the DMA Stream configuration*/ + HAL_DMA_DeInit(&hDmaSaiTx); + + /* De-initialize FS, SCK, MCK and SD pins*/ + HAL_GPIO_DeInit(GPIOE, GPIO_PIN_2); /* SAI1_MCLK_A */ + HAL_GPIO_DeInit(GPIOE, GPIO_PIN_4); /* SAI1_FS_A */ + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10); /* SAI1_SCK_A */ + HAL_GPIO_DeInit(GPIOE, GPIO_PIN_6); /* SAI1_SD_A */ + + /* Don't disable SAI clock used for other SAI block */ + /*__HAL_RCC_SAI1_CLK_DISABLE(); */ + } + else /* SAI1_BlockB */ + { + /* Disable SAI DMA Channel IRQ */ + HAL_NVIC_DisableIRQ(DMA2_Channel2_IRQn); + + /* Reset the DMA Stream configuration*/ + HAL_DMA_DeInit(&hDmaSaiRx); + + /* De-initialize SD pin */ + HAL_GPIO_DeInit(GPIOE, GPIO_PIN_3); /* SAI1_SD_B */ + + /* Disable SAI clock */ + __HAL_RCC_SAI1_CLK_DISABLE(); + } +} + +/** + * @} + */ + +/** @addtogroup STM32L496G_DISCOVERY_AUDIO_Private_Functions + * @{ + */ + +/** + * @brief Initializes the Digital Filter for Sigma-Delta Modulators interface (DFSDM). + * @param AudioFreq: Audio frequency to be used to set correctly the DFSDM peripheral. + * @retval BSP AUDIO status + */ +static uint8_t AUDIO_DFSDMx_Init(uint32_t AudioFreq) +{ + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /*####CHANNEL 3####*/ + hAudioIn.hDfsdmLeftChannel.Init.OutputClock.Activation = ENABLE; + hAudioIn.hDfsdmLeftChannel.Init.OutputClock.Selection = DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO; + /* Set the DFSDM clock OUT audio frequency configuration */ + hAudioIn.hDfsdmLeftChannel.Init.OutputClock.Divider = DFSDMClockDivider(AudioFreq); + hAudioIn.hDfsdmLeftChannel.Init.Input.Multiplexer = DFSDM_CHANNEL_EXTERNAL_INPUTS; + hAudioIn.hDfsdmLeftChannel.Init.Input.DataPacking = DFSDM_CHANNEL_STANDARD_MODE; + hAudioIn.hDfsdmLeftChannel.Init.Input.Pins = DFSDM_CHANNEL_SAME_CHANNEL_PINS; + /* Request to sample stable data for LEFT micro on Rising edge */ + hAudioIn.hDfsdmLeftChannel.Init.SerialInterface.Type = DFSDM_CHANNEL_SPI_RISING; + hAudioIn.hDfsdmLeftChannel.Init.SerialInterface.SpiClock = DFSDM_CHANNEL_SPI_CLOCK_INTERNAL; + hAudioIn.hDfsdmLeftChannel.Init.Awd.FilterOrder = DFSDM_CHANNEL_SINC1_ORDER; + hAudioIn.hDfsdmLeftChannel.Init.Awd.Oversampling = 10; + hAudioIn.hDfsdmLeftChannel.Init.Offset = 0; + hAudioIn.hDfsdmLeftChannel.Init.RightBitShift = DFSDMRightBitShift(AudioFreq); + hAudioIn.hDfsdmLeftChannel.Instance = DFSDM1_Channel3; + + /* Init the DFSDM Channel */ + if (HAL_DFSDM_ChannelInit(&hAudioIn.hDfsdmLeftChannel) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /*####CHANNEL 2####*/ + hAudioIn.hDfsdmRightChannel.Init.OutputClock.Activation = ENABLE; + hAudioIn.hDfsdmRightChannel.Init.OutputClock.Selection = DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO; + /* Set the DFSDM clock OUT audio frequency configuration */ + hAudioIn.hDfsdmRightChannel.Init.OutputClock.Divider = DFSDMClockDivider(AudioFreq); + hAudioIn.hDfsdmRightChannel.Init.Input.Multiplexer = DFSDM_CHANNEL_EXTERNAL_INPUTS; + hAudioIn.hDfsdmRightChannel.Init.Input.DataPacking = DFSDM_CHANNEL_STANDARD_MODE; + hAudioIn.hDfsdmRightChannel.Init.Input.Pins = DFSDM_CHANNEL_FOLLOWING_CHANNEL_PINS; + /* Request to sample stable data for LEFT micro on Rising edge */ + hAudioIn.hDfsdmRightChannel.Init.SerialInterface.Type = DFSDM_CHANNEL_SPI_FALLING; + hAudioIn.hDfsdmRightChannel.Init.SerialInterface.SpiClock = DFSDM_CHANNEL_SPI_CLOCK_INTERNAL; + hAudioIn.hDfsdmRightChannel.Init.Awd.FilterOrder = DFSDM_CHANNEL_SINC1_ORDER; + hAudioIn.hDfsdmRightChannel.Init.Awd.Oversampling = 10; + hAudioIn.hDfsdmRightChannel.Init.Offset = 0; + hAudioIn.hDfsdmRightChannel.Init.RightBitShift = DFSDMRightBitShift(AudioFreq); + hAudioIn.hDfsdmRightChannel.Instance = DFSDM1_Channel2; + + /* Init the DFSDM Channel */ + if (HAL_DFSDM_ChannelInit(&hAudioIn.hDfsdmRightChannel) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + /*####FILTER 0####*/ + BSP_AUDIO_hDfsdmLeftFilter.Init.RegularParam.Trigger = DFSDM_FILTER_SW_TRIGGER; + BSP_AUDIO_hDfsdmLeftFilter.Init.RegularParam.FastMode = ENABLE; + BSP_AUDIO_hDfsdmLeftFilter.Init.RegularParam.DmaMode = ENABLE; + BSP_AUDIO_hDfsdmLeftFilter.Init.InjectedParam.Trigger = DFSDM_FILTER_SW_TRIGGER; + BSP_AUDIO_hDfsdmLeftFilter.Init.InjectedParam.ScanMode = DISABLE; + BSP_AUDIO_hDfsdmLeftFilter.Init.InjectedParam.DmaMode = DISABLE; + BSP_AUDIO_hDfsdmLeftFilter.Init.InjectedParam.ExtTrigger = DFSDM_FILTER_EXT_TRIG_TIM8_TRGO; + BSP_AUDIO_hDfsdmLeftFilter.Init.InjectedParam.ExtTriggerEdge = DFSDM_FILTER_EXT_TRIG_BOTH_EDGES; + BSP_AUDIO_hDfsdmLeftFilter.Init.FilterParam.SincOrder = DFSDMFilterOrder(AudioFreq); + /* Set the DFSDM Filters Oversampling to have correct sample rate */ + BSP_AUDIO_hDfsdmLeftFilter.Init.FilterParam.Oversampling = DFSDMOverSampling(AudioFreq); + BSP_AUDIO_hDfsdmLeftFilter.Init.FilterParam.IntOversampling = 1; + BSP_AUDIO_hDfsdmLeftFilter.Instance = DFSDM1_Filter0; + + /* Init the DFSDM Filter */ + if (HAL_DFSDM_FilterInit(&BSP_AUDIO_hDfsdmLeftFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + + /* Configure regular channel */ + if (HAL_DFSDM_FilterConfigRegChannel(&BSP_AUDIO_hDfsdmLeftFilter, + DFSDM_CHANNEL_3, + DFSDM_CONTINUOUS_CONV_ON) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + /*####FILTER 1####*/ + if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2) + { + BSP_AUDIO_hDfsdmRightFilter.Init.RegularParam.Trigger = DFSDM_FILTER_SW_TRIGGER; + } + else + { + BSP_AUDIO_hDfsdmRightFilter.Init.RegularParam.Trigger = DFSDM_FILTER_SYNC_TRIGGER; + } + BSP_AUDIO_hDfsdmRightFilter.Init.RegularParam.FastMode = ENABLE; + BSP_AUDIO_hDfsdmRightFilter.Init.RegularParam.DmaMode = ENABLE; + BSP_AUDIO_hDfsdmRightFilter.Init.InjectedParam.Trigger = DFSDM_FILTER_SW_TRIGGER; + BSP_AUDIO_hDfsdmRightFilter.Init.InjectedParam.ScanMode = DISABLE; + BSP_AUDIO_hDfsdmRightFilter.Init.InjectedParam.DmaMode = DISABLE; + BSP_AUDIO_hDfsdmRightFilter.Init.InjectedParam.ExtTrigger = DFSDM_FILTER_EXT_TRIG_TIM8_TRGO; + BSP_AUDIO_hDfsdmRightFilter.Init.InjectedParam.ExtTriggerEdge = DFSDM_FILTER_EXT_TRIG_BOTH_EDGES; + BSP_AUDIO_hDfsdmRightFilter.Init.FilterParam.SincOrder = DFSDMFilterOrder(AudioFreq); + /* Set the DFSDM Filters Oversampling to have correct sample rate */ + BSP_AUDIO_hDfsdmRightFilter.Init.FilterParam.Oversampling = DFSDMOverSampling(AudioFreq); + BSP_AUDIO_hDfsdmRightFilter.Init.FilterParam.IntOversampling = 1; + BSP_AUDIO_hDfsdmRightFilter.Instance = DFSDM1_Filter1; + + /* Init the DFSDM Filter */ + if (HAL_DFSDM_FilterInit(&BSP_AUDIO_hDfsdmRightFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + + /* Configure regular channel */ + if (HAL_DFSDM_FilterConfigRegChannel(&BSP_AUDIO_hDfsdmRightFilter, + DFSDM_CHANNEL_2, + DFSDM_CONTINUOUS_CONV_ON) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + return AUDIO_OK; +} + +/** + * @brief De-initializes the Digital Filter for Sigma-Delta Modulators interface (DFSDM). + * @retval BSP AUDIO status + */ +static uint8_t AUDIO_DFSDMx_DeInit(void) +{ + /* De-initializes the DFSDM filters to allow access to DFSDM internal registers */ + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + if (HAL_DFSDM_FilterDeInit(&BSP_AUDIO_hDfsdmRightFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + } + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + if (HAL_DFSDM_FilterDeInit(&BSP_AUDIO_hDfsdmLeftFilter) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + /* De-initializes the DFSDM channels to allow access to DFSDM internal registers */ + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC2) == INPUT_DEVICE_DIGITAL_MIC2) + { + if (HAL_DFSDM_ChannelDeInit(&hAudioIn.hDfsdmRightChannel) != HAL_OK) + { + return AUDIO_ERROR; + } + } + if ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) == INPUT_DEVICE_DIGITAL_MIC1) + { + if (HAL_DFSDM_ChannelDeInit(&hAudioIn.hDfsdmLeftChannel) != HAL_OK) + { + return AUDIO_ERROR; + } + } + + /* DFSDM reset */ + __HAL_RCC_DFSDM1_FORCE_RESET(); + __HAL_RCC_DFSDM1_RELEASE_RESET(); + + return AUDIO_OK; +} + +/** + * @brief Initializes the DFSDM channel MSP. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval None + */ +void HAL_DFSDM_ChannelMspInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + if (((hdfsdm_channel->Instance == DFSDM1_Channel3) && ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) != 0)) || \ + ((hdfsdm_channel->Instance == DFSDM1_Channel2) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2))) + { + GPIO_InitTypeDef GPIO_InitStruct; + + /* Enable DFSDM clock */ + __HAL_RCC_DFSDM1_CLK_ENABLE(); + + /* DFSDM pins configuration: DFSDM1_CKOUT, DFSDM1_DATIN3 pins */ + __HAL_RCC_GPIOC_CLK_ENABLE(); + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF6_DFSDM1; + GPIO_InitStruct.Pin = GPIO_PIN_2; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* DFSDM1_CKOUT */ + GPIO_InitStruct.Pin = GPIO_PIN_7; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* DFSDM1_DATIN3 */ + + /* Enable MIC_VDD (PH1) */ + __HAL_RCC_GPIOH_CLK_ENABLE(); + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Pin = GPIO_PIN_1; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + HAL_GPIO_WritePin(GPIOH, GPIO_PIN_1, GPIO_PIN_SET); + } +} + +/** + * @brief De-initializes the DFSDM channel MSP. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval None + */ +void HAL_DFSDM_ChannelMspDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + if (((hdfsdm_channel->Instance == DFSDM1_Channel3) && ((hAudioIn.InputDevice & INPUT_DEVICE_DIGITAL_MIC1) != 0)) || \ + ((hdfsdm_channel->Instance == DFSDM1_Channel2) && (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2))) + { + /* Disable MIC_VDD (PH1) */ + HAL_GPIO_WritePin(GPIOH, GPIO_PIN_1, GPIO_PIN_RESET); + HAL_GPIO_DeInit(GPIOH, GPIO_PIN_1); + + /* De-initialize DFSDM1_CKOUT, DFSDM1_DATIN3 pins */ + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2); /* DFSDM1_CKOUT */ + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_7); /* DFSDM1_DATIN3 */ + + /* Disable DFSDM1 */ + __HAL_RCC_DFSDM1_CLK_DISABLE(); + } +} + +/** + * @brief Initializes the DFSDM filter MSP. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +void HAL_DFSDM_FilterMspInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + if (hdfsdm_filter->Instance == DFSDM1_Filter0) + { + /* Enable the DMA clock */ + __HAL_RCC_DMA1_CLK_ENABLE(); + + /* Configure the hAudioIn.hDmaDfsdmLeft handle parameters */ + hAudioIn.hDmaDfsdmLeft.Init.Request = DMA_REQUEST_0; + hAudioIn.hDmaDfsdmLeft.Init.Direction = DMA_PERIPH_TO_MEMORY; + hAudioIn.hDmaDfsdmLeft.Init.PeriphInc = DMA_PINC_DISABLE; + hAudioIn.hDmaDfsdmLeft.Init.MemInc = DMA_MINC_ENABLE; + hAudioIn.hDmaDfsdmLeft.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; + hAudioIn.hDmaDfsdmLeft.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; + hAudioIn.hDmaDfsdmLeft.Init.Mode = DMA_CIRCULAR; + hAudioIn.hDmaDfsdmLeft.Init.Priority = DMA_PRIORITY_HIGH; + hAudioIn.hDmaDfsdmLeft.Instance = DMA1_Channel4; + + /* Associate the DMA handle */ + __HAL_LINKDMA(hdfsdm_filter, hdmaReg, hAudioIn.hDmaDfsdmLeft); + + /* Reset DMA handle state */ + __HAL_DMA_RESET_HANDLE_STATE(&hAudioIn.hDmaDfsdmLeft); + + /* Configure the DMA Channel */ + HAL_DMA_Init(&hAudioIn.hDmaDfsdmLeft); + + /* DMA IRQ Channel configuration */ + HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn); + } + else /* DFSDM1_Filter1 */ + { + if (hAudioIn.InputDevice == INPUT_DEVICE_DIGITAL_MIC2) + { + /* Enable the DMA clock needed if only MIC2 is used */ + __HAL_RCC_DMA1_CLK_ENABLE(); + } + + /* Configure the hAudioIn.hDmaDfsdmRight handle parameters */ + hAudioIn.hDmaDfsdmRight.Init.Request = DMA_REQUEST_0; + hAudioIn.hDmaDfsdmRight.Init.Direction = DMA_PERIPH_TO_MEMORY; + hAudioIn.hDmaDfsdmRight.Init.PeriphInc = DMA_PINC_DISABLE; + hAudioIn.hDmaDfsdmRight.Init.MemInc = DMA_MINC_ENABLE; + hAudioIn.hDmaDfsdmRight.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; + hAudioIn.hDmaDfsdmRight.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; + hAudioIn.hDmaDfsdmRight.Init.Mode = DMA_CIRCULAR; + hAudioIn.hDmaDfsdmRight.Init.Priority = DMA_PRIORITY_HIGH; + hAudioIn.hDmaDfsdmRight.Instance = DMA1_Channel5; + + /* Associate the DMA handle */ + __HAL_LINKDMA(hdfsdm_filter, hdmaReg, hAudioIn.hDmaDfsdmRight); + + /* Reset DMA handle state */ + __HAL_DMA_RESET_HANDLE_STATE(&hAudioIn.hDmaDfsdmRight); + + /* Configure the DMA Channel */ + HAL_DMA_Init(&hAudioIn.hDmaDfsdmRight); + + /* DMA IRQ Channel configuration */ + HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn); + } +} + +/** + * @brief De-initializes the DFSDM filter MSP. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +void HAL_DFSDM_FilterMspDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + if (hdfsdm_filter->Instance == DFSDM1_Filter0) + { + /* Disable DMA Channel IRQ */ + HAL_NVIC_DisableIRQ(DMA1_Channel4_IRQn); + + /* De-initialize the DMA Channel */ + HAL_DMA_DeInit(&hAudioIn.hDmaDfsdmLeft); + } + else /* DFSDM1_Filter1 */ + { + /* Disable DMA Channel IRQ */ + HAL_NVIC_DisableIRQ(DMA1_Channel5_IRQn); + + /* De-initialize the DMA Channel */ + HAL_DMA_DeInit(&hAudioIn.hDmaDfsdmRight); + } +} + +/** + * @brief Configures the SAI PLL clock according to the required audio frequency. + * @param Frequency: Audio frequency. + * @retval BSP AUDIO status + * @note The SAI PLL input clock must be configured in the user application. + * The SAI PLL configuration done within this function assumes that + * the SAI PLL input clock runs at 8 MHz. + */ +static uint8_t AUDIO_SAIPLLConfig(uint32_t Frequency) +{ + RCC_PeriphCLKInitTypeDef RCC_ExCLKInitStruct; + + /* Retrieve actual RCC configuration */ + HAL_RCCEx_GetPeriphCLKConfig(&RCC_ExCLKInitStruct); + + if ((Frequency == AUDIO_FREQUENCY_11K) + || (Frequency == AUDIO_FREQUENCY_22K) + || (Frequency == AUDIO_FREQUENCY_44K)) + { + /* Configure PLLSAI prescalers */ + /* SAI clock config + PLLSAI2_VCO= 8 Mhz * PLLSAI1N = 8 * 24 = VCO_192M + SAI_CK_x = PLLSAI2_VCO/PLLSAI1P = 192/17 = 11.294 Mhz */ + RCC_ExCLKInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SAI1; + RCC_ExCLKInitStruct.PLLSAI2.PLLSAI2N = 24; + RCC_ExCLKInitStruct.PLLSAI2.PLLSAI2P = 17; + RCC_ExCLKInitStruct.PLLSAI2.PLLSAI2ClockOut = RCC_PLLSAI2_SAI2CLK; + RCC_ExCLKInitStruct.Sai1ClockSelection = RCC_SAI1CLKSOURCE_PLLSAI2; + } + else /* AUDIO_FREQUENCY_8K, AUDIO_FREQUENCY_16K, AUDIO_FREQUENCY_48K, AUDIO_FREQUENCY_96K */ + { + /* SAI clock config + PLLSAI2_VCO= 8 Mhz * PLLSAI1N = 8 * 43 = VCO_344M + SAI_CK_x = PLLSAI1_VCO/PLLSAI2P = 344/7 = 49.142 Mhz */ + RCC_ExCLKInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SAI1; + RCC_ExCLKInitStruct.PLLSAI2.PLLSAI2N = 43; + RCC_ExCLKInitStruct.PLLSAI2.PLLSAI2P = 7; + RCC_ExCLKInitStruct.PLLSAI2.PLLSAI2ClockOut = RCC_PLLSAI2_SAI2CLK; + RCC_ExCLKInitStruct.Sai1ClockSelection = RCC_SAI1CLKSOURCE_PLLSAI2; + } + + if (HAL_RCCEx_PeriphCLKConfig(&RCC_ExCLKInitStruct) != HAL_OK) + { + return AUDIO_ERROR; + } + + return AUDIO_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.h new file mode 100644 index 0000000..925f135 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_audio.h @@ -0,0 +1,270 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_audio.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_discovery_audio.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_AUDIO_H +#define __STM32L496G_DISCOVERY_AUDIO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#if defined(BSP_AUDIO_USE_RTOS) +#include "k_mem.h" +#else +#include +#endif +/* Include audio component Driver */ +#include "../Components/cs42l51/cs42l51.h" +#include "stm32l496g_discovery.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_AUDIO + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Exported_Types Exported Types + * @{ + */ +typedef void (*Audio_CallbackTypeDef)(void); + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Exported_Constants Exported Constants + * @{ + */ +/** @defgroup BSP_Audio_Out_Option BSP Audio Out Option + * @{ + */ +#define BSP_AUDIO_OUT_CIRCULARMODE ((uint32_t)0x00000001) /* BUFFER CIRCULAR MODE */ +#define BSP_AUDIO_OUT_NORMALMODE ((uint32_t)0x00000002) /* BUFFER NORMAL MODE */ +#define BSP_AUDIO_OUT_STEREOMODE ((uint32_t)0x00000004) /* STEREO MODE */ +#define BSP_AUDIO_OUT_MONOMODE ((uint32_t)0x00000008) /* MONO MODE */ +/** + * @} + */ + +/** @defgroup BSP_Audio_Sample_Rate BSP Audio Sample Rate + * @{ + */ +#define BSP_AUDIO_FREQUENCY_96K SAI_AUDIO_FREQUENCY_96K +#define BSP_AUDIO_FREQUENCY_48K SAI_AUDIO_FREQUENCY_48K +#define BSP_AUDIO_FREQUENCY_44K SAI_AUDIO_FREQUENCY_44K +#define BSP_AUDIO_FREQUENCY_32K SAI_AUDIO_FREQUENCY_32K +#define BSP_AUDIO_FREQUENCY_22K SAI_AUDIO_FREQUENCY_22K +#define BSP_AUDIO_FREQUENCY_16K SAI_AUDIO_FREQUENCY_16K +#define BSP_AUDIO_FREQUENCY_11K SAI_AUDIO_FREQUENCY_11K +#define BSP_AUDIO_FREQUENCY_8K SAI_AUDIO_FREQUENCY_8K +/** + * @} + */ +/*------------------------------------------------------------------------------ + USER SAI defines parameters + -----------------------------------------------------------------------------*/ +/* SAI peripheral configuration defines */ +#define AUDIO_SAIx_TX_CLK_ENABLE() __HAL_RCC_SAI1_CLK_ENABLE() +#define AUDIO_SAIx_TX_CLK_DISABLE() __HAL_RCC_SAI1_CLK_DISABLE() +#define AUDIO_SAIx_TX_MCK_SCK_SD_FS_AF GPIO_AF13_SAI1 + +#define AUDIO_SAIx_TX_MCK_SCK_SD_FS_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE() +#define AUDIO_SAIx_TX_MCK_SCK_SD_FS_DISABLE() __HAL_RCC_GPIOE_CLK_DISABLE() +#define AUDIO_SAIx_TX_FS_PIN GPIO_PIN_4 +#define AUDIO_SAIx_TX_SCK_PIN GPIO_PIN_5 +#define AUDIO_SAIx_TX_SD_PIN GPIO_PIN_6 +#define AUDIO_SAIx_TX_MCK_PIN GPIO_PIN_2 +#define AUDIO_SAIx_TX_MCK_SCK_SD_FS_GPIO_PORT GPIOE + +/* SAI DMA Channel definitions */ +#define AUDIO_SAIx_DMAx_CLK_ENABLE() __HAL_RCC_DMA2_CLK_ENABLE() +#define AUDIO_SAIx_DMAx_CLK_DISABLE() __HAL_RCC_DMA2_CLK_DISABLE() +#define AUDIO_SAIx_DMAx_CHANNEL DMA2_Channel1 +#define AUDIO_SAIx_DMAx_IRQ DMA2_Channel1_IRQn +#define AUDIO_SAIx_DMAx_PERIPH_DATA_SIZE DMA_PDATAALIGN_HALFWORD +#define AUDIO_SAIx_DMAx_MEM_DATA_SIZE DMA_MDATAALIGN_HALFWORD +#define DMA_MAX_SZE (uint32_t)0xFFFF + +#define AUDIO_SAIx_DMAx_IRQHandler DMA2_Channel1_IRQHandler + +/* Select the interrupt preemption priority for the DMA interrupt */ +#define AUDIO_OUT_IRQ_PREPRIO 5 /* Select the preemption priority level(0 is the highest) */ + +/* Disable SAIx PLL */ +#define AUDIO_SAIx_PLL_DISABLE() HAL_RCCEx_DisablePLLSAI2() + +/*------------------------------------------------------------------------------ + AUDIO IN CONFIGURATION +------------------------------------------------------------------------------*/ +/* DFSDM Configuration defines */ +#define AUDIO_DFSDMx_LEFT_CHANNEL DFSDM1_Channel2 +#define AUDIO_DFSDMx_LEFT_FILTER DFSDM1_Filter0 +#define AUDIO_DFSDMx_CLK_ENABLE() __HAL_RCC_DFSDM1_CLK_ENABLE() +#define AUDIO_DFSDMx_CLK_DISABLE() __HAL_RCC_DFSDM1_CLK_DISABLE() +#define AUDIO_DFSDMx_CKOUT_PIN GPIO_PIN_9 +#define AUDIO_DFSDMx_DMIC_DATIN_PIN GPIO_PIN_7 +#define AUDIO_DFSDMx_CKOUT_DMIC_DATIN_GPIO_PORT GPIOE +#define AUDIO_DFSDMx_CKOUT_DMIC_DATIN_GPIO_CLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE() +#define AUDIO_DFSDMx_CKOUT_DMIC_DATIN_GPIO_CLK_DISABLE() __HAL_RCC_GPIOE_CLK_DISABLE() +#define AUDIO_DFSDMx_CKOUT_DMIC_DATIN_AF GPIO_AF6_DFSDM1 + +/* DFSDM DMA Right and Left channels definitions */ +#define AUDIO_DFSDMx_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() +#define AUDIO_DFSDMx_DMAx_CLK_DISABLE() __HAL_RCC_DMA1_CLK_DISABLE() +#define AUDIO_DFSDMx_DMAx_LEFT_CHANNEL DMA1_Channel4 +#define AUDIO_DFSDMx_DMAx_LEFT_IRQ DMA1_Channel4_IRQn +#define AUDIO_DFSDM_DMAx_LEFT_IRQHandler DMA1_Channel4_IRQHandler +#define AUDIO_DFSDMx_DMAx_RIGHT_CHANNEL DMA1_Channel5 +#define AUDIO_DFSDMx_DMAx_RIGHT_IRQ DMA1_Channel5_IRQn +#define AUDIO_DFSDM_DMAx_RIGHT_IRQHandler DMA1_Channel5_IRQHandler +#define AUDIO_DFSDMx_DMAx_PERIPH_DATA_SIZE DMA_PDATAALIGN_WORD +#define AUDIO_DFSDMx_DMAx_MEM_DATA_SIZE DMA_MDATAALIGN_WORD + + +/* Select the interrupt preemption priority and subpriority for the IT/DMA interrupt */ +#define AUDIO_IN_IRQ_PREPRIO 6 /* Select the preemption priority level(0 is the highest) */ + +/*------------------------------------------------------------------------------ + CONFIGURATION: Audio Driver Configuration parameters +------------------------------------------------------------------------------*/ + +#define AUDIODATA_SIZE 2 /* 16-bits audio data size */ + +/* Audio status definition */ +#define AUDIO_OK 0 +#define AUDIO_ERROR 1 +#define AUDIO_TIMEOUT 2 + +/* Audio out parameters */ +#define DEFAULT_AUDIO_OUT_FREQ BSP_AUDIO_FREQUENCY_48K +#define DEFAULT_AUDIO_OUT_BIT_RESOLUTION ((uint8_t)16) +#define DEFAULT_AUDIO_OUT_CHANNEL_NBR ((uint8_t)2) /* Mono = 1, Stereo = 2 */ +#define DEFAULT_AUDIO_OUT_VOLUME ((uint16_t)80) + +/* AudioFreq * DataSize (2 bytes) * NumChannels (Stereo: 2) */ +#define DEFAULT_AUDIO_IN_FREQ BSP_AUDIO_FREQUENCY_16K +#define DEFAULT_AUDIO_IN_BIT_RESOLUTION 16 +#define DEFAULT_AUDIO_IN_CHANNEL_NBR 1 /* Mono = 1, Stereo = 2 */ +#define DEFAULT_AUDIO_IN_VOLUME 80 + +/*------------------------------------------------------------------------------ + OPTIONAL Configuration defines parameters +------------------------------------------------------------------------------*/ + +/* Delay for the Codec to be correctly reset */ +#define CODEC_RESET_DELAY 5 + +/*------------------------------------------------------------------------------ + INPUT DEVICES definition +------------------------------------------------------------------------------*/ +/* MP34DT01TR digital microphone on PCB top side */ +#define INPUT_DEVICE_DIGITAL_MIC1 0x20 /* Left microphone */ +#define INPUT_DEVICE_DIGITAL_MIC2 0x40 /* Right microphone */ +#define INPUT_DEVICE_DIGITAL_MIC (INPUT_DEVICE_DIGITAL_MIC1 | INPUT_DEVICE_DIGITAL_MIC2) +/* Analog microphone input from 3.5 audio jack connector */ +#define INPUT_DEVICE_ANALOG_MIC INPUT_DEVICE_MIC1 + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Exported_Variables Exported Variables + * @{ + */ +extern SAI_HandleTypeDef BSP_AUDIO_hSai_Tx; +extern SAI_HandleTypeDef BSP_AUDIO_hSai_Rx; +extern DFSDM_Filter_HandleTypeDef BSP_AUDIO_hDfsdmLeftFilter; +extern DFSDM_Filter_HandleTypeDef BSP_AUDIO_hDfsdmRightFilter; + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Exported_Macros Exported Macros + * @{ + */ +#define DMA_MAX(_X_) (((_X_) <= DMA_MAX_SZE)? (_X_):DMA_MAX_SZE) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_AUDIO_Exported_Functions Exported Functions + * @{ + */ +uint8_t BSP_AUDIO_OUT_Init(uint16_t OutputDevice, uint8_t Volume, uint32_t AudioFreq); +uint8_t BSP_AUDIO_OUT_DeInit(void); +uint8_t BSP_AUDIO_OUT_Play(uint16_t *pData, uint32_t Size); +uint8_t BSP_AUDIO_OUT_ChangeBuffer(uint16_t *pData, uint16_t Size); +uint8_t BSP_AUDIO_OUT_Pause(void); +uint8_t BSP_AUDIO_OUT_Resume(void); +uint8_t BSP_AUDIO_OUT_Stop(uint32_t Option); +uint8_t BSP_AUDIO_OUT_SetVolume(uint8_t Volume); +uint8_t BSP_AUDIO_OUT_SetFrequency(uint32_t AudioFreq); +void BSP_AUDIO_OUT_ChangeAudioConfig(uint32_t AudioOutOption); +uint8_t BSP_AUDIO_OUT_SetMute(uint32_t Cmd); +uint8_t BSP_AUDIO_OUT_SetOutputMode(uint8_t Output); +void BSP_AUDIO_OUT_RegisterCallbacks(Audio_CallbackTypeDef ErrorCallback, + Audio_CallbackTypeDef HalfTransferCallback, + Audio_CallbackTypeDef TransferCompleteCallback); + +uint8_t BSP_AUDIO_IN_Init(uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr); +uint8_t BSP_AUDIO_IN_InitEx(uint16_t InputDevice, uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr); +uint8_t BSP_AUDIO_IN_DeInit(void); +uint8_t BSP_AUDIO_IN_Record(uint16_t *pData, uint32_t Size); +uint8_t BSP_AUDIO_IN_SetFrequency(uint32_t AudioFreq); +uint8_t BSP_AUDIO_IN_Stop(void); +uint8_t BSP_AUDIO_IN_Pause(void); +uint8_t BSP_AUDIO_IN_Resume(void); +void BSP_AUDIO_IN_RegisterCallbacks(Audio_CallbackTypeDef ErrorCallback, + Audio_CallbackTypeDef HalfTransferCallback, + Audio_CallbackTypeDef TransferCompleteCallback); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_AUDIO_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.c new file mode 100644 index 0000000..2d96122 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.c @@ -0,0 +1,614 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_camera.c + * @author MCD Application Team + * @brief This file includes the driver for Camera modules mounted on + * STM32L496G-Discovery board. + @verbatim + How to use this driver: + ------------------------ + - This driver is used to drive the camera. + - The OV9655 component driver MUST be included with this driver. + + Driver description: + ------------------- + + Initialization steps: + o Initialize the camera using the BSP_CAMERA_Init() function. + o Start the camera capture/snapshot using the CAMERA_Start() function. + o Suspend, resume or stop the camera capture using the following functions: + - BSP_CAMERA_Suspend() + - BSP_CAMERA_Resume() + - BSP_CAMERA_Stop() + + + Options + o Increase or decrease on the fly the brightness and/or contrast + using the following function: + - BSP_CAMERA_ContrastBrightnessConfig + o Add a special effect on the fly using the following functions: + - BSP_CAMERA_BlackWhiteConfig() + - BSP_CAMERA_ColorEffectConfig() + @endverbatim + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_camera.h" +#include "stm32l496g_discovery.h" +#include "stm32l496g_discovery_io.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_CAMERA + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Private_TypesDefinitions STM32L496G_DISCOVERY_CAMERA Private Types Definitions + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Private_Defines STM32L496G_DISCOVERY_CAMERA Private Defines + * @{ + */ +#define CAMERA_VGA_RES_X 640 +#define CAMERA_VGA_RES_Y 480 +#define CAMERA_480x272_RES_X 480 +#define CAMERA_480x272_RES_Y 272 +#define CAMERA_QVGA_RES_X 320 +#define CAMERA_QVGA_RES_Y 240 +#define CAMERA_QQVGA_RES_X 160 +#define CAMERA_QQVGA_RES_Y 120 +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Private_Macros STM32L496G_DISCOVERY_CAMERA Private Macros + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Private_Variables STM32L496G_DISCOVERY_CAMERA Private Variables + * @{ + */ +DCMI_HandleTypeDef hDcmiHandler; +CAMERA_DrvTypeDef *camera_drv; +/* Camera current resolution naming (QQVGA, VGA, ...) */ +static uint32_t CameraCurrentResolution; + +/* Camera module I2C HW address */ +static uint32_t CameraHwAddress; + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Private_FunctionPrototypes STM32L496G_DISCOVERY_CAMERA Private Function Prototypes + * @{ + */ +static uint32_t GetSize(uint32_t resolution); +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Exported_Functions STM32L496G_DISCOVERY_CAMERA Exported Functions + * @{ + */ + +/** + * @brief Initializes the camera. + * @param Resolution : camera sensor requested resolution (x, y) : standard resolution + * naming QQVGA, QVGA, VGA ... + * @retval Camera status + */ +uint8_t BSP_CAMERA_Init(uint32_t Resolution) +{ + DCMI_HandleTypeDef *phdcmi; + uint8_t status = CAMERA_ERROR; + + /* Get the DCMI handle structure */ + phdcmi = &hDcmiHandler; + + + /* Initialize the IO functionalities */ + BSP_IO_Init(); + + + /*** Configures the DCMI to interface with the camera module ***/ + /* DCMI configuration */ + phdcmi->Init.CaptureRate = DCMI_CR_ALL_FRAME; + phdcmi->Init.HSPolarity = DCMI_HSPOLARITY_HIGH; + phdcmi->Init.SynchroMode = DCMI_SYNCHRO_HARDWARE; + phdcmi->Init.VSPolarity = DCMI_VSPOLARITY_HIGH; + phdcmi->Init.ExtendedDataMode = DCMI_EXTEND_DATA_8B; + phdcmi->Init.PCKPolarity = DCMI_PCKPOLARITY_RISING; + phdcmi->Init.ByteSelectMode = DCMI_BSM_ALL; + phdcmi->Init.LineSelectMode = DCMI_LSM_ALL; + phdcmi->Instance = DCMI; + + /* Camera initialization */ + BSP_CAMERA_MspInit(&hDcmiHandler, NULL); + + /* Read ID of Camera module via I2C */ + if (ov9655_ReadID(CAMERA_I2C_ADDRESS) == OV9655_ID) + { + /* Initialize the camera driver structure */ + camera_drv = &ov9655_drv; + CameraHwAddress = CAMERA_I2C_ADDRESS; + + /* DCMI Initialization */ + HAL_DCMI_Init(phdcmi); + + /* Camera Module Initialization via I2C to the wanted 'Resolution' */ + if (Resolution == CAMERA_R320x240) + { + /* For 240x240 resolution, the OV9655 sensor is set to QVGA resolution + * as OV9655 doesn't supports 240x240 resolution, + * then DCMI is configured to output a 240x240 cropped window */ + camera_drv->Init(CameraHwAddress, CAMERA_R320x240); + + + HAL_DCMI_ConfigCROP(phdcmi, + 40, /* Crop in the middle of the VGA picture */ + 0, /* Same height (same number of lines: no need to crop vertically) */ + (240 * 2) - 1, /* 2 pixels clock needed to capture one pixel */ + (240 * 1) - 1); /* All 240 lines are captured */ + HAL_DCMI_EnableCROP(phdcmi); + + + /* Set the RGB565 mode */ + MFX_IO_Write(CameraHwAddress, 0x12 /*OV9655_COM7*/, 0x63); + MFX_IO_Write(CameraHwAddress, 0x40 /*OV9655_COM15*/, 0x10); + /* Invert the HRef signal */ + MFX_IO_Write(CameraHwAddress, 0x15 /*OV9655_COM10*/, 0x08); + HAL_Delay(500); + } + else + { + camera_drv->Init(CameraHwAddress, Resolution); + HAL_DCMI_DisableCROP(phdcmi); + } + + CameraCurrentResolution = Resolution; + + /* Return CAMERA_OK status */ + status = CAMERA_OK; + } + else + { + /* Return CAMERA_NOT_SUPPORTED status */ + status = CAMERA_NOT_SUPPORTED; + } + + return status; +} + +/** + * @brief DeInitializes the camera. + * @retval Camera status + */ +uint8_t BSP_CAMERA_DeInit(void) +{ + hDcmiHandler.Instance = DCMI; + + HAL_DCMI_DeInit(&hDcmiHandler); + BSP_CAMERA_MspDeInit(&hDcmiHandler, NULL); + return CAMERA_OK; +} + +/** + * @brief Starts the camera capture in continuous mode. + * @param buff: pointer to the camera output buffer + * @retval None + */ +void BSP_CAMERA_ContinuousStart(uint8_t *buff) +{ + /* Start the camera capture */ + HAL_DCMI_Start_DMA(&hDcmiHandler, DCMI_MODE_CONTINUOUS, (uint32_t)buff, GetSize(CameraCurrentResolution)); +} + +/** + * @brief Starts the camera capture in snapshot mode. + * @param buff: pointer to the camera output buffer + * @retval None + */ +void BSP_CAMERA_SnapshotStart(uint8_t *buff) +{ + /* Start the camera capture */ + HAL_DCMI_Start_DMA(&hDcmiHandler, DCMI_MODE_SNAPSHOT, (uint32_t)buff, GetSize(CameraCurrentResolution)); +} + +/** + * @brief Suspend the CAMERA capture + * @retval None + */ +void BSP_CAMERA_Suspend(void) +{ + /* Suspend the Camera Capture */ + HAL_DCMI_Suspend(&hDcmiHandler); +} + +/** + * @brief Resume the CAMERA capture + * @retval None + */ +void BSP_CAMERA_Resume(void) +{ + /* Start the Camera Capture */ + HAL_DCMI_Resume(&hDcmiHandler); +} + +/** + * @brief Stop the CAMERA capture + * @retval Camera status + */ +uint8_t BSP_CAMERA_Stop(void) +{ + uint8_t status = CAMERA_ERROR; + + if (HAL_DCMI_Stop(&hDcmiHandler) == HAL_OK) + { + status = CAMERA_OK; + } + + /* Set Camera in Power Down */ + BSP_CAMERA_PwrDown(); + + return status; +} + +/** + * @brief CANERA power up + * @retval None + */ +void BSP_CAMERA_PwrUp(void) +{ + /* De-assert the camera POWER_DOWN pin (active high) */ + BSP_IO_WritePin(CAMERA_PWR_EN_PIN, GPIO_PIN_RESET); + + HAL_Delay(3); /* POWER_DOWN de-asserted during 3ms */ +} + +/** + * @brief CAMERA power down + * @retval None + */ +void BSP_CAMERA_PwrDown(void) +{ + /* Assert the camera POWER_DOWN pin (active high) */ + BSP_IO_WritePin(CAMERA_PWR_EN_PIN, GPIO_PIN_SET); +} + +/** + * @brief Configures the camera contrast and brightness. + * @param contrast_level: Contrast level + * This parameter can be one of the following values: + * @arg CAMERA_CONTRAST_LEVEL4: for contrast +2 + * @arg CAMERA_CONTRAST_LEVEL3: for contrast +1 + * @arg CAMERA_CONTRAST_LEVEL2: for contrast 0 + * @arg CAMERA_CONTRAST_LEVEL1: for contrast -1 + * @arg CAMERA_CONTRAST_LEVEL0: for contrast -2 + * @param brightness_level: Contrast level + * This parameter can be one of the following values: + * @arg CAMERA_BRIGHTNESS_LEVEL4: for brightness +2 + * @arg CAMERA_BRIGHTNESS_LEVEL3: for brightness +1 + * @arg CAMERA_BRIGHTNESS_LEVEL2: for brightness 0 + * @arg CAMERA_BRIGHTNESS_LEVEL1: for brightness -1 + * @arg CAMERA_BRIGHTNESS_LEVEL0: for brightness -2 + * @retval None + */ +void BSP_CAMERA_ContrastBrightnessConfig(uint32_t contrast_level, uint32_t brightness_level) +{ + if (camera_drv->Config != NULL) + { + camera_drv->Config(CameraHwAddress, CAMERA_CONTRAST_BRIGHTNESS, contrast_level, brightness_level); + } +} + +/** + * @brief Configures the camera white balance. + * @param Mode: black_white mode + * This parameter can be one of the following values: + * @arg CAMERA_BLACK_WHITE_BW + * @arg CAMERA_BLACK_WHITE_NEGATIVE + * @arg CAMERA_BLACK_WHITE_BW_NEGATIVE + * @arg CAMERA_BLACK_WHITE_NORMAL + * @retval None + */ +void BSP_CAMERA_BlackWhiteConfig(uint32_t Mode) +{ + if (camera_drv->Config != NULL) + { + camera_drv->Config(CameraHwAddress, CAMERA_BLACK_WHITE, Mode, 0); + } +} + +/** + * @brief Configures the camera color effect. + * @param Effect: Color effect + * This parameter can be one of the following values: + * @arg CAMERA_COLOR_EFFECT_ANTIQUE + * @arg CAMERA_COLOR_EFFECT_BLUE + * @arg CAMERA_COLOR_EFFECT_GREEN + * @arg CAMERA_COLOR_EFFECT_RED + * @retval None + */ +void BSP_CAMERA_ColorEffectConfig(uint32_t Effect) +{ + if (camera_drv->Config != NULL) + { + camera_drv->Config(CameraHwAddress, CAMERA_COLOR_EFFECT, Effect, 0); + } +} + +/** + * @brief Get the capture size in pixels unit. + * @param resolution: the current resolution. + * @retval capture size in pixels unit. + */ +static uint32_t GetSize(uint32_t resolution) +{ + uint32_t size = 0; + + /* Get capture size */ + switch (resolution) + { + case CAMERA_R160x120: + { + size = 0x2580; + } + break; + case CAMERA_R320x240: + { + size = 0x9600; + } + break; + case CAMERA_R480x272: + { + size = 0xFF00; + } + break; + case CAMERA_R640x480: + { + size = 0x25800; + } + break; + default: + { + break; + } + } + + return size; +} + +/** + * @brief Initializes the DCMI MSP. + * @param hdcmi: HDMI handle + * @param Params + * @retval None + */ +__weak void BSP_CAMERA_MspInit(DCMI_HandleTypeDef *hdcmi, void *Params) +{ + static DMA_HandleTypeDef hdma_handler; + GPIO_InitTypeDef gpio_init_structure; + + /*** Enable peripherals and GPIO clocks ***/ + /* Enable DCMI clock */ + __HAL_RCC_DCMI_CLK_ENABLE(); + + /* Enable DMA2 clock */ + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* Enable GPIO clocks */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOI_CLK_ENABLE(); + + HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_4); + __HAL_RCC_HSI48_ENABLE(); + HAL_Delay(10); // HSI48 should start in 10ms + + + /*** Configure the GPIO ***/ + /* Configure DCMI GPIO as alternate function */ + gpio_init_structure.Pin = GPIO_PIN_5; + gpio_init_structure.Mode = GPIO_MODE_AF_PP; + gpio_init_structure.Pull = GPIO_NOPULL; + gpio_init_structure.Speed = GPIO_SPEED_HIGH; + gpio_init_structure.Alternate = GPIO_AF10_DCMI; + HAL_GPIO_Init(GPIOE, &gpio_init_structure); + + + gpio_init_structure.Pin = GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_9 | \ + GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_14; + gpio_init_structure.Mode = GPIO_MODE_AF_PP; + gpio_init_structure.Pull = GPIO_NOPULL; + gpio_init_structure.Speed = GPIO_SPEED_HIGH; + gpio_init_structure.Alternate = GPIO_AF10_DCMI; + HAL_GPIO_Init(GPIOH, &gpio_init_structure); + + gpio_init_structure.Pin = GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_7; + gpio_init_structure.Mode = GPIO_MODE_AF_PP; + gpio_init_structure.Pull = GPIO_NOPULL; + gpio_init_structure.Speed = GPIO_SPEED_HIGH; + gpio_init_structure.Alternate = GPIO_AF10_DCMI; + HAL_GPIO_Init(GPIOI, &gpio_init_structure); + + /*** Configure the DMA ***/ + /* Set the parameters to be configured */ + hdma_handler.Instance = BSP_CAMERA_DMA_INSTANCE; + + hdma_handler.Init.Request = DMA_REQUEST_0; + hdma_handler.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_handler.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_handler.Init.MemInc = DMA_MINC_ENABLE; /* Image captured by the DCMI is stored in memory */ + hdma_handler.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; + hdma_handler.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; + hdma_handler.Init.Mode = DMA_CIRCULAR; + hdma_handler.Init.Priority = DMA_PRIORITY_HIGH; + + /* Associate the initialized DMA handle to the DCMI handle */ + __HAL_LINKDMA(hdcmi, DMA_Handle, hdma_handler); + + /*** Configure the NVIC for DCMI and DMA ***/ + /* NVIC configuration for DCMI transfer complete interrupt */ + HAL_NVIC_SetPriority(DCMI_IRQn, 0x0F, 0); + HAL_NVIC_EnableIRQ(DCMI_IRQn); + + /* NVIC configuration for DMA2D transfer complete interrupt */ + HAL_NVIC_SetPriority(DMA2_Channel6_IRQn, 0x0F, 0); + HAL_NVIC_EnableIRQ(DMA2_Channel6_IRQn); + + /* Configure the DMA stream */ + HAL_DMA_Init(hdcmi->DMA_Handle); +} + + +/** + * @brief DeInitializes the DCMI MSP. + * @param hdcmi: HDMI handle + * @param Params + * @retval None + */ +__weak void BSP_CAMERA_MspDeInit(DCMI_HandleTypeDef *hdcmi, void *Params) +{ + /* Disable NVIC for DCMI transfer complete interrupt */ + HAL_NVIC_DisableIRQ(DCMI_IRQn); + + /* Disable NVIC for DMA2 transfer complete interrupt */ + HAL_NVIC_DisableIRQ(DMA2_Channel6_IRQn); + + /* Configure the DMA stream */ + HAL_DMA_DeInit(hdcmi->DMA_Handle); + + /* Disable DCMI clock */ + __HAL_RCC_DCMI_CLK_DISABLE(); + + /* GPIO pins clock and DMA clock can be shut down in the application + by surcharging this __weak function */ +} + +/** + * @brief Line event callback + * @param hdcmi: pointer to the DCMI handle + * @retval None + */ +void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi) +{ + BSP_CAMERA_LineEventCallback(); +} + +/** + * @brief Line Event callback. + * @retval None + */ +__weak void BSP_CAMERA_LineEventCallback(void) +{ + /* NOTE : This function should not be modified; when the callback is needed, + the BSP_CAMERA_LineEventCallback can be implemented in the user file + */ +} + +/** + * @brief VSYNC event callback + * @param hdcmi: pointer to the DCMI handle + * @retval None + */ +void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi) +{ + BSP_CAMERA_VsyncEventCallback(); +} + +/** + * @brief VSYNC Event callback. + * @retval None + */ +__weak void BSP_CAMERA_VsyncEventCallback(void) +{ + /* NOTE : This function should not be modified; when the callback is needed, + the BSP_CAMERA_VsyncEventCallback can be implemented in the user file + */ +} + +/** + * @brief Frame event callback + * @param hdcmi: pointer to the DCMI handle + * @retval None + */ +void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi) +{ + BSP_CAMERA_FrameEventCallback(); +} + +/** + * @brief Frame Event callback. + * @retval None + */ +__weak void BSP_CAMERA_FrameEventCallback(void) +{ + /* NOTE : This function should not be modified; when the callback is needed, + the BSP_CAMERA_FrameEventCallback can be implemented in the user file + */ +} + +/** + * @brief Error callback + * @param hdcmi: pointer to the DCMI handle + * @retval None + */ +void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi) +{ + BSP_CAMERA_ErrorCallback(); +} + +/** + * @brief Error callback. + * @retval None + */ +__weak void BSP_CAMERA_ErrorCallback(void) +{ + /* NOTE : This function should not be modified; when the callback is needed, + the BSP_CAMERA_ErrorCallback can be implemented in the user file + */ +} + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.h new file mode 100644 index 0000000..e9b46be --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_camera.h @@ -0,0 +1,145 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_camera.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_discovery_camera.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_CAMERA_H +#define __STM32L496G_DISCOVERY_CAMERA_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +/* Include Camera component Driver */ +#include "../Components/ov9655/ov9655.h" +#include "stm32l496g_discovery.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_CAMERA + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Exported_Types STM32L496G_DISCOVERY_CAMERA Exported Types + * @{ + */ + +/** + * @brief Camera State structures definition + */ +typedef enum +{ + CAMERA_OK = 0x00, + CAMERA_ERROR = 0x01, + CAMERA_TIMEOUT = 0x02, + CAMERA_NOT_DETECTED = 0x03, + CAMERA_NOT_SUPPORTED = 0x04 + +} +Camera_StatusTypeDef; + +#define RESOLUTION_R160x120 CAMERA_R160x120 /* QQVGA Resolution */ +#define RESOLUTION_R320x240 CAMERA_R320x240 /* QVGA Resolution */ +#define RESOLUTION_R480x272 CAMERA_R480x272 /* 480x272 Resolution */ +#define RESOLUTION_R640x480 CAMERA_R640x480 /* VGA Resolution */ +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_CAMERA_Exported_Constants STM32L496G_DISCOVERY_CAMERA Exported Constants + * @{ + */ +#define BSP_CAMERA_IRQHandler DCMI_IRQHandler +#define BSP_CAMERA_DMA_IRQHandler DMA2_Channel6_IRQHandler +#define BSP_CAMERA_DMA_IRQn DMA2_Channel6_IRQn +#define BSP_CAMERA_DMA_INSTANCE DMA2_Channel6 + +/** + * @} + */ + +/** + * @brief Camera special pins + */ +/* Camera power up pin */ +#define CAMERA_PWR_EN_PIN IO1_PIN_6 + + +/** + * @} + */ + +/** @addtogroup STM32L496G_DISCOVERY_CAMERA_Exported_Functions + * @{ + */ +uint8_t BSP_CAMERA_Init(uint32_t Resolution); +uint8_t BSP_CAMERA_DeInit(void); +void BSP_CAMERA_ContinuousStart(uint8_t *buff); +void BSP_CAMERA_SnapshotStart(uint8_t *buff); +void BSP_CAMERA_Suspend(void); +void BSP_CAMERA_Resume(void); +uint8_t BSP_CAMERA_Stop(void); +void BSP_CAMERA_PwrUp(void); +void BSP_CAMERA_PwrDown(void); +void BSP_CAMERA_LineEventCallback(void); +void BSP_CAMERA_VsyncEventCallback(void); +void BSP_CAMERA_FrameEventCallback(void); +void BSP_CAMERA_ErrorCallback(void); + +/* Camera features functions prototype */ +void BSP_CAMERA_ContrastBrightnessConfig(uint32_t contrast_level, uint32_t brightness_level); +void BSP_CAMERA_BlackWhiteConfig(uint32_t Mode); +void BSP_CAMERA_ColorEffectConfig(uint32_t Effect); + +/* These functions can be modified in case the current settings (e.g. DMA stream) + need to be changed for specific application needs */ +void BSP_CAMERA_MspInit(DCMI_HandleTypeDef *hdcmi, void *Params); +void BSP_CAMERA_MspDeInit(DCMI_HandleTypeDef *hdcmi, void *Params); + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_CAMERA_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.c new file mode 100644 index 0000000..154d584 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.c @@ -0,0 +1,379 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_idd.c + * @author MCD Application Team + * @brief This file provides a set of firmware functions to manage the + * Idd measurement driver for STM32L496G-Discovery board. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_idd.h" +#include "stm32l496g_discovery_io.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_IDD STM32L496G-DISCOVERY IDD + * @brief This file includes the Idd driver for STM32L496G-DISCOVERY board. + * It allows user to measure MCU Idd current on board, especially in + * different low power modes. + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_IDD_Private_Defines Private Defines + * @{ + */ + +/** + * @} + */ + + +/** @defgroup STM32L496G_DISCOVERY_IDD_Private_Variables Private Variables + * @{ + */ +static IDD_DrvTypeDef *IddDrv; + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_IDD_Private_Functions Private Functions + * @{ + */ + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_IDD_Exported_Functions Exported Functions + * @{ + */ + +/** + * @brief Configures IDD measurement component. + * @retval IDD_OK if no problem during initialization + */ +uint8_t BSP_IDD_Init(void) +{ + IDD_ConfigTypeDef iddconfig = {0}; + uint8_t mfxstm32l152_id = 0; + uint8_t ret = 0; + + /* wake up mfx component in case it went to standby mode */ + mfxstm32l152_idd_drv.WakeUp(IDD_I2C_ADDRESS); + HAL_Delay(5); + + /* Read ID and verify if the MFX is ready */ + mfxstm32l152_id = mfxstm32l152_idd_drv.ReadID(IDD_I2C_ADDRESS); + + if ((mfxstm32l152_id == MFXSTM32L152_ID_1) || (mfxstm32l152_id == MFXSTM32L152_ID_2)) + { + /* Initialize the Idd driver structure */ + IddDrv = &mfxstm32l152_idd_drv; + + /* Initialize the Idd driver */ + if (IddDrv->Init != NULL) + { + IddDrv->Init(IDD_I2C_ADDRESS); + } + + /* Configure Idd component with default values */ + iddconfig.AmpliGain = DISCOVERY_IDD_AMPLI_GAIN; + iddconfig.VddMin = DISCOVERY_IDD_VDD_MIN; + iddconfig.Shunt0Value = DISCOVERY_IDD_SHUNT0_VALUE; + iddconfig.Shunt1Value = DISCOVERY_IDD_SHUNT1_VALUE; + iddconfig.Shunt2Value = DISCOVERY_IDD_SHUNT2_VALUE; + iddconfig.Shunt3Value = 0; + iddconfig.Shunt4Value = DISCOVERY_IDD_SHUNT4_VALUE; + iddconfig.Shunt0StabDelay = DISCOVERY_IDD_SHUNT0_STABDELAY; + iddconfig.Shunt1StabDelay = DISCOVERY_IDD_SHUNT1_STABDELAY; + iddconfig.Shunt2StabDelay = DISCOVERY_IDD_SHUNT2_STABDELAY; + iddconfig.Shunt3StabDelay = 0; + iddconfig.Shunt4StabDelay = DISCOVERY_IDD_SHUNT4_STABDELAY; + iddconfig.ShuntNbOnBoard = MFXSTM32L152_IDD_SHUNT_NB_4; + iddconfig.ShuntNbUsed = MFXSTM32L152_IDD_SHUNT_NB_4; + iddconfig.VrefMeasurement = MFXSTM32L152_IDD_VREF_AUTO_MEASUREMENT_ENABLE; + iddconfig.Calibration = MFXSTM32L152_IDD_AUTO_CALIBRATION_ENABLE; + iddconfig.PreDelayUnit = MFXSTM32L152_IDD_PREDELAY_20_MS; + iddconfig.PreDelayValue = 0x7F; + iddconfig.MeasureNb = 100; + iddconfig.DeltaDelayUnit = MFXSTM32L152_IDD_DELTADELAY_0_5_MS; + iddconfig.DeltaDelayValue = 10; + BSP_IDD_Config(iddconfig); + + ret = IDD_OK; + } + else + { + ret = IDD_ERROR; + } + + return ret; +} + +/** + * @brief Unconfigures IDD measurement component. + * @retval IDD_OK if no problem during deinitialization + */ +void BSP_IDD_DeInit(void) +{ + if (IddDrv->DeInit != NULL) + { + IddDrv->DeInit(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Reset Idd measurement component. + * @retval None + */ +void BSP_IDD_Reset(void) +{ + if (IddDrv->Reset != NULL) + { + IddDrv->Reset(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Turn Idd measurement component in low power (standby/sleep) mode + * @retval None + */ +void BSP_IDD_LowPower(void) +{ + if (IddDrv->LowPower != NULL) + { + IddDrv->LowPower(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Start Measurement campaign + * @retval None + */ +void BSP_IDD_StartMeasure(void) +{ + + /* Activate the OPAMP used ny the MFX to measure the current consumption */ + BSP_IO_ConfigPin(IDD_AMP_CONTROL_PIN, IO_MODE_OUTPUT); + BSP_IO_WritePin(IDD_AMP_CONTROL_PIN, GPIO_PIN_RESET); + + if (IddDrv->Start != NULL) + { + IddDrv->Start(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Configure Idd component + * @param IddConfig: structure of idd parameters + * @retval None + */ +void BSP_IDD_Config(IDD_ConfigTypeDef IddConfig) +{ + if (IddDrv->Config != NULL) + { + IddDrv->Config(IDD_I2C_ADDRESS, IddConfig); + } +} + +/** + * @brief Get Idd current value. + * @param IddValue: Pointer on u32 to store Idd. Value unit is 10 nA. + * @retval None + */ +void BSP_IDD_GetValue(uint32_t *IddValue) +{ + /* De-activate the OPAMP used ny the MFX to measure the current consumption */ + BSP_IO_ConfigPin(IDD_AMP_CONTROL_PIN, IO_MODE_OUTPUT); + BSP_IO_WritePin(IDD_AMP_CONTROL_PIN, GPIO_PIN_RESET); + + if (IddDrv->GetValue != NULL) + { + IddDrv->GetValue(IDD_I2C_ADDRESS, IddValue); + } +} + +/** + * @brief Enable Idd interrupt that warn end of measurement + * @retval None + */ +void BSP_IDD_EnableIT(void) +{ + if (IddDrv->EnableIT != NULL) + { + IddDrv->EnableIT(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Clear Idd interrupt that warn end of measurement + * @retval None + */ +void BSP_IDD_ClearIT(void) +{ + if (IddDrv->ClearIT != NULL) + { + IddDrv->ClearIT(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Get Idd interrupt status + * @retval status + */ +uint8_t BSP_IDD_GetITStatus(void) +{ + if (IddDrv->GetITStatus != NULL) + { + return (IddDrv->GetITStatus(IDD_I2C_ADDRESS)); + } + else + { + return IDD_ERROR; + } +} + +/** + * @brief Disable Idd interrupt that warn end of measurement + * @retval None + */ +void BSP_IDD_DisableIT(void) +{ + if (IddDrv->DisableIT != NULL) + { + IddDrv->DisableIT(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Get Error Code . + * @retval Error code or error status + */ +uint8_t BSP_IDD_ErrorGetCode(void) +{ + if (IddDrv->ErrorGetSrc != NULL) + { + if ((IddDrv->ErrorGetSrc(IDD_I2C_ADDRESS) & MFXSTM32L152_IDD_ERROR_SRC) != RESET) + { + if (IddDrv->ErrorGetCode != NULL) + { + return IddDrv->ErrorGetCode(IDD_I2C_ADDRESS); + } + else + { + return IDD_ERROR; + } + } + else + { + return IDD_ERROR; + } + } + else + { + return IDD_ERROR; + } +} + + +/** + * @brief Enable error interrupt that warn end of measurement + * @retval None + */ +void BSP_IDD_ErrorEnableIT(void) +{ + if (IddDrv->ErrorEnableIT != NULL) + { + IddDrv->ErrorEnableIT(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Clear Error interrupt that warn end of measurement + * @retval None + */ +void BSP_IDD_ErrorClearIT(void) +{ + if (IddDrv->ErrorClearIT != NULL) + { + IddDrv->ErrorClearIT(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Get Error interrupt status + * @retval Status + */ +uint8_t BSP_IDD_ErrorGetITStatus(void) +{ + if (IddDrv->ErrorGetITStatus != NULL) + { + return (IddDrv->ErrorGetITStatus(IDD_I2C_ADDRESS)); + } + else + { + return 0; + } +} + +/** + * @brief Disable Error interrupt + * @retval None + */ +void BSP_IDD_ErrorDisableIT(void) +{ + if (IddDrv->ErrorDisableIT != NULL) + { + IddDrv->ErrorDisableIT(IDD_I2C_ADDRESS); + } +} + +/** + * @brief Wake up Idd measurement component. + * @retval None + */ +void BSP_IDD_WakeUp(void) +{ + if (IddDrv->WakeUp != NULL) + { + IddDrv->WakeUp(IDD_I2C_ADDRESS); + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.h new file mode 100644 index 0000000..b1a504e --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_idd.h @@ -0,0 +1,145 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_idd.h + * @author MCD Application Team + * @brief Header file for stm32l496g_discovery_idd.c module. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_IDD_H +#define __STM32L496G_DISCOVERY_IDD_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery.h" +/* Include Idd measurement component driver */ +#include "../Components/mfxstm32l152/mfxstm32l152.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_IDD + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_IDD_Exported_Types Exported Types + * @{ + */ + +/** @defgroup IDD_Config IDD Config + * @{ + */ +typedef enum +{ + IDD_OK = 0, + IDD_TIMEOUT = 1, + IDD_ZERO_VALUE = 2, + IDD_ERROR = 0xFF +} +IDD_StatusTypeDef; +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_IDD_Exported_Defines Exported Defines + * @{ + */ +/** + * @brief Shunt values on discovery in milli ohms + */ +#define DISCOVERY_IDD_SHUNT0_VALUE ((uint16_t) 1000) /*!< value in milliohm */ +#define DISCOVERY_IDD_SHUNT1_VALUE ((uint16_t) 24) /*!< value in ohm */ +#define DISCOVERY_IDD_SHUNT2_VALUE ((uint16_t) 620) /*!< value in ohm */ +#define DISCOVERY_IDD_SHUNT4_VALUE ((uint16_t) 10000) /*!< value in ohm */ + +/** + * @brief Shunt stabilization delay on discovery in milli ohms + */ +#define DISCOVERY_IDD_SHUNT0_STABDELAY ((uint8_t) 149) /*!< value in millisec */ +#define DISCOVERY_IDD_SHUNT1_STABDELAY ((uint8_t) 149) /*!< value in millisec */ +#define DISCOVERY_IDD_SHUNT2_STABDELAY ((uint8_t) 149) /*!< value in millisec */ +#define DISCOVERY_IDD_SHUNT4_STABDELAY ((uint8_t) 255) /*!< value in millisec */ + +/** + * @brief IDD Ampli Gain on discovery + */ +#define DISCOVERY_IDD_AMPLI_GAIN ((uint16_t) 4967) /*!< value is gain * 100 */ + +/** + * @brief IDD Vdd Min on discovery + */ +#define DISCOVERY_IDD_VDD_MIN ((uint16_t) 2000) /*!< value in millivolt */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_IDD_Exported_Functions Exported Functions + * @{ + */ +uint8_t BSP_IDD_Init(void); +void BSP_IDD_DeInit(void); +void BSP_IDD_Reset(void); +void BSP_IDD_LowPower(void); +void BSP_IDD_WakeUp(void); +void BSP_IDD_StartMeasure(void); +void BSP_IDD_Config(IDD_ConfigTypeDef IddConfig); +void BSP_IDD_GetValue(uint32_t *IddValue); +void BSP_IDD_EnableIT(void); +void BSP_IDD_ClearIT(void); +uint8_t BSP_IDD_GetITStatus(void); +void BSP_IDD_DisableIT(void); +uint8_t BSP_IDD_ErrorGetCode(void); +void BSP_IDD_ErrorEnableIT(void); +void BSP_IDD_ErrorClearIT(void); +uint8_t BSP_IDD_ErrorGetITStatus(void); +void BSP_IDD_ErrorDisableIT(void); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_IDD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.c new file mode 100644 index 0000000..4ed532b --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.c @@ -0,0 +1,305 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_io.c + * @author MCD Application Team + * @brief This file provides a set of functions needed to manage the IO pins + * on STM32L496G-DISCO evaluation board. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* File Info : ----------------------------------------------------------------- + User NOTES +1. How To use this driver: +-------------------------- + - This driver is used to drive the IO module of the STM32L496G-DISCO evaluation + board. + - The STMPE811 and STMPE1600 IO expander device component driver must be included with this + driver in order to run the IO functionalities commanded by the IO expander + device mounted on the evaluation board. + +2. Driver description: +--------------------- + + Initialization steps: + o Initialize the IO module using the BSP_IO_Init() function. This + function includes the MSP layer hardware resources initialization and the + communication layer configuration to start the IO functionalities use. + + + IO functionalities use + o The IO pin mode is configured when calling the function BSP_IO_ConfigPin(), you + must specify the desired IO mode by choosing the "IO_ModeTypedef" parameter + predefined value. + o If an IO pin is used in interrupt mode, the function BSP_IO_ITGetStatus() is + needed to get the interrupt status. To clear the IT pending bits, you should + call the function BSP_IO_ITClear() with specifying the IO pending bit to clear. + o The IT is handled using the corresponding external interrupt IRQ handler, + the user IT callback treatment is implemented on the same external interrupt + callback. + o To get/set an IO pin combination state you can use the functions + BSP_IO_ReadPin()/BSP_IO_WritePin() or the function BSP_IO_TogglePin() to toggle the pin + state. + +------------------------------------------------------------------------------*/ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_io.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G-DISCO + * @{ + */ + +/** @defgroup STM32L496G-DISCO_IO STM32L496G-DISCO IO + * @{ + */ + +/* Private constants ---------------------------------------------------------*/ + +/** @defgroup STM32L496G-DISCO_IO_Private_Constants Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros -------------------------------------------------------------*/ + +/** @defgroup STM32L496G-DISCO_IO_Private_Macros Private Macros + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ + +/** @defgroup STM32L496G-DISCO_IO_Private_Variables Private Variables + * @{ + */ +static IO_DrvTypeDef *io1_driver; + +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ + +/** @defgroup STM32L496G-DISCO_IO_Private_Functions Private Functions + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ + +/** @addtogroup STM32L496G-DISCO_IO_Exported_Functions + * @{ + */ + +/** + * @brief Initializes and configures the IO functionalities and configures all + * necessary hardware resources (GPIOs, clocks..). + * @note BSP_IO_Init() is using HAL_Delay() function to ensure that stmpe811 + * IO Expander is correctly reset. HAL_Delay() function provides accurate + * delay (in milliseconds) based on variable incremented in SysTick ISR. + * This implies that if BSP_IO_Init() is called from a peripheral ISR process, + * then the SysTick interrupt must have higher priority (numerically lower) + * than the peripheral interrupt. Otherwise the caller ISR process will be blocked. + * @retval IO_OK: if all initializations are OK. Other value if error. + */ +uint8_t BSP_IO_Init(void) +{ + uint8_t ret = IO_ERROR; + uint8_t mfxstm32l152_id = 0; + + if (io1_driver == NULL) /* Checks if MFX initialization has been already done */ + { + mfxstm32l152_idd_drv.WakeUp(IO1_I2C_ADDRESS); + + HAL_Delay(10); + + /* Read ID and verify the IO expander is ready */ + mfxstm32l152_id = mfxstm32l152_io_drv.ReadID(IO1_I2C_ADDRESS); + + if ((mfxstm32l152_id == MFXSTM32L152_ID_1) || (mfxstm32l152_id == MFXSTM32L152_ID_2)) + { + /* Initialize the MFX */ + io1_driver = &mfxstm32l152_io_drv; + + /* Initialize the MFX IO driver structure */ + if (io1_driver->Init != NULL) + { + io1_driver->Init(IO1_I2C_ADDRESS); + io1_driver->Start(IO1_I2C_ADDRESS, IO1_PIN_ALL >> IO1_PIN_OFFSET); + + ret = IO_OK; + } + } + } + else + { + ret = IO_ALREADY_INITIALIZED; + } + + return ret; +} + +/** + * @brief Gets the selected pins IT status. + * @param IO_Pin: Selected pins to check the status. + * This parameter can be any combination of the IO pins. + * @retval Status of the checked IO pin(s). + */ +uint32_t BSP_IO_ITGetStatus(uint32_t IO_Pin) +{ + uint32_t status = 0; + uint32_t io1_pin = 0; + + io1_pin = (IO_Pin & IO1_PIN_ALL) >> IO1_PIN_OFFSET; + + /* Return the MFX Pin IT status */ + status |= (io1_driver->ITStatus(IO1_I2C_ADDRESS, io1_pin)) << IO1_PIN_OFFSET; + + return status; +} + +/** + * @brief Clears the selected IO IT pending bit. + * @param IO_Pin: Selected pins to check the status. + * This parameter can be any combination of the IO pins. + * @retval None + */ +void BSP_IO_ITClear(uint32_t IO_Pin) +{ + uint32_t io1_pin = 0; + + io1_pin = (IO_Pin & IO1_PIN_ALL) >> IO1_PIN_OFFSET; + + /* Clears the selected IO Expander 1 pin(s) mode */ + io1_driver->ClearIT(IO1_I2C_ADDRESS, io1_pin); + +} + +/** + * @brief Configures the IO pin(s) according to IO mode structure value. + * @param IO_Pin: Output pin to be set or reset. + * This parameter can be any combination of the IO pins. + * @param IO_Mode: IO pin mode to configure + * This parameter can be one of the following values: + * @arg IO_MODE_INPUT + * @arg IO_MODE_OUTPUT + * @arg IO_MODE_IT_RISING_EDGE + * @arg IO_MODE_IT_FALLING_EDGE + * @arg IO_MODE_IT_LOW_LEVEL + * @arg IO_MODE_IT_HIGH_LEVEL + * @retval IO_OK: if all initializations are OK. Other value if error. + */ +uint8_t BSP_IO_ConfigPin(uint32_t IO_Pin, IO_ModeTypedef IO_Mode) +{ + uint32_t io1_pin = 0; + + io1_pin = (IO_Pin & IO1_PIN_ALL) >> IO1_PIN_OFFSET; + + + /* Configure the selected IO Expander 1 pin(s) mode */ + io1_driver->Config(IO1_I2C_ADDRESS, io1_pin, IO_Mode); + + return IO_OK; +} + +/** + * @brief Sets the selected pins state. + * @param IO_Pin: Selected pins to write. + * This parameter can be any combination of the IO pins. + * @param PinState: New pins state to write + * @retval None + */ +void BSP_IO_WritePin(uint32_t IO_Pin, uint8_t PinState) +{ + uint32_t io1_pin = 0; + + io1_pin = (IO_Pin & IO1_PIN_ALL) >> IO1_PIN_OFFSET; + + /* Sets the IO Expander 1 selected pins state */ + io1_driver->WritePin(IO1_I2C_ADDRESS, io1_pin, PinState); + +} + +/** + * @brief Gets the selected pins current state. + * @param IO_Pin: Selected pins to read. + * This parameter can be any combination of the IO pins. + * @retval The current pins state + */ +uint32_t BSP_IO_ReadPin(uint32_t IO_Pin) +{ + uint32_t pin_state = 0; + uint32_t io1_pin = 0; + + io1_pin = (IO_Pin & IO1_PIN_ALL) >> IO1_PIN_OFFSET; + + /* Gets the IO Expander 1 selected pins current state */ + pin_state |= (io1_driver->ReadPin(IO1_I2C_ADDRESS, io1_pin)) << IO1_PIN_OFFSET; + + + return pin_state; +} + +/** + * @brief Toggles the selected pins state + * @param IO_Pin: Selected pins to toggle. + * This parameter can be any combination of the IO pins. + * @retval None + */ +void BSP_IO_TogglePin(uint32_t IO_Pin) +{ + uint32_t io1_pin = 0; + + io1_pin = (IO_Pin & IO1_PIN_ALL) >> IO1_PIN_OFFSET; + + /* Toggles the IO Expander 1 selected pins state */ + if (io1_driver->ReadPin(IO1_I2C_ADDRESS, io1_pin) == RESET) /* Set */ + { + BSP_IO_WritePin(io1_pin, GPIO_PIN_SET); /* Reset */ + } + else + { + BSP_IO_WritePin(io1_pin, GPIO_PIN_RESET); /* Set */ + } + +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.h new file mode 100644 index 0000000..a03d57c --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_io.h @@ -0,0 +1,128 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_io.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_eval_io.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCO_IO_H +#define __STM32L496G_DISCO_IO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery.h" +#include "../Components/mfxstm32l152/mfxstm32l152.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCO + * @{ + */ + +/** @addtogroup STM32L496G_DISCO_IO + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCO_IO_Exported_Types Exported Types + * @{ + */ +typedef enum +{ + IO_OK = 0x00, + IO_ERROR = 0x01, + IO_TIMEOUT = 0x02, + IO_ALREADY_INITIALIZED = 0x03 +} +IO_StatusTypeDef; + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCO_IO_Exported_Constants Exported Constants + * @{ + */ +/* Virtual pin offset IOExpander1 */ +#define IO1_PIN_OFFSET 0 + + +/* Pins definition IOExpander */ +#define IO1_PIN_0 (uint32_t)(0x00000001 << IO1_PIN_OFFSET) +#define IO1_PIN_1 (uint32_t)(0x00000002 << IO1_PIN_OFFSET) +#define IO1_PIN_2 (uint32_t)(0x00000004 << IO1_PIN_OFFSET) +#define IO1_PIN_3 (uint32_t)(0x00000008 << IO1_PIN_OFFSET) +#define IO1_PIN_4 (uint32_t)(0x00000010 << IO1_PIN_OFFSET) +#define IO1_PIN_5 (uint32_t)(0x00000020 << IO1_PIN_OFFSET) +#define IO1_PIN_6 (uint32_t)(0x00000040 << IO1_PIN_OFFSET) +#define IO1_PIN_7 (uint32_t)(0x00000080 << IO1_PIN_OFFSET) +#define IO1_PIN_8 (uint32_t)(0x00000100 << IO1_PIN_OFFSET) +#define AGPIO_PIN_0 (uint32_t)(0x00010000 << IO1_PIN_OFFSET) +#define AGPIO_PIN_1 (uint32_t)(0x00020000 << IO1_PIN_OFFSET) + +#define IO1_PIN_ALL (uint32_t)(0x000301FF << IO1_PIN_OFFSET) + + + + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCO_IO_Exported_Functions Exported Functions + * @{ + */ + +uint8_t BSP_IO_Init(void); +void BSP_IO_ITClear(uint32_t IO_Pin); +uint32_t BSP_IO_ITGetStatus(uint32_t IO_Pin); +uint8_t BSP_IO_ConfigPin(uint32_t IO_Pin, IO_ModeTypedef IO_Mode); +void BSP_IO_WritePin(uint32_t IO_Pin, uint8_t PinState); +uint32_t BSP_IO_ReadPin(uint32_t IO_Pin); +void BSP_IO_TogglePin(uint32_t IO_Pin); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCO_IO_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.c new file mode 100644 index 0000000..4fe05f5 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.c @@ -0,0 +1,1569 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_lcd.c + * @author MCD Application Team + * @brief This file includes the driver for Liquid Crystal Display (LCD) module + * mounted on STM32L496G-DISCOVERY board. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* File Info : ----------------------------------------------------------------- + User NOTES +1. How To use this driver: +-------------------------- + - This driver is used to drive indirectly an LCD TFT. + - This driver supports the LS016B8UY LCD. + - The LS016B8UY and ST7789H2 components driver MUST be included with this driver. + +2. Driver description: +--------------------- + + Initialization steps: + o Initialize the LCD using the BSP_LCD_Init() function. + + + Display on LCD + o Clear the hole LCD using BSP_LCD_Clear() function or only one specified string + line using the BSP_LCD_ClearStringLine() function. + o Display a character on the specified line and column using the BSP_LCD_DisplayChar() + function or a complete string line using the BSP_LCD_DisplayStringAtLine() function. + o Display a string line on the specified position (x,y in pixel) and align mode + using the BSP_LCD_DisplayStringAtLine() function. + o Draw and fill a basic shapes (dot, line, rectangle, circle, ellipse, .. bitmap) + on LCD using the available set of functions. + +------------------------------------------------------------------------------*/ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_lcd.h" +#include "../../../Utilities/Fonts/fonts.h" +#include "../../../Utilities/Fonts/font24.c" +#include "../../../Utilities/Fonts/font20.c" +#include "../../../Utilities/Fonts/font16.c" +#include "../../../Utilities/Fonts/font12.c" +#include "../../../Utilities/Fonts/font8.c" + + +static uint32_t bsp_lcd_initialized = 0; +static uint8_t LCD_orientation = LCD_ORIENTATION_UNDEFINED; + +uint32_t dimming_on = 0; + +typedef struct dimming_config_s +{ + uint8_t ongoing; + uint8_t start; + uint8_t stop; + uint8_t step; + uint8_t delay; +} dimming_config_t; + +#define __DIMMING_CYCLE_VALUE(value) (uint32_t)((PERIOD_VALUE * value)/100) +static dimming_config_t dimming_config = { 0, 25, 5, 1, PULSE_DECREASE_DELAY }; + +#if defined(LPTIMER_DIMMING) +LPTIM_HandleTypeDef LCD_LpTimHandle; +#endif +/* Timer handler declaration */ +TIM_HandleTypeDef LCD_TimHandle; +/* Timer Output Compare Configuration Structure declaration */ +TIM_OC_InitTypeDef LCD_sConfig; + +#if defined(LPTIMER_DIMMING) +extern uint32_t dimming_enable; +#endif + + +extern uint32_t ts_io_init; + +/* Use by application to not use backlight */ +FlagStatus WakeUpFromStandby; +FlagStatus WakeUpFromShutdown; + + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD STM32L496G-DISCOVERY LCD + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Private_TypesDefinitions STM32L496G Discovery Lcd Private TypesDef + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Private_Defines STM32L496G Discovery Lcd Private Defines + * @{ + */ +#define POLY_X(Z) ((int32_t)((Points + Z)->X)) +#define POLY_Y(Z) ((int32_t)((Points + Z)->Y)) +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Private_Macros STM32L496G Discovery Lcd Private Macros + * @{ + */ +#define ABS(X) ((X) > 0 ? (X) : -(X)) +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Private_Variables STM32L496G Discovery Lcd Private Variables + * @{ + */ +LCD_DrawPropTypeDef DrawProp; +static LCD_DrvTypeDef *LcdDrv; + + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Private_FunctionPrototypes STM32L496G Discovery Lcd Private Prototypes + * @{ + */ +static void DrawChar(uint16_t Xpos, uint16_t Ypos, const uint8_t *c); +static void SetDisplayWindow(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); +static void FillTriangle(uint16_t x1, uint16_t x2, uint16_t x3, uint16_t y1, uint16_t y2, uint16_t y3); +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Private_Functions STM32L496G Discovery Lcd Private Functions + * @{ + */ +/** + * @brief Initializes the LCD. + * @param None + * @retval LCD state + */ +uint8_t BSP_LCD_Init(void) +{ + return (BSP_LCD_InitEx(LCD_ORIENTATION_LANDSCAPE)); +} + +/** + * @brief Initializes the LCD with a given orientation. + * @param orientation: LCD_ORIENTATION_PORTRAIT or LCD_ORIENTATION_LANDSCAPE + * @retval LCD state + */ +uint8_t BSP_LCD_InitEx(uint32_t orientation) +{ + uint8_t ret = LCD_ERROR; + uint32_t i = 0; + + if (bsp_lcd_initialized == 1) + { + ret = LCD_OK; + } + else + { + /* Initialize the IO functionalities */ + if (BSP_IO_Init() == IO_ERROR) + { + BSP_ErrorHandler(); + } + + /* Initialize LCD special pins GPIOs */ + BSP_LCD_MspInit(); + + /* LCD Power On */ + HAL_GPIO_WritePin(LCD_PWR_CTRL_GPIO_PORT, LCD_PWR_CTRL_PIN, GPIO_PIN_RESET); + + /* Default value for draw propriety */ + DrawProp.BackColor = 0xFFFF; + DrawProp.pFont = &Font24; + DrawProp.TextColor = 0x0000; + + if ((WakeUpFromStandby == RESET) && (WakeUpFromShutdown == RESET)) + { + /* Backlight control signal assertion */ + HAL_GPIO_WritePin(LCD_BL_CTRL_GPIO_PORT, LCD_BL_CTRL_PIN, GPIO_PIN_SET); + } + + /* Reset the LCD */ + BSP_LCD_Reset(); + + if (ST7789H2_drv.ReadID() == ST7789H2_ID) + { + LcdDrv = &ST7789H2_drv; + + /* LCD Init */ + LcdDrv->Init(); + + /* Fill LCD frame memory with white pixels (or black pixels if INIT_BLACK_LCD is enabled) */ + ST7789H2_WriteReg(ST7789H2_WRITE_RAM, (uint8_t *)NULL, 0); /* RAM Write Data */ + for (i = 0; i < (ST7789H2_LCD_PIXEL_WIDTH * ST7789H2_LCD_PIXEL_HEIGHT); i++) + { +#if defined(INIT_BLACK_LCD) + LCD_IO_WriteData(0x0); +#else + LCD_IO_WriteData(0xFFFF); +#endif + } + + if (orientation == LCD_ORIENTATION_PORTRAIT) + { + ST7789H2_SetOrientation(ST7789H2_ORIENTATION_PORTRAIT); + LCD_orientation = LCD_ORIENTATION_PORTRAIT; + } + else + { + LCD_orientation = LCD_ORIENTATION_LANDSCAPE; + } + /* Initialize the font */ + BSP_LCD_SetFont(&LCD_DEFAULT_FONT); + + bsp_lcd_initialized = 1; + ret = LCD_OK; + } + } + + return ret; +} + +/** + * @brief Reset the LCD. + * @param None + * @retval LCD state + */ +void BSP_LCD_Reset(void) +{ + /* Apply hardware reset according to procedure indicated in FRD154BP2901 documentation */ + BSP_IO_WritePin(LCD_RST_PIN, GPIO_PIN_RESET); + HAL_Delay(5); /* Reset signal asserted during 5ms */ + BSP_IO_WritePin(LCD_RST_PIN, GPIO_PIN_SET); + HAL_Delay(10); /* Reset signal released during 10ms */ + BSP_IO_WritePin(LCD_RST_PIN, GPIO_PIN_RESET); + HAL_Delay(20); /* Reset signal asserted during 20ms */ + BSP_IO_WritePin(LCD_RST_PIN, GPIO_PIN_SET); + HAL_Delay(10); /* Reset signal released during 10ms */ +} + +/** + * @brief DeInitializes the LCD. + * @param None + * @retval LCD state + */ +uint8_t BSP_LCD_DeInit(void) +{ + BSP_LCD_MspDeInit(); + + bsp_lcd_initialized = 0; + ts_io_init = 0; + + return LCD_OK; +} + +/** + * @brief Gets the LCD X size. + * @param None + * @retval Used LCD X size + */ +uint32_t BSP_LCD_GetXSize(void) +{ + return (LcdDrv->GetLcdPixelWidth()); +} + +/** + * @brief Gets the LCD Y size. + * @param None + * @retval Used LCD Y size + */ +uint32_t BSP_LCD_GetYSize(void) +{ + return (LcdDrv->GetLcdPixelHeight()); +} + +/** + * @brief Gets the LCD text color. + * @param None + * @retval Used text color. + */ +uint16_t BSP_LCD_GetTextColor(void) +{ + return DrawProp.TextColor; +} + +/** + * @brief Gets the LCD background color. + * @param None + * @retval Used background color + */ +uint16_t BSP_LCD_GetBackColor(void) +{ + return DrawProp.BackColor; +} + +/** + * @brief Sets the LCD text color. + * @param Color: Text color code RGB(5-6-5) + * @retval None + */ +void BSP_LCD_SetTextColor(uint16_t Color) +{ + DrawProp.TextColor = Color; +} + +/** + * @brief Sets the LCD background color. + * @param Color: Background color code RGB(5-6-5) + * @retval None + */ +void BSP_LCD_SetBackColor(uint16_t Color) +{ + DrawProp.BackColor = Color; +} + +/** + * @brief Sets the LCD text font. + * @param fonts: Font to be used + * @retval None + */ +void BSP_LCD_SetFont(sFONT *fonts) +{ + DrawProp.pFont = fonts; +} + +/** + * @brief Gets the LCD text font. + * @param None + * @retval Used font + */ +sFONT *BSP_LCD_GetFont(void) +{ + return DrawProp.pFont; +} + +/** + * @brief Clears the hole LCD. + * @param Color: Color of the background + * @retval None + */ +void BSP_LCD_Clear(uint16_t Color) +{ + uint32_t counter = 0; + uint32_t y_size = 0; + uint32_t color_backup = DrawProp.TextColor; + + DrawProp.TextColor = Color; + y_size = BSP_LCD_GetYSize(); + + for (counter = 0; counter < y_size; counter++) + { + BSP_LCD_DrawHLine(0, counter, BSP_LCD_GetXSize()); + } + DrawProp.TextColor = color_backup; + BSP_LCD_SetTextColor(DrawProp.TextColor); +} + +/** + * @brief Clears the selected line. + * @param Line: Line to be cleared + * This parameter can be one of the following values: + * @arg 0..9: if the Current fonts is Font16x24 + * @arg 0..19: if the Current fonts is Font12x12 or Font8x12 + * @arg 0..29: if the Current fonts is Font8x8 + * @retval None + */ +void BSP_LCD_ClearStringLine(uint16_t Line) +{ + uint32_t color_backup = DrawProp.TextColor; + + DrawProp.TextColor = DrawProp.BackColor;; + + /* Draw a rectangle with background color */ + BSP_LCD_FillRect(0, (Line * DrawProp.pFont->Height), BSP_LCD_GetXSize(), DrawProp.pFont->Height); + + DrawProp.TextColor = color_backup; + BSP_LCD_SetTextColor(DrawProp.TextColor); +} + +/** + * @brief Displays one character. + * @param Xpos: Start column address + * @param Ypos: Line where to display the character shape. + * @param Ascii: Character ascii code + * This parameter must be a number between Min_Data = 0x20 and Max_Data = 0x7E + * @retval None + */ +void BSP_LCD_DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii) +{ + DrawChar(Xpos, Ypos, &DrawProp.pFont->table[(Ascii - ' ') *\ + DrawProp.pFont->Height * ((DrawProp.pFont->Width + 7) / 8)]); +} + +/** + * @brief Displays characters on the LCD. + * @param Xpos: X position (in pixel) + * @param Ypos: Y position (in pixel) + * @param Text: Pointer to string to display on LCD + * @param Mode: Display mode + * This parameter can be one of the following values: + * @arg CENTER_MODE + * @arg RIGHT_MODE + * @arg LEFT_MODE + * @retval None + */ +void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Line_ModeTypdef Mode) +{ + uint16_t refcolumn = 1, i = 0; + uint32_t size = 0, xsize = 0; + uint8_t *ptr = Text; + + /* Get the text size */ + while (*ptr++) + { + size ++ ; + } + + /* Characters number per line */ + xsize = (BSP_LCD_GetXSize() / DrawProp.pFont->Width); + + switch (Mode) + { + case CENTER_MODE: + { + refcolumn = Xpos + ((xsize - size) * DrawProp.pFont->Width) / 2; + break; + } + case LEFT_MODE: + { + refcolumn = Xpos; + break; + } + case RIGHT_MODE: + { + refcolumn = - Xpos + ((xsize - size) * DrawProp.pFont->Width); + break; + } + default: + { + refcolumn = Xpos; + break; + } + } + + /* Check that the Start column is located in the screen */ + if ((refcolumn < 1) || (refcolumn >= 0x8000)) + { + refcolumn = 1; + } + + /* Send the string character by character on lCD */ + while ((*Text != 0) && (((BSP_LCD_GetXSize() - (i * DrawProp.pFont->Width)) & 0xFFFF) >= DrawProp.pFont->Width)) + { + /* Display one character on LCD */ + BSP_LCD_DisplayChar(refcolumn, Ypos, *Text); + /* Decrement the column position by 16 */ + refcolumn += DrawProp.pFont->Width; + /* Point on the next character */ + Text++; + i++; + } +} + +/** + * @brief Displays a character on the LCD. + * @param Line: Line where to display the character shape + * This parameter can be one of the following values: + * @arg 0..9: if the Current fonts is Font16x24 + * @arg 0..19: if the Current fonts is Font12x12 or Font8x12 + * @arg 0..29: if the Current fonts is Font8x8 + * @param ptr: Pointer to string to display on LCD + * @retval None + */ +void BSP_LCD_DisplayStringAtLine(uint16_t Line, uint8_t *ptr) +{ + BSP_LCD_DisplayStringAt(0, LINE(Line), ptr, LEFT_MODE); +} + +/** + * @brief Reads an LCD pixel. + * @param Xpos: X position + * @param Ypos: Y position + * @retval RGB pixel color + */ +uint16_t BSP_LCD_ReadPixel(uint16_t Xpos, uint16_t Ypos) +{ + uint16_t ret = 0; + + if (LcdDrv->ReadPixel != NULL) + { + ret = LcdDrv->ReadPixel(Xpos, Ypos); + } + + return ret; +} + +/** + * @brief Draws a pixel on LCD. + * @param Xpos: X position + * @param Ypos: Y position + * @param RGB_Code: Pixel color in RGB mode (5-6-5) + * @retval None + */ +void BSP_LCD_DrawPixel(uint16_t Xpos, uint16_t Ypos, uint16_t RGB_Code) +{ + if (LcdDrv->WritePixel != NULL) + { + LcdDrv->WritePixel(Xpos, Ypos, RGB_Code); + } +} + +/** + * @brief Draws an horizontal line. + * @param Xpos: X position + * @param Ypos: Y position + * @param Length: Line length + * @retval None + */ +void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) +{ + uint32_t index = 0; + + if (LcdDrv->DrawHLine != NULL) + { + LcdDrv->DrawHLine(DrawProp.TextColor, Xpos, Ypos, Length); + } + else + { + for (index = 0; index < Length; index++) + { + BSP_LCD_DrawPixel((Xpos + index), Ypos, DrawProp.TextColor); + } + } +} + +/** + * @brief Draws a vertical line. + * @param Xpos: X position + * @param Ypos: Y position + * @param Length: Line length + * @retval None + */ +void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) +{ + uint32_t index = 0; + + if (LcdDrv->DrawVLine != NULL) + { + LcdDrv->DrawVLine(DrawProp.TextColor, Xpos, Ypos, Length); + } + else + { + for (index = 0; index < Length; index++) + { + BSP_LCD_DrawPixel(Xpos, Ypos + index, DrawProp.TextColor); + } + } +} + +/** + * @brief Draws an uni-line (between two points). + * @param x1: Point 1 X position + * @param y1: Point 1 Y position + * @param x2: Point 2 X position + * @param y2: Point 2 Y position + * @retval None + */ +void BSP_LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) +{ + int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, + yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, + curpixel = 0; + + deltax = ABS(x2 - x1); /* The difference between the x's */ + deltay = ABS(y2 - y1); /* The difference between the y's */ + x = x1; /* Start x off at the first pixel */ + y = y1; /* Start y off at the first pixel */ + + if (x2 >= x1) /* The x-values are increasing */ + { + xinc1 = 1; + xinc2 = 1; + } + else /* The x-values are decreasing */ + { + xinc1 = -1; + xinc2 = -1; + } + + if (y2 >= y1) /* The y-values are increasing */ + { + yinc1 = 1; + yinc2 = 1; + } + else /* The y-values are decreasing */ + { + yinc1 = -1; + yinc2 = -1; + } + + if (deltax >= deltay) /* There is at least one x-value for every y-value */ + { + xinc1 = 0; /* Don't change the x when numerator >= denominator */ + yinc2 = 0; /* Don't change the y for every iteration */ + den = deltax; + num = deltax / 2; + numadd = deltay; + numpixels = deltax; /* There are more x-values than y-values */ + } + else /* There is at least one y-value for every x-value */ + { + xinc2 = 0; /* Don't change the x for every iteration */ + yinc1 = 0; /* Don't change the y when numerator >= denominator */ + den = deltay; + num = deltay / 2; + numadd = deltax; + numpixels = deltay; /* There are more y-values than x-values */ + } + + for (curpixel = 0; curpixel <= numpixels; curpixel++) + { + BSP_LCD_DrawPixel(x, y, DrawProp.TextColor); /* Draw the current pixel */ + num += numadd; /* Increase the numerator by the top of the fraction */ + if (num >= den) /* Check if numerator >= denominator */ + { + num -= den; /* Calculate the new numerator value */ + x += xinc1; /* Change the x as appropriate */ + y += yinc1; /* Change the y as appropriate */ + } + x += xinc2; /* Change the x as appropriate */ + y += yinc2; /* Change the y as appropriate */ + } +} + +/** + * @brief Draws a rectangle. + * @param Xpos: X position + * @param Ypos: Y position + * @param Width: Rectangle width + * @param Height: Rectangle height + * @retval None + */ +void BSP_LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) +{ + /* Draw horizontal lines */ + BSP_LCD_DrawHLine(Xpos, Ypos, Width); + BSP_LCD_DrawHLine(Xpos, (Ypos + Height), Width); + + /* Draw vertical lines */ + BSP_LCD_DrawVLine(Xpos, Ypos, Height); + BSP_LCD_DrawVLine((Xpos + Width), Ypos, Height); +} + +/** + * @brief Draws a circle. + * @param Xpos: X position + * @param Ypos: Y position + * @param Radius: Circle radius + * @retval None + */ +void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) +{ + int32_t decision; /* Decision Variable */ + uint32_t current_x; /* Current X Value */ + uint32_t current_y; /* Current Y Value */ + + decision = 3 - (Radius << 1); + current_x = 0; + current_y = Radius; + + while (current_x <= current_y) + { + BSP_LCD_DrawPixel((Xpos + current_x), (Ypos - current_y), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos - current_x), (Ypos - current_y), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos + current_y), (Ypos - current_x), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos - current_y), (Ypos - current_x), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos + current_x), (Ypos + current_y), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos - current_x), (Ypos + current_y), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos + current_y), (Ypos + current_x), DrawProp.TextColor); + + BSP_LCD_DrawPixel((Xpos - current_y), (Ypos + current_x), DrawProp.TextColor); + + /* Initialize the font */ + BSP_LCD_SetFont(&LCD_DEFAULT_FONT); + + if (decision < 0) + { + decision += (current_x << 2) + 6; + } + else + { + decision += ((current_x - current_y) << 2) + 10; + current_y--; + } + current_x++; + } +} + +/** + * @brief Draws an poly-line (between many points). + * @param Points: Pointer to the points array + * @param PointCount: Number of points + * @retval None + */ +void BSP_LCD_DrawPolygon(pPoint Points, uint16_t PointCount) +{ + int16_t x = 0, y = 0; + + if (PointCount < 2) + { + return; + } + + BSP_LCD_DrawLine(Points->X, Points->Y, (Points + PointCount - 1)->X, (Points + PointCount - 1)->Y); + + while (--PointCount) + { + x = Points->X; + y = Points->Y; + Points++; + BSP_LCD_DrawLine(x, y, Points->X, Points->Y); + } +} + +/** + * @brief Draws an ellipse on LCD. + * @param Xpos: X position + * @param Ypos: Y position + * @param XRadius: Ellipse X radius + * @param YRadius: Ellipse Y radius + * @retval None + */ +void BSP_LCD_DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius) +{ + int x = 0, y = -YRadius, err = 2 - 2 * XRadius, e2; + float k = 0, rad1 = 0, rad2 = 0; + + rad1 = XRadius; + rad2 = YRadius; + + k = (float)(rad2 / rad1); + + do + { + BSP_LCD_DrawPixel((Xpos - (uint16_t)(x / k)), (Ypos + y), DrawProp.TextColor); + BSP_LCD_DrawPixel((Xpos + (uint16_t)(x / k)), (Ypos + y), DrawProp.TextColor); + BSP_LCD_DrawPixel((Xpos + (uint16_t)(x / k)), (Ypos - y), DrawProp.TextColor); + BSP_LCD_DrawPixel((Xpos - (uint16_t)(x / k)), (Ypos - y), DrawProp.TextColor); + + e2 = err; + if (e2 <= x) + { + err += ++x * 2 + 1; + if (-y == x && e2 <= y) + { + e2 = 0; + } + } + if (e2 > y) + { + err += ++y * 2 + 1; + } + } + while (y <= 0); +} + +/** + * @brief Draws a bitmap picture (16 bpp). + * @param Xpos: Bmp X position in the LCD + * @param Ypos: Bmp Y position in the LCD + * @param pbmp: Pointer to Bmp picture address. + * @retval None + */ +void BSP_LCD_DrawBitmap(uint16_t Xpos, uint16_t Ypos, uint8_t *pbmp) +{ + uint32_t height = 0; + uint32_t width = 0; + + + /* Read bitmap width */ + width = *(uint16_t *)(pbmp + 18); + width |= (*(uint16_t *)(pbmp + 20)) << 16; + + /* Read bitmap height */ + height = *(uint16_t *)(pbmp + 22); + height |= (*(uint16_t *)(pbmp + 24)) << 16; + + SetDisplayWindow(Xpos, Ypos, width, height); + + if (LcdDrv->DrawBitmap != NULL) + { + LcdDrv->DrawBitmap(Xpos, Ypos, pbmp); + } + SetDisplayWindow(0, 0, BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); +} + +/** + * @brief Draws RGB Image (16 bpp). + * @param Xpos: X position in the LCD + * @param Ypos: Y position in the LCD + * @param Xsize: X size in the LCD + * @param Ysize: Y size in the LCD + * @param pdata: Pointer to the RGB Image address. + * @retval None + */ +void BSP_LCD_DrawRGBImage(uint16_t Xpos, uint16_t Ypos, uint16_t Xsize, uint16_t Ysize, uint8_t *pdata) +{ + + SetDisplayWindow(Xpos, Ypos, Xsize, Ysize); + + if (LcdDrv->DrawRGBImage != NULL) + { + LcdDrv->DrawRGBImage(Xpos, Ypos, Xsize, Ysize, pdata); + } + SetDisplayWindow(0, 0, BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); +} + +/** + * @brief Draws a full rectangle. + * @param Xpos: X position + * @param Ypos: Y position + * @param Width: Rectangle width + * @param Height: Rectangle height + * @retval None + */ +void BSP_LCD_FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) +{ + BSP_LCD_SetTextColor(DrawProp.TextColor); + do + { + BSP_LCD_DrawHLine(Xpos, Ypos++, Width); + } + while (Height--); +} + +/** + * @brief Draws a full circle. + * @param Xpos: X position + * @param Ypos: Y position + * @param Radius: Circle radius + * @retval None + */ +void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) +{ + int32_t decision; /* Decision Variable */ + uint32_t current_x; /* Current X Value */ + uint32_t current_y; /* Current Y Value */ + + decision = 3 - (Radius << 1); + + current_x = 0; + current_y = Radius; + + BSP_LCD_SetTextColor(DrawProp.TextColor); + + while (current_x <= current_y) + { + if (current_y > 0) + { + BSP_LCD_DrawHLine(Xpos - current_y, Ypos + current_x, 2 * current_y); + BSP_LCD_DrawHLine(Xpos - current_y, Ypos - current_x, 2 * current_y); + } + + if (current_x > 0) + { + BSP_LCD_DrawHLine(Xpos - current_x, Ypos - current_y, 2 * current_x); + BSP_LCD_DrawHLine(Xpos - current_x, Ypos + current_y, 2 * current_x); + } + if (decision < 0) + { + decision += (current_x << 2) + 6; + } + else + { + decision += ((current_x - current_y) << 2) + 10; + current_y--; + } + current_x++; + } + + BSP_LCD_SetTextColor(DrawProp.TextColor); + BSP_LCD_DrawCircle(Xpos, Ypos, Radius); +} + +/** + * @brief Draws a full poly-line (between many points). + * @param Points: Pointer to the points array + * @param PointCount: Number of points + * @retval None + */ +void BSP_LCD_FillPolygon(pPoint Points, uint16_t PointCount) +{ + int16_t X = 0, Y = 0, X2 = 0, Y2 = 0, X_center = 0, Y_center = 0, X_first = 0, Y_first = 0, pixelX = 0, pixelY = 0, counter = 0; + uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; + + IMAGE_LEFT = IMAGE_RIGHT = Points->X; + IMAGE_TOP = IMAGE_BOTTOM = Points->Y; + + for (counter = 1; counter < PointCount; counter++) + { + pixelX = POLY_X(counter); + if (pixelX < IMAGE_LEFT) + { + IMAGE_LEFT = pixelX; + } + if (pixelX > IMAGE_RIGHT) + { + IMAGE_RIGHT = pixelX; + } + + pixelY = POLY_Y(counter); + if (pixelY < IMAGE_TOP) + { + IMAGE_TOP = pixelY; + } + if (pixelY > IMAGE_BOTTOM) + { + IMAGE_BOTTOM = pixelY; + } + } + + if (PointCount < 2) + { + return; + } + + X_center = (IMAGE_LEFT + IMAGE_RIGHT) / 2; + Y_center = (IMAGE_BOTTOM + IMAGE_TOP) / 2; + + X_first = Points->X; + Y_first = Points->Y; + + while (--PointCount) + { + X = Points->X; + Y = Points->Y; + Points++; + X2 = Points->X; + Y2 = Points->Y; + + FillTriangle(X, X2, X_center, Y, Y2, Y_center); + FillTriangle(X, X_center, X2, Y, Y_center, Y2); + FillTriangle(X_center, X2, X, Y_center, Y2, Y); + } + + FillTriangle(X_first, X2, X_center, Y_first, Y2, Y_center); + FillTriangle(X_first, X_center, X2, Y_first, Y_center, Y2); + FillTriangle(X_center, X2, X_first, Y_center, Y2, Y_first); +} + +/** + * @brief Draws a full ellipse. + * @param Xpos: X position + * @param Ypos: Y position + * @param XRadius: Ellipse X radius + * @param YRadius: Ellipse Y radius + * @retval None + */ +void BSP_LCD_FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius) +{ + int x = 0, y = -YRadius, err = 2 - 2 * XRadius, e2; + float k = 0, rad1 = 0, rad2 = 0; + + rad1 = XRadius; + rad2 = YRadius; + + k = (float)(rad2 / rad1); + + do + { + BSP_LCD_DrawHLine((Xpos - (uint16_t)(x / k)), (Ypos + y), (2 * (uint16_t)(x / k) + 1)); + BSP_LCD_DrawHLine((Xpos - (uint16_t)(x / k)), (Ypos - y), (2 * (uint16_t)(x / k) + 1)); + + e2 = err; + if (e2 <= x) + { + err += ++x * 2 + 1; + if (-y == x && e2 <= y) + { + e2 = 0; + } + } + if (e2 > y) + { + err += ++y * 2 + 1; + } + } + while (y <= 0); +} + +/** + * @brief Enables the display. + * @param None + * @retval None + */ +void BSP_LCD_DisplayOn(void) +{ + LcdDrv->DisplayOn(); +} + +/** + * @brief Disables the display. + * @param None + * @retval None + */ +void BSP_LCD_DisplayOff(void) +{ + LcdDrv->DisplayOff(); +} + + +/** + * @brief LCD screen dimming enable + * @note Screen brightness is gradually decreased + * @param start : value in percent to start from + * @param stop : value in percent to stop to + * @param step : step value in percent + * @param delay : delay in milliseconds between each step + * @retval None + */ +void BSP_LCD_ScreenDimmingConfig(const uint8_t start, const uint8_t stop, const uint8_t step, const uint8_t delay) +{ + if ((dimming_config.ongoing == 0) + && (start <= 100) && (stop <= 100) + && (step > 0) && (step < 100)) + { + dimming_config.start = start; + dimming_config.stop = stop; + dimming_config.step = step; + dimming_config.delay = delay; + } +} + + +/** + * @brief LCD screen dimming enable + * @note Screen brightness is gradually decreased + * @param None + * @retval None + */ +void BSP_LCD_ScreenDimmingOn(void) +{ + static uint32_t i = 0; + +#if defined(LPTIMER_DIMMING) + /* Set that dim feature is active */ + if (dimming_on == 0) + { + dimming_on = 1; + i = PULSE_DECREASE_START; + /* Always redo the full initialization as there is no apriori knowledge + of IO or timer settings at this point (may have been modified by application) */ + + __HAL_RCC_LSI_ENABLE(); + /* Select LSI as LPTIM1 clock source */ + __HAL_RCC_LPTIM1_CONFIG(RCC_LPTIM1CLKSOURCE_LSI); + + + LCD_LpTimHandle.Instance = LPTIM1; + __HAL_LPTIM_RESET_HANDLE_STATE(&LCD_LpTimHandle); /* to force MSP call */ + + LCD_LpTimHandle.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + LCD_LpTimHandle.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + LCD_LpTimHandle.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + LCD_LpTimHandle.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + LCD_LpTimHandle.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + LCD_LpTimHandle.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + LCD_LpTimHandle.Init.Input1Source = LPTIM_INPUT1SOURCE_COMP1; + + /* Initialize LPTIM peripheral according to the passed parameters */ + if (HAL_LPTIM_Init(&LCD_LpTimHandle) != HAL_OK) + { + /* Initialization Error */ + BSP_ErrorHandler(); + } + + if (HAL_LPTIM_PWM_Start(&LCD_LpTimHandle, PERIOD_VALUE, i) != HAL_OK) + { + BSP_ErrorHandler(); + } + + + } + else + { + i++; + } + + /* Optional delay to slow down the dimming transition. */ + HAL_Delay(PULSE_DECREASE_DELAY); + if (HAL_LPTIM_PWM_Start(&LCD_LpTimHandle, PERIOD_VALUE, i) != HAL_OK) + { + BSP_ErrorHandler(); + } + if (i == PULSE_VALUE) + { + dimming_enable = 0; + } + + +#else + /* Counter Prescaler value */ + uint32_t uhPrescalerValue = 0; + int32_t step; + + /* Reject this while ongoing dimming */ + if (dimming_config.ongoing) + { + return; + } + + /* Set that dim feature is active */ + dimming_on = 1; + dimming_config.ongoing = 1; + + if (dimming_config.stop > dimming_config.start) + { + step = dimming_config.step; + } + else + { + step = -dimming_config.step; + } + + /* Always redo the full initialization as there is no apriori knowledge + of IO or timer settings at this point (may have been modified by application) */ + + /* Compute the prescaler value to have TIM1 counter clock equal to 16000000 Hz */ + uhPrescalerValue = (uint32_t)(SystemCoreClock / 16000000) - 1; + + LCD_TimHandle.Instance = TIMx; + + __HAL_TIM_RESET_HANDLE_STATE(&LCD_TimHandle); /* to force MSP call */ + LCD_TimHandle.Init.Prescaler = uhPrescalerValue; + LCD_TimHandle.Init.Period = PERIOD_VALUE; + LCD_TimHandle.Init.ClockDivision = 0; + LCD_TimHandle.Init.CounterMode = (step > 0 ? TIM_COUNTERMODE_DOWN : TIM_COUNTERMODE_UP); + LCD_TimHandle.Init.RepetitionCounter = 0; + if (HAL_TIM_PWM_Init(&LCD_TimHandle) != HAL_OK) + { + /* Initialization Error */ + BSP_ErrorHandler(); + } + + /* Common configuration for all channels */ + LCD_sConfig.OCMode = TIM_OCMODE_PWM1; + LCD_sConfig.OCPolarity = TIM_OCPOLARITY_HIGH; + LCD_sConfig.OCFastMode = TIM_OCFAST_DISABLE; + LCD_sConfig.OCNPolarity = TIM_OCNPOLARITY_HIGH; + LCD_sConfig.OCNIdleState = TIM_OCNIDLESTATE_RESET; + + LCD_sConfig.OCIdleState = TIM_OCIDLESTATE_RESET; + + /* Set the pulse value for channel */ + LCD_sConfig.Pulse = __DIMMING_CYCLE_VALUE(dimming_config.start); + if (HAL_TIM_PWM_ConfigChannel(&LCD_TimHandle, &LCD_sConfig, TIMx_CHANNEL) != HAL_OK) + { + /* Configuration Error */ + BSP_ErrorHandler(); + } + + /* Start Timer channel */ + if (HAL_TIM_PWM_Start(&LCD_TimHandle, TIMx_CHANNEL) != HAL_OK) + { + /* PWM Generation Error */ + BSP_ErrorHandler(); + } + + /* Set the pulse value for the timer channel */ + i = dimming_config.start; + while (dimming_config.ongoing) + { + __HAL_TIM_SET_COMPARE(&LCD_TimHandle, TIMx_CHANNEL, __DIMMING_CYCLE_VALUE(i)); + + /* Exit if stop is reached */ + if (((step > 0) && (i >= dimming_config.stop)) + || ((step < 0) && (i <= dimming_config.stop))) + { + dimming_config.ongoing = 0; + } + else + { + HAL_Delay(dimming_config.delay); + i += step; + } + } +#endif +} + +/** + * @brief LCD screen dimming disable + * @note Screen brightness is immediately set to its highest level + * @param None + * @retval None + */ +void BSP_LCD_ScreenDimmingOff(void) +{ +#if defined(LPTIMER_DIMMING) + GPIO_InitTypeDef GPIO_InitStructure; +#endif + + if (dimming_on == 1) + { + /* Stop ongoing dimming */ + dimming_config.ongoing = 0; + +#if defined(LPTIMER_DIMMING) + + /* Restore LCD BL GPIO setting */ + GPIO_InitStructure.Pin = LCD_BL_CTRL_PIN; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Alternate = 0; + GPIO_InitStructure.Speed = GPIO_SPEED_LOW; + HAL_GPIO_Init(LCD_BL_CTRL_GPIO_PORT, &GPIO_InitStructure); + + /* Stop LP Timer channel */ + if (HAL_LPTIM_PWM_Stop(&LCD_LpTimHandle) != HAL_OK) + { + /* PWM Generation Error */ + BSP_ErrorHandler(); + } + + /* Disable timer clock for power consumption reasons */ + __HAL_RCC_LPTIM1_CLK_DISABLE(); +#else + /* Stop Timer channel */ + if (HAL_TIM_PWM_Stop(&LCD_TimHandle, TIMx_CHANNEL) != HAL_OK) + { + /* PWM Generation Error */ + BSP_ErrorHandler(); + } + + /* Disable timer clock for power consumption reasons */ + TIMx_CLK_DISABLE(); +#endif + + dimming_on = 0; + } +} + + + +/** + * @brief TIM MSP Initialization + * This function configures the hardware resources used for screen dimming: + * - Peripheral's clock enable + * - Peripheral's GPIO Configuration + * @param htim: TIM handle pointer + * @retval None + */ +void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* TIMx Peripheral clock enable */ + TIMx_CLK_ENABLE(); + + /* Timer channel configuration */ + + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + + GPIO_InitStruct.Alternate = TIMx_CHANNEl_AF; + GPIO_InitStruct.Pin = GPIO_PIN_0; + HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); +} + + +#if defined(LPTIMER_DIMMING) +/** +* @brief LPTIM MSP Init +* @param hlptim : LPTIM handle +* @retval None +*/ +void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* ## - 1 - Enable LPTIM clock ############################################ */ + __HAL_RCC_LPTIM1_CLK_ENABLE(); + + /* ## - 2 - Force & Release the LPTIM Periheral Clock Reset ############### */ + /* Force the LPTIM Periheral Clock Reset */ + __HAL_RCC_LPTIM1_FORCE_RESET(); + + /* Release the LPTIM Periheral Clock Reset */ + __HAL_RCC_LPTIM1_RELEASE_RESET(); + + /* ## - 3 - Enable & Configure LPTIM Ultra Low Power Input ################# */ + /* Configure PG.15 (LPTIM1_OUT) in alternate function, + Low speed push-pull mode and pull-up enabled. */ + + /* Enable GPIO PORT(s)*/ + LCD_BL_CTRL_GPIO_CLK_ENABLE(); + + /* Configure Backlight control pin GPIO */ + GPIO_InitStruct.Pin = LCD_BL_CTRL_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF1_LPTIM1; + HAL_GPIO_Init(LCD_BL_CTRL_GPIO_PORT, &GPIO_InitStruct); +} +#endif /* defined(LPTIMER_DIMMING) */ + +uint8_t BSP_LCD_GetOrientation(void) +{ + return LCD_orientation; +} + +/** + * @brief Initializes the LCD GPIO special pins MSP. + * @param None + * @retval None + */ +__weak void BSP_LCD_MspInit(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + + /* Enable GPIOs clock */ + LCD_TE_GPIO_CLK_ENABLE(); + LCD_BL_CTRL_GPIO_CLK_ENABLE(); + LCD_PWR_CTRL_GPIO_CLK_ENABLE(); + + /* LCD_RESET GPIO configuration */ + if (BSP_IO_Init() == IO_ERROR) + { + BSP_ErrorHandler(); + } + BSP_IO_ConfigPin(LCD_RST_PIN, IO_MODE_OUTPUT); + + /* LCD_BL_CTRL GPIO configuration */ + GPIO_InitStructure.Pin = LCD_BL_CTRL_PIN; /* LCD_BL_CTRL pin has to be manually controlled */ + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Alternate = 0; + GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LCD_BL_CTRL_GPIO_PORT, &GPIO_InitStructure); + + /* Power on the screen (also done in Touch Screen driver ... */ + GPIO_InitStructure.Pin = LCD_PWR_CTRL_PIN; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP /*GPIO_MODE_OUTPUT_PP*/; + GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Alternate = 0; + GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LCD_PWR_CTRL_GPIO_PORT, &GPIO_InitStructure); +} + +/** + * @brief DeInitializes LCD GPIO special pins MSP. + * @param None + * @retval None + */ +__weak void BSP_LCD_MspDeInit(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + + /* LCD_BL_CTRL GPIO deactivation */ + GPIO_InitStructure.Pin = LCD_BL_CTRL_PIN; + HAL_GPIO_DeInit(LCD_BL_CTRL_GPIO_PORT, GPIO_InitStructure.Pin); + + /* LCD_BL_CTRL GPIO deactivation */ + GPIO_InitStructure.Pin = LCD_PWR_CTRL_PIN; + HAL_GPIO_DeInit(LCD_PWR_CTRL_GPIO_PORT, GPIO_InitStructure.Pin); + + /* GPIO pins clock can be shut down in the application + by surcharging this __weak function */ +} + +/****************************************************************************** + Static Functions +*******************************************************************************/ + +/** + * @brief Draws a character on LCD. + * @param Xpos: Line where to display the character shape + * @param Ypos: Start column address + * @param c: Pointer to the character data + * @retval None + */ +static void DrawChar(uint16_t Xpos, uint16_t Ypos, const uint8_t *c) +{ + uint32_t i = 0, j = 0; + uint16_t height, width; + uint8_t offset; + uint8_t *pchar; + uint32_t line; + + height = DrawProp.pFont->Height; + width = DrawProp.pFont->Width; + + offset = 8 * ((width + 7) / 8) - width ; + + for (i = 0; i < height; i++) + { + pchar = ((uint8_t *)c + (width + 7) / 8 * i); + + switch (((width + 7) / 8)) + { + case 1: + line = pchar[0]; + break; + + case 2: + line = (pchar[0] << 8) | pchar[1]; + break; + + case 3: + default: + line = (pchar[0] << 16) | (pchar[1] << 8) | pchar[2]; + break; + } + + for (j = 0; j < width; j++) + { + if ((line & (1 << (width - j + offset - 1))) != 0) + { + BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp.TextColor); + } + else + { + BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp.BackColor); + } + } + Ypos++; + } +} + +/** + * @brief Sets display window. + * @param LayerIndex: layer index + * @param Xpos: LCD X position + * @param Ypos: LCD Y position + * @param Width: LCD window width + * @param Height: LCD window height + * @retval None + */ +static void SetDisplayWindow(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) +{ + if (LcdDrv->SetDisplayWindow != NULL) + { + LcdDrv->SetDisplayWindow(Xpos, Ypos, Width, Height); + } +} + +/** + * @brief Fills a triangle (between 3 points). + * @param Points: Pointer to the points array + * @param x1: Point 1 X position + * @param y1: Point 1 Y position + * @param x2: Point 2 X position + * @param y2: Point 2 Y position + * @param x3: Point 3 X position + * @param y3: Point 3 Y position + * @retval None + */ +static void FillTriangle(uint16_t x1, uint16_t x2, uint16_t x3, uint16_t y1, uint16_t y2, uint16_t y3) +{ + int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, + yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, + curpixel = 0; + + deltax = ABS(x2 - x1); /* The difference between the x's */ + deltay = ABS(y2 - y1); /* The difference between the y's */ + x = x1; /* Start x off at the first pixel */ + y = y1; /* Start y off at the first pixel */ + + if (x2 >= x1) /* The x-values are increasing */ + { + xinc1 = 1; + xinc2 = 1; + } + else /* The x-values are decreasing */ + { + xinc1 = -1; + xinc2 = -1; + } + + if (y2 >= y1) /* The y-values are increasing */ + { + yinc1 = 1; + yinc2 = 1; + } + else /* The y-values are decreasing */ + { + yinc1 = -1; + yinc2 = -1; + } + + if (deltax >= deltay) /* There is at least one x-value for every y-value */ + { + xinc1 = 0; /* Don't change the x when numerator >= denominator */ + yinc2 = 0; /* Don't change the y for every iteration */ + den = deltax; + num = deltax / 2; + numadd = deltay; + numpixels = deltax; /* There are more x-values than y-values */ + } + else /* There is at least one y-value for every x-value */ + { + xinc2 = 0; /* Don't change the x for every iteration */ + yinc1 = 0; /* Don't change the y when numerator >= denominator */ + den = deltay; + num = deltay / 2; + numadd = deltax; + numpixels = deltay; /* There are more y-values than x-values */ + } + + for (curpixel = 0; curpixel <= numpixels; curpixel++) + { + BSP_LCD_DrawLine(x, y, x3, y3); + + num += numadd; /* Increase the numerator by the top of the fraction */ + if (num >= den) /* Check if numerator >= denominator */ + { + num -= den; /* Calculate the new numerator value */ + x += xinc1; /* Change the x as appropriate */ + y += yinc1; /* Change the y as appropriate */ + } + x += xinc2; /* Change the x as appropriate */ + y += yinc2; /* Change the y as appropriate */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.h new file mode 100644 index 0000000..73dec4c --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_lcd.h @@ -0,0 +1,262 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_lcd.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_discovery_lcd.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_LCD_H +#define __STM32L496G_DISCOVERY_LCD_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery.h" +#include "stm32l496g_discovery_io.h" +/*#include "../Components/ls016b8uy/ls016b8uy.h"*/ +#include "../Components/st7789h2/st7789h2.h" +#include "../../../Utilities/Fonts/fonts.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD STM32L496G-DISCOVERY LCD + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Exported_Types STM32L496G DISCOVERY LCD Exported Types + * @{ + */ +typedef struct +{ + uint32_t TextColor; + uint32_t BackColor; + sFONT *pFont; +} LCD_DrawPropTypeDef; +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Exported_Constants STM32L496G DISCOVERY LCD Exported Constants + * @{ + */ +/** + * @brief LCD status structure definition + */ +#define LCD_OK ((uint8_t)0x00) +#define LCD_ERROR ((uint8_t)0x01) +#define LCD_TIMEOUT ((uint8_t)0x02) + +typedef struct +{ + int16_t X; + int16_t Y; +} Point, * pPoint; + +/** + * @brief Line mode structures definition + */ +typedef enum +{ + CENTER_MODE = 0x01, /* Center mode */ + RIGHT_MODE = 0x02, /* Right mode */ + LEFT_MODE = 0x03 /* Left mode */ +} Line_ModeTypdef; + + +#define LCD_ORIENTATION_PORTRAIT ((uint8_t)0x00) /*!< Portrait orientation choice of LCD screen */ +#define LCD_ORIENTATION_LANDSCAPE ((uint8_t)0x01) /*!< Landscape orientation choice of LCD screen */ +#define LCD_ORIENTATION_UNDEFINED ((uint8_t)0x02) /*!< Undefined LCD screen orientation */ + + +/** + * @brief LCD color + */ +#define LCD_COLOR_BLUE ((uint16_t)0x001F) +#define LCD_COLOR_GREEN ((uint16_t)0x07E0) +#define LCD_COLOR_RED ((uint16_t)0xF800) +#define LCD_COLOR_CYAN ((uint16_t)0x07FF) +#define LCD_COLOR_MAGENTA ((uint16_t)0xF81F) +#define LCD_COLOR_YELLOW ((uint16_t)0xFFE0) +#define LCD_COLOR_LIGHTBLUE ((uint16_t)0x841F) +#define LCD_COLOR_LIGHTGREEN ((uint16_t)0x87F0) +#define LCD_COLOR_LIGHTRED ((uint16_t)0xFC10) +#define LCD_COLOR_LIGHTMAGENTA ((uint16_t)0xFC1F) +#define LCD_COLOR_LIGHTYELLOW ((uint16_t)0xFFF0) +#define LCD_COLOR_DARKBLUE ((uint16_t)0x0010) +#define LCD_COLOR_DARKGREEN ((uint16_t)0x0400) +#define LCD_COLOR_DARKRED ((uint16_t)0x8000) +#define LCD_COLOR_DARKCYAN ((uint16_t)0x0410) +#define LCD_COLOR_DARKMAGENTA ((uint16_t)0x8010) +#define LCD_COLOR_DARKYELLOW ((uint16_t)0x8400) +#define LCD_COLOR_WHITE ((uint16_t)0xFFFF) +#define LCD_COLOR_LIGHTGRAY ((uint16_t)0xD69A) +#define LCD_COLOR_GRAY ((uint16_t)0x8410) +#define LCD_COLOR_DARKGRAY ((uint16_t)0x4208) +#define LCD_COLOR_BLACK ((uint16_t)0x0000) +#define LCD_COLOR_BROWN ((uint16_t)0xA145) +#define LCD_COLOR_ORANGE ((uint16_t)0xFD20) + +/** + * @brief LCD default font + */ +#define LCD_DEFAULT_FONT Font12 + +/** + * @brief LCD special pins + */ +/* LCD reset pin */ +/* LCD reset is accessed thru the MFX */ +#define LCD_RST_PIN IO1_PIN_2 + +/* LCD tearing effect pin */ +#define LCD_TE_PIN GPIO_PIN_7 +#define LCD_TE_GPIO_PORT GPIOH +#define LCD_TE_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() +#define LCD_TE_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() + +/* Backlight control pin */ +#if defined(LPTIMER_DIMMING) +#define LCD_BL_CTRL_PIN GPIO_PIN_15 +#define LCD_BL_CTRL_GPIO_PORT GPIOG +#define LCD_BL_CTRL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() +#define LCD_BL_CTRL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() +#else +#define LCD_BL_CTRL_PIN GPIO_PIN_0 +#define LCD_BL_CTRL_GPIO_PORT GPIOI +#define LCD_BL_CTRL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() +#define LCD_BL_CTRL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() +#endif + + +/* Power on control pin */ +#define LCD_PWR_CTRL_PIN GPIO_PIN_0 +#define LCD_PWR_CTRL_GPIO_PORT GPIOH +#define LCD_PWR_CTRL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() +#define LCD_PWR_CTRL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() + +/* Use by application to not use backlight */ +extern FlagStatus WakeUpFromStandby; +extern FlagStatus WakeUpFromShutdown; + + +/* Screen dimming parameters */ +/* Definition for TIMx clock resources */ +#define TIMx TIM5 +#define TIMx_CLK_ENABLE() __HAL_RCC_TIM5_CLK_ENABLE() +#define TIMx_CLK_DISABLE() __HAL_RCC_TIM5_CLK_DISABLE() +#define TIMx_CHANNEL TIM_CHANNEL_4 +#define TIMx_CHANNEl_AF GPIO_AF2_TIM5 +#if defined(LPTIMER_DIMMING) +#define PERIOD_VALUE (uint32_t)(99) /* Period Value */ +#define PULSE_VALUE (uint32_t)(95) /* 5% cycle */ +#define PULSE_DECREASE_START (uint32_t)(45) /* cycle start level when starting to dim the screen */ +#define PULSE_DECREASE_DELAY (uint32_t)(40) /* gradually decrease cycle level every 40 milliseconds */ +#else +#define PERIOD_VALUE (uint32_t)(666 - 1) /* Period Value */ +#define PULSE_VALUE (uint32_t)((PERIOD_VALUE*5)/100) /* 5% cycle */ +#define PULSE_DECREASE_START (uint32_t)(PULSE_VALUE + 120) /* cycle start level when starting to dim the screen */ +#define PULSE_DECREASE_DELAY (uint32_t)(20) /* gradually decrease cycle level every 20 milliseconds */ +#endif + +/** + * @} + */ + +/** @defgroup STM32L496G_DISCOVERY_LCD_Exported_Functions STM32L496G DISCOVERY LCD Exported Functions + * @{ + */ +uint8_t BSP_LCD_Init(void); +uint8_t BSP_LCD_InitEx(uint32_t orientation); +void BSP_LCD_Reset(void); +uint8_t BSP_LCD_DeInit(void); +uint32_t BSP_LCD_GetXSize(void); +uint32_t BSP_LCD_GetYSize(void); + +uint16_t BSP_LCD_GetTextColor(void); +uint16_t BSP_LCD_GetBackColor(void); +void BSP_LCD_SetTextColor(__IO uint16_t Color); +void BSP_LCD_SetBackColor(__IO uint16_t Color); +void BSP_LCD_SetFont(sFONT *fonts); +sFONT *BSP_LCD_GetFont(void); + +void BSP_LCD_Clear(uint16_t Color); +void BSP_LCD_ClearStringLine(uint16_t Line); +void BSP_LCD_DisplayStringAtLine(uint16_t Line, uint8_t *ptr); +void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Line_ModeTypdef Mode); +void BSP_LCD_DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii); + +uint16_t BSP_LCD_ReadPixel(uint16_t Xpos, uint16_t Ypos); +void BSP_LCD_DrawPixel(uint16_t Xpos, uint16_t Ypos, uint16_t RGB_Code); +void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length); +void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length); +void BSP_LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); +void BSP_LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); +void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); +void BSP_LCD_DrawPolygon(pPoint Points, uint16_t PointCount); +void BSP_LCD_DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius); +void BSP_LCD_DrawBitmap(uint16_t Xpos, uint16_t Ypos, uint8_t *pbmp); +void BSP_LCD_DrawRGBImage(uint16_t Xpos, uint16_t Ypos, uint16_t Xsize, uint16_t Ysize, uint8_t *pbmp); +void BSP_LCD_FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); +void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); +void BSP_LCD_FillPolygon(pPoint Points, uint16_t PointCount); +void BSP_LCD_FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius); + +void BSP_LCD_DisplayOff(void); +void BSP_LCD_DisplayOn(void); + +void BSP_LCD_ScreenDimmingOn(void); +void BSP_LCD_ScreenDimmingOff(void); +void BSP_LCD_ScreenDimmingConfig(const uint8_t start, const uint8_t stop, const uint8_t step, const uint8_t delay); + +uint8_t BSP_LCD_GetOrientation(void); + +/* These functions can be modified in case the current settings + need to be changed for specific application needs */ +__weak void BSP_LCD_MspInit(void); +__weak void BSP_LCD_MspDeInit(void); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_LCD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.c new file mode 100644 index 0000000..18f5bda --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.c @@ -0,0 +1,1133 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_qspi.c + * @author MCD Application Team + * @brief This file includes a standard driver for the MX25R6435F QSPI + * memory mounted on STM32L496G-Discovery board. + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) This driver is used to drive the MX25R6435F QSPI external + memory mounted on STM32L496G-DISCO evaluation board. + + (#) This driver need a specific component driver (MX25R6435F) to be included with. + + (#) Initialization steps: + (++) Initialize the QPSI external memory using the BSP_QSPI_Init() function. This + function includes the MSP layer hardware resources initialization and the + QSPI interface with the external memory. The BSP_QSPI_DeInit() can be used + to deactivate the QSPI interface. + + (#) QSPI memory operations + (++) QSPI memory can be accessed with read/write operations once it is + initialized. + Read/write operation can be performed with AHB access using the functions + BSP_QSPI_Read()/BSP_QSPI_Write(). + (++) The function to the QSPI memory in memory-mapped mode is possible after + the call of the function BSP_QSPI_EnableMemoryMappedMode(). + (++) The function BSP_QSPI_GetInfo() returns the configuration of the QSPI memory. + (see the QSPI memory data sheet) + (++) Perform erase block operation using the function BSP_QSPI_Erase_Block() and by + specifying the block address. You can perform an erase operation of the whole + chip by calling the function BSP_QSPI_Erase_Chip(). + (++) The function BSP_QSPI_GetStatus() returns the current status of the QSPI memory. + (see the QSPI memory data sheet) + (++) Perform erase sector operation using the function BSP_QSPI_Erase_Sector() + which is not blocking. So the function BSP_QSPI_GetStatus() should be used + to check if the memory is busy, and the functions BSP_QSPI_SuspendErase()/ + BSP_QSPI_ResumeErase() can be used to perform other operations during the + sector erase. + (++) Deep power down of the QSPI memory is managed with the call of the functions + BSP_QSPI_EnterDeepPowerDown()/BSP_QSPI_LeaveDeepPowerDown() + @endverbatim + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_qspi.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_QSPI STM32L496G-DISCOVERY QSPI + * @{ + */ + +/* Private constants --------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_QSPI_Private_Constants Private Constants + * @{ + */ +#define QSPI_QUAD_DISABLE 0x0 +#define QSPI_QUAD_ENABLE 0x1 + +#define QSPI_HIGH_PERF_DISABLE 0x0 +#define QSPI_HIGH_PERF_ENABLE 0x1 +/** + * @} + */ +/* Private variables ---------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_QSPI_Private_Variables Private Variables + * @{ + */ +QSPI_HandleTypeDef QSPIHandle; + +/** + * @} + */ + + +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_QSPI_Private_Functions Private Functions + * @{ + */ +static void QSPI_MspInit(void); +static void QSPI_MspDeInit(void); +static uint8_t QSPI_ResetMemory(QSPI_HandleTypeDef *hqspi); +static uint8_t QSPI_WriteEnable(QSPI_HandleTypeDef *hqspi); +static uint8_t QSPI_AutoPollingMemReady(QSPI_HandleTypeDef *hqspi, uint32_t Timeout); +static uint8_t QSPI_QuadMode(QSPI_HandleTypeDef *hqspi, uint8_t Operation); +static uint8_t QSPI_HighPerfMode(QSPI_HandleTypeDef *hqspi, uint8_t Operation); + +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ + +/** @addtogroup STM32L496G_DISCOVERY_QSPI_Exported_Functions + * @{ + */ + +/** + * @brief Initializes the QSPI interface. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_Init(void) +{ + QSPIHandle.Instance = QUADSPI; + + /* Call the DeInit function to reset the driver */ + if (HAL_QSPI_DeInit(&QSPIHandle) != HAL_OK) + { + return QSPI_ERROR; + } + + /* System level initialization */ + QSPI_MspInit(); + + /* QSPI initialization */ + QSPIHandle.Init.ClockPrescaler = 2; /* QSPI clock = 80MHz / (ClockPrescaler+1) = 26.67MHz */ + QSPIHandle.Init.FifoThreshold = 4; + QSPIHandle.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_HALFCYCLE; + QSPIHandle.Init.FlashSize = POSITION_VAL(MX25R6435F_FLASH_SIZE) - 1; + QSPIHandle.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_1_CYCLE; + QSPIHandle.Init.ClockMode = QSPI_CLOCK_MODE_0; + + if (HAL_QSPI_Init(&QSPIHandle) != HAL_OK) + { + return QSPI_ERROR; + } + + /* QSPI memory reset */ + if (QSPI_ResetMemory(&QSPIHandle) != QSPI_OK) + { + return QSPI_NOT_SUPPORTED; + } + + /* QSPI quad enable */ + if (QSPI_QuadMode(&QSPIHandle, QSPI_QUAD_ENABLE) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* High performance mode enable */ + if (QSPI_HighPerfMode(&QSPIHandle, QSPI_HIGH_PERF_ENABLE) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Re-configure the clock for the high performance mode */ + QSPIHandle.Init.ClockPrescaler = 1; /* QSPI clock = 80MHz / (ClockPrescaler+1) = 40MHz */ + + if (HAL_QSPI_Init(&QSPIHandle) != HAL_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief De-Initializes the QSPI interface. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_DeInit(void) +{ + QSPIHandle.Instance = QUADSPI; + + /* Call the DeInit function to reset the driver */ + if (HAL_QSPI_DeInit(&QSPIHandle) != HAL_OK) + { + return QSPI_ERROR; + } + + /* System level De-initialization */ + QSPI_MspDeInit(); + + return QSPI_OK; +} + +/** + * @brief Reads an amount of data from the QSPI memory. + * @param pData : Pointer to data to be read + * @param ReadAddr : Read start address + * @param Size : Size of data to read + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_Read(uint8_t *pData, uint32_t ReadAddr, uint32_t Size) +{ + QSPI_CommandTypeDef sCommand; + + /* Initialize the read command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = QUAD_INOUT_READ_CMD; + sCommand.AddressMode = QSPI_ADDRESS_4_LINES; + sCommand.AddressSize = QSPI_ADDRESS_24_BITS; + sCommand.Address = ReadAddr; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_4_LINES; + sCommand.AlternateBytesSize = QSPI_ALTERNATE_BYTES_8_BITS; + sCommand.AlternateBytes = MX25R6435F_ALT_BYTES_NO_PE_MODE; + sCommand.DataMode = QSPI_DATA_4_LINES; + sCommand.DummyCycles = MX25R6435F_DUMMY_CYCLES_READ_QUAD; + sCommand.NbData = Size; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Configure the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Reception of the data */ + if (HAL_QSPI_Receive(&QSPIHandle, pData, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief Writes an amount of data to the QSPI memory. + * @param pData : Pointer to data to be written + * @param WriteAddr : Write start address + * @param Size : Size of data to write + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_Write(uint8_t *pData, uint32_t WriteAddr, uint32_t Size) +{ + QSPI_CommandTypeDef sCommand; + uint32_t end_addr, current_size, current_addr; + + /* Calculation of the size between the write address and the end of the page */ + current_size = MX25R6435F_PAGE_SIZE - (WriteAddr % MX25R6435F_PAGE_SIZE); + + /* Check if the size of the data is less than the remaining place in the page */ + if (current_size > Size) + { + current_size = Size; + } + + /* Initialize the address variables */ + current_addr = WriteAddr; + end_addr = WriteAddr + Size; + + /* Initialize the program command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = QUAD_PAGE_PROG_CMD; + sCommand.AddressMode = QSPI_ADDRESS_4_LINES; + sCommand.AddressSize = QSPI_ADDRESS_24_BITS; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_4_LINES; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Perform the write page by page */ + do + { + sCommand.Address = current_addr; + sCommand.NbData = current_size; + + /* Enable write operations */ + if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Configure the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Transmission of the data */ + if (HAL_QSPI_Transmit(&QSPIHandle, pData, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Configure automatic polling mode to wait for end of program */ + if (QSPI_AutoPollingMemReady(&QSPIHandle, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Update the address and size variables for next page programming */ + current_addr += current_size; + pData += current_size; + current_size = ((current_addr + MX25R6435F_PAGE_SIZE) > end_addr) ? (end_addr - current_addr) : MX25R6435F_PAGE_SIZE; + } + while (current_addr < end_addr); + + return QSPI_OK; +} + +/** + * @brief Erases the specified block of the QSPI memory. + * @param BlockAddress : Block address to erase + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_Erase_Block(uint32_t BlockAddress) +{ + QSPI_CommandTypeDef sCommand; + + /* Initialize the erase command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = BLOCK_ERASE_CMD; + sCommand.AddressMode = QSPI_ADDRESS_1_LINE; + sCommand.AddressSize = QSPI_ADDRESS_24_BITS; + sCommand.Address = BlockAddress; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Enable write operations */ + if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Configure automatic polling mode to wait for end of erase */ + if (QSPI_AutoPollingMemReady(&QSPIHandle, MX25R6435F_BLOCK_ERASE_MAX_TIME) != QSPI_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief Erases the specified sector of the QSPI memory. + * @param Sector : Sector address to erase (0 to 255) + * @retval QSPI memory status + * @note This function is non blocking meaning that sector erase + * operation is started but not completed when the function + * returns. Application has to call BSP_QSPI_GetStatus() + * to know when the device is available again (i.e. erase operation + * completed). + */ +uint8_t BSP_QSPI_Erase_Sector(uint32_t Sector) +{ + QSPI_CommandTypeDef sCommand; + + if (Sector >= (uint32_t)(MX25R6435F_FLASH_SIZE / MX25R6435F_SECTOR_SIZE)) + { + return QSPI_ERROR; + } + + /* Initialize the erase command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = SECTOR_ERASE_CMD; + sCommand.AddressMode = QSPI_ADDRESS_1_LINE; + sCommand.AddressSize = QSPI_ADDRESS_24_BITS; + sCommand.Address = (Sector * MX25R6435F_SECTOR_SIZE); + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Enable write operations */ + if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief Erases the entire QSPI memory. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_Erase_Chip(void) +{ + QSPI_CommandTypeDef sCommand; + + /* Initialize the erase command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = CHIP_ERASE_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Enable write operations */ + if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Configure automatic polling mode to wait for end of erase */ + if (QSPI_AutoPollingMemReady(&QSPIHandle, MX25R6435F_CHIP_ERASE_MAX_TIME) != QSPI_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief Reads current status of the QSPI memory. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_GetStatus(void) +{ + QSPI_CommandTypeDef sCommand; + uint8_t reg; + + /* Initialize the read security register command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = READ_SEC_REG_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_1_LINE; + sCommand.DummyCycles = 0; + sCommand.NbData = 1; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Configure the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Reception of the data */ + if (HAL_QSPI_Receive(&QSPIHandle, ®, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Check the value of the register */ + if ((reg & (MX25R6435F_SECR_P_FAIL | MX25R6435F_SECR_E_FAIL)) != 0) + { + return QSPI_ERROR; + } + else if ((reg & (MX25R6435F_SECR_PSB | MX25R6435F_SECR_ESB)) != 0) + { + return QSPI_SUSPENDED; + } + + /* Initialize the read status register command */ + sCommand.Instruction = READ_STATUS_REG_CMD; + + /* Configure the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Reception of the data */ + if (HAL_QSPI_Receive(&QSPIHandle, ®, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Check the value of the register */ + if ((reg & MX25R6435F_SR_WIP) != 0) + { + return QSPI_BUSY; + } + else + { + return QSPI_OK; + } +} + +/** + * @brief Return the configuration of the QSPI memory. + * @param pInfo : pointer on the configuration structure + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_GetInfo(QSPI_Info *pInfo) +{ + /* Configure the structure with the memory configuration */ + pInfo->FlashSize = MX25R6435F_FLASH_SIZE; + pInfo->EraseSectorSize = MX25R6435F_SECTOR_SIZE; + pInfo->EraseSectorsNumber = (MX25R6435F_FLASH_SIZE / MX25R6435F_SECTOR_SIZE); + pInfo->ProgPageSize = MX25R6435F_PAGE_SIZE; + pInfo->ProgPagesNumber = (MX25R6435F_FLASH_SIZE / MX25R6435F_PAGE_SIZE); + + return QSPI_OK; +} + +/** + * @brief Configure the QSPI in memory-mapped mode + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_EnableMemoryMappedMode(void) +{ + QSPI_CommandTypeDef sCommand; + QSPI_MemoryMappedTypeDef sMemMappedCfg; + + /* Configure the command for the read instruction */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = QUAD_INOUT_READ_CMD; + sCommand.AddressMode = QSPI_ADDRESS_4_LINES; + sCommand.AddressSize = QSPI_ADDRESS_24_BITS; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_4_LINES; + sCommand.AlternateBytesSize = QSPI_ALTERNATE_BYTES_8_BITS; + sCommand.AlternateBytes = MX25R6435F_ALT_BYTES_NO_PE_MODE; + sCommand.DataMode = QSPI_DATA_4_LINES; + sCommand.DummyCycles = MX25R6435F_DUMMY_CYCLES_READ_QUAD; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Configure the memory mapped mode */ + sMemMappedCfg.TimeOutActivation = QSPI_TIMEOUT_COUNTER_DISABLE; + + if (HAL_QSPI_MemoryMapped(&QSPIHandle, &sCommand, &sMemMappedCfg) != HAL_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function suspends an ongoing erase command. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_SuspendErase(void) +{ + QSPI_CommandTypeDef sCommand; + + /* Check whether the device is busy (erase operation is + in progress). + */ + if (BSP_QSPI_GetStatus() == QSPI_BUSY) + { + /* Initialize the erase command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = PROG_ERASE_SUSPEND_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (BSP_QSPI_GetStatus() == QSPI_SUSPENDED) + { + return QSPI_OK; + } + + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function resumes a paused erase command. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_ResumeErase(void) +{ + QSPI_CommandTypeDef sCommand; + + /* Check whether the device is in suspended state */ + if (BSP_QSPI_GetStatus() == QSPI_SUSPENDED) + { + /* Initialize the erase command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = PROG_ERASE_RESUME_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* + When this command is executed, the status register write in progress bit is set to 1, and + the flag status register program erase controller bit is set to 0. This command is ignored + if the device is not in a suspended state. + */ + + if (BSP_QSPI_GetStatus() == QSPI_BUSY) + { + return QSPI_OK; + } + + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function enter the QSPI memory in deep power down mode. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_EnterDeepPowerDown(void) +{ + QSPI_CommandTypeDef sCommand; + + /* Initialize the deep power down command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = DEEP_POWER_DOWN_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* --- Memory takes 10us max to enter deep power down --- */ + /* --- At least 30us should be respected before leaving deep power down --- */ + + return QSPI_OK; +} + +/** + * @brief This function leave the QSPI memory from deep power down mode. + * @retval QSPI memory status + */ +uint8_t BSP_QSPI_LeaveDeepPowerDown(void) +{ + QSPI_CommandTypeDef sCommand; + + /* Initialize the erase command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = NO_OPERATION_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* --- A NOP command is sent to the memory, as the nCS should be low for at least 20 ns --- */ + /* --- Memory takes 35us min to leave deep power down --- */ + + return QSPI_OK; +} +/** + * @} + */ + +/** @addtogroup STM32L496G_DISCOVERY_QSPI_Private_Functions + * @{ + */ + +/** + * @brief Initializes the QSPI MSP. + * @retval None + */ +static void QSPI_MspInit(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* Enable the QuadSPI memory interface clock */ + __HAL_RCC_QSPI_CLK_ENABLE(); + + /* Reset the QuadSPI memory interface */ + __HAL_RCC_QSPI_FORCE_RESET(); + __HAL_RCC_QSPI_RELEASE_RESET(); + + /* Enable GPIO clocks */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /* QSPI CS GPIO pin configuration */ + GPIO_InitStruct.Pin = GPIO_PIN_11; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* QSPI CLK, D0, D1, D2 and D3 GPIO pins configuration */ + GPIO_InitStruct.Pin = (GPIO_PIN_3 | GPIO_PIN_6 | GPIO_PIN_7); + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = (GPIO_PIN_0 | GPIO_PIN_1); + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); +} + +/** + * @brief De-Initializes the QSPI MSP. + * @retval None + */ +static void QSPI_MspDeInit(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + /* QSPI CLK, CS, D0-D3 GPIO pins de-configuration */ + + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + HAL_GPIO_DeInit(GPIOA, (GPIO_PIN_6 | GPIO_PIN_7)); + HAL_GPIO_DeInit(GPIOB, (GPIO_PIN_0 | GPIO_PIN_1)); + + /* Set GPIOB pin 11 in pull up mode (optimum default setting) */ + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pin = GPIO_PIN_11; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* Set GPIOA pin 3 in no pull, low state (optimum default setting) */ + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP ; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Pin = GPIO_PIN_3; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_RESET); + + /* Reset the QuadSPI memory interface */ + __HAL_RCC_QSPI_FORCE_RESET(); + __HAL_RCC_QSPI_RELEASE_RESET(); + + /* Disable the QuadSPI memory interface clock */ + __HAL_RCC_QSPI_CLK_DISABLE(); +} + +/** + * @brief This function reset the QSPI memory. + * @param hqspi : QSPI handle + * @retval None + */ +static uint8_t QSPI_ResetMemory(QSPI_HandleTypeDef *hqspi) +{ + QSPI_CommandTypeDef sCommand; + + /* Initialize the reset enable command */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = RESET_ENABLE_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + /* Send the command */ + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Send the reset memory command */ + sCommand.Instruction = RESET_MEMORY_CMD; + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Configure automatic polling mode to wait the memory is ready */ + if (QSPI_AutoPollingMemReady(&QSPIHandle, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != QSPI_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function send a Write Enable and wait it is effective. + * @param hqspi : QSPI handle + * @retval None + */ +static uint8_t QSPI_WriteEnable(QSPI_HandleTypeDef *hqspi) +{ + QSPI_CommandTypeDef sCommand; + QSPI_AutoPollingTypeDef sConfig; + + /* Enable write operations */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = WRITE_ENABLE_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_NONE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Configure automatic polling mode to wait for write enabling */ + sConfig.Match = MX25R6435F_SR_WEL; + sConfig.Mask = MX25R6435F_SR_WEL; + sConfig.MatchMode = QSPI_MATCH_MODE_AND; + sConfig.StatusBytesSize = 1; + sConfig.Interval = 0x10; + sConfig.AutomaticStop = QSPI_AUTOMATIC_STOP_ENABLE; + + sCommand.Instruction = READ_STATUS_REG_CMD; + sCommand.DataMode = QSPI_DATA_1_LINE; + + if (HAL_QSPI_AutoPolling(&QSPIHandle, &sCommand, &sConfig, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function read the SR of the memory and wait the EOP. + * @param hqspi : QSPI handle + * @param Timeout : Timeout for auto-polling + * @retval None + */ +static uint8_t QSPI_AutoPollingMemReady(QSPI_HandleTypeDef *hqspi, uint32_t Timeout) +{ + QSPI_CommandTypeDef sCommand; + QSPI_AutoPollingTypeDef sConfig; + + /* Configure automatic polling mode to wait for memory ready */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = READ_STATUS_REG_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_1_LINE; + sCommand.DummyCycles = 0; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + sConfig.Match = 0; + sConfig.Mask = MX25R6435F_SR_WIP; + sConfig.MatchMode = QSPI_MATCH_MODE_AND; + sConfig.StatusBytesSize = 1; + sConfig.Interval = 0x10; + sConfig.AutomaticStop = QSPI_AUTOMATIC_STOP_ENABLE; + + if (HAL_QSPI_AutoPolling(&QSPIHandle, &sCommand, &sConfig, Timeout) != HAL_OK) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function enables/disables the Quad mode of the memory. + * @param hqspi : QSPI handle + * @param Operation : QSPI_QUAD_ENABLE or QSPI_QUAD_DISABLE mode + * @retval None + */ +static uint8_t QSPI_QuadMode(QSPI_HandleTypeDef *hqspi, uint8_t Operation) +{ + QSPI_CommandTypeDef sCommand; + uint8_t reg; + + /* Read status register */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = READ_STATUS_REG_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_1_LINE; + sCommand.DummyCycles = 0; + sCommand.NbData = 1; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Receive(&QSPIHandle, ®, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Enable write operations */ + if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Activate/deactivate the Quad mode */ + if (Operation == QSPI_QUAD_ENABLE) + { + SET_BIT(reg, MX25R6435F_SR_QE); + } + else + { + CLEAR_BIT(reg, MX25R6435F_SR_QE); + } + + sCommand.Instruction = WRITE_STATUS_CFG_REG_CMD; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Transmit(&QSPIHandle, ®, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Wait that memory is ready */ + if (QSPI_AutoPollingMemReady(&QSPIHandle, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Check the configuration has been correctly done */ + sCommand.Instruction = READ_STATUS_REG_CMD; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Receive(&QSPIHandle, ®, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if ((((reg & MX25R6435F_SR_QE) == 0) && (Operation == QSPI_QUAD_ENABLE)) || + (((reg & MX25R6435F_SR_QE) != 0) && (Operation == QSPI_QUAD_DISABLE))) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @brief This function enables/disables the high performance mode of the memory. + * @param hqspi : QSPI handle + * @param Operation : QSPI_HIGH_PERF_ENABLE or QSPI_HIGH_PERF_DISABLE high performance mode + * @retval None + */ +static uint8_t QSPI_HighPerfMode(QSPI_HandleTypeDef *hqspi, uint8_t Operation) +{ + QSPI_CommandTypeDef sCommand; + uint8_t reg[3]; + + /* Read status register */ + sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; + sCommand.Instruction = READ_STATUS_REG_CMD; + sCommand.AddressMode = QSPI_ADDRESS_NONE; + sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; + sCommand.DataMode = QSPI_DATA_1_LINE; + sCommand.DummyCycles = 0; + sCommand.NbData = 1; + sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; + sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; + sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Receive(&QSPIHandle, &(reg[0]), HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Read configuration registers */ + sCommand.Instruction = READ_CFG_REG_CMD; + sCommand.NbData = 2; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Receive(&QSPIHandle, &(reg[1]), HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Enable write operations */ + if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Activate/deactivate the Quad mode */ + if (Operation == QSPI_HIGH_PERF_ENABLE) + { + SET_BIT(reg[2], MX25R6435F_CR2_LH_SWITCH); + } + else + { + CLEAR_BIT(reg[2], MX25R6435F_CR2_LH_SWITCH); + } + + sCommand.Instruction = WRITE_STATUS_CFG_REG_CMD; + sCommand.NbData = 3; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Transmit(&QSPIHandle, &(reg[0]), HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + /* Wait that memory is ready */ + if (QSPI_AutoPollingMemReady(&QSPIHandle, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != QSPI_OK) + { + return QSPI_ERROR; + } + + /* Check the configuration has been correctly done */ + sCommand.Instruction = READ_CFG_REG_CMD; + sCommand.NbData = 2; + + if (HAL_QSPI_Command(&QSPIHandle, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if (HAL_QSPI_Receive(&QSPIHandle, &(reg[0]), HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) + { + return QSPI_ERROR; + } + + if ((((reg[1] & MX25R6435F_CR2_LH_SWITCH) == 0) && (Operation == QSPI_HIGH_PERF_ENABLE)) || + (((reg[1] & MX25R6435F_CR2_LH_SWITCH) != 0) && (Operation == QSPI_HIGH_PERF_DISABLE))) + { + return QSPI_ERROR; + } + + return QSPI_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.h new file mode 100644 index 0000000..5d1ab3b --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_qspi.h @@ -0,0 +1,119 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_qspi.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_discovery_qspi.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_QSPI_H +#define __STM32L496G_DISCOVERY_QSPI_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l4xx_hal.h" +#include "../Components/mx25r6435f/mx25r6435f.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_QSPI + * @{ + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_QSPI_Exported_Constants Exported Constants + * @{ + */ +/* QSPI Error codes */ +#define QSPI_OK ((uint8_t)0x00) +#define QSPI_ERROR ((uint8_t)0x01) +#define QSPI_BUSY ((uint8_t)0x02) +#define QSPI_NOT_SUPPORTED ((uint8_t)0x04) +#define QSPI_SUSPENDED ((uint8_t)0x08) + +/** + * @} + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_QSPI_Exported_Types Exported Types + * @{ + */ +/* QSPI Info */ +typedef struct +{ + uint32_t FlashSize; /*!< Size of the flash */ + uint32_t EraseSectorSize; /*!< Size of sectors for the erase operation */ + uint32_t EraseSectorsNumber; /*!< Number of sectors for the erase operation */ + uint32_t ProgPageSize; /*!< Size of pages for the program operation */ + uint32_t ProgPagesNumber; /*!< Number of pages for the program operation */ +} QSPI_Info; + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup STM32L496G_DISCOVERY_QSPI_Exported_Functions Exported Functions + * @{ + */ +uint8_t BSP_QSPI_Init(void); +uint8_t BSP_QSPI_DeInit(void); +uint8_t BSP_QSPI_Read(uint8_t *pData, uint32_t ReadAddr, uint32_t Size); +uint8_t BSP_QSPI_Write(uint8_t *pData, uint32_t WriteAddr, uint32_t Size); +uint8_t BSP_QSPI_Erase_Block(uint32_t BlockAddress); +uint8_t BSP_QSPI_Erase_Sector(uint32_t Sector); +uint8_t BSP_QSPI_Erase_Chip(void); +uint8_t BSP_QSPI_GetStatus(void); +uint8_t BSP_QSPI_GetInfo(QSPI_Info *pInfo); +uint8_t BSP_QSPI_EnableMemoryMappedMode(void); +uint8_t BSP_QSPI_SuspendErase(void); +uint8_t BSP_QSPI_ResumeErase(void); +uint8_t BSP_QSPI_EnterDeepPowerDown(void); +uint8_t BSP_QSPI_LeaveDeepPowerDown(void); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_QSPI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.c new file mode 100644 index 0000000..0b064f9 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.c @@ -0,0 +1,716 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_sd.c + * @author MCD Application Team + * @brief This file includes the uSD card driver. + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + (#) This driver is used to drive the micro SD external card mounted on STM32L496G-DISCOVERY + evaluation board. + + (#) This driver does not need a specific component driver for the micro SD device + to be included with. + + (#) Initialization steps: + (++) Initialize the micro SD card using the BSP_SD_Init() function. This + function includes the MSP layer hardware resources initialization and the + SDMMC1 interface configuration to interface with the external micro SD. It + also includes the micro SD initialization sequence. + (++) To check the SD card presence you can use the function BSP_SD_IsDetected() which + returns the detection status. + (++) The function BSP_SD_GetCardInfo() is used to get the micro SD card information + which is stored in the structure "HAL_SD_CardInfoTypedef". + + (#) Micro SD card operations + (++) The micro SD card can be accessed with read/write block(s) operations once + it is reay for access. The access cand be performed whether using the polling + mode by calling the functions BSP_SD_ReadBlocks()/BSP_SD_WriteBlocks(), or by DMA + transfer using the functions BSP_SD_ReadBlocks_DMA()/BSP_SD_WriteBlocks_DMA() + (++) The DMA transfer complete is used with interrupt mode. Once the SD transfer + is complete, the SD interrupt is handled using the function BSP_SD_IRQHandler(), + the DMA Tx/Rx transfer complete are handled using the functions + BSP_SD_DMA_Tx_IRQHandler()/BSP_SD_DMA_Rx_IRQHandler(). The corresponding user callbacks + are implemented by the user at application level. + (++) The SD erase block(s) is performed using the function BSP_SD_Erase() with specifying + the number of blocks to erase. + (++) The SD runtime status is returned when calling the function BSP_SD_GetStatus(). + [..] + @endverbatim + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_io.h" +#include "stm32l496g_discovery_sd.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_SD STM32L496G_DISCOVERY SD + * @{ + */ + +/* Private variables ---------------------------------------------------------*/ + +/** @defgroup STM32L496G_SD_Private_Variables Private Variables + * @{ + */ +SD_HandleTypeDef uSdHandle; +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SD_Private_Functions Private Functions + * @{ + */ +static void SD_Detect_MspInit(void); +static void SD_Detect_MspDeInit(void); +static HAL_StatusTypeDef SD_DMAConfigRx(SD_HandleTypeDef *hsd); +static HAL_StatusTypeDef SD_DMAConfigTx(SD_HandleTypeDef *hsd); + +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ + +/** @addtogroup STM32L496G_DISCOVERY_SD_Exported_Functions + * @{ + */ + +/** + * @brief Initializes the SD card device. + * @param None + * @retval SD status + */ +uint8_t BSP_SD_Init(void) +{ + uint8_t sd_state = MSD_OK; + + /* uSD device interface configuration */ + uSdHandle.Instance = SDMMC1; + uSdHandle.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; + uSdHandle.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; + uSdHandle.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; + uSdHandle.Init.BusWide = SDMMC_BUS_WIDE_1B; + uSdHandle.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_ENABLE; + uSdHandle.Init.ClockDiv = SDMMC_TRANSFER_CLK_DIV; + + /* Msp SD Detect pin initialization */ + SD_Detect_MspInit(); + + /* Check if the SD card is plugged in the slot */ + if (BSP_SD_IsDetected() != SD_PRESENT) + { + return MSD_ERROR_SD_NOT_PRESENT; + } + + /* Msp SD initialization */ + BSP_SD_MspInit(&uSdHandle, NULL); + + /* HAL SD initialization */ + if (HAL_SD_Init(&uSdHandle) != HAL_OK) + { + sd_state = MSD_ERROR; + } + + /* Configure SD Bus width */ + if (sd_state == MSD_OK) + { + /* Enable wide operation */ + if (HAL_SD_ConfigWideBusOperation(&uSdHandle, SDMMC_BUS_WIDE_4B) != HAL_OK) + { + sd_state = MSD_ERROR; + } + else + { + sd_state = MSD_OK; + } + } + + return sd_state; +} + +/** + * @brief DeInitializes the SD card device. + * @param None + * @retval SD status + */ +uint8_t BSP_SD_DeInit(void) +{ + uint8_t sd_state = MSD_OK; + + uSdHandle.Instance = SDMMC1; + /* HAL SD deinitialization */ + if (HAL_SD_DeInit(&uSdHandle) != HAL_OK) + { + sd_state = MSD_ERROR; + } + + /* Msp SD deinitialization */ + BSP_SD_MspDeInit(&uSdHandle, NULL); + + SD_Detect_MspDeInit(); + + return sd_state; +} + +/** + * @brief Configures Interrupt mode for SD detection pin. + * @param None + * @retval IO_OK: if all initializations are OK. Other value if error. + */ +uint8_t BSP_SD_ITConfig(void) +{ + /* Check SD card detect pin */ + if (BSP_IO_ReadPin(SD_DETECT_PIN) != SD_DETECT_PIN) + { + return BSP_IO_ConfigPin(SD_DETECT_PIN, IO_MODE_IT_RISING_EDGE_PU); + } + else + { + return BSP_IO_ConfigPin(SD_DETECT_PIN, IO_MODE_IT_FALLING_EDGE_PU); + } +} + + + +/** + * @brief Detects if SD card is correctly plugged in the memory slot or not. + * @param None + * @retval Returns if SD is detected or not + */ +uint8_t BSP_SD_IsDetected(void) +{ + __IO uint8_t status = SD_PRESENT; + + /* Check SD card detect pin */ + if (BSP_IO_ReadPin(SD_DETECT_PIN) != GPIO_PIN_RESET) + { + status = SD_NOT_PRESENT; + } + + return status; +} + +/** + * @brief Reads block(s) from a specified address in an SD card, in polling mode. + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param ReadAddr: Address from where data is to be read + * @param NumOfBlocks: Number of SD blocks to read + * @param Timeout: Timeout for read operation + * @retval SD status + */ +uint8_t BSP_SD_ReadBlocks(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks, uint32_t Timeout) +{ + HAL_StatusTypeDef sd_state = HAL_OK; + + sd_state = HAL_SD_ReadBlocks(&uSdHandle, (uint8_t *)pData, ReadAddr, NumOfBlocks, Timeout); + + if (sd_state == HAL_OK) + { + return MSD_OK; + } + else + { + return MSD_ERROR; + } +} + +/** + * @brief Writes block(s) to a specified address in an SD card, in polling mode. + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param WriteAddr: Address from where data is to be written + * @param NumOfBlocks: Number of SD blocks to write + * @param Timeout: Timeout for write operation + * @retval SD status + */ +uint8_t BSP_SD_WriteBlocks(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks, uint32_t Timeout) +{ + HAL_StatusTypeDef sd_state = HAL_OK; + + sd_state = HAL_SD_WriteBlocks(&uSdHandle, (uint8_t *)pData, WriteAddr, NumOfBlocks, Timeout); + + if (sd_state == HAL_OK) + { + return MSD_OK; + } + else + { + return MSD_ERROR; + } +} + +/** + * @brief Reads block(s) from a specified address in an SD card, in DMA mode. + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param ReadAddr: Address from where data is to be read + * @param NumOfBlocks: Number of SD blocks to read + * @retval SD status + */ +uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks) +{ + HAL_StatusTypeDef sd_state = HAL_OK; + + /* Invalidate the dma tx handle*/ + uSdHandle.hdmatx = NULL; + + /* Prepare the dma channel for a read operation */ + sd_state = SD_DMAConfigRx(&uSdHandle); + + if (sd_state == HAL_OK) + { + /* Read block(s) in DMA transfer mode */ + sd_state = HAL_SD_ReadBlocks_DMA(&uSdHandle, (uint8_t *)pData, ReadAddr, NumOfBlocks); + } + + if (sd_state == HAL_OK) + { + return MSD_OK; + } + else + { + return MSD_ERROR; + } +} + +/** + * @brief Writes block(s) to a specified address in an SD card, in DMA mode. + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param WriteAddr: Address from where data is to be written + * @param NumOfBlocks: Number of SD blocks to write + * @retval SD status + */ +uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks) +{ + HAL_StatusTypeDef sd_state = HAL_OK; + + /* Invalidate the dma rx handle*/ + uSdHandle.hdmarx = NULL; + + /* Prepare the dma channel for a read operation */ + sd_state = SD_DMAConfigTx(&uSdHandle); + + if (sd_state == HAL_OK) + { + /* Write block(s) in DMA transfer mode */ + sd_state = HAL_SD_WriteBlocks_DMA(&uSdHandle, (uint8_t *)pData, WriteAddr, NumOfBlocks); + } + + if (sd_state == HAL_OK) + { + return MSD_OK; + } + else + { + return MSD_ERROR; + } +} + +/** + * @brief Erases the specified memory area of the given SD card. + * @param StartAddr: Start byte address + * @param EndAddr: End byte address + * @retval SD status + */ +uint8_t BSP_SD_Erase(uint32_t StartAddr, uint32_t EndAddr) +{ + HAL_StatusTypeDef sd_state = HAL_OK; + + sd_state = HAL_SD_Erase(&uSdHandle, StartAddr, EndAddr); + + if (sd_state == HAL_OK) + { + return MSD_OK; + } + else + { + return MSD_ERROR; + } +} + +/** + * @brief Handles SD card interrupt request. + * @retval None + */ +void BSP_SD_IRQHandler(void) +{ + HAL_SD_IRQHandler(&uSdHandle); +} + +/** + * @brief Handles SD DMA Tx transfer interrupt request. + * @retval None + */ +void BSP_SD_DMA_Tx_IRQHandler(void) +{ + HAL_DMA_IRQHandler(uSdHandle.hdmatx); +} + +/** + * @brief Handles SD DMA Rx transfer interrupt request. + * @retval None + */ +void BSP_SD_DMA_Rx_IRQHandler(void) +{ + HAL_DMA_IRQHandler(uSdHandle.hdmarx); +} + +/** + * @brief Gets the current SD card data status. + * @param None + * @retval Data transfer state. + */ +uint8_t BSP_SD_GetCardState(void) +{ + HAL_SD_CardStateTypedef card_state; + card_state = HAL_SD_GetCardState(&uSdHandle); + + if (card_state == HAL_SD_CARD_TRANSFER) + { + return (SD_TRANSFER_OK); + } + else if ((card_state == HAL_SD_CARD_SENDING) || + (card_state == HAL_SD_CARD_RECEIVING) || + (card_state == HAL_SD_CARD_PROGRAMMING)) + { + return (SD_TRANSFER_BUSY); + } + else + { + return (SD_TRANSFER_ERROR); + } +} + +/** + * @brief Get SD information about specific SD card. + * @param CardInfo: Pointer to HAL_SD_CardInfoTypedef structure + * @retval None + */ +void BSP_SD_GetCardInfo(BSP_SD_CardInfo *CardInfo) +{ + /* Get SD card Information */ + HAL_SD_GetCardInfo(&uSdHandle, CardInfo); +} + +/** + * @brief Initializes the SD MSP. + * @note The SDMMC clock configuration done within this function assumes that + * the PLLSAI1 input clock runs at 8 MHz. + * @param hsd: SD handle + * @param Params: Additional parameters + * @retval None + */ +__weak void BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params) +{ + GPIO_InitTypeDef gpioinitstruct = {0}; + RCC_PeriphCLKInitTypeDef RCC_PeriphClkInit; + + /* Prevent unused argument(s) compilation warning */ + UNUSED(Params); + + HAL_RCCEx_GetPeriphCLKConfig(&RCC_PeriphClkInit); + + /* Configure the SDMMC1 clock source. The clock is derived from the PLLSAI1 */ + /* Hypothesis is that PLLSAI1 VCO input is 8Mhz */ + RCC_PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_SDMMC1; + RCC_PeriphClkInit.PLLSAI1.PLLSAI1N = 24; + RCC_PeriphClkInit.PLLSAI1.PLLSAI1Q = 4; + RCC_PeriphClkInit.PLLSAI1.PLLSAI1ClockOut = RCC_PLLSAI1_48M2CLK; + RCC_PeriphClkInit.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_PLLSAI1; + if (HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInit) != HAL_OK) + { + while (1) {} + } + + /* Enable SDMMC1 clock */ + __HAL_RCC_SDMMC1_CLK_ENABLE(); + + /* Enable DMA2 clocks */ + SD_DMAx_CLK_ENABLE(); + + /* Enable GPIOs clock */ + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /* Common GPIO configuration */ + gpioinitstruct.Mode = GPIO_MODE_AF_PP; + gpioinitstruct.Pull = GPIO_NOPULL; + gpioinitstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + gpioinitstruct.Alternate = GPIO_AF12_SDMMC1; + + /* GPIOC configuration */ + gpioinitstruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12; + + HAL_GPIO_Init(GPIOC, &gpioinitstruct); + + /* GPIOD configuration */ + gpioinitstruct.Pin = GPIO_PIN_2; + HAL_GPIO_Init(GPIOD, &gpioinitstruct); + + /* NVIC configuration for SDMMC1 interrupts */ + HAL_NVIC_SetPriority(SDMMCx_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(SDMMCx_IRQn); + + /* DMA initialization should be done here but , as there is only one channel for RX and TX it is configured and done directly when required*/ +} + +/** + * @brief De-Initializes the SD MSP. + * @param hsd: SD handle + * @param Params: Additional parameters + * @retval None + */ +__weak void BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params) +{ + GPIO_InitTypeDef gpioinitstruct = {0}; + + /* Prevent unused argument(s) compilation warning */ + UNUSED(Params); + + /* Enable SDMMC1 clock */ + __HAL_RCC_SDMMC1_CLK_DISABLE(); + + /* Enable DMA2 clocks */ + SD_DMAx_CLK_DISABLE(); + + /* Enable GPIOs clock */ + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /* Common GPIO configuration */ + gpioinitstruct.Mode = GPIO_MODE_ANALOG; + gpioinitstruct.Pull = GPIO_NOPULL; + gpioinitstruct.Speed = GPIO_SPEED_FREQ_LOW; + gpioinitstruct.Alternate = 0; + + /* GPIOC configuration */ + gpioinitstruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12; + + HAL_GPIO_Init(GPIOC, &gpioinitstruct); + + /* GPIOD configuration */ + gpioinitstruct.Pin = GPIO_PIN_2; + HAL_GPIO_Init(GPIOD, &gpioinitstruct); + + /* NVIC configuration for SDMMC1 interrupts */ + HAL_NVIC_DisableIRQ(SDMMCx_IRQn); + +} + +/** + * @brief BSP SD Abort callback + * @retval None + */ +__weak void BSP_SD_AbortCallback(void) +{ + +} + +/** + * @brief BSP Tx Transfer completed callback + * @retval None + */ +__weak void BSP_SD_WriteCpltCallback(void) +{ + +} + +/** + * @brief BSP Rx Transfer completed callback + * @retval None + */ +__weak void BSP_SD_ReadCpltCallback(void) +{ + +} + +/** + * @brief SD Abort callback + * @param hsd: SD handle + * @retval None + */ +void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) +{ + BSP_SD_AbortCallback(); +} + +/** + * @brief Tx Transfer completed callback + * @param hsd: SD handle + * @retval None + */ +void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) +{ + BSP_SD_WriteCpltCallback(); +} + +/** + * @brief Rx Transfer completed callback + * @param hsd: SD handle + * @retval None + */ +void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) +{ + BSP_SD_ReadCpltCallback(); +} + +/** + * @} + */ + + +/** @addtogroup STM32L496G_DISCOVERY_SD_Private_Functions + * @{ + */ + +/** + * @brief Initializes the SD Detect pin MSP. + * @param hsd: SD handle + * @param Params + * @retval None + */ +static void SD_Detect_MspInit(void) +{ + if (BSP_IO_Init() == IO_ERROR) + { + BSP_ErrorHandler(); + } + BSP_IO_ConfigPin(SD_DETECT_PIN, IO_MODE_INPUT_PU); +} + +/** + * @brief Initializes the SD Detect pin MSP. + * @param hsd: SD handle + * @param Params + * @retval None + */ +static void SD_Detect_MspDeInit(void) +{ + /* Disable all interrupts */ + /*HAL_NVIC_DisableIRQ(MFX_INT_EXTI_IRQn);*/ + + if (BSP_IO_Init() == IO_ERROR) + { + BSP_ErrorHandler(); + } + BSP_IO_ConfigPin(SD_DETECT_PIN, IO_MODE_ANALOG); +} + +/** + * @brief Configure the DMA to receive data from the SD card + * @retval + * HAL_ERROR or HAL_OK + */ +static HAL_StatusTypeDef SD_DMAConfigRx(SD_HandleTypeDef *hsd) +{ + static DMA_HandleTypeDef hdma_rx; + HAL_StatusTypeDef status = HAL_ERROR; + + /* Configure DMA Rx parameters */ + hdma_rx.Init.Request = DMA_REQUEST_7; + hdma_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; + hdma_rx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; + hdma_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH; + + hdma_rx.Instance = SD_DMAx_STREAM; + + /* Associate the DMA handle */ + __HAL_LINKDMA(hsd, hdmarx, hdma_rx); + + /* Stop any ongoing transfer and reset the state*/ + HAL_DMA_Abort(&hdma_rx); + + /* Deinitialize the Channel for new transfer */ + HAL_DMA_DeInit(&hdma_rx); + + /* Configure the DMA Channel */ + status = HAL_DMA_Init(&hdma_rx); + + /* NVIC configuration for DMA transfer complete interrupt */ + HAL_NVIC_SetPriority(SD_DMAx_IRQn, 6, 0); + HAL_NVIC_EnableIRQ(SD_DMAx_IRQn); + + return (status); +} + +/** + * @brief Configure the DMA to transmit data to the SD card + * @retval + * HAL_ERROR or HAL_OK + */ +static HAL_StatusTypeDef SD_DMAConfigTx(SD_HandleTypeDef *hsd) +{ + static DMA_HandleTypeDef hdma_tx; + HAL_StatusTypeDef status; + + /* Configure DMA Tx parameters */ + hdma_tx.Init.Request = DMA_REQUEST_7; + hdma_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; + hdma_tx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; + hdma_tx.Init.Priority = DMA_PRIORITY_VERY_HIGH; + + hdma_tx.Instance = SD_DMAx_STREAM; + + /* Associate the DMA handle */ + __HAL_LINKDMA(hsd, hdmatx, hdma_tx); + + /* Stop any ongoing transfer and reset the state*/ + HAL_DMA_Abort(&hdma_tx); + + /* Deinitialize the Channel for new transfer */ + HAL_DMA_DeInit(&hdma_tx); + + /* Configure the DMA Channel */ + status = HAL_DMA_Init(&hdma_tx); + + /* NVIC configuration for DMA transfer complete interrupt */ + HAL_NVIC_SetPriority(SD_DMAx_IRQn, 6, 0); + HAL_NVIC_EnableIRQ(SD_DMAx_IRQn); + + return (status); +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.h new file mode 100644 index 0000000..934330e --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sd.h @@ -0,0 +1,149 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_sd.h + * @author MCD Application Team + * @brief This file includes the uSD card driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_SD_H +#define __STM32L496G_DISCOVERY_SD_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l4xx_hal.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY_SD + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SD_Exported_Types Exported Types + * @{ + */ + +/** + * @brief SD Card information structure + */ +#define BSP_SD_CardInfo HAL_SD_CardInfoTypeDef +/** + * @} + */ + +/** + * @brief SD status structure definition + */ +#define MSD_OK ((uint8_t)0x00) +#define MSD_ERROR ((uint8_t)0x01) +#define MSD_ERROR_SD_NOT_PRESENT ((uint8_t)0x02) + +/** + * @brief SD transfer state definition + */ +#define SD_TRANSFER_OK ((uint8_t)0x00) +#define SD_TRANSFER_BUSY ((uint8_t)0x01) +#define SD_TRANSFER_ERROR ((uint8_t)0x02) + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SD_Exported_Constants Exported Constants + * @{ + */ +#define SD_DETECT_PIN IO1_PIN_8 + +#define SD_DATATIMEOUT ((uint32_t)100000000) + +#define SD_PRESENT ((uint8_t)0x01) +#define SD_NOT_PRESENT ((uint8_t)0x00) + +/* SD IRQ handler */ +#define SDMMCx_IRQHandler SDMMC1_IRQHandler +#define SDMMCx_IRQn SDMMC1_IRQn + + +/* DMA definitions for SD DMA transfer */ +#define SD_DMAx_CLK_ENABLE __HAL_RCC_DMA2_CLK_ENABLE +#define SD_DMAx_CLK_DISABLE __HAL_RCC_DMA2_CLK_DISABLE +#define SD_DMAx_STREAM DMA2_Channel5 +#define SD_DMAx_IRQn DMA2_Channel5_IRQn +#define SD_DMAx_IRQHandler DMA2_Channel5_IRQHandler + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SD_Exported_Functions Exported Functions + * @{ + */ +uint8_t BSP_SD_Init(void); +uint8_t BSP_SD_DeInit(void); +uint8_t BSP_SD_ITConfig(void); +uint8_t BSP_SD_ReadBlocks(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks, uint32_t Timeout); +uint8_t BSP_SD_WriteBlocks(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks, uint32_t Timeout); +uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks); +uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks); +uint8_t BSP_SD_Erase(uint32_t StartAddr, uint32_t EndAddr); +void BSP_SD_IRQHandler(void); +void BSP_SD_DMA_Tx_IRQHandler(void); +void BSP_SD_DMA_Rx_IRQHandler(void); +uint8_t BSP_SD_GetCardState(void); +void BSP_SD_GetCardInfo(BSP_SD_CardInfo *CardInfo); +uint8_t BSP_SD_IsDetected(void); + +/* These __weak functions can be surcharged by application code in case the current settings + (eg. interrupt priority, callbacks implementation) need to be changed for specific application needs */ +void BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params); +void BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params); +void BSP_SD_AbortCallback(void); +void BSP_SD_WriteCpltCallback(void); +void BSP_SD_ReadCpltCallback(void); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_SD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.c new file mode 100644 index 0000000..e180154 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.c @@ -0,0 +1,358 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_sram.c + * @author MCD Application Team + * @brief This file provides a set of functions needed to drive the + * IS66WV51216EBLL SRAM memory mounted on STM32L496G-Discovery board. + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) This driver is used to drive the IS66WV51216EBLL-70BLI SRAM external memory mounted + on STM32L496G-Discovery evaluation board. + + (#) This driver does not need a specific component driver for the SRAM device + to be included with. + + (#) Initialization steps: + (++) Initialize the SRAM external memory using the BSP_SRAM_Init() function. This + function includes the MSP layer hardware resources initialization and the + FMC controller configuration to interface with the external SRAM memory. + + (#) SRAM read/write operations + (++) SRAM external memory can be accessed with read/write operations once it is + initialized. + Read/write operation can be performed with AHB access using the functions + BSP_SRAM_ReadData()/BSP_SRAM_WriteData(), or by DMA transfer using the functions + BSP_SRAM_ReadData_DMA()/BSP_SRAM_WriteData_DMA(). + (++) The AHB access is performed with 16-bit width transaction, the DMA transfer + configuration is fixed at single (no burst) halfword transfer + (see the SRAM_MspInit() static function). + (++) User can implement his own functions for read/write access with his desired + configurations. + (++) If interrupt mode is used for DMA transfer, the function BSP_SRAM_DMA_IRQHandler() + is called in IRQ handler file, to serve the generated interrupt once the DMA + transfer is complete. + @endverbatim + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery_sram.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G_DISCOVERY_SRAM STM32L496G-DISCOVERY SRAM + * @{ + */ + + +/* Private variables ---------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SRAM_Private_Variables Private Variables + * @{ + */ +static SRAM_HandleTypeDef sramHandle; +static FMC_NORSRAM_TimingTypeDef Timing; + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SRAM_Private_Constants Private Constants + * @{ + */ +/* Timings for SRAM IS66WV51216EBLL-70BLI */ +#define SRAM_ADDR_SETUP_TIME 5 /* 60ns with a clock at 80 MHz (period of 12.5 ns) */ +#define SRAM_DATA_SETUP_TIME 3 /* 30ns with a clock at 80 MHz (period of 12.5 ns) */ +#define SRAM_TURN_AROUND_TIME 1 /* 5ns with a clock at 80 MHz (perido of 12.5 ns) */ + +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SRAM_Private_Functions Private Functions + * @{ + */ +static void SRAM_MspInit(void); + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SRAM_Exported_Functions Exported Functions + * @{ + */ + +/** + * @brief Initializes the SRAM device. + * @retval SRAM status + */ +uint8_t BSP_SRAM_Init(void) +{ + sramHandle.Instance = FMC_NORSRAM_DEVICE; + sramHandle.Extended = FMC_NORSRAM_EXTENDED_DEVICE; + + /* SRAM device configuration */ + Timing.AddressSetupTime = SRAM_ADDR_SETUP_TIME; + Timing.DataSetupTime = SRAM_DATA_SETUP_TIME; + Timing.BusTurnAroundDuration = SRAM_TURN_AROUND_TIME; + Timing.AccessMode = FMC_ACCESS_MODE_A; + + sramHandle.Init.NSBank = FMC_NORSRAM_BANK2; + sramHandle.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE; + sramHandle.Init.MemoryType = FMC_MEMORY_TYPE_SRAM; + sramHandle.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16; + sramHandle.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE; + sramHandle.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE; + sramHandle.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE; + sramHandle.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE; + sramHandle.Init.WriteBurst = FMC_WRITE_BURST_DISABLE; + sramHandle.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY; + sramHandle.Init.WriteFifo = FMC_WRITE_FIFO_DISABLE; + sramHandle.Init.PageSize = FMC_PAGE_SIZE_NONE; + + /* SRAM controller initialization */ + SRAM_MspInit(); + if (HAL_SRAM_Init(&sramHandle, &Timing, &Timing) != HAL_OK) + { + return SRAM_ERROR; + } + else + { + return SRAM_OK; + } +} + +/** + * @brief Reads an amount of data from the SRAM device in polling mode. + * @param uwStartAddress: Read start address + * @param pData: Pointer to data to be read + * @param uwDataSize: Size of read data from the memory + * @retval SRAM status + */ +uint8_t BSP_SRAM_ReadData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize) +{ + if (HAL_SRAM_Read_16b(&sramHandle, (uint32_t *)uwStartAddress, pData, uwDataSize) != HAL_OK) + { + return SRAM_ERROR; + } + else + { + return SRAM_OK; + } +} + +/** + * @brief Reads an amount of data from the SRAM device in DMA mode. + * @param uwStartAddress: Read start address + * @param pData: Pointer to data to be read + * @param uwDataSize: Size of read data from the memory + * @retval SRAM status + */ +uint8_t BSP_SRAM_ReadData_DMA(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize) +{ + if (HAL_SRAM_Read_DMA(&sramHandle, (uint32_t *)uwStartAddress, (uint32_t *)pData, uwDataSize) != HAL_OK) + { + return SRAM_ERROR; + } + else + { + return SRAM_OK; + } +} + +/** + * @brief Writes an amount of data from the SRAM device in polling mode. + * @param uwStartAddress: Write start address + * @param pData: Pointer to data to be written + * @param uwDataSize: Size of written data from the memory + * @retval SRAM status + */ +uint8_t BSP_SRAM_WriteData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize) +{ + if (HAL_SRAM_Write_16b(&sramHandle, (uint32_t *)uwStartAddress, pData, uwDataSize) != HAL_OK) + { + return SRAM_ERROR; + } + else + { + return SRAM_OK; + } +} + +/** + * @brief Writes an amount of data from the SRAM device in DMA mode. + * @param uwStartAddress: Write start address + * @param pData: Pointer to data to be written + * @param uwDataSize: Size of written data from the memory + * @retval SRAM status + */ +uint8_t BSP_SRAM_WriteData_DMA(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize) +{ + if (HAL_SRAM_Write_DMA(&sramHandle, (uint32_t *)uwStartAddress, (uint32_t *)pData, uwDataSize) != HAL_OK) + { + return SRAM_ERROR; + } + else + { + return SRAM_OK; + } +} + +/** + * @brief Handles SRAM DMA transfer interrupt request. + * @retval None + */ +void BSP_SRAM_DMA_IRQHandler(void) +{ + HAL_DMA_IRQHandler(sramHandle.hdma); +} + +/** @addtogroup STM32L476G_EVAL_SRAM_Private_Functions + * @{ + */ + +/** + * @brief Initializes SRAM MSP. + * @retval None + */ +static void SRAM_MspInit(void) +{ + static DMA_HandleTypeDef dmaHandle; + GPIO_InitTypeDef gpioinitstruct; + SRAM_HandleTypeDef *hsram = &sramHandle; + + /* Enable FMC clock */ + __HAL_RCC_FMC_CLK_ENABLE(); + + /* Enable chosen DMAx clock */ + SRAM_DMAx_CLK_ENABLE(); + + /* Enable GPIOs clock */ + __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_PWR_CLK_ENABLE(); + HAL_PWREx_EnableVddIO2(); + + /* Common GPIO configuration */ + gpioinitstruct.Mode = GPIO_MODE_AF_PP; + gpioinitstruct.Pull = GPIO_NOPULL; + gpioinitstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + gpioinitstruct.Alternate = GPIO_AF12_FMC; + + /*## Data Bus #######*/ + /* GPIOD configuration */ + gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_8 | GPIO_PIN_9 | + GPIO_PIN_10 | GPIO_PIN_14 | GPIO_PIN_15; + HAL_GPIO_Init(GPIOD, &gpioinitstruct); + + /* GPIOE configuration */ + gpioinitstruct.Pin = GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | + GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | + GPIO_PIN_14 | GPIO_PIN_15; + HAL_GPIO_Init(GPIOE, &gpioinitstruct); + + /*## Address Bus #######*/ + /* GPIOD configuration */ + gpioinitstruct.Pin = GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13; + HAL_GPIO_Init(GPIOD, &gpioinitstruct); + + /* GPIOF configuration */ + gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | + GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_12 | GPIO_PIN_13 | + GPIO_PIN_14 | GPIO_PIN_15; + HAL_GPIO_Init(GPIOF, &gpioinitstruct); + + /* GPIOG configuration */ + gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | + GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5; + HAL_GPIO_Init(GPIOG, &gpioinitstruct); + + /*## NOE and NWE configuration #######*/ + gpioinitstruct.Pull = GPIO_PULLUP; + gpioinitstruct.Pin = GPIO_PIN_4 | GPIO_PIN_5; + HAL_GPIO_Init(GPIOD, &gpioinitstruct); + HAL_Delay(1); + + /*## NBL0, NBL1 configuration #######*/ + gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; + HAL_GPIO_Init(GPIOE, &gpioinitstruct); + + /*## NE configuration #######*/ + gpioinitstruct.Pin = GPIO_PIN_9; + HAL_GPIO_Init(GPIOG, &gpioinitstruct); + + /* Configure common DMA parameters */ + dmaHandle.Init.Direction = DMA_MEMORY_TO_MEMORY; + dmaHandle.Init.PeriphInc = DMA_PINC_ENABLE; + dmaHandle.Init.MemInc = DMA_MINC_ENABLE; + dmaHandle.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + dmaHandle.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + dmaHandle.Init.Mode = DMA_NORMAL; + dmaHandle.Init.Priority = DMA_PRIORITY_HIGH; + + dmaHandle.Instance = SRAM_DMAx_CHANNEL; + + /* Associate the DMA handle */ + __HAL_LINKDMA(hsram, hdma, dmaHandle); + + /* Deinitialize the Stream for new transfer */ + HAL_DMA_DeInit(&dmaHandle); + + /* Configure the DMA Stream */ + HAL_DMA_Init(&dmaHandle); + + /* NVIC configuration for DMA transfer complete interrupt */ + HAL_NVIC_SetPriority(SRAM_DMAx_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(SRAM_DMAx_IRQn); +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.h new file mode 100644 index 0000000..3d7a12b --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_sram.h @@ -0,0 +1,114 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_sram.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_discovery_sram.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G_DISCOVERY + * @{ + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_SRAM_H +#define __STM32L496G_DISCOVERY_SRAM_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l4xx_hal.h" + +/** @addtogroup STM32L496G_DISCOVERY_SRAM + * @{ + */ + + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup STM32L496G_DISCOVERY_SRAM_Exported_Constants Exported Constants + * @{ + */ + +/** + * @brief SRAM status structure definition + */ +#define SRAM_OK 0x00 +#define SRAM_ERROR 0x01 + +#define SRAM_DEVICE_ADDR ((uint32_t)0x64000000) +#define SRAM_DEVICE_SIZE ((uint32_t)0x80000) /* SRAM device size in MBytes */ + +/* #define SRAM_MEMORY_WIDTH FMC_NORSRAM_MEM_BUS_WIDTH_8 */ +#define SRAM_MEMORY_WIDTH FMC_NORSRAM_MEM_BUS_WIDTH_16 + +#define SRAM_BURSTACCESS FMC_BURST_ACCESS_MODE_DISABLE +/* #define SRAM_BURSTACCESS FMC_BURST_ACCESS_MODE_ENABLE*/ + +#define SRAM_WRITEBURST FMC_WRITE_BURST_DISABLE +/* #define SRAM_WRITEBURST FMC_WRITE_BURST_ENABLE */ + +/* DMA definitions for SRAM DMA transfer */ +#define SRAM_DMAx_CLK_ENABLE __HAL_RCC_DMA1_CLK_ENABLE +#define SRAM_DMAx_CHANNEL DMA1_Channel1 +#define SRAM_DMAx_IRQn DMA1_Channel1_IRQn +#define SRAM_DMAx_IRQHandler DMA1_Channel1_IRQHandler + +/** + * @} + */ + + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup STM32L496G_DISCOVERY_SRAM_Exported_Functions + * @{ + */ +uint8_t BSP_SRAM_Init(void); +uint8_t BSP_SRAM_ReadData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize); +uint8_t BSP_SRAM_ReadData_DMA(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize); +uint8_t BSP_SRAM_WriteData(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize); +uint8_t BSP_SRAM_WriteData_DMA(uint32_t uwStartAddress, uint16_t *pData, uint32_t uwDataSize); +void BSP_SRAM_DMA_IRQHandler(void); + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_SRAM_H */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.c b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.c new file mode 100644 index 0000000..6e75e1f --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.c @@ -0,0 +1,517 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_ts.c + * @author MCD Application Team + * @brief This file provides a set of functions needed to manage the Touch + * Screen on STM32L496G-DISCOVERY evaluation board. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* File Info : ----------------------------------------------------------------- + User NOTES +1. How To use this driver: +-------------------------- + - This driver is used to drive the touch screen module of the STM32L496G-DISCOVERY + evaluation board on the FRIDA LCD mounted on MB1261 daughter board. + The touch screen driver IC is a FT6x36 type which share the same register naming + with FT6206 type. + +2. Driver description: +--------------------- + + Initialization steps: + o Initialize the TS module using the BSP_TS_Init() function. This + function includes the MSP layer hardware resources initialization and the + communication layer configuration to start the TS use. The LCD size properties + (x and y) are passed as parameters. + o If TS interrupt mode is desired, you must configure the TS interrupt mode + by calling the function BSP_TS_ITConfig(). The TS interrupt mode is generated + as an external interrupt whenever a touch is detected. + + + Touch screen use + o The touch screen state is captured whenever the function BSP_TS_GetState() is + used. This function returns information about the last LCD touch occurred + in the TS_StateTypeDef structure. +------------------------------------------------------------------------------*/ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery.h" +#include "stm32l496g_discovery_ts.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G-DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G-DISCOVERY_TS STM32L496G-DISCOVERY TS + * @{ + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Private_Types_Definitions TS Private Types Definitions + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Private_Defines TS Private Types Defines + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Private_Macros TS Private Macros + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Imported_Variables TS Imported Variables + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Private_Variables TS Private Variables + * @{ + */ +static TS_DrvTypeDef *tsDriver; +static uint8_t I2C_Address = 0; +static uint8_t tsOrientation = TS_SWAP_NONE; +static uint8_t TS_orientation = TS_ORIENTATION_UNDEFINED; + +/* Table for touchscreen event information display on LCD : table indexed on enum @ref TS_TouchEventTypeDef information */ +char *ts_event_string_tab[TOUCH_EVENT_NB_MAX] = { "None", + "Press down", + "Lift up", + "Contact" + }; + +/* Table for touchscreen gesture Id information display on LCD : table indexed on enum @ref TS_GestureIdTypeDef information */ +char *ts_gesture_id_string_tab[GEST_ID_NB_MAX] = { "None", + "Move Up", + "Move Right", + "Move Down", + "Move Left", + "Zoom In", + "Zoom Out" + }; +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Private_Function_Prototypes TS Private Function Prototypes + * @{ + */ +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Public_Functions TS Public Functions + * @{ + */ +/** + * @brief Initializes and configures the touch screen functionalities and + * configures all necessary hardware resources (GPIOs, I2C, clocks..). + * @param ts_SizeX : Maximum X size of the TS area on LCD + * @param ts_SizeY : Maximum Y size of the TS area on LCD + * @retval TS_OK if all initializations are OK. Other value if error. + */ +uint8_t BSP_TS_Init(uint16_t ts_SizeX, uint16_t ts_SizeY) +{ + return (BSP_TS_InitEx(ts_SizeX, ts_SizeY, TS_ORIENTATION_LANDSCAPE)); +} + +/** + * @brief Initializes and configures the touch screen functionalities and + * configures all necessary hardware resources (GPIOs, I2C, clocks..) + * with a given orientation + * @param ts_SizeX : Maximum X size of the TS area on LCD + * @param ts_SizeY : Maximum Y size of the TS area on LCD + * @param orientation : TS_ORIENTATION_LANDSCAPE or TS_ORIENTATION_PORTRAIT + * @retval TS_OK if all initializations are OK. Other value if error. + */ +uint8_t BSP_TS_InitEx(uint16_t ts_SizeX, uint16_t ts_SizeY, uint8_t orientation) +{ + uint8_t ts_status = TS_OK; + uint16_t read_id = 0; + + /* Note : I2C_Address is un-initialized here, but is not used at all in init function */ + /* but the prototype of Init() is like that in template and should be respected */ + + /* Initialize the communication channel to sensor (I2C) if necessary */ + /* that is initialization is done only once after a power up */ + ft6x06_ts_drv.Init(I2C_Address); + + /* Scan FT6x36 TouchScreen IC controller ID register by I2C Read */ + /* Verify this is a FT6x36, otherwise this is an error case */ + + read_id = ft6x06_ts_drv.ReadID(TS_I2C_ADDRESS); + + if (read_id == FT6x36_ID_VALUE) + { + /* Found FT6x36 : Initialize the TS driver structure */ + tsDriver = &ft6x06_ts_drv; + + I2C_Address = TS_I2C_ADDRESS; + + /* Get LCD chosen orientation */ + if (orientation == TS_ORIENTATION_PORTRAIT) + { + tsOrientation = TS_SWAP_X | TS_SWAP_Y; + TS_orientation = TS_ORIENTATION_PORTRAIT; + } + else + { + tsOrientation = TS_SWAP_XY | TS_SWAP_Y; + TS_orientation = TS_ORIENTATION_LANDSCAPE; + } + + if (ts_status == TS_OK) + { + /* Software reset the TouchScreen */ + tsDriver->Reset(I2C_Address); + + /* Calibrate, Configure and Start the TouchScreen driver */ + tsDriver->Start(I2C_Address); + + return TS_OK; + + } /* of if(ts_status == TS_OK) */ + } + + return TS_DEVICE_NOT_FOUND; + + +} + +/** + * @brief Configures and enables the touch screen interrupts. + * @retval TS_OK if all initializations are OK. Other value if error. + */ +uint8_t BSP_TS_ITConfig(void) +{ + uint8_t ts_status = TS_OK; + + /* Msp Init of GPIO used for TS_INT pin coming from TouchScreen driver IC FT6x36 */ + /* When touchscreen is operated in interrupt mode */ + BSP_TS_INT_MspInit(); + + /* Enable the TS in interrupt mode */ + /* In that case the INT output of FT6206 when new touch is available */ + /* is active on low level and directed on EXTI */ + tsDriver->EnableIT(I2C_Address); + + return (ts_status); +} + +/** + * @brief deConfigures and enables the touch screen interrupts. + * @retval TS_OK if all initializations are OK. Other value if error. + */ +uint8_t BSP_TS_ITDeConfig(void) +{ + uint8_t ts_status = TS_OK; + + /* Msp Init of GPIO used for TS_INT pin coming from TouchScreen driver IC FT6x36 */ + /* When touchscreen is operated in interrupt mode */ + BSP_TS_INT_MspDeInit(); + + /* Enable the TS in interrupt mode */ + /* In that case the INT output of FT6206 when new touch is available */ + /* is active on low level and directed on EXTI */ + tsDriver->DisableIT(I2C_Address); + + return (ts_status); +} + + +/** + * @brief Returns status and positions of the touch screen. + * @param TS_State: Pointer to touch screen current state structure + * @retval TS_OK if all initializations are OK. Other value if error. + */ +uint8_t BSP_TS_GetState(TS_StateTypeDef *TS_State) +{ + static uint32_t _x[TS_MAX_NB_TOUCH] = {0, 0}; + static uint32_t _y[TS_MAX_NB_TOUCH] = {0, 0}; + uint8_t ts_status = TS_OK; + uint16_t tmp; + uint16_t Raw_x[TS_MAX_NB_TOUCH]; + uint16_t Raw_y[TS_MAX_NB_TOUCH]; + uint16_t xDiff; + uint16_t yDiff; + uint32_t index; +#if (TS_MULTI_TOUCH_SUPPORTED == 1) + uint32_t weight = 0; + uint32_t area = 0; + uint32_t event = 0; +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + + /* Check and update the number of touches active detected */ + TS_State->touchDetected = tsDriver->DetectTouch(I2C_Address); + if (TS_State->touchDetected) + { + for (index = 0; index < TS_State->touchDetected; index++) + { + /* Get each touch coordinates */ + tsDriver->GetXY(I2C_Address, &(Raw_x[index]), &(Raw_y[index])); + + if (tsOrientation & TS_SWAP_XY) + { + tmp = Raw_x[index]; + Raw_x[index] = Raw_y[index]; + Raw_y[index] = tmp; + } + + if (tsOrientation & TS_SWAP_X) + { + Raw_x[index] = FT_6206_MAX_WIDTH_HEIGHT - 1 - Raw_x[index]; + } + + if (tsOrientation & TS_SWAP_Y) + { + Raw_y[index] = FT_6206_MAX_WIDTH_HEIGHT - 1 - Raw_y[index]; + } + + xDiff = Raw_x[index] > _x[index] ? (Raw_x[index] - _x[index]) : (_x[index] - Raw_x[index]); + yDiff = Raw_y[index] > _y[index] ? (Raw_y[index] - _y[index]) : (_y[index] - Raw_y[index]); + + if ((xDiff + yDiff) > 5) + { + _x[index] = Raw_x[index]; + _y[index] = Raw_y[index]; + } + + + TS_State->touchX[index] = _x[index]; + TS_State->touchY[index] = _y[index]; + +#if (TS_MULTI_TOUCH_SUPPORTED == 1) + + /* Get touch info related to the current touch */ + ft6x06_TS_GetTouchInfo(I2C_Address, index, &weight, &area, &event); + + /* Update TS_State structure */ + TS_State->touchWeight[index] = weight; + TS_State->touchArea[index] = area; + + /* Remap touch event */ + switch (event) + { + case FT6206_TOUCH_EVT_FLAG_PRESS_DOWN : + TS_State->touchEventId[index] = TOUCH_EVENT_PRESS_DOWN; + break; + case FT6206_TOUCH_EVT_FLAG_LIFT_UP : + TS_State->touchEventId[index] = TOUCH_EVENT_LIFT_UP; + break; + case FT6206_TOUCH_EVT_FLAG_CONTACT : + TS_State->touchEventId[index] = TOUCH_EVENT_CONTACT; + break; + case FT6206_TOUCH_EVT_FLAG_NO_EVENT : + TS_State->touchEventId[index] = TOUCH_EVENT_NO_EVT; + break; + default : + ts_status = TS_ERROR; + break; + } /* of switch(event) */ + +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + + } /* of for(index=0; index < TS_State->touchDetected; index++) */ + +#if (TS_MULTI_TOUCH_SUPPORTED == 1) + /* Get gesture Id */ + ts_status = BSP_TS_Get_GestureId(TS_State); +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + + } /* end of if(TS_State->touchDetected != 0) */ + + return (ts_status); +} + +#if (TS_MULTI_TOUCH_SUPPORTED == 1) +/** + * @brief Update gesture Id following a touch detected. + * @param TS_State: Pointer to touch screen current state structure + * @retval TS_OK if all initializations are OK. Other value if error. + */ +uint8_t BSP_TS_Get_GestureId(TS_StateTypeDef *TS_State) +{ + uint32_t gestureId = 0; + uint8_t ts_status = TS_OK; + + /* Get gesture Id */ + ft6x06_TS_GetGestureID(I2C_Address, &gestureId); + + /* Remap gesture Id to a TS_GestureIdTypeDef value */ + switch (gestureId) + { + case FT6206_GEST_ID_NO_GESTURE : + TS_State->gestureId = GEST_ID_NO_GESTURE; + break; + case FT6206_GEST_ID_MOVE_UP : + TS_State->gestureId = GEST_ID_MOVE_UP; + break; + case FT6206_GEST_ID_MOVE_RIGHT : + TS_State->gestureId = GEST_ID_MOVE_RIGHT; + break; + case FT6206_GEST_ID_MOVE_DOWN : + TS_State->gestureId = GEST_ID_MOVE_DOWN; + break; + case FT6206_GEST_ID_MOVE_LEFT : + TS_State->gestureId = GEST_ID_MOVE_LEFT; + break; + case FT6206_GEST_ID_ZOOM_IN : + TS_State->gestureId = GEST_ID_ZOOM_IN; + break; + case FT6206_GEST_ID_ZOOM_OUT : + TS_State->gestureId = GEST_ID_ZOOM_OUT; + break; + default : + ts_status = TS_ERROR; + break; + } /* of switch(gestureId) */ + + return (ts_status); +} +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + + +/** @defgroup STM32L496G-DISCOVERY_TS_Private_Functions TS Private Functions + * @{ + */ + +#if (TS_MULTI_TOUCH_SUPPORTED == 1) +/** + * @brief Function used to reset all touch data before a new acquisition + * of touch information. + * @param TS_State: Pointer to touch screen current state structure + * @retval TS_OK if OK, TE_ERROR if problem found. + */ +uint8_t BSP_TS_ResetTouchData(TS_StateTypeDef *TS_State) +{ + uint8_t ts_status = TS_ERROR; + uint32_t index; + + if (TS_State != (TS_StateTypeDef *)NULL) + { + TS_State->gestureId = GEST_ID_NO_GESTURE; + TS_State->touchDetected = 0; + + for (index = 0; index < TS_MAX_NB_TOUCH; index++) + { + TS_State->touchX[index] = 0; + TS_State->touchY[index] = 0; + TS_State->touchArea[index] = 0; + TS_State->touchEventId[index] = TOUCH_EVENT_NO_EVT; + TS_State->touchWeight[index] = 0; + } + + ts_status = TS_OK; + + } /* of if (TS_State != (TS_StateTypeDef *)NULL) */ + + return (ts_status); +} +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + + +uint8_t BSP_TS_GetOrientation(void) +{ + return TS_orientation; +} + +/** + * @brief Initializes the TS_INT pin MSP. + * @param None + * @retval None + */ +__weak void BSP_TS_INT_MspInit(void) +{ + GPIO_InitTypeDef gpio_init_structure; + + __HAL_RCC_PWR_CLK_ENABLE(); + SET_BIT(PWR->CR2, PWR_CR2_IOSV); + + TS_INT_GPIO_CLK_ENABLE(); + + /* GPIO configuration in input for TouchScreen interrupt signal on TS_INT pin */ + gpio_init_structure.Pin = TS_INT_PIN; + + /* Configure Interrupt mode for TS_INT pin falling edge : when a new touch is available */ + /* TS_INT pin is active on low level on new touch available */ + gpio_init_structure.Pin = TS_INT_PIN; + gpio_init_structure.Pull = GPIO_PULLUP; + gpio_init_structure.Speed = GPIO_SPEED_FAST; + gpio_init_structure.Mode = GPIO_MODE_IT_FALLING; + HAL_GPIO_Init(TS_INT_GPIO_PORT, &gpio_init_structure); + + /* Enable and set the TS_INT EXTI Interrupt to an intermediate priority */ + HAL_NVIC_SetPriority((IRQn_Type)(TS_INT_EXTI_IRQn), 0x08, 0x00); + HAL_NVIC_EnableIRQ((IRQn_Type)(TS_INT_EXTI_IRQn)); +} + +/** + * @brief Initializes the TS_INT pin MSP. + * @param None + * @retval None + */ +__weak void BSP_TS_INT_MspDeInit(void) +{ + GPIO_InitTypeDef gpio_init_structure; + + __HAL_RCC_PWR_CLK_ENABLE(); + SET_BIT(PWR->CR2, PWR_CR2_IOSV); + + TS_INT_GPIO_CLK_ENABLE(); + + /* GPIO configuration in input for TouchScreen interrupt signal on TS_INT pin */ + gpio_init_structure.Pin = TS_INT_PIN; + + gpio_init_structure.Pin = GPIO_PIN_All; + gpio_init_structure.Mode = GPIO_MODE_ANALOG; + gpio_init_structure.Pull = GPIO_NOPULL; + HAL_GPIO_Init(TS_INT_GPIO_PORT, &gpio_init_structure); + + HAL_NVIC_DisableIRQ((IRQn_Type)(TS_INT_EXTI_IRQn)); +} + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.h b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.h new file mode 100644 index 0000000..f9491b7 --- /dev/null +++ b/Drivers/BSP/STM32L496G-Discovery/stm32l496g_discovery_ts.h @@ -0,0 +1,203 @@ +/** + ****************************************************************************** + * @file stm32l496g_discovery_ts.h + * @author MCD Application Team + * @brief This file contains the common defines and functions prototypes for + * the stm32l496g_discovery_ts.c driver. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L496G_DISCOVERY_TS_H +#define __STM32L496G_DISCOVERY_TS_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32l496g_discovery.h" +#include "stm32l496g_discovery_lcd.h" + +/* Include TouchScreen component driver */ +#include "../Components/ft6x06/ft6x06.h" + +/** @addtogroup BSP + * @{ + */ + +/** @addtogroup STM32L496G-DISCOVERY + * @{ + */ + +/** @defgroup STM32L496G-DISCOVERY_TS STM32L496G-DISCOVERY TS + * @{ + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Exported_Constants TS Exported Constants + * @{ + */ +/** @brief With FT6206 : maximum 2 touches detected simultaneously + */ +#define TS_MAX_NB_TOUCH ((uint32_t) FT6206_MAX_DETECTABLE_TOUCH) + +#define TS_NO_IRQ_PENDING ((uint8_t) 0) +#define TS_IRQ_PENDING ((uint8_t) 1) + +#define TS_SWAP_NONE ((uint8_t) 0x01) +#define TS_SWAP_X ((uint8_t) 0x02) +#define TS_SWAP_Y ((uint8_t) 0x04) +#define TS_SWAP_XY ((uint8_t) 0x08) + +#define TS_ORIENTATION_PORTRAIT ((uint8_t) 0) +#define TS_ORIENTATION_LANDSCAPE ((uint8_t) 1) +#define TS_ORIENTATION_UNDEFINED ((uint8_t) 2) +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Exported_Types TS Exported Types + * @{ + */ +/** +* @brief TS_StateTypeDef +* Define TS State structure +*/ +typedef struct +{ + uint8_t touchDetected; /*!< Total number of active touches detected at last scan */ + uint16_t touchX[TS_MAX_NB_TOUCH]; /*!< Touch X[0], X[1] coordinates on 12 bits */ + uint16_t touchY[TS_MAX_NB_TOUCH]; /*!< Touch Y[0], Y[1] coordinates on 12 bits */ + +#if (TS_MULTI_TOUCH_SUPPORTED == 1) + uint8_t touchWeight[TS_MAX_NB_TOUCH]; /*!< Touch_Weight[0], Touch_Weight[1] : weight property of touches */ + uint8_t touchEventId[TS_MAX_NB_TOUCH]; /*!< Touch_EventId[0], Touch_EventId[1] : take value of type @ref TS_TouchEventTypeDef */ + uint8_t touchArea[TS_MAX_NB_TOUCH]; /*!< Touch_Area[0], Touch_Area[1] : touch area of each touch */ + uint32_t gestureId; /*!< type of gesture detected : take value of type @ref TS_GestureIdTypeDef */ +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + +} TS_StateTypeDef; + +/** + * @brief TS_StatusTypeDef + * Define BSP_TS_xxx() functions possible return value, + * when status is returned by those functions. + */ +typedef enum +{ + TS_OK = 0x00, /*!< Touch Ok */ + TS_ERROR = 0x01, /*!< Touch Error */ + TS_TIMEOUT = 0x02, /*!< Touch Timeout */ + TS_DEVICE_NOT_FOUND = 0x03 /*!< Touchscreen device not found */ +} TS_StatusTypeDef; + +/** + * @brief TS_GestureIdTypeDef + * Define Possible managed gesture identification values returned by touch screen + * driver. + */ +typedef enum +{ + GEST_ID_NO_GESTURE = 0x00, /*!< Gesture not defined / recognized */ + GEST_ID_MOVE_UP = 0x01, /*!< Gesture Move Up */ + GEST_ID_MOVE_RIGHT = 0x02, /*!< Gesture Move Right */ + GEST_ID_MOVE_DOWN = 0x03, /*!< Gesture Move Down */ + GEST_ID_MOVE_LEFT = 0x04, /*!< Gesture Move Left */ + GEST_ID_ZOOM_IN = 0x05, /*!< Gesture Zoom In */ + GEST_ID_ZOOM_OUT = 0x06, /*!< Gesture Zoom Out */ + GEST_ID_NB_MAX = 0x07 /*!< max number of gesture id */ +} TS_GestureIdTypeDef; + +/** + * @brief TS_TouchEventTypeDef + * Define Possible touch events kind as returned values + * by touch screen IC Driver. + */ +typedef enum +{ + TOUCH_EVENT_NO_EVT = 0x00, /*!< Touch Event : undetermined */ + TOUCH_EVENT_PRESS_DOWN = 0x01, /*!< Touch Event Press Down */ + TOUCH_EVENT_LIFT_UP = 0x02, /*!< Touch Event Lift Up */ + TOUCH_EVENT_CONTACT = 0x03, /*!< Touch Event Contact */ + TOUCH_EVENT_NB_MAX = 0x04 /*!< max number of touch events kind */ +} TS_TouchEventTypeDef; + +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Imported_Variables STM32L496G DISCOVERY TS Imported Variables + * @{ + */ +/** + * @brief Table for touchscreen event information display on LCD : + * table indexed on enum @ref TS_TouchEventTypeDef information + */ +extern char *ts_event_string_tab[TOUCH_EVENT_NB_MAX]; + +/** + * @brief Table for touchscreen gesture Id information display on LCD : table indexed + * on enum @ref TS_GestureIdTypeDef information + */ +extern char *ts_gesture_id_string_tab[GEST_ID_NB_MAX]; +/** + * @} + */ + +/** @defgroup STM32L496G-DISCOVERY_TS_Exported_Functions TS Exported Functions + * @{ + */ +uint8_t BSP_TS_Init(uint16_t ts_SizeX, uint16_t ts_SizeY); +uint8_t BSP_TS_InitEx(uint16_t ts_SizeX, uint16_t ts_SizeY, uint8_t orientation); +uint8_t BSP_TS_GetState(TS_StateTypeDef *TS_State); +uint8_t BSP_TS_GetOrientation(void); + +#if (TS_MULTI_TOUCH_SUPPORTED == 1) +uint8_t BSP_TS_Get_GestureId(TS_StateTypeDef *TS_State); +uint8_t BSP_TS_ResetTouchData(TS_StateTypeDef *TS_State); +#endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ + +uint8_t BSP_TS_ITConfig(void); +uint8_t BSP_TS_ITDeConfig(void); + +/* These __weak function can be surcharged by application code in case the current settings + need to be changed for specific (example GPIO allocation) */ +void BSP_TS_INT_MspInit(void); +void BSP_TS_INT_MspDeInit(void); + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32L496G_DISCOVERY_TS_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/