1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550 |
- /**
- ******************************************************************************
- * @file tae32f53xx_ll_hrpwm.h
- * @author MCD Application Team
- * @brief Header file of HRPWM LL module
- *
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2020 Tai-Action.
- * All rights reserved.</center></h2>
- *
- * This software is licensed by Tai-Action 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 _TAE32F53XX_LL_HRPWM_H_
- #define _TAE32F53XX_LL_HRPWM_H_
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- /* Includes ------------------------------------------------------------------*/
- #include "tae32f53xx_ll_def.h"
- /** @addtogroup TAE32F53xx_LL_Driver
- * @{
- */
- /** @addtogroup HRPWM_LL
- * @{
- */
- /* Exported constants --------------------------------------------------------*/
- /** @defgroup HRPWM_LL_Exported_Constants HRPWM LL Exported Constants
- * @brief HRPWM LL Exported Constants
- * @{
- */
- /** @defgroup HRPWM_Max_Timer HRPWM Max Timer
- * @{
- */
- #define MAX_HRPWM_TIMER 6U
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Index HRPWM Index
- * @brief Constants defining the hrpwm indexes
- * @{
- */
- #define HRPWM_INDEX_SLAVE_0 0x0U /*!< Index used to access slave pwm 0 registers */
- #define HRPWM_INDEX_SLAVE_1 0x1U /*!< Index used to access slave pwm 1 registers */
- #define HRPWM_INDEX_SLAVE_2 0x2U /*!< Index used to access slave pwm 2 registers */
- #define HRPWM_INDEX_SLAVE_3 0x3U /*!< Index used to access slave pwm 3 registers */
- #define HRPWM_INDEX_SLAVE_4 0x4U /*!< Index used to access slave pwm 4 registers */
- #define HRPWM_INDEX_SLAVE_5 0x5U /*!< Index used to access slave pwm 5 registers */
- #define HRPWM_INDEX_MASTER 0x6U /*!< Index used to access master registers */
- #define HRPWM_INDEX_COMMON 0xFFU /*!< Index used to access HRPWM common registers */
- /**
- * @}
- */
- /** @defgroup HRPWM_Compare_Unit HRPWM Compare Unit
- * @brief Constants defining compare unit identifiers
- * @{
- */
- #define HRPWM_COMPAREUNIT_A 0x00000001U /*!< Compare unit A identifier */
- #define HRPWM_COMPAREUNIT_B 0x00000002U /*!< Compare unit B identifier */
- #define HRPWM_COMPAREUNIT_C 0x00000004U /*!< Compare unit C identifier */
- #define HRPWM_COMPAREUNIT_D 0x00000008U /*!< Compare unit D identifier */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Output_Start HRPWM Timer Output
- * @brief Constants defining timer output identifiers -- output enable,not enable cannot output wave
- * @{
- */
- #define HRPWM_OUTPUT_OEN0A 0x00000001U /*!< Timer 0 - Output A identifier */
- #define HRPWM_OUTPUT_OEN0B 0x00000002U /*!< Timer 0 - Output B identifier */
- #define HRPWM_OUTPUT_OEN1A 0x00000004U /*!< Timer 1 - Output A identifier */
- #define HRPWM_OUTPUT_OEN1B 0x00000008U /*!< Timer 1 - Output B identifier */
- #define HRPWM_OUTPUT_OEN2A 0x00000010U /*!< Timer 2 - Output A identifier */
- #define HRPWM_OUTPUT_OEN2B 0x00000020U /*!< Timer 2 - Output B identifier */
- #define HRPWM_OUTPUT_OEN3A 0x00000040U /*!< Timer 3 - Output A identifier */
- #define HRPWM_OUTPUT_OEN3B 0x00000080U /*!< Timer 3 - Output B identifier */
- #define HRPWM_OUTPUT_OEN4A 0x00000100U /*!< Timer 4 - Output A identifier */
- #define HRPWM_OUTPUT_OEN4B 0x00000200U /*!< Timer 4 - Output B identifier */
- #define HRPWM_OUTPUT_OEN5A 0x00000400U /*!< Timer 5 - Output A identifier */
- #define HRPWM_OUTPUT_OEN5B 0x00000800U /*!< Timer 5 - Output B identifier */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Output_Stop HRPWM Timer Output Disable
- * @brief Constants defining timer disable output identifiers
- * @{
- */
- #define HRPWM_OUTPUT_ODIS0A 0x00000001U /*!< Timer 0 - Disable Output A identifier */
- #define HRPWM_OUTPUT_ODIS0B 0x00000002U /*!< Timer 0 - Disable Output B identifier */
- #define HRPWM_OUTPUT_ODIS1A 0x00000004U /*!< Timer 1 - Disable Output A identifier */
- #define HRPWM_OUTPUT_ODIS1B 0x00000008U /*!< Timer 1 - Disable Output B identifier */
- #define HRPWM_OUTPUT_ODIS2A 0x00000010U /*!< Timer 2 - Disable Output A identifier */
- #define HRPWM_OUTPUT_ODIS2B 0x00000020U /*!< Timer 2 - Disable Output B identifier */
- #define HRPWM_OUTPUT_ODIS3A 0x00000040U /*!< Timer 3 - Disable Output A identifier */
- #define HRPWM_OUTPUT_ODIS3B 0x00000080U /*!< Timer 3 - Disable Output B identifier */
- #define HRPWM_OUTPUT_ODIS4A 0x00000100U /*!< Timer 4 - Disable Output A identifier */
- #define HRPWM_OUTPUT_ODIS4B 0x00000200U /*!< Timer 4 - Disable Output B identifier */
- #define HRPWM_OUTPUT_ODIS5A 0x00000400U /*!< Timer 5 - Disable Output A identifier */
- #define HRPWM_OUTPUT_ODIS5B 0x00000800U /*!< Timer 5 - Disable Output B identifier */
- /**
- * @}
- */
- /** @defgroup HRPWM_Synchronization_Options HRPWM Synchronization Options
- * @brief Constants defining the options for synchronizing multiple HRPWM
- * instances, as a master unit (generating a synchronization signal)
- * or as a slave (waiting for a trigger to be synchronized)
- * @{
- */
- #define HRPWM_SYNCOPTION_NONE 0x0 /*!< HRPWM instance doesn't handle external sync signals (SYNCIN, SYNCOUT) */
- #define HRPWM_SYNCOPTION_MASTER 0x1U/*!< HRPWM instance acts as a MASTER, i.e. generates external sync output (SYNCOUT) */
- #define HRPWM_SYNCOPTION_SLAVE 0x2U/*!< HRPWM instance acts as a SLAVE, i.e. it is sync by external sources (SYNCIN) */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Update_Trigger HRPWM Timer Update Trigger
- * @brief Constants defining whether the registers update is done synchronously with any other timer or master update
- * @{
- */
- #define HRPWM_UPDATETRIGGER_NONE 0x00000000U /*!< Register update is disabled */
- #define HRPWM_UPDATETRIGGER_MASTER (HRPWM_CR0_MUPD) /*!< Register update is triggered by the master timer update */
- #define HRPWM_UPDATETRIGGER_TIMER_0 (HRPWM_CR0_UPD0) /*!< Register update is triggered by the timer 0 update */
- #define HRPWM_UPDATETRIGGER_TIMER_1 (HRPWM_CR0_UPD1) /*!< Register update is triggered by the timer 1 update */
- #define HRPWM_UPDATETRIGGER_TIMER_2 (HRPWM_CR0_UPD2) /*!< Register update is triggered by the timer 2 update */
- #define HRPWM_UPDATETRIGGER_TIMER_3 (HRPWM_CR0_UPD3) /*!< Register update is triggered by the timer 3 update */
- #define HRPWM_UPDATETRIGGER_TIMER_4 (HRPWM_CR0_UPD4) /*!< Register update is triggered by the timer 4 update */
- #define HRPWM_UPDATETRIGGER_TIMER_5 (HRPWM_CR0_UPD5) /*!< Register update is triggered by the timer 5 update */
- #define HRPWM_UPDATETRIGGER_REP (HRPWM_CR0_UPDREP) /*!< Register update is triggered by the Repetition update */
- #define HRPWM_UPDATETRIGGER_RST (HRPWM_CR0_UPDRST) /*!< Register update is triggered by the reset update */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Set_Trigger HRPWM Output Set A\B Source
- * @brief Constants defining the events that can be selected to configure the set crossbar of a timer output
- * @{
- */
- #define HRPWM_OUTPUT_SET_NONE (0x00000000U) /*!< HRPWM output set none */
- #define HRPWM_OUTPUT_SET_SST (1UL << 18) /*!< Timer reset event coming solely from software forces the output
- to its active state */
- #define HRPWM_OUTPUT_SET_RESYNC (1UL << 17) /*!< SYNC input forces the output to its active state */
- #define HRPWM_OUTPUT_SET_EXTEVNT5 (1UL << 16) /*!< External event 5 forces the output to its active state */
- #define HRPWM_OUTPUT_SET_EXTEVNT4 (1UL << 15) /*!< External event 4 forces the output to its active state */
- #define HRPWM_OUTPUT_SET_EXTEVNT3 (1UL << 14) /*!< External event 3 forces the output to its active state */
- #define HRPWM_OUTPUT_SET_EXTEVNT2 (1UL << 13) /*!< External event 2 forces the output to its active state */
- #define HRPWM_OUTPUT_SET_EXTEVNT1 (1UL << 12) /*!< External event 1 forces the output to its active state */
- #define HRPWM_OUTPUT_SET_EXTEVNT0 (1UL << 11) /*!< External event 0 forces the output to its active state */
- #define HRPWM_OUTPUT_SET_MSTPRD (1UL << 10) /*!< The master timer period event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_MSTCMPD (1UL << 9) /*!< Master Timer compare D event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_MSTCMPC (1UL << 8) /*!< Master Timer compare C event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_MSTCMPB (1UL << 7) /*!< Master Timer compare B event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_MSTCMPA (1UL << 6) /*!< Master Timer compare A event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_PRD (1UL << 5) /*!< Timer period event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_CMPD (1UL << 4) /*!< Timer compare D event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_CMPC (1UL << 3) /*!< Timer compare C event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_CMPB (1UL << 2) /*!< Timer compare B event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_CMPA (1UL << 1) /*!< Timer compare A event forces the output to its active state */
- #define HRPWM_OUTPUT_SET_UPDATE (1UL << 0) /*!< Timer register update event forces the output to its active state */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Clear_Trigger HRPWM Output Clear A\B Source
- * @brief Constants defining the events that can be selected to configure the clear crossbar of a timer output
- * @{
- */
- #define HRPWM_OUTPUT_CLEAR_NONE (0x00000000U) /*!< HRPWM output clear None */
- #define HRPWM_OUTPUT_CLEAR_SST (1UL << 18) /*!< Timer reset event coming solely from software forces the output
- to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_RESYNC (1UL << 17) /*!< SYNC input forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_EXTEVNT5 (1UL << 16) /*!< External event 5 forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_EXTEVNT4 (1UL << 15) /*!< External event 4 forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_EXTEVNT3 (1UL << 14) /*!< External event 3 forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_EXTEVNT2 (1UL << 13) /*!< External event 2 forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_EXTEVNT1 (1UL << 12) /*!< External event 1 forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_EXTEVNT0 (1UL << 11) /*!< External event 0 forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_MSTPRD (1UL << 10) /*!< The master timer period event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_MSTCMPD (1UL << 9) /*!< Master Timer compare D event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_MSTCMPC (1UL << 8) /*!< Master Timer compare C event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_MSTCMPB (1UL << 7) /*!< Master Timer compare B event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_MSTCMPA (1UL << 6) /*!< Master Timer compare A event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_PRD (1UL << 5) /*!< Timer period event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_CMPD (1UL << 4) /*!< Timer compare D event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_CMPC (1UL << 3) /*!< Timer compare C event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_CMPB (1UL << 2) /*!< Timer compare B event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_CMPA (1UL << 1) /*!< Timer compare A event forces the output to its inactive state */
- #define HRPWM_OUTPUT_CLEAR_UPDATE (1UL << 0) /*!< Timer register update event forces the output to its inactive state */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Reset_Trigger HRPWM Timer Reset Trigger
- * @brief Constants defining the events that can be selected to trigger the reset of the timer counter
- * @{
- */
- #define HRPWM_RESET_TRIGGER_NONE 0x00000000U /*!< No counter reset trigger */
- #define HRPWM_RESET_TRIGGER_EXTEVT5 (HRPWM_RSTR_EXTEVT5) /*!< The timer counter is reset upon external event 5 */
- #define HRPWM_RESET_TRIGGER_EXTEVT4 (HRPWM_RSTR_EXTEVT4) /*!< The timer counter is reset upon external event 4 */
- #define HRPWM_RESET_TRIGGER_EXTEVT3 (HRPWM_RSTR_EXTEVT3) /*!< The timer counter is reset upon external event 3 */
- #define HRPWM_RESET_TRIGGER_UPD_CMPA5 (HRPWM_RSTR_UPD_CMPA5) /*!< The timer counter is reset upon other timer 5 update and Compare A event */
- #define HRPWM_RESET_TRIGGER_CMPD4 (HRPWM_RSTR_CMPD4 ) /*!< The timer counter is reset upon other timer 4 Compare D event */
- #define HRPWM_RESET_TRIGGER_CMPB4 (HRPWM_RSTR_CMPB4 ) /*!< The timer counter is reset upon other timer 4 Compare B event */
- #define HRPWM_RESET_TRIGGER_UPD_CMPA4 (HRPWM_RSTR_UPD_CMPA4) /*!< The timer counter is reset upon other timer 4 update and Compare A event */
- #define HRPWM_RESET_TRIGGER_CMPD3 (HRPWM_RSTR_CMPD3 ) /*!< The timer counter is reset upon other timer 3 Compare D event */
- #define HRPWM_RESET_TRIGGER_CMPB3 (HRPWM_RSTR_CMPB3 ) /*!< The timer counter is reset upon other timer 3 Compare B event */
- #define HRPWM_RESET_TRIGGER_UPD_CMPA3 (HRPWM_RSTR_UPD_CMPA3) /*!< The timer counter is reset upon other timer 3 update and Compare A event */
- #define HRPWM_RESET_TRIGGER_CMPD2 (HRPWM_RSTR_CMPD2 ) /*!< The timer counter is reset upon other timer 2 Compare D event */
- #define HRPWM_RESET_TRIGGER_CMPB2 (HRPWM_RSTR_CMPB2 ) /*!< The timer counter is reset upon other timer 2 Compare B event */
- #define HRPWM_RESET_TRIGGER_UPD_CMPA2 (HRPWM_RSTR_UPD_CMPA2) /*!< The timer counter is reset upon other timer 2 update and Compare A event */
- #define HRPWM_RESET_TRIGGER_CMPD1 (HRPWM_RSTR_CMPD1 ) /*!< The timer counter is reset upon other timer 1 Compare D event */
- #define HRPWM_RESET_TRIGGER_CMPB1 (HRPWM_RSTR_CMPB1 ) /*!< The timer counter is reset upon other timer 1 Compare B event */
- #define HRPWM_RESET_TRIGGER_UPD_CMPA1 (HRPWM_RSTR_UPD_CMPA1) /*!< The timer counter is reset upon other timer 1 update and Compare A event */
- #define HRPWM_RESET_TRIGGER_CMPD0 (HRPWM_RSTR_CMPD0 ) /*!< The timer counter is reset upon other timer 0 Compare D event */
- #define HRPWM_RESET_TRIGGER_CMPB0 (HRPWM_RSTR_CMPB0 ) /*!< The timer counter is reset upon other timer 0 Compare B event */
- #define HRPWM_RESET_TRIGGER_UPD_CMPA0 (HRPWM_RSTR_UPD_CMPA0) /*!< The timer counter is reset upon other timer 0 update and Compare A event */
- #define HRPWM_RESET_TRIGGER_CMPD5 (HRPWM_RSTR_CMPD5 ) /*!< The timer counter is reset upon other timer 5 Compare D event */
- #define HRPWM_RESET_TRIGGER_CMPB5 (HRPWM_RSTR_CMPB5 ) /*!< The timer counter is reset upon other timer 5 Compare B event */
- #define HRPWM_RESET_TRIGGER_EXTEVT2 (HRPWM_RSTR_EXTEVT2 ) /*!< The timer counter is reset upon external event 2 */
- #define HRPWM_RESET_TRIGGER_EXTEVT1 (HRPWM_RSTR_EXTEVT1 ) /*!< The timer counter is reset upon external event 1 */
- #define HRPWM_RESET_TRIGGER_EXTEVT0 (HRPWM_RSTR_EXTEVT0 ) /*!< The timer counter is reset upon external event 0 */
- #define HRPWM_RESET_TRIGGER_MSTPER (HRPWM_RSTR_MSTPER ) /*!< The timer counter is reset upon master timer period event */
- #define HRPWM_RESET_TRIGGER_MSTCMPD (HRPWM_RSTR_MSTCMPD ) /*!< The timer counter is reset upon master timer Compare 1 event */
- #define HRPWM_RESET_TRIGGER_MSTCMPC (HRPWM_RSTR_MSTCMPC ) /*!< The timer counter is reset upon master timer Compare 2 event */
- #define HRPWM_RESET_TRIGGER_MSTCMPB (HRPWM_RSTR_MSTCMPB ) /*!< The timer counter is reset upon master timer Compare 3 event */
- #define HRPWM_RESET_TRIGGER_MSTCMPA (HRPWM_RSTR_MSTCMPA ) /*!< The timer counter is reset upon master timer Compare 4 event */
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Fault_Enabling HRPWM Timer Fault Enabling
- * @brief Constants defining whether a fault channel is enabled for a timer
- * @{
- */
- #define HRPWM_FAULTEN_NONE 0x00000000U /*!< No fault enabled */
- #define HRPWM_FAULTEN_FAULT0 (HRPWM_FLTR_FLT0EN) /*!< Fault 0 enabled */
- #define HRPWM_FAULTEN_FAULT1 (HRPWM_FLTR_FLT1EN) /*!< Fault 1 enabled */
- #define HRPWM_FAULTEN_FAULT2 (HRPWM_FLTR_FLT2EN) /*!< Fault 2 enabled */
- #define HRPWM_FAULTEN_FAULT3 (HRPWM_FLTR_FLT3EN) /*!< Fault 3 enabled */
- #define HRPWM_FAULTEN_FAULT4 (HRPWM_FLTR_FLT4EN) /*!< Fault 4 enabled */
- #define HRPWM_FAULTEN_FAULT5 (HRPWM_FLTR_FLT5EN) /*!< Fault 5 enabled */
- /**
- * @}
- */
- /** @defgroup HRPWM_ADC_Trigger_Event HRPWM ADC Trigger Event
- * @brief constants defining the events triggering ADC conversion.
- * HRPWM_ADCTRIGEVENT0246*: ADC Triggers 0 and 2 and 4 and 6
- * HRPWM_ADCTRIGEVENT1357_*: ADC Triggers 1 and 3 and 5 and 7
- * @{
- */
- #define HRPWM_ADCTRIGEVENT0_CMPD5 (HRPWM_ADT0R_CMPD5) /*!< ADC Trigger on Slave Timer 5 compare D */
- #define HRPWM_ADCTRIGEVENT0_CMPC5 (HRPWM_ADT0R_CMPC5) /*!< ADC Trigger on Slave Timer 5 compare C */
- #define HRPWM_ADCTRIGEVENT0_PER4 (HRPWM_ADT0R_PER4) /*!< ADC Trigger on Slave Timer 4 period */
- #define HRPWM_ADCTRIGEVENT0_CMPD4 (HRPWM_ADT0R_CMPD4) /*!< ADC Trigger on Slave Timer 4 compare D */
- #define HRPWM_ADCTRIGEVENT0_CMPC4 (HRPWM_ADT0R_CMPC4) /*!< ADC Trigger on Slave Timer 4 compare C */
- #define HRPWM_ADCTRIGEVENT0_CMPB4 (HRPWM_ADT0R_CMPB4) /*!< ADC Trigger on Slave Timer 4 compare B */
- #define HRPWM_ADCTRIGEVENT0_RST3 (HRPWM_ADT0R_RST3) /*!< ADC Trigger on Slave Timer 3 reset */
- #define HRPWM_ADCTRIGEVENT0_CMPD3 (HRPWM_ADT0R_CMPD3) /*!< ADC Trigger on Slave Timer 3 compare D */
- #define HRPWM_ADCTRIGEVENT0_CMPC3 (HRPWM_ADT0R_CMPC3) /*!< ADC Trigger on Slave Timer 3 compare C */
- #define HRPWM_ADCTRIGEVENT0_CMPB3 (HRPWM_ADT0R_CMPB3) /*!< ADC Trigger on Slave Timer 3 compare B */
- #define HRPWM_ADCTRIGEVENT0_PER2 (HRPWM_ADT0R_PER2) /*!< ADC Trigger on Slave Timer 2 period */
- #define HRPWM_ADCTRIGEVENT0_CMPD2 (HRPWM_ADT0R_CMPD2) /*!< ADC Trigger on Slave Timer 2 compare D */
- #define HRPWM_ADCTRIGEVENT0_CMPC2 (HRPWM_ADT0R_CMPC2) /*!< ADC Trigger on Slave Timer 2 compare C */
- #define HRPWM_ADCTRIGEVENT0_CMPB2 (HRPWM_ADT0R_CMPB2) /*!< ADC Trigger on Slave Timer 2 compare B */
- #define HRPWM_ADCTRIGEVENT0_RST1 (HRPWM_ADT0R_RST1) /*!< ADC Trigger on Slave Timer 1 reset */
- #define HRPWM_ADCTRIGEVENT0_CMPD1 (HRPWM_ADT0R_CMPD1) /*!< ADC Trigger on Slave Timer 1 compare D */
- #define HRPWM_ADCTRIGEVENT0_CMPC1 (HRPWM_ADT0R_CMPC1) /*!< ADC Trigger on Slave Timer 1 compare C */
- #define HRPWM_ADCTRIGEVENT0_CMPB1 (HRPWM_ADT0R_CMPB1) /*!< ADC Trigger on Slave Timer 1 compare B */
- #define HRPWM_ADCTRIGEVENT0_PER0 (HRPWM_ADT0R_PER0) /*!< ADC Trigger on Slave Timer 0 period */
- #define HRPWM_ADCTRIGEVENT0_CMPD0 (HRPWM_ADT0R_CMPD0) /*!< ADC Trigger on Slave Timer 0 compare D */
- #define HRPWM_ADCTRIGEVENT0_CMPC0 (HRPWM_ADT0R_CMPC0) /*!< ADC Trigger on Slave Timer 0 compare C */
- #define HRPWM_ADCTRIGEVENT0_CMPB0 (HRPWM_ADT0R_CMPB0) /*!< ADC Trigger on Slave Timer 0 compare B */
- #define HRPWM_ADCTRIGEVENT0_RST5 (HRPWM_ADT0R_RST5) /*!< ADC Trigger on Slave Timer 5 reset */
- #define HRPWM_ADCTRIGEVENT0_CMPB5 (HRPWM_ADT0R_CMPB5) /*!< ADC Trigger on Slave Timer 5 compare B */
- #define HRPWM_ADCTRIGEVENT0_EEV2 (HRPWM_ADT0R_EEV2) /*!< ADC Trigger on external event 2 */
- #define HRPWM_ADCTRIGEVENT0_EEV1 (HRPWM_ADT0R_EEV1) /*!< ADC Trigger on external event 1 */
- #define HRPWM_ADCTRIGEVENT0_EEV0 (HRPWM_ADT0R_EEV0) /*!< ADC Trigger on external event 0 */
- #define HRPWM_ADCTRIGEVENT0_MPER (HRPWM_ADT0R_MPER) /*!< ADC Trigger on Master Timer period */
- #define HRPWM_ADCTRIGEVENT0_MCMPD (HRPWM_ADT0R_MCMPD) /*!< ADC Trigger on Master Timer compare D */
- #define HRPWM_ADCTRIGEVENT0_MCMPC (HRPWM_ADT0R_MCMPC) /*!< ADC Trigger on Master Timer compare C */
- #define HRPWM_ADCTRIGEVENT0_MCMPB (HRPWM_ADT0R_MCMPB) /*!< ADC Trigger on Master Timer compare B */
- #define HRPWM_ADCTRIGEVENT0_MCMPA (HRPWM_ADT0R_MCMPA) /*!< ADC Trigger on Master Timer compare A */
- #define HRPWM_ADCTRIGEVENT1_CMPD5 (HRPWM_ADT1R_CMPD5) /*!< ADC Trigger on Slave Timer 5 compare D */
- #define HRPWM_ADCTRIGEVENT1_CMPC5 (HRPWM_ADT1R_CMPC5) /*!< ADC Trigger on Slave Timer 5 compare C */
- #define HRPWM_ADCTRIGEVENT1_RST4 (HRPWM_ADT1R_RST4) /*!< ADC Trigger on Slave Timer 4 reset */
- #define HRPWM_ADCTRIGEVENT1_CMPD4 (HRPWM_ADT1R_CMPD4) /*!< ADC Trigger on Slave Timer 4 compare D */
- #define HRPWM_ADCTRIGEVENT1_CMPC4 (HRPWM_ADT1R_CMPC4) /*!< ADC Trigger on Slave Timer 4 compare C */
- #define HRPWM_ADCTRIGEVENT1_CMPB4 (HRPWM_ADT1R_CMPB4) /*!< ADC Trigger on Slave Timer 4 compare B */
- #define HRPWM_ADCTRIGEVENT1_PER3 (HRPWM_ADT1R_PER3) /*!< ADC Trigger on Slave Timer 3 period */
- #define HRPWM_ADCTRIGEVENT1_CMPD3 (HRPWM_ADT1R_CMPD3) /*!< ADC Trigger on Slave Timer 3 compare D */
- #define HRPWM_ADCTRIGEVENT1_CMPC3 (HRPWM_ADT1R_CMPC3) /*!< ADC Trigger on Slave Timer 3 compare C */
- #define HRPWM_ADCTRIGEVENT1_CMPB3 (HRPWM_ADT1R_CMPB3) /*!< ADC Trigger on Slave Timer 3 compare B */
- #define HRPWM_ADCTRIGEVENT1_RST2 (HRPWM_ADT1R_RST2) /*!< ADC Trigger on Slave Timer 2 reset */
- #define HRPWM_ADCTRIGEVENT1_CMPD2 (HRPWM_ADT1R_CMPD2) /*!< ADC Trigger on Slave Timer 2 compare D */
- #define HRPWM_ADCTRIGEVENT1_CMPC2 (HRPWM_ADT1R_CMPC2) /*!< ADC Trigger on Slave Timer 2 compare C */
- #define HRPWM_ADCTRIGEVENT1_CMPB2 (HRPWM_ADT1R_CMPB2) /*!< ADC Trigger on Slave Timer 2 compare B */
- #define HRPWM_ADCTRIGEVENT1_PER1 (HRPWM_ADT1R_PER1) /*!< ADC Trigger on Slave Timer 1 period */
- #define HRPWM_ADCTRIGEVENT1_CMPD1 (HRPWM_ADT1R_CMPD1) /*!< ADC Trigger on Slave Timer 1 compare D */
- #define HRPWM_ADCTRIGEVENT1_CMPC1 (HRPWM_ADT1R_CMPC1) /*!< ADC Trigger on Slave Timer 1 compare C */
- #define HRPWM_ADCTRIGEVENT1_CMPB1 (HRPWM_ADT1R_CMPB1) /*!< ADC Trigger on Slave Timer 1 compare B */
- #define HRPWM_ADCTRIGEVENT1_RST0 (HRPWM_ADT1R_RST0) /*!< ADC Trigger on Slave Timer 0 reset */
- #define HRPWM_ADCTRIGEVENT1_CMPD0 (HRPWM_ADT1R_CMPD0) /*!< ADC Trigger on Slave Timer 0 compare D */
- #define HRPWM_ADCTRIGEVENT1_CMPC0 (HRPWM_ADT1R_CMPC0) /*!< ADC Trigger on Slave Timer 0 compare C */
- #define HRPWM_ADCTRIGEVENT1_CMPB0 (HRPWM_ADT1R_CMPB0) /*!< ADC Trigger on Slave Timer 0 compare B */
- #define HRPWM_ADCTRIGEVENT1_PER5 (HRPWM_ADT1R_PER5) /*!< ADC Trigger on Slave Timer 5 period */
- #define HRPWM_ADCTRIGEVENT1_CMPB5 (HRPWM_ADT1R_CMPB5) /*!< ADC Trigger on Slave Timer 5 compare B */
- #define HRPWM_ADCTRIGEVENT1_EEV2 (HRPWM_ADT1R_EEV5) /*!< ADC Trigger on external event 2 */
- #define HRPWM_ADCTRIGEVENT1_EEV1 (HRPWM_ADT1R_EEV4) /*!< ADC Trigger on external event 1 */
- #define HRPWM_ADCTRIGEVENT1_EEV0 (HRPWM_ADT1R_EEV3) /*!< ADC Trigger on external event 0 */
- #define HRPWM_ADCTRIGEVENT1_MPER (HRPWM_ADT1R_MPER) /*!< ADC Trigger on Master Timer period */
- #define HRPWM_ADCTRIGEVENT1_MCMPD (HRPWM_ADT1R_MCMPD) /*!< ADC Trigger on Master Timer compare D */
- #define HRPWM_ADCTRIGEVENT1_MCMPC (HRPWM_ADT1R_MCMPC) /*!< ADC Trigger on Master Timer compare C */
- #define HRPWM_ADCTRIGEVENT1_MCMPB (HRPWM_ADT1R_MCMPB) /*!< ADC Trigger on Master Timer compare B */
- #define HRPWM_ADCTRIGEVENT1_MCMPA (HRPWM_ADT1R_MCMPA) /*!< ADC Trigger on Master Timer compare A */
- /**
- * @}
- */
- /** @defgroup HRPWM_Software_Timer_Update HRPWM Software Timer Update
- * @brief Constants used to force timer registers update
- * @{
- */
- #define HRPWM_UPDATE_MASTER (HRPWM_CR1_MSWU)/*!< Force an immediate transfer from the preload to the active register in the master timer */
- #define HRPWM_UPDATE_SLAVE_0 (HRPWM_CR1_SWU0)/*!< Force an immediate transfer from the preload to the active register in the slave timer 0 */
- #define HRPWM_UPDATE_SLAVE_1 (HRPWM_CR1_SWU1)/*!< Force an immediate transfer from the preload to the active register in the slave timer 1 */
- #define HRPWM_UPDATE_SLAVE_2 (HRPWM_CR1_SWU2)/*!< Force an immediate transfer from the preload to the active register in the slave timer 2 */
- #define HRPWM_UPDATE_SLAVE_3 (HRPWM_CR1_SWU3)/*!< Force an immediate transfer from the preload to the active register in the slave timer 3 */
- #define HRPWM_UPDATE_SLAVE_4 (HRPWM_CR1_SWU4)/*!< Force an immediate transfer from the preload to the active register in the slave timer 4 */
- #define HRPWM_UPDATE_SLAVE_5 (HRPWM_CR1_SWU5)/*!< Force an immediate transfer from the preload to the active register in the slave timer 5 */
- /**
- * @}
- */
- /** @defgroup HRPWM_Software_Timer_SwapOutput HRPWM Software Timer swap Output
- * @brief Constants used to swap the output of the timer registers
- * @{
- */
- #define HRPWM_SWAP_SLAVE_0 (HRPWM_CR1_SWP0) /*!< Swap the output of the slave Timer 0 */
- #define HRPWM_SWAP_SLAVE_1 (HRPWM_CR1_SWP1) /*!< Swap the output of the slave Timer 1 */
- #define HRPWM_SWAP_SLAVE_2 (HRPWM_CR1_SWP2) /*!< Swap the output of the slave Timer 2 */
- #define HRPWM_SWAP_SLAVE_3 (HRPWM_CR1_SWP3) /*!< Swap the output of the slave Timer 3 */
- #define HRPWM_SWAP_SLAVE_4 (HRPWM_CR1_SWP4) /*!< Swap the output of the slave Timer 4 */
- #define HRPWM_SWAP_SLAVE_5 (HRPWM_CR1_SWP5) /*!< Swap the output of the slave Timer 5 */
- /**
- * @}
- */
- /** @defgroup HRPWM_Software_Timer_Reset HRPWM Software Timer Reset
- * @brief Constants used to force timer counter reset
- * @{
- */
- #define HRPWM_RESET_MASTER (HRPWM_CR1_MRST) /*!< Reset the master timer counter */
- #define HRPWM_RESET_SLAVE_0 (HRPWM_CR1_RST0) /*!< Reset the slave timer 0 counter */
- #define HRPWM_RESET_SLAVE_1 (HRPWM_CR1_RST1) /*!< Reset the slave timer 1 counter */
- #define HRPWM_RESET_SLAVE_2 (HRPWM_CR1_RST2) /*!< Reset the slave timer 2 counter */
- #define HRPWM_RESET_SLAVE_3 (HRPWM_CR1_RST3) /*!< Reset the slave timer 3 counter */
- #define HRPWM_RESET_SLAVE_4 (HRPWM_CR1_RST4) /*!< Reset the slave timer 4 counter */
- #define HRPWM_RESET_SLAVE_5 (HRPWM_CR1_RST5) /*!< Reset the slave timer 5 counter */
- /**
- * @}
- */
- /** @defgroup HRPWM_Software_Timer_Update_Disable HRPWM Software Timer Update Disable
- * @brief Constants used to force timer counter Update Disable
- * @{
- */
- #define HRPWM_UPDISABLE_MASTER (HRPWM_CR0_MUDIS) /*!< Update Disable the master timer counter */
- #define HRPWM_UPDISABLE_SLAVE_0 (HRPWM_CR0_UDIS0) /*!< Update Disable the slave timer 0 counter */
- #define HRPWM_UPDISABLE_SLAVE_1 (HRPWM_CR0_UDIS1) /*!< Update Disable the slave timer 1 counter */
- #define HRPWM_UPDISABLE_SLAVE_2 (HRPWM_CR0_UDIS2) /*!< Update Disable the slave timer 2 counter */
- #define HRPWM_UPDISABLE_SLAVE_3 (HRPWM_CR0_UDIS3) /*!< Update Disable the slave timer 3 counter */
- #define HRPWM_UPDISABLE_SLAVE_4 (HRPWM_CR0_UDIS4) /*!< Update Disable the slave timer 4 counter */
- #define HRPWM_UPDISABLE_SLAVE_5 (HRPWM_CR0_UDIS5) /*!< Update Disable the slave timer 5 counter */
- /**
- * @}
- */
- /** @defgroup HRPWM_Software_forced_update HRPWM Software forced update
- * @brief Constants used to force timer counter Software forced update
- * @{
- */
- #define HRPWM_SOFT_UPDATE_MASTER (HRPWM_CR1_MSWU) /*!< Update Disable the master timer counter */
- #define HRPWM_SOFT_UPDATE_SLAVE_0 (HRPWM_CR1_SWU0) /*!< Update Disable the slave timer 0 counter */
- #define HRPWM_SOFT_UPDATE_SLAVE_1 (HRPWM_CR1_SWU1) /*!< Update Disable the slave timer 1 counter */
- #define HRPWM_SOFT_UPDATE_SLAVE_2 (HRPWM_CR1_SWU2) /*!< Update Disable the slave timer 2 counter */
- #define HRPWM_SOFT_UPDATE_SLAVE_3 (HRPWM_CR1_SWU3) /*!< Update Disable the slave timer 3 counter */
- #define HRPWM_SOFT_UPDATE_SLAVE_4 (HRPWM_CR1_SWU4) /*!< Update Disable the slave timer 4 counter */
- #define HRPWM_SOFT_UPDATE_SLAVE_5 (HRPWM_CR1_SWU5) /*!< Update Disable the slave timer 5 counter */
- /**
- * @}
- */
- /** @defgroup HRPWM_Output_State HRPWM Output State
- * @brief Constants defining the state of a timer output
- * @{
- */
- #define HRPWM_OUTPUTSTATE_IDLE (0x00000001U) /*!< Main operating mode, where the output can take the active or
- inactive level as programmed in the crossbar unit */
- #define HRPWM_OUTPUTSTATE_RUN (0x00000002U) /*!< Default operating state (e.g. after an HRPWM reset, when the
- outputs are disabled by software or during a burst mode operation */
- #define HRPWM_OUTPUTSTATE_FAULT (0x00000003U) /*!< Safety state, entered in case of a shut-down request on
- FAULTx inputs */
- /**
- * @}
- */
- /** @defgroup HRPWM_Common_Interrupt_Enable HRPWM Common Interrupt Enable
- * @{
- */
- #define HRPWM_IT_SRC (0x0000003FU)
- #define HRPWM_IT_NONE (0x00000000U) /*!< No interrupt enabled */
- #define HRPWM_IT_FLT0 HRPWM_IER_FLT0IE /*!< Fault 0 interrupt enable */
- #define HRPWM_IT_FLT1 HRPWM_IER_FLT1IE /*!< Fault 1 interrupt enable */
- #define HRPWM_IT_FLT2 HRPWM_IER_FLT2IE /*!< Fault 2 interrupt enable */
- #define HRPWM_IT_FLT3 HRPWM_IER_FLT3IE /*!< Fault 3 interrupt enable */
- #define HRPWM_IT_FLT4 HRPWM_IER_FLT4IE /*!< Fault 4 interrupt enable */
- #define HRPWM_IT_FLT5 HRPWM_IER_FLT5IE /*!< Fault 5 interrupt enable */
- #define HRPWM_IT_SYSFLT HRPWM_IER_SYSFLTIE /*!< System Fault interrupt enable */
- /**
- * @}
- */
- /** @defgroup HRPWM_Common_Interrupt_Flag HRPWM Common Interrupt Flag
- * @{
- */
- #define HRPWM_FLAG_FLT0 HRPWM_ISR_FLT0 /*!< Fault 0 interrupt flag */
- #define HRPWM_FLAG_FLT1 HRPWM_ISR_FLT1 /*!< Fault 1 interrupt flag */
- #define HRPWM_FLAG_FLT2 HRPWM_ISR_FLT2 /*!< Fault 2 interrupt flag */
- #define HRPWM_FLAG_FLT3 HRPWM_ISR_FLT3 /*!< Fault 3 interrupt flag */
- #define HRPWM_FLAG_FLT4 HRPWM_ISR_FLT4 /*!< Fault 4 interrupt flag */
- #define HRPWM_FLAG_FLT5 HRPWM_ISR_FLT5 /*!< Fault 5 interrupt flag */
- #define HRPWM_FLAG_SYSFLT HRPWM_ISR_SYSFLT /*!< System Fault interrupt flag */
- /**
- * @}
- */
- /** @defgroup HRPWM_Master_Interrupt_Enable HRPWM Master Interrupt Enable
- * @{
- */
- #define HRPWM_MASTER_IT_SRC 0x000000FFU /*!< ALL interrupt enabled */
- #define HRPWM_MASTER_IT_NONE 0x00000000U /*!< No interrupt enabled */
- #define HRPWM_MASTER_IT_MCMPA HRPWM_MIER_MCMPAIE /*!< Master compare A interrupt enable */
- #define HRPWM_MASTER_IT_MCMPB HRPWM_MIER_MCMPBIE /*!< Master compare B interrupt enable */
- #define HRPWM_MASTER_IT_MCMPC HRPWM_MIER_MCMPCIE /*!< Master compare C interrupt enable */
- #define HRPWM_MASTER_IT_MCMPD HRPWM_MIER_MCMPDIE /*!< Master compare D interrupt enable */
- #define HRPWM_MASTER_IT_MPER HRPWM_MIER_MPERIE /*!< Master Period interrupt enable */
- #define HRPWM_MASTER_IT_SYNC HRPWM_MIER_SYNCIE /*!< Synchronization input interrupt enable */
- #define HRPWM_MASTER_IT_MUPD HRPWM_MIER_MUPDIE /*!< Master update interrupt enable */
- #define HRPWM_MASTER_IT_MREP HRPWM_MIER_MREPIE /*!< Master Repetition interrupt enable */
- /**
- * @}
- */
- /** @defgroup HRPWM_Master_Interrupt_Flag HRPWM Master Interrupt flag
- * @{
- */
- #define HRPWM_MASTER_FLAG_NONE 0x00000000U /*!< No interrupt flag */
- #define HRPWM_MASTER_FLAG_MCMPA HRPWM_MISR_MCMPA /*!< Master compare A interrupt flag */
- #define HRPWM_MASTER_FLAG_MCMPB HRPWM_MISR_MCMPB /*!< Master compare B interrupt flag */
- #define HRPWM_MASTER_FLAG_MCMPC HRPWM_MISR_MCMPC /*!< Master compare C interrupt flag */
- #define HRPWM_MASTER_FLAG_MCMPD HRPWM_MISR_MCMPD /*!< Master compare D interrupt flag */
- #define HRPWM_MASTER_FLAG_MPER HRPWM_MISR_MPER /*!< Master Period interrupt flag */
- #define HRPWM_MASTER_FLAG_SYNC HRPWM_MISR_SYNC /*!< Synchronization input interrupt flag */
- #define HRPWM_MASTER_FLAG_MUPD HRPWM_MISR_MUPD /*!< Master update interrupt flag */
- #define HRPWM_MASTER_FLAG_MREP HRPWM_MISR_MREP /*!< Master Repetition interrupt flag */
- /**
- * @}
- */
- /** @defgroup HRPWM_Slave_Timer_Unit_Interrupt_Enable HRPWM Timing Unit Interrupt Enable
- * @{
- */
- #define HRPWM_IT_TIMER_SRC 0x00000FFFU /*!< ALL interrupt enabled */
- #define HRPWM_IT_TIMER_NONE 0x00000000U /*!< No interrupt enabled */
- #define HRPWM_IT_CMPA HRPWM_IER_CMPAIE /*!< Timer compare A interrupt enable */
- #define HRPWM_IT_CMPB HRPWM_IER_CMPBIE /*!< Timer compare B interrupt enable */
- #define HRPWM_IT_CMPC HRPWM_IER_CMPCIE /*!< Timer compare C interrupt enable */
- #define HRPWM_IT_CMPD HRPWM_IER_CMPDIE /*!< Timer compare D interrupt enable */
- #define HRPWM_IT_PER HRPWM_IER_PERIE /*!< Timer period interrupt enable */
- #define HRPWM_IT_UPD HRPWM_IER_UPDIE /*!< Timer update interrupt enable */
- #define HRPWM_IT_SETA HRPWM_IER_SETAIE /*!< Timer output 1 set interrupt enable */
- #define HRPWM_IT_CLRA HRPWM_IER_CLRAIE /*!< Timer output 1 reset interrupt enable */
- #define HRPWM_IT_SETB HRPWM_IER_SETBIE /*!< Timer output 2 set interrupt enable */
- #define HRPWM_IT_CLRB HRPWM_IER_CLRBIE /*!< Timer output 2 reset interrupt enable */
- #define HRPWM_IT_RST HRPWM_IER_RSTIE /*!< Timer reset interrupt enable */
- #define HRPWM_IT_REP HRPWM_IER_REPIE /*!< Timer repetition interrupt enable */
- /**
- * @}
- */
- /** @defgroup HRPWM_Slave_Timer_Unit_Interrupt_Flag HRPWM Timing Unit Interrupt Flag
- * @{
- */
- #define HRPWM_FLAG_CMPA HRPWM_ISR_CMPA /*!< Timer compare A interrupt flag */
- #define HRPWM_FLAG_CMPB HRPWM_ISR_CMPB /*!< Timer compare B interrupt flag */
- #define HRPWM_FLAG_CMPC HRPWM_ISR_CMPC /*!< Timer compare C interrupt flag */
- #define HRPWM_FLAG_CMPD HRPWM_ISR_CMPD /*!< Timer compare D interrupt flag */
- #define HRPWM_FLAG_PER HRPWM_ISR_PER /*!< Timer period interrupt flag */
- #define HRPWM_FLAG_UPD HRPWM_ISR_UPD /*!< Timer update interrupt flag */
- #define HRPWM_FLAG_SETA HRPWM_ISR_SETA /*!< Timer output 1 set interrupt flag */
- #define HRPWM_FLAG_CLRA HRPWM_ISR_CLRA /*!< Timer output 1 reset interrupt flag */
- #define HRPWM_FLAG_SETB HRPWM_ISR_SETB /*!< Timer output 2 set interrupt flag */
- #define HRPWM_FLAG_CLRB HRPWM_ISR_CLRB /*!< Timer output 2 reset interrupt flag */
- #define HRPWM_FLAG_RST HRPWM_ISR_RST /*!< Timer reset interrupt flag */
- #define HRPWM_FLAG_REP HRPWM_ISR_REP /*!< Timer repetition interrupt flag */
- /**
- * @}
- */
- /**
- * @}
- */
- /* Exported types ------------------------------------------------------------*/
- /** @defgroup HRPWM_LL_Exported_Types HRPWM LL Exported Types
- * @brief HRPWM LL Exported Types
- * @{
- */
- /** @defgroup HRPWM_DLL_CURRENT HRPWM DLL CURRENT
- * @brief Constants defining dll current identifiers
- * @{
- */
- typedef enum {
- HRPWM_DLLCR_DLLGCP_4 = 0x0, /*!< DLL current selector bit: 4uA */
- HRPWM_DLLCR_DLLGCP_6 = HRPWM_DLLCR_DLLGCP_0, /*!< DLL current selector bit: 6uA */
- HRPWM_DLLCR_DLLGCP_8 = HRPWM_DLLCR_DLLGCP_1 | HRPWM_DLLCR_DLLGCP_0, /*!< DLL current selector bit: 8uA */
- } HRPWM_DllCurrentETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_ADC_Trigger HRPWM ADC Trigger
- * @brief Constants defining ADC triggers identifiers
- * @{
- */
- typedef enum {
- HRPWM_ADCTRIGGER_0 = 0x0U, /*!< ADC trigger 0 identifier */
- HRPWM_ADCTRIGGER_1 = 0x1U, /*!< ADC trigger 1 identifier */
- HRPWM_ADCTRIGGER_2 = 0x2U, /*!< ADC trigger 2 identifier */
- HRPWM_ADCTRIGGER_3 = 0x3U, /*!< ADC trigger 3 identifier */
- HRPWM_ADCTRIGGER_4 = 0x4U, /*!< ADC trigger 4 identifier */
- HRPWM_ADCTRIGGER_5 = 0x5U, /*!< ADC trigger 5 identifier */
- HRPWM_ADCTRIGGER_6 = 0x6U, /*!< ADC trigger 6 identifier */
- HRPWM_ADCTRIGGER_7 = 0x7U, /*!< ADC trigger 7 identifier */
- } HRPWM_AdcTrigGroupETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Channels HRPWM External Event Channels
- * @brief Constants defining external event channel identifiers
- * @{
- */
- typedef enum {
- HRPWM_EVENT_NONE = 0x6U, /*!< None Event */
- HRPWM_EVENT_0 = 0x0U, /*!< External event channel 0 identifier */
- HRPWM_EVENT_1 = 0x1U, /*!< External event channel 1 identifier */
- HRPWM_EVENT_2 = 0x2U, /*!< External event channel 2 identifier */
- HRPWM_EVENT_3 = 0x3U, /*!< External event channel 3 identifier */
- HRPWM_EVENT_4 = 0x4U, /*!< External event channel 4 identifier */
- HRPWM_EVENT_5 = 0x5U, /*!< External event channel 5 identifier */
- } HRPWM_EventSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Channel HRPWM Fault Channel
- * @brief Constants defining fault channel identifiers
- * @{
- */
- typedef enum {
- HRPWM_FAULT_0 = 0x00U, /*!< Fault channel 0 identifier */
- HRPWM_FAULT_1 = 0x01U, /*!< Fault channel 1 identifier */
- HRPWM_FAULT_2 = 0x02U, /*!< Fault channel 2 identifier */
- HRPWM_FAULT_3 = 0x03U, /*!< Fault channel 3 identifier */
- HRPWM_FAULT_4 = 0x04U, /*!< Fault channel 4 identifier */
- HRPWM_FAULT_5 = 0x05U, /*!< Fault channel 5 identifier */
- HRPWM_SYSFAULT = 0x06U, /*!< Fault channel 5 identifier */
- } HRPWM_FaultSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Prescaler_Ratio HRPWM Prescaler Ratio
- * @brief Constants defining timer high-resolution clock prescaler ratio.
- * @{
- */
- typedef enum {
- HRPWM_PRESCALERRATIO_MUL32 = 0x0U, /*!< fHRCK: fHRPWM x 32U = 5.12 GHz - Resolution: 195 ps */
- HRPWM_PRESCALERRATIO_MUL16 = 0x1U, /*!< fHRCK: fHRPWM x 16U = 2.56 GHz - Resolution: 390 ps */
- HRPWM_PRESCALERRATIO_MUL8 = 0x2U, /*!< fHRCK: fHRPWM x 8U = 1.28 GHz - Resolution: 781 ps */
- HRPWM_PRESCALERRATIO_MUL4 = 0x3U, /*!< fHRCK: fHRPWM x 4U = 640 MHz - Resolution: 1.56 ns */
- HRPWM_PRESCALERRATIO_MUL2 = 0x4U, /*!< fHRCK: fHRPWM x 2U = 320 MHz - Resolution: 3.125 ns */
- HRPWM_PRESCALERRATIO_DIV1 = 0x5U, /*!< fHRCK: fHRPWM = 160 MHz - Resolution: 6.25 ns */
- HRPWM_PRESCALERRATIO_DIV2 = 0x6U, /*!< fHRCK: fHRPWM / 2U = 80 MHz - Resolution: 12.5 ns */
- HRPWM_PRESCALERRATIO_DIV4 = 0x7U, /*!< fHRCK: fHRPWM / 4U = 40 MHz - Resolution: 25 ns */
- } HRPWM_PrescalerRatioETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Counter_Operating_Mode HRPWM Counter Operating Mode
- * @brief Constants defining timer counter operating mode.
- * @{
- */
- typedef enum {
- HRPWM_MODE_CONTINUOUS = HRPWM_CR0_CONT, /*!< The timer operates in continuous (free-running) mode */
- HRPWM_MODE_SINGLESHOT = 0x0, /*!< The timer operates in non retriggerable single-shot mode */
- HRPWM_MODE_SINGLESHOT_RETRIGGERABLE = HRPWM_CR0_RETRIG, /*!< The timer operates in retriggerable single-shot mode */
- } HRPWM_ModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Half_Mode_Enable HRPWM Half Mode Enable
- * @brief Constants defining half mode enabling status.
- * @{
- */
- typedef enum {
- HRPWM_HALFMODE_DISABLE = 0x0, /*!< Half mode is disabled */
- HRPWM_HALFMODE_ENABLE = HRPWM_CR0_HALF, /*!< Half mode is enabled */
- } HRPWM_HalfModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Interleaved_Mode HRPWM Interleaved Mode
- * @brief Constants defining interleaved mode enabling status.
- * @{
- */
- typedef enum {
- HRPWM_INTERLEAVED_MODE_DISABLE = 0x0, /*!< HRPWM interleaved Mode is disabled */
- HRPWM_INTERLEAVED_MODE_TRIPLE = HRPWM_CR0_INTLVD_0, /*!< HRPWM interleaved Mode is Triple */
- HRPWM_INTERLEAVED_MODE_QUAD = HRPWM_CR0_INTLVD_1, /*!< HRPWM interleaved Mode is Quad */
- } HRPWM_InterleavedModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Push_Pull_Mode HRPWM Timer Push Pull Mode
- * @brief Constants defining whether or not the push-pull mode is enabled for a timer.
- * @{
- */
- typedef enum {
- HRPWM_PUSHPULLMODE_DISABLE = 0x0, /*!< Push-Pull mode disabled */
- HRPWM_PUSHPULLMODE_ENABLE = HRPWM_CR0_PSHPLL, /*!< Push-Pull mode enabled */
- } HRPWM_PushpullModeETypeDef;
- typedef enum {
- HRPWM_MODE_NONE = 0, /*!< HRPWM mode none */
- HRPWM_MODE_HALF = HRPWM_CR0_HALF, /*!< HRPWM mode half */
- HRPWM_MODE_PUSHPULL = HRPWM_CR0_PSHPLL, /*!< HRPWM mode push pull */
- HRPWM_MODE_INTERLEAVED_TRIPLE = HRPWM_CR0_INTLVD_0, /*!< HRPWM mode interleaved triple */
- HRPWM_MODE_INTERLEAVED_QUAD = HRPWM_CR0_INTLVD_1, /*!< HRPWM mode interleaved quad */
- HRPWM_MODE_HALF_PUSHPULL = HRPWM_CR0_HALF | HRPWM_CR0_PSHPLL, /*!< HRPWM mode half push pull */
- HRPWM_MODE_HALF_INTERLEAVED_TRIPLE = HRPWM_CR0_HALF | HRPWM_CR0_INTLVD_0, /*!< HRPWM mode half interleaved triple */
- HRPWM_MODE_HALF_INTERLEAVED_QUAD = HRPWM_CR0_HALF | HRPWM_CR0_INTLVD_1, /*!< HRPWM mode half interleaved quad */
- HRPWM_MODE_PUSHPULL_INTERLEAVED_TRIPLE = HRPWM_CR0_PSHPLL | HRPWM_CR0_INTLVD_0, /*!< HRPWM mode push pull interleaved triple*/
- HRPWM_MODE_PUSHPULL_INTERLEAVED_QUAD = HRPWM_CR0_PSHPLL | HRPWM_CR0_INTLVD_1, /*!< HRPWM mode push pull interleaved quad */
- } HRPWM_OutputModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Start_On_Sync_Input_Event HRPWM Start On Sync Input Event
- * @brief Constants defining the timer behavior following the synchronization event
- * @{
- */
- typedef enum {
- HRPWM_SYNCSTART_DISABLE = 0x0, /*!< Synchronization input event has effect on the timer */
- HRPWM_SYNCSTART_ENABLE = HRPWM_CR0_SYNCSTRT, /*!< Synchronization input event starts the timer */
- } HRPWM_SyncStartETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Reset_On_Sync_Input_Event HRPWM Reset On Sync Input Event
- * @brief Constants defining the timer behavior following the synchronization event
- * @{
- */
- typedef enum {
- HRPWM_SYNCRESET_DISABLE = 0x0, /*!< Synchronization input event has effect on the timer */
- HRPWM_SYNCRESET_ENABLE = HRPWM_CR0_SYNCRST, /*!< Synchronization input event resets the timer */
- } HRPWM_SyncResetETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Resync_Update_Enable HRPWM Re-Synchronized Update
- * @brief Constants defining whether the update source coming outside from the timing unit must be synchronized
- * @{
- */
- typedef enum {
- HRPWM_RSYNCUPDATE_DISABLE = 0x0, /*!< The update is taken into account immediately */
- HRPWM_RSYNCUPDATE_ENABLE = HRPWM_CR0_RSYNCU, /*!< The update is taken into account on the following Reset/Roll-over event*/
- } HRPWM_RsyncUpdateETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Register_Preload_Enable HRPWM Register Preload Enable
- * @brief Constants defining whether a write access into a preloadable
- * register is done into the active or the preload register.
- * @{
- */
- typedef enum {
- HRPWM_PRELOAD_DISABLE = 0x0, /*!< Preload disabled: the write access is directly done into the active register */
- HRPWM_PRELOAD_ENABLE = HRPWM_MCR_PREEN,/*!< Preload enabled: the write access is done into the preload register */
- } HRPWM_PreloadEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Synchronization_Input_Source HRPWM Synchronization Input Source
- * @brief Constants defining the synchronization input source
- * @{
- */
- typedef enum {
- HRPWM_SYNCINPUTSOURCE_NONE = 0x0, /*!< HRPWM Synchronization Input Source None */
- HRPWM_SYNCINPUTSOURCE_TIM0_TRGO_EVENT = HRPWM_MCR_SYNCIN_EN, /*!< The HRPWM is synchronized with TIM0_TRGO */
- HRPWM_SYNCINPUTSOURCE_EVENT = HRPWM_MCR_SYNCIN_SRC | HRPWM_MCR_SYNCIN_EN,
- /*!< A positive pulse on SYNCIN input triggers the HRPWM */
- } HRPWM_SyncInputSrcETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Synchronization_Output_Source HRPWM Synchronization Output Source
- * @brief Constants defining the source and event to be sent on the synchronization outputs
- * @{
- */
- #define HRPWM_SYNCOUTPUTSOURCE_SRC ( HRPWM_MCR_SYNCOUT_SRC_1 | HRPWM_MCR_SYNCOUT_SRC_0)
- typedef enum {
- HRPWM_SYNCOUTPUTSOURCE_MASTER_START = 0x0,
- /*!< A pulse is sent on the SYNCOUT output upon master timer start event */
- HRPWM_SYNCOUTPUTSOURCE_MASTER_CMPA = HRPWM_MCR_SYNCOUT_SRC_0,
- /*!< A pulse is sent on the SYNCOUT output upon master timer compare 1 event */
- HRPWM_SYNCOUTPUTSOURCE_SLAVE0_STARTRST = HRPWM_MCR_SYNCOUT_SRC_1,
- /*!< A pulse is sent on the SYNCOUT output upon timer A start or reset events */
- HRPWM_SYNCOUTPUTSOURCE_SLAVE0_CMPA = HRPWM_MCR_SYNCOUT_SRC_1 | HRPWM_MCR_SYNCOUT_SRC_0,
- /*!< A pulse is sent on the SYNCOUT output upon timer A compare 1 event */
- } HRPWM_SyncOutputSrcETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Synchronization_Output_Polarity HRPWM Synchronization Output Polarity
- * @brief Constants defining the routing and conditioning of the synchronization output event
- * @{
- */
- typedef enum {
- HRPWM_SYNCOUTPUTPOLARITY_NEGATIVE = HRPWM_MCR_SYNCOUT_POL,
- /*!< SCOUT pin has a low idle level and issues a positive pulse of 16 fHRPWM clock cycles length for the synchronization */
- HRPWM_SYNCOUTPUTPOLARITY_POSITIVE = 0x0,
- /*!< SCOUT pin has a high idle level and issues a negative pulse of 16 fHRPWM clock cycles length for the synchronization */
- } HRPWM_SyncOutputPolETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Synchronization_Output_Enable HRPWM Synchronization Output Polarity
- * @brief Constants defining the routing and conditioning of the synchronization output event
- * @{
- */
- typedef enum {
- HRPWM_SYNCOUTPUT_ENABLE = HRPWM_MCR_SYNCOUT_EN,
- /*!< SCOUT pin has a low idle level and issues a positive pulse of 16 fHRPWM clock cycles length for the synchronization */
- HRPWM_SYNCOUTPUT_DISABLE = 0x0,
- /*!< SCOUT pin has a high idle level and issues a negative pulse of 16 fHRPWM clock cycles length for the synchronization */
- } HRPWM_SyncOutputEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Fault_RollOver_Mode HRPWM Timer RollOver Mode
- * @brief Constants defining when the roll-over is generated upon Timerx
- * event generated when the counter is equal to 0 or to HRPWM_PERxR value or BOTH
- * This setting only applies when the UDM bit is set. It is not significant otherwise.
- * @{
- */
- typedef enum {
- HRPWM_FLTROM_BOTH = 0x0, /*!< The roll-over event is generated when the count is Period / 0 */
- HRPWM_FLTROM_ZERO = HRPWM_CR1_FLTROM_0, /*!< The roll-over event is generated when the count is 0 */
- HRPWM_FLTROM_PERIOD = HRPWM_CR1_FLTROM_1, /*!< The roll-over event is generated when the count is Period */
- } HRPWM_FltRollOverETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Event_RollOver_Mode HRPWM Timer RollOver Mode
- * @brief HRPWM Timer RollOver Mode
- * @{
- */
- typedef enum {
- HRPWM_EEVROM_BOTH = 0x0, /*!< The roll-over event is generated when the count is Period / 0 */
- HRPWM_EEVROM_ZERO = HRPWM_CR1_EEVROM_0, /*!< The roll-over event is generated when the count is 0 */
- HRPWM_EEVROM_PERIOD = HRPWM_CR1_EEVROM_1, /*!< The roll-over event is generated when the count is Period */
- } HRPWM_EventRollOverETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_ADTrig_RollOver_Mode HRPWM Timer RollOver Mode
- * @brief HRPWM Timer RollOver Mode
- * @{
- */
- typedef enum {
- HRPWM_ADROM_BOTH = 0x0, /*!< The roll-over event is generated when the count is Period / 0 */
- HRPWM_ADROM_ZERO = HRPWM_CR1_ADROM_0, /*!< The roll-over event is generated when the count is 0 */
- HRPWM_ADROM_PERIOD = HRPWM_CR1_ADROM_1, /*!< The roll-over event is generated when the count is Period */
- } HRPWM_AdcRollOverETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_Output_RollOver_Mode HRPWM Timer RollOver Mode
- * @brief HRPWM Timer RollOver Mode
- * @{
- */
- typedef enum {
- HRPWM_OUTROM_BOTH = 0x0, /*!< The roll-over event is generated when the count is Period / 0 */
- HRPWM_OUTROM_ZERO = HRPWM_CR1_OUTROM_0, /*!< The roll-over event is generated when the count is 0 */
- HRPWM_OUTROM_PERIOD = HRPWM_CR1_OUTROM_1, /*!< The roll-over event is generated when the count is Period */
- } HRPWM_OutputRollOverETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_RollOver_Mode HRPWM Timer RollOver Mode
- * @breif HRPWM Timer RollOver Mode
- * @{
- */
- typedef enum {
- HRPWM_ROM_BOTH = 0x0, /*!< The roll-over event is generated when the count is Period / 0 */
- HRPWM_ROM_ZERO = HRPWM_CR1_ROM_0, /*!< The roll-over event is generated when the count is 0 */
- HRPWM_ROM_PERIOD = HRPWM_CR1_ROM_1, /*!< The roll-over event is generated when the count is Period */
- } HRPWM_RollOverETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_UpDown_Mode HRPWM Timer UpDown Mode
- * @brief Constants defining how the timer counter operates
- * @{
- */
- typedef enum {
- HRPWM_COUNT_UP = 0x0, /*!< Timer counter is operating in up-counting mode */
- HRPWM_COUNT_UPDOWN = HRPWM_CR1_UDM, /*!< Timer counter is operating in up-down counting mode */
- } HRPWM_CounterModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_DualChannelDac_Reset HRPWM Dual Channel Dac Reset Trigger
- * @brief Constants defining when the HRPWM_dac_reset_trgx trigger is generated
- * @{
- */
- typedef enum {
- HRPWM_DAC_DCDR_SETA = 0x0, /*!< the trigger is generated on output A set event */
- HRPWM_DAC_DCDR_RESET = HRPWM_CR1_DCDR, /*!< the trigger is generated on counter reset or roll-over event */
- } HRPWM_DacResetSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_DualChannelDac_Step HRPWM Dual Channel Dac Step Trigger
- * @brief Constants defining when the HRPWM_dac_step_trgx trigger is generated
- * @{
- */
- typedef enum {
- HRPWM_DAC_DCDS_CLEARA = 0x0, /*!< the trigger is generated on output 1 reset event */
- HRPWM_DAC_DCDS_CMPD = HRPWM_CR1_DCDS, /*!< the trigger is generated on compare D event */
- } HRPWM_DacStepSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_DualChannelDac_Enable HRPWM Dual Channel DAC Trigger Enable
- * @brief Constants enabling the dual channel DAC triggering mechanism
- * @{
- */
- typedef enum {
- HRPWM_DAC_DCDE_DISABLE = 0x0, /*!< the Dual channel DAC trigger is disabled */
- HRPWM_DAC_DCDE_ENABLE = HRPWM_CR1_DCDE, /*!< the Dual channel DAC trigger is enabled */
- } HRPWM_DacTrigEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Deadtime_Rising_Sign HRPWM Dead-time Rising Sign
- * @brief Constants defining whether the dead-time is positive or negative (overlapping signal) on rising edge
- * @{
- */
- typedef enum {
- HRPWM_DEADTIME_RSIGN_NEGATIVE = 0x0, /*!< Negative dead-time on rising edge */
- HRPWM_DEADTIME_RSIGN_POSITIVE = HRPWM_DTR_SDTR, /*!< Positive dead-time on rising edge */
- } HRPWM_DeadTimeRiseSignETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Deadtime_Falling_Sign HRPWM Dead-time Falling Sign
- * @brief Constants defining whether the dead-time is positive or negative (overlapping signal) on falling edge
- * @{
- */
- typedef enum {
- HRPWM_DEADTIME_FSIGN_NEGATIVE = 0x0, /*!< Negative dead-time on falling edge */
- HRPWM_DEADTIME_FSIGN_POSITIVE = HRPWM_DTR_SDTF, /*!< Positive dead-time on falling edge */
- } HRPWM_DeadTimeFallSignETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_External_Event_Filter HRPWM Timer External Event Filter
- * @brief Constants defining the event filtering applied to external events
- * by a timer0 (5bit), the position of eventx need to left x*5bit;
- * @{
- */
- typedef enum {
- HRPWM_EEVFLT_NONE = 0x0,
- /*!< HRPWM EEFVLT NONE */
- HRPWM_EEVFLT_BLANKING_CMPA = HRPWM_EEFR0_EE0FLTR_0,
- /*!< Blanking from counter reset/roll-over to Compare A */
- HRPWM_EEVFLT_BLANKING_CMPB = HRPWM_EEFR0_EE0FLTR_1,
- /*!< Blanking from counter reset/roll-over to Compare B */
- HRPWM_EEVFLT_BLANKING_CMPC = HRPWM_EEFR0_EE0FLTR_1 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Blanking from counter reset/roll-over to Compare C */
- HRPWM_EEVFLT_BLANKING_CMPD = HRPWM_EEFR0_EE0FLTR_2,
- /*!< Blanking from counter reset/roll-over to Compare D */
- HRPWM_EEVFLT_BLANKING_UPCMPA_UPCMPB = HRPWM_EEFR0_EE0FLTR_2 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Blanking from counter up compare A to compare B only up_down mode valid */
- HRPWM_EEVFLT_BLANKING_UPCMPC_UPCMPD = HRPWM_EEFR0_EE0FLTR_2 | HRPWM_EEFR0_EE0FLTR_1,
- /*!< Blanking from counter up compare C to compare D only up_down mode valid */
- HRPWM_EEVFLT_BLANKING_DOWNCMPA_DOWNCMPB = HRPWM_EEFR0_EE0FLTR_2 | HRPWM_EEFR0_EE0FLTR_1 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Blanking from counter down compare A to compare B only up_down mode valid */
- HRPWM_EEVFLT_BLANKING_DOWNCMPC_DOWNCMPD = HRPWM_EEFR0_EE0FLTR_3,
- /*!< Blanking from counter down compare C to compare D only up_down mode valid */
- HRPWM_EEVFLT_WINDOWS_BLANKING_CMPA = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Windows from counter reset/roll-over to Compare A */
- HRPWM_EEVFLT_WINDOWS_BLANKING_CMPB = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_1,
- /*!< Windows from counter reset/roll-over to Compare B */
- HRPWM_EEVFLT_WINDOWS_BLANKING_CMPC = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_1 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Windows from counter reset/roll-over to Compare C */
- HRPWM_EEVFLT_WINDOWS_BLANKING_CMPD = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_2,
- /*!< Windows from counter reset/roll-over to Compare D */
- HRPWM_EEVFLT_WINDOWS_UPCMPB_UPCMPC = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_2 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Windows from counter up compare B to compare C only up_down mode valid */
- HRPWM_EEVFLT_WINDOWS_DOWNCMPB_DOWNCMPC = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_2 | HRPWM_EEFR0_EE0FLTR_1,
- /*!< Windows from counter down compare B to compare C only up_down mode valid */
- HRPWM_EEVFLT_WINDOWS_UPCMPB_DOWNCMPC = HRPWM_EEFR0_EE0FLTR_3 | HRPWM_EEFR0_EE0FLTR_2 | HRPWM_EEFR0_EE0FLTR_1 | HRPWM_EEFR0_EE0FLTR_0,
- /*!< Windows from counter up compare B to down compare C only up_down mode valid */
- } HRPWM_EventAFilterWindowETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_External_Event_Latch HRPWM Timer External Event Latch
- * @brief Constants defining whether or not the external event is
- * memorized (latched) and generated as soon as the blanking period
- * is completed or the window ends, the position of eventx need to left x*5bit;
- * @{
- */
- typedef enum {
- HRPWM_EVENTLATCH_DISABLE = 0x0,
- /*!< Event is ignored if it happens during a blank, or passed through during a window */
- HRPWM_EVENTLATCH_ENABLE = HRPWM_EEFR0_EE0LTCH,
- /*!< Event is latched and delayed till the end of the blanking or windowing period */
- } HRPWM_EventALatchETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Source_Select HRPWM Timer External Event Counter A source selection
- * @brief Constants defining the External Event Counter A source selection
- * @{
- */
- typedef enum {
- HRPWM_EEVASEL_SOURCE_EEVENT0 = 0x00U, /*!< External Event A selected event 0 as the source */
- HRPWM_EEVASEL_SOURCE_EEVENT1 = 0x10U, /*!< External Event A selected event 1 as the source */
- HRPWM_EEVASEL_SOURCE_EEVENT2 = 0x20U, /*!< External Event A selected event 2 as the source */
- HRPWM_EEVASEL_SOURCE_EEVENT3 = 0x30U, /*!< External Event A selected event 3 as the source */
- HRPWM_EEVASEL_SOURCE_EEVENT4 = 0x40U, /*!< External Event A selected event 4 as the source */
- HRPWM_EEVASEL_SOURCE_EEVENT5 = 0x50U, /*!< External Event A selected event 5 as the source */
- } HRPWM_EventASourceSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_External_Event_Counter HRPWM Timer External Event Counter
- * @brief Constants enabling the External Event A Counter
- * @{
- */
- typedef enum {
- HRPWM_EEVACOUNTER_DISABLE = 0x0, /*!< External Event Counter disabled */
- HRPWM_EEVACOUNTER_ENABLE = HRPWM_EEFR1_EEVACE, /*!< External Event Counter enabled */
- } HRPWM_EventACouterEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Timer_External_Event_ResetMode HRPWM Timer External Counter Reset Mode
- * @brief Constants enabling the External Event Counter A Reset Mode
- * @{
- */
- typedef enum {
- HRPWM_EEVARSTM_UNCONDITIONAL = 0x0,
- /*!< External Event Counter is reset on each reset / roll-over event */
- HRPWM_EEVARSTM_CONDITIONAL = HRPWM_EEFR1_EEVARSTM,
- /*!< External Event Counter is reset on each reset / roll-over event only if no event occurs during last counting period */
- } HRPWM_EventARstModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Chopper_Frequency HRPWM Chopper Frequency
- * @brief Constants defining the frequency of the generated high frequency carrier
- * @{
- */
- typedef enum {
- HRPWM_CHOPPER_CARFRQ_DIV16 = 0x0,
- /*!< fCHPFRQ = fHRPWM / 16 */
- HRPWM_CHOPPER_CARFRQ_DIV32 = HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 32 */
- HRPWM_CHOPPER_CARFRQ_DIV48 = HRPWM_CHPR_CARFRQ_1,
- /*!< fCHPFRQ = fHRPWM / 48 */
- HRPWM_CHOPPER_CARFRQ_DIV64 = HRPWM_CHPR_CARFRQ_1 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 64 */
- HRPWM_CHOPPER_CARFRQ_DIV80 = HRPWM_CHPR_CARFRQ_2,
- /*!< fCHPFRQ = fHRPWM / 80 */
- HRPWM_CHOPPER_CARFRQ_DIV96 = HRPWM_CHPR_CARFRQ_2 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 96 */
- HRPWM_CHOPPER_CARFRQ_DIV112 = HRPWM_CHPR_CARFRQ_2 | HRPWM_CHPR_CARFRQ_1,
- /*!< fCHPFRQ = fHRPWM / 112 */
- HRPWM_CHOPPER_CARFRQ_DIV128 = HRPWM_CHPR_CARFRQ_2 | HRPWM_CHPR_CARFRQ_1 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 128 */
- HRPWM_CHOPPER_CARFRQ_DIV144 = HRPWM_CHPR_CARFRQ_3,
- /*!< fCHPFRQ = fHRPWM / 144 */
- HRPWM_CHOPPER_CARFRQ_DIV160 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 160 */
- HRPWM_CHOPPER_CARFRQ_DIV176 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_1,
- /*!< fCHPFRQ = fHRPWM / 176 */
- HRPWM_CHOPPER_CARFRQ_DIV192 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_1 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 192 */
- HRPWM_CHOPPER_CARFRQ_DIV208 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_2,
- /*!< fCHPFRQ = fHRPWM / 208 */
- HRPWM_CHOPPER_CARFRQ_DIV224 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_2 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 224 */
- HRPWM_CHOPPER_CARFRQ_DIV240 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_2 | HRPWM_CHPR_CARFRQ_1,
- /*!< fCHPFRQ = fHRPWM / 240 */
- HRPWM_CHOPPER_CARFRQ_DIV256 = HRPWM_CHPR_CARFRQ_3 | HRPWM_CHPR_CARFRQ_2 | HRPWM_CHPR_CARFRQ_1 | HRPWM_CHPR_CARFRQ_0,
- /*!< fCHPFRQ = fHRPWM / 256 */
- } HRPWM_ChopperCarfreqETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Chopper_Duty_Cycle HRPWM Chopper Duty Cycle
- * @brief Constants defining the duty cycle of the generated high frequency carrier
- * Duty cycle can be adjusted by 1/8 step (from 0/8 up to 7/8)
- * @{
- */
- typedef enum {
- HRPWM_CHOPPER_DUTYCYCLE_0 = 0x0,
- /*!< Only 1st pulse is present */
- HRPWM_CHOPPER_DUTYCYCLE_1 = HRPWM_CHPR_CARDTY_0,
- /*!< Duty cycle of the carrier signal is 12.5U % */
- HRPWM_CHOPPER_DUTYCYCLE_2 = HRPWM_CHPR_CARDTY_1,
- /*!< Duty cycle of the carrier signal is 25U % */
- HRPWM_CHOPPER_DUTYCYCLE_3 = HRPWM_CHPR_CARDTY_1 | HRPWM_CHPR_CARDTY_0,
- /*!< Duty cycle of the carrier signal is 37.5U % */
- HRPWM_CHOPPER_DUTYCYCLE_4 = HRPWM_CHPR_CARDTY_2,
- /*!< Duty cycle of the carrier signal is 50U % */
- HRPWM_CHOPPER_DUTYCYCLE_5 = HRPWM_CHPR_CARDTY_2 | HRPWM_CHPR_CARDTY_0,
- /*!< Duty cycle of the carrier signal is 62.5U % */
- HRPWM_CHOPPER_DUTYCYCLE_6 = HRPWM_CHPR_CARDTY_2 | HRPWM_CHPR_CARDTY_1,
- /*!< Duty cycle of the carrier signal is 75U % */
- HRPWM_CHOPPER_DUTYCYCLE_7 = HRPWM_CHPR_CARDTY_2 | HRPWM_CHPR_CARDTY_1 | HRPWM_CHPR_CARDTY_0,
- /*!< Duty cycle of the carrier signal is 87.5U % */
- } HRPWM_ChopperDutyETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Chopper_Start_Pulse_Width HRPWM Chopper Start Pulse Width
- * @brief Constants defining the pulse width of the first pulse of the generated high frequency carrier
- * @{
- */
- typedef enum {
- HRPWM_CHOPPER_PULSEWIDTH_16 = 0x0,
- /*!< tSTPW = tHRPWM x 16 */
- HRPWM_CHOPPER_PULSEWIDTH_32 = HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 32 */
- HRPWM_CHOPPER_PULSEWIDTH_48 = HRPWM_CHPR_STRPW_1,
- /*!< tSTPW = tHRPWM x 48 */
- HRPWM_CHOPPER_PULSEWIDTH_64 = HRPWM_CHPR_STRPW_1 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 64 */
- HRPWM_CHOPPER_PULSEWIDTH_80 = HRPWM_CHPR_STRPW_2,
- /*!< tSTPW = tHRPWM x 80 */
- HRPWM_CHOPPER_PULSEWIDTH_96 = HRPWM_CHPR_STRPW_2 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 96 */
- HRPWM_CHOPPER_PULSEWIDTH_112 = HRPWM_CHPR_STRPW_2 | HRPWM_CHPR_STRPW_1,
- /*!< tSTPW = tHRPWM x 112 */
- HRPWM_CHOPPER_PULSEWIDTH_128 = HRPWM_CHPR_STRPW_2 | HRPWM_CHPR_STRPW_1 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 128 */
- HRPWM_CHOPPER_PULSEWIDTH_144 = HRPWM_CHPR_STRPW_3,
- /*!< tSTPW = tHRPWM x 144 */
- HRPWM_CHOPPER_PULSEWIDTH_160 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 160 */
- HRPWM_CHOPPER_PULSEWIDTH_176 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_1,
- /*!< tSTPW = tHRPWM x 176 */
- HRPWM_CHOPPER_PULSEWIDTH_192 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_1 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 192 */
- HRPWM_CHOPPER_PULSEWIDTH_208 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_2,
- /*!< tSTPW = tHRPWM x 208 */
- HRPWM_CHOPPER_PULSEWIDTH_224 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_2 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 224 */
- HRPWM_CHOPPER_PULSEWIDTH_240 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_2 | HRPWM_CHPR_STRPW_1,
- /*!< tSTPW = tHRPWM x 240 */
- HRPWM_CHOPPER_PULSEWIDTH_256 = HRPWM_CHPR_STRPW_3 | HRPWM_CHPR_STRPW_2 | HRPWM_CHPR_STRPW_1 | HRPWM_CHPR_STRPW_0,
- /*!< tSTPW = tHRPWM x 256 */
- } HRPWM_ChopperPulseWidthETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Output_ChopperA_Mode_Enable HRPWM Output Chopper Mode Enable
- * @brief Constants defining whether or not chopper mode is enabled for a timer
- output
- * @{
- */
- typedef enum {
- HRPWM_OUTPUTCHOPPERA_DISABLE = 0x0, /*!< Output signal is not altered */
- HRPWM_OUTPUTCHOPPERA_ENABLE = HRPWM_OUTR_CHPA, /*!< Output signal is chopped by a carrier signal */
- } HRPWM_ChopperAEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_OutputA_IDLE_Level HRPWM Output IDLE Level
- * @brief Constants defining the output level when output is in IDLE state
- * @{
- */
- typedef enum {
- HRPWM_OUTPUTIDLEA_INACTIVE = 0x0, /*!< Output at inactive level when in IDLE state */
- HRPWM_OUTPUTIDLEA_ACTIVE = HRPWM_OUTR_IDLESA, /*!< Output at active level when in IDLE state */
- } HRPWM_IdelALevelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_OutputA_FAULT_Level HRPWM Output FAULT Level
- * @brief Constants defining the output level when output is in FAULT state
- * @{
- */
- typedef enum {
- HRPWM_OUTPUTFAULTA_NONE = 0x0, /*!< The output is not affected by the fault input */
- HRPWM_OUTPUTFAULTA_ACTIVE = HRPWM_OUTR_FAULTA_0, /*!< Output at active level when in FAULT state */
- HRPWM_OUTPUTFAULTA_INACTIVE = HRPWM_OUTR_FAULTA_1, /*!< Output at inactive level when in FAULT state */
- HRPWM_OUTPUTFAULTA_HIGHZ = HRPWM_OUTR_FAULTA_1 | HRPWM_OUTR_FAULTA_0,/*!< Output is tri-stated when in FAULT state */
- } HRPWM_FaultALevelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_OutputA_Active_Polarity HRPWM Output Active_Polarity
- * @brief Constants whether the effective polarity is low level valid or high level valid
- * @{
- */
- typedef enum {
- HRPWM_OUTPUT_POLA_POSITIVE = 0x0, /*!< Positive polarity, high output efficiency */
- HRPWM_OUTPUT_POLA_NEGATIVE = HRPWM_OUTR_POLA, /*!< Negative polarity, low output efficiency */
- } HRPWM_OutputAPolETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Output_ChopperB_Mode_Enable HRPWM Output Chopper Mode Enable
- * @brief Constants defining whether or not chopper mode is enabled for a timer output
- * @{
- */
- typedef enum {
- HRPWM_OUTPUTCHOPPERB_DISABLE = 0x0, /*!< Output signal is not altered */
- HRPWM_OUTPUTCHOPPERB_ENABLE = HRPWM_OUTR_CHPB, /*!< Output signal is chopped by a carrier signal */
- } HRPWM_ChopperBEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_OutputB_IDLE_Level HRPWM Output IDLE Level
- * @brief Constants defining the output level when output is in IDLE state
- * @{
- */
- typedef enum {
- HRPWM_OUTPUTIDLEB_INACTIVE = 0x0, /*!< Output at inactive level when in IDLE state */
- HRPWM_OUTPUTIDLEB_ACTIVE = HRPWM_OUTR_IDLESB, /*!< Output at active level when in IDLE state */
- } HRPWM_IdelBLevelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_OutputB_FAULT_Level HRPWM Output FAULT Level
- * @brief Constants defining the output level when output is in FAULT state
- * @{
- */
- typedef enum {
- HRPWM_OUTPUTFAULTB_NONE = 0x0, /*!< The output is not affected by the fault input */
- HRPWM_OUTPUTFAULTB_ACTIVE = HRPWM_OUTR_FAULTB_0, /*!< Output at active level when in FAULT state */
- HRPWM_OUTPUTFAULTB_INACTIVE = HRPWM_OUTR_FAULTB_1, /*!< Output at inactive level when in FAULT state */
- HRPWM_OUTPUTFAULTB_HIGHZ = HRPWM_OUTR_FAULTB_1 | HRPWM_OUTR_FAULTB_0,/*!< Output is tri-stated when in FAULT state */
- } HRPWM_FaultBLevelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_OutputB_Active_Polarity HRPWM Output Active_Polarity
- * @brief Constants whether the effective polarity is low level valid or high level valid
- * @{
- */
- typedef enum {
- HRPWM_OUTPUT_POLB_POSITIVE = 0x0, /*!< Positive polarity, high output efficiency */
- HRPWM_OUTPUT_POLB_NEGATIVE = HRPWM_OUTR_POLB, /*!< Negative polarity, low output efficiency */
- } HRPWM_OutputBPolETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_ADC_Trigger_PostScaler HRPWM ADC Trigger PostScaler
- * @brief constants defining the adc trigger PostScaler 0~0xf;
- * @{
- */
- typedef enum {
- HRPWM_ADCTRIG_PSC_1 = 0x0,
- /*!< The PostScaler number of 1 */
- HRPWM_ADCTRIG_PSC_2 = HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 2 */
- HRPWM_ADCTRIG_PSC_3 = HRPWM_ADPSR_ADPSC0_1,
- /*!< The PostScaler number of 3 */
- HRPWM_ADCTRIG_PSC_4 = HRPWM_ADPSR_ADPSC0_1 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 4 */
- HRPWM_ADCTRIG_PSC_5 = HRPWM_ADPSR_ADPSC0_2,
- /*!< The PostScaler number of 5 */
- HRPWM_ADCTRIG_PSC_6 = HRPWM_ADPSR_ADPSC0_2 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 6 */
- HRPWM_ADCTRIG_PSC_7 = HRPWM_ADPSR_ADPSC0_2 | HRPWM_ADPSR_ADPSC0_1,
- /*!< The PostScaler number of 7 */
- HRPWM_ADCTRIG_PSC_8 = HRPWM_ADPSR_ADPSC0_2 | HRPWM_ADPSR_ADPSC0_1 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 8 */
- HRPWM_ADCTRIG_PSC_9 = HRPWM_ADPSR_ADPSC0_3,
- /*!< The PostScaler number of 9 */
- HRPWM_ADCTRIG_PSC_10 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 10 */
- HRPWM_ADCTRIG_PSC_11 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_1,
- /*!< The PostScaler number of 11 */
- HRPWM_ADCTRIG_PSC_12 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_1 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 12 */
- HRPWM_ADCTRIG_PSC_13 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_2,
- /*!< The PostScaler number of 13 */
- HRPWM_ADCTRIG_PSC_14 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_2 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 14 */
- HRPWM_ADCTRIG_PSC_15 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_2 | HRPWM_ADPSR_ADPSC0_1,
- /*!< The PostScaler number of 15 */
- HRPWM_ADCTRIG_PSC_16 = HRPWM_ADPSR_ADPSC0_3 | HRPWM_ADPSR_ADPSC0_2 | HRPWM_ADPSR_ADPSC0_1 | HRPWM_ADPSR_ADPSC0_0,
- /*!< The PostScaler number of 16 */
- } HRPWM_AdcTrigPSCETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_ADC_Trigger_Update_Source HRPWM ADC Trigger Update Source
- * @brief constants defining the source triggering the update of the
- HRPWM_ADCxR register (transfer from preload to active register). 3bit
- * @{
- */
- typedef enum {
- HRPWM_ADCTRIGUPDATE_MASTER = 0x0, /*!< Master timer */
- HRPWM_ADCTRIGUPDATE_TIMER_0 = HRPWM_CR0_ADUSRC0_0, /*!< Slave Timer 0 */
- HRPWM_ADCTRIGUPDATE_TIMER_1 = HRPWM_CR0_ADUSRC0_1, /*!< Slave Timer 1 */
- HRPWM_ADCTRIGUPDATE_TIMER_2 = HRPWM_CR0_ADUSRC0_1 | HRPWM_CR0_ADUSRC0_0, /*!< Slave Timer 2 */
- HRPWM_ADCTRIGUPDATE_TIMER_3 = HRPWM_CR0_ADUSRC0_2, /*!< Slave Timer 3 */
- HRPWM_ADCTRIGUPDATE_TIMER_4 = HRPWM_CR0_ADUSRC0_2 | HRPWM_CR0_ADUSRC0_0, /*!< Slave Timer 4 */
- HRPWM_ADCTRIGUPDATE_TIMER_5 = HRPWM_CR0_ADUSRC0_2 | HRPWM_CR0_ADUSRC0_1, /*!< Slave Timer 5 */
- } HRPWM_AdcTrigUpdateSrcETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_ADC_Trigger_Length HRPWM ADC Trigger Length
- * @brief constants defining the events triggering length. (left x * 4bit)
- * @{
- */
- typedef enum {
- HRPWM_ADCTRIG_LENGTH_1 = 0x0,
- /*!< The length of ADC trigger time is 1 clock */
- HRPWM_ADCTRIG_LENGTH_2 = HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 2 clock */
- HRPWM_ADCTRIG_LENGTH_3 = HRPWM_CR2_TLEN0_1,
- /*!< The length of ADC trigger time is 3 clock */
- HRPWM_ADCTRIG_LENGTH_4 = HRPWM_CR2_TLEN0_1 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 4 clock */
- HRPWM_ADCTRIG_LENGTH_5 = HRPWM_CR2_TLEN0_2,
- /*!< The length of ADC trigger time is 5 clock */
- HRPWM_ADCTRIG_LENGTH_6 = HRPWM_CR2_TLEN0_2 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 6 clock */
- HRPWM_ADCTRIG_LENGTH_7 = HRPWM_CR2_TLEN0_2 | HRPWM_CR2_TLEN0_1,
- /*!< The length of ADC trigger time is 7 clock */
- HRPWM_ADCTRIG_LENGTH_8 = HRPWM_CR2_TLEN0_2 | HRPWM_CR2_TLEN0_1 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 8 clock */
- HRPWM_ADCTRIG_LENGTH_9 = HRPWM_CR2_TLEN0_3,
- /*!< The length of ADC trigger time is 9 clock */
- HRPWM_ADCTRIG_LENGTH_10 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 10 clock */
- HRPWM_ADCTRIG_LENGTH_11 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_1,
- /*!< The length of ADC trigger time is 11 clock */
- HRPWM_ADCTRIG_LENGTH_12 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_1 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 12 clock */
- HRPWM_ADCTRIG_LENGTH_13 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_2,
- /*!< The length of ADC trigger time is 13 clock */
- HRPWM_ADCTRIG_LENGTH_14 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_2 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 14 clock */
- HRPWM_ADCTRIG_LENGTH_15 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_2 | HRPWM_CR2_TLEN0_1,
- /*!< The length of ADC trigger time is 15 clock */
- HRPWM_ADCTRIG_LENGTH_16 = HRPWM_CR2_TLEN0_3 | HRPWM_CR2_TLEN0_2 | HRPWM_CR2_TLEN0_1 | HRPWM_CR2_TLEN0_0,
- /*!< The length of ADC trigger time is 16 clock */
- } HRPWM_AdcTrigLengthETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Prescaler HRPWM External Event Prescaler
- * @brief Constants defining division ratio between the timer clock frequency
- * fHRPWM) and the external event signal sampling clock (fEEVS)
- * used by the digital filters
- * @{
- */
- typedef enum {
- HRPWM_EEVSD_DIV1 = 0x0, /*!< fEEVS=fHRPWM */
- HRPWM_EEVSD_DIV2 = HRPWM_EECR2_EEVSD_0, /*!< fEEVS=fHRPWM / 2U */
- HRPWM_EEVSD_DIV4 = (int32_t)HRPWM_EECR2_EEVSD_1, /*!< fEEVS=fHRPWM / 4U */
- HRPWM_EEVSD_DIV8 = (int32_t)(HRPWM_EECR2_EEVSD_1 | HRPWM_EECR2_EEVSD_0), /*!< fEEVS=fHRPWM / 8U */
- } HRPWM_EventPrescalerETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Filter HRPWM External Event Filter
- * @brief Constants defining the frequency used to sample an external event 6
- * input and the length (N) of the digital filter applied
- * @{
- */
- typedef enum {
- HRPWM_EVENTFILTER_NONE = 0x0,
- /*!< Filter disabled */
- HRPWM_EVENTFILTER_1 = HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fHRPWM, N=2U */
- HRPWM_EVENTFILTER_2 = HRPWM_EECR2_EE0F_1,
- /*!< fSAMPLING= fHRPWM, N=4U */
- HRPWM_EVENTFILTER_3 = HRPWM_EECR2_EE0F_1 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fHRPWM, N=8U */
- HRPWM_EVENTFILTER_4 = HRPWM_EECR2_EE0F_2,
- /*!< fSAMPLING= fEEVS/2U, N=6U */
- HRPWM_EVENTFILTER_5 = HRPWM_EECR2_EE0F_2 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fEEVS/2U, N=8U */
- HRPWM_EVENTFILTER_6 = HRPWM_EECR2_EE0F_2 | HRPWM_EECR2_EE0F_1,
- /*!< fSAMPLING= fEEVS/4U, N=6U */
- HRPWM_EVENTFILTER_7 = HRPWM_EECR2_EE0F_2 | HRPWM_EECR2_EE0F_1 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fEEVS/4U, N=8U */
- HRPWM_EVENTFILTER_8 = HRPWM_EECR2_EE0F_3,
- /*!< fSAMPLING= fEEVS/8U, N=6U */
- HRPWM_EVENTFILTER_9 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fEEVS/8U, N=8U */
- HRPWM_EVENTFILTER_10 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_1,
- /*!< fSAMPLING= fEEVS/16U, N=5U */
- HRPWM_EVENTFILTER_11 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_1 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fEEVS/16U, N=6U */
- HRPWM_EVENTFILTER_12 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_2,
- /*!< fSAMPLING= fEEVS/16U, N=8U */
- HRPWM_EVENTFILTER_13 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_2 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fEEVS/32U, N=5U */
- HRPWM_EVENTFILTER_14 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_2 | HRPWM_EECR2_EE0F_1,
- /*!< fSAMPLING= fEEVS/32U, N=6U */
- HRPWM_EVENTFILTER_15 = HRPWM_EECR2_EE0F_3 | HRPWM_EECR2_EE0F_2 | HRPWM_EECR2_EE0F_1 | HRPWM_EECR2_EE0F_0,
- /*!< fSAMPLING= fEEVS/32U, N=8U */
- } HRPWM_EventFilterETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Fast_Mode HRPWM External Event Fast Mode
- * @brief Constants defining whether or not an external event is programmed in fast mode
- * @{
- */
- typedef enum {
- HRPWM_EVENTFASTMODE_DISABLE = 0x0,
- /*!< External Event is re-synchronized by the HRPWM logic before acting on outputs */
- HRPWM_EVENTFASTMODE_ENABLE = HRPWM_EECR0_EE0FAST,
- /*!< External Event is acting asynchronously on outputs (low latency mode) */
- } HRPWM_EventFastModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Sensitivity HRPWM External Event Sensitivity
- * @brief Constants defining the sensitivity (level-sensitive or edge-sensitive)
- * of an external event
- * @{
- */
- typedef enum {
- HRPWM_EVENTSENS_LEVEL = 0x0,
- /*!< External event is active on level */
- HRPWM_EVENTSENS_RISINGEDGE = HRPWM_EECR0_EE0SNS_0,
- /*!< External event is active on Rising edge */
- HRPWM_EVENTSENS_FALLINGEDGE = HRPWM_EECR0_EE0SNS_1,
- /*!< External event is active on Falling edge */
- HRPWM_EVENTSENS_BOTHEDGES = HRPWM_EECR0_EE0SNS_1 | HRPWM_EECR0_EE0SNS_0,
- /*!< External event is active on Rising and Falling edges */
- } HRPWM_EventSensETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Polarity HRPWM External Event Polarity
- * @brief Constants defining the polarity of an external event
- * @{
- */
- typedef enum {
- HRPWM_EVENTPOL_HIGH = 0x0, /*!< External event is active high */
- HRPWM_EVENTPOL_LOW = HRPWM_EECR0_EE0POL, /*!< External event is active low */
- } HRPWM_EventPolETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Event_Sources HRPWM External Event Sources
- * @brief Constants defining available sources associated to external events
- * @{
- */
- typedef enum {
- HRPWM_EEVSRC_GPIO = 0x0, /*!< External event source 1U for External Event */
- HRPWM_EEVSRC_COMP_OUT = HRPWM_EECR0_EE0SRC_0, /*!< External event source 2U for External Event */
- HRPWM_EEVSRC_TIM_TRGO = HRPWM_EECR0_EE0SRC_1, /*!< External event source 3U for External Event */
- HRPWM_EEVSRC_ADC_AWD = HRPWM_EECR0_EE0SRC_1 | HRPWM_EECR0_EE0SRC_0, /*!< External event source 4U for External Event */
- } HRPWM_EventSrcSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Enable HRPWM Fault Enable
- * @brief Constants defining the Enable of a fault event
- * @{
- */
- typedef enum {
- HRPWM_FAULT_DISABLE = 0x0, /*!< Fault input is disable */
- HRPWM_FAULT_ENABLE = HRPWM_FLTINR0_FLT0E, /*!< Fault input is enable */
- } HRPWM_FaultEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Sources HRPWM Fault Sources
- * @brief Constants defining whether a fault is triggered by any external or internal fault source
- * @{
- */
- typedef enum {
- HRPWM_FLTSRC_GPIO = 0x0, /*!< The fault source 1U for External pin 0 */
- HRPWM_FLTSRC_COMP_OUT = HRPWM_FLTINR0_FLT0SRC_0, /*!< The fault source 2U for External Event 0 */
- HRPWM_FLTSRC_EVENT = HRPWM_FLTINR0_FLT0SRC_1, /*!< The fault source 3U for internal Event 0 */
- } HRPWM_FaultSrcSelETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Polarity HRPWM Fault Polarity
- * @brief Constants defining the polarity of a fault event
- * @{
- */
- typedef enum {
- HRPWM_FAULTPOL_HIGH = 0x0, /*!< Fault input is active low */
- HRPWM_FAULTPOL_LOW = HRPWM_FLTINR0_FLT0P, /*!< Fault input is active high */
- } HRPWM_FaultPolETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Blanking HRPWM Fault Blanking Source
- * @brief Constants defining the blanking source of a fault event
- * @{
- */
- typedef enum {
- HRPWM_FAULTBLKS_RSTALIGNED = 0x0, /*!< Fault blanking source is Reset-aligned window */
- HRPWM_FAULTBLKS_MOVING = HRPWM_FLTINR2_FLT0BLKS, /*!< Fault blanking source is Moving window */
- } HRPWM_FaultBlkWindowETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_ResetMode HRPWM Fault Reset Mode
- * @brief Constants defining the Counter reset mode of a fault event
- * @{
- */
- typedef enum {
- HRPWM_FAULTRSTM_UNCONDITIONAL = 0x0,
- /*!< Fault counter is reset on each reset / roll-over event */
- HRPWM_FAULTRSTM_CONDITIONAL = HRPWM_FLTINR2_FLT0RSTM,
- /*!< Fault counter is reset on each reset / roll-over event only if no fault occurred during last countingperiod. */
- } HRPWM_FaultRstModeETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Blanking_Control HRPWM Fault Blanking Control
- * @brief Constants used to enable or disable the blanking mode of a fault channel
- * @{
- */
- typedef enum {
- HRPWM_FAULTBLKEN_DISABLE = 0x0, /*!< No blanking on Fault */
- HRPWM_FAULTBLKEN_ENABLE = HRPWM_FLTINR2_FLT0BLKE, /*!< Fault blanking mode */
- } HRPWM_FaultBlkEnETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_External_Fault_Prescaler HRPWM External Fault Prescaler
- * @brief Constants defining the division ratio between the timer clock
- * frequency (fHRPWM) and the fault signal sampling clock (fFLTS) used
- * by the digital filters.
- * @{
- */
- typedef enum {
- HRPWM_FLTSD_DIV1 = 0x0, /*!< fFLTS=fHRPWM */
- HRPWM_FLTSD_DIV2 = HRPWM_FLTINR1_FLTSD_0, /*!< fFLTS=fHRPWM / 2U */
- HRPWM_FLTSD_DIV4 = (int32_t)HRPWM_FLTINR1_FLTSD_1, /*!< fFLTS=fHRPWM / 4U */
- HRPWM_FLTSD_DIV8 = (int32_t)(HRPWM_FLTINR1_FLTSD_1 | HRPWM_FLTINR1_FLTSD_0), /*!< fFLTS=fHRPWM / 8U */
- } HRPWM_FaultPrescalerETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Filter HRPWM Fault Filter
- * @brief Constants defining the frequency used to sample the fault input and
- * the length (N) of the digital filter applied
- * @{
- */
- typedef enum {
- HRPWM_FAULTFILTER_NONE = 0x0,
- /*!< Filter disabled */
- HRPWM_FAULTFILTER_1 = HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fHRPWM, N=2U */
- HRPWM_FAULTFILTER_2 = HRPWM_FLTINR1_FLT0F_1,
- /*!< fSAMPLING= fHRPWM, N=4U */
- HRPWM_FAULTFILTER_3 = HRPWM_FLTINR1_FLT0F_1 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fHRPWM, N=8U */
- HRPWM_FAULTFILTER_4 = HRPWM_FLTINR1_FLT0F_2,
- /*!< fSAMPLING= fFLTS/2U, N=6U */
- HRPWM_FAULTFILTER_5 = HRPWM_FLTINR1_FLT0F_2 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fFLTS/2U, N=8U */
- HRPWM_FAULTFILTER_6 = HRPWM_FLTINR1_FLT0F_2 | HRPWM_FLTINR1_FLT0F_1,
- /*!< fSAMPLING= fFLTS/4U, N=6U */
- HRPWM_FAULTFILTER_7 = HRPWM_FLTINR1_FLT0F_2 | HRPWM_FLTINR1_FLT0F_1 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fFLTS/4U, N=8U */
- HRPWM_FAULTFILTER_8 = HRPWM_FLTINR1_FLT0F_3,
- /*!< fSAMPLING= fFLTS/8U, N=6U */
- HRPWM_FAULTFILTER_9 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fFLTS/8U, N=8U */
- HRPWM_FAULTFILTER_10 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_1,
- /*!< fSAMPLING= fFLTS/16U, N=5U */
- HRPWM_FAULTFILTER_11 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_1 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fFLTS/16U, N=6U */
- HRPWM_FAULTFILTER_12 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_2,
- /*!< fSAMPLING= fFLTS/16U, N=8U */
- HRPWM_FAULTFILTER_13 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_2 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fFLTS/32U, N=5U */
- HRPWM_FAULTFILTER_14 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_2 | HRPWM_FLTINR1_FLT0F_1,
- /*!< fSAMPLING= fFLTS/32U, N=6U */
- HRPWM_FAULTFILTER_15 = HRPWM_FLTINR1_FLT0F_3 | HRPWM_FLTINR1_FLT0F_2 | HRPWM_FLTINR1_FLT0F_1 | HRPWM_FLTINR1_FLT0F_0,
- /*!< fSAMPLING= fFLTS/32U, N=8U */
- } HRPWM_FaultFilterETypeDef;
- /**
- * @}
- */
- /** @defgroup HRPWM_Fault_Counter HRPWM Fault counter threshold value
- * @brief Constants defining the FAULT Counter threshold (FLTCNT + 1)
- * @{
- */
- typedef enum {
- HRPWM_FAULTCOUNTER_NONE = 0x0,
- /*!< Counter threshold = 0U */
- HRPWM_FAULTCOUNTER_1 = HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 1U */
- HRPWM_FAULTCOUNTER_2 = HRPWM_FLTINR3_FLT0CNT_1,
- /*!< Counter threshold = 2U */
- HRPWM_FAULTCOUNTER_3 = HRPWM_FLTINR3_FLT0CNT_1 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 3U */
- HRPWM_FAULTCOUNTER_4 = HRPWM_FLTINR3_FLT0CNT_2,
- /*!< Counter threshold = 4U */
- HRPWM_FAULTCOUNTER_5 = HRPWM_FLTINR3_FLT0CNT_2 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 5U */
- HRPWM_FAULTCOUNTER_6 = HRPWM_FLTINR3_FLT0CNT_2 | HRPWM_FLTINR3_FLT0CNT_1,
- /*!< Counter threshold = 6U */
- HRPWM_FAULTCOUNTER_7 = HRPWM_FLTINR3_FLT0CNT_2 | HRPWM_FLTINR3_FLT0CNT_1 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 7U */
- HRPWM_FAULTCOUNTER_8 = HRPWM_FLTINR3_FLT0CNT_3,
- /*!< Counter threshold = 8U */
- HRPWM_FAULTCOUNTER_9 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 9U */
- HRPWM_FAULTCOUNTER_10 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_1,
- /*!< Counter threshold = 10U */
- HRPWM_FAULTCOUNTER_11 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_1 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 11U */
- HRPWM_FAULTCOUNTER_12 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_2,
- /*!< Counter threshold = 12U */
- HRPWM_FAULTCOUNTER_13 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_2 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 13U */
- HRPWM_FAULTCOUNTER_14 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_2 | HRPWM_FLTINR3_FLT0CNT_1,
- /*!< Counter threshold = 14U */
- HRPWM_FAULTCOUNTER_15 = HRPWM_FLTINR3_FLT0CNT_3 | HRPWM_FLTINR3_FLT0CNT_2 | HRPWM_FLTINR3_FLT0CNT_1 | HRPWM_FLTINR3_FLT0CNT_0,
- /*!< Counter threshold = 15U */
- } HRPWM_FaultCounterETypeDef;
- /**
- * @}
- */
- /**
- * @brief HRPWM Master Timer Configuration Structure definition - Time base related parameters
- */
- typedef struct __HRPWM_MasterSyncTypeDef {
- uint32_t SyncOptions; /*!< Specifies how the HRPWM instance handles the external synchronization signals.
- The HRPWM instance can be configured to act as a slave (waiting for a trigger
- to be synchronized) or a master (generating a synchronization signal) or both.
- This parameter can be a combination of @ref HRPWM_Synchronization_Options. */
- HRPWM_SyncInputSrcETypeDef SyncInputSource; /*!< Specifies the external synchronization input source (significant only when
- the HRPWM instance is configured as a slave). */
- HRPWM_SyncOutputSrcETypeDef SyncOutputSource; /*!< Specifies the source and event to be sent on the external synchronization outputs
- (significant only when the HRPWM instance is configured as a master). */
- HRPWM_SyncOutputEnETypeDef SyncOutputEnable; /*!< Specifies the source and event to be sent on the external synchronization outputs
- (significant only when the HRPWM is configured as a master).*/
- HRPWM_SyncOutputPolETypeDef SyncOutputPolarity; /*!< Specifies the conditioning of the event to be sent on the external synchronization
- outputs (significant only when the HRPWM instance is configured as a master). */
- } HRPWM_MasterSyncTypeDef;
- /**
- * @brief Timer configuration definition -- Timerx (x=0...5) & Master timer
- */
- typedef struct __HRPWM_TimerBaseCfgTypeDef {
- uint32_t InterruptRequests; /*!< Relevant for all HRPWM timers, including the master.
- Specifies which interrupts requests must enabled for the timer.
- This parameter can be any combination of @ref HRPWM_Master_Interrupt_Enable
- or @ref HRPWM_Timing_Unit_Interrupt_Enable */
- uint32_t Period; /*!< Specifies the timer period.
- The period value must be above 3 periods of the fHRPWM clock.
- Maximum value is = 0xFFFDU */
- uint32_t RepetitionCounter; /*!< Specifies the timer repetition period.
- This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */
- uint32_t ResetTrigger; /*!< Relevant for Timer0 to Timer5. no master timer.
- Specifies source(s) triggering the timer counter reset.
- This parameter can be a combination of @ref HRPWM_Timer_Reset_Trigger */
- HRPWM_PrescalerRatioETypeDef PrescalerRatio;/*!< Specifies the timer clock prescaler ratio. */
- HRPWM_ModeETypeDef Mode; /*!< Specifies the counter operating mode. continues or single */
- HRPWM_SyncStartETypeDef StartOnSync; /*!< Relevant for all HRPWM timers, including the master.Specifies whether or
- not timer is reset by a rising edge on the synchronization input (when enabled). */
- HRPWM_SyncResetETypeDef ResetOnSync; /*!< Relevant for all HRPWM timers, including the master.Specifies whether or
- not timer is reset by a rising edge on the synchronization input (when enabled). */
- HRPWM_RsyncUpdateETypeDef ReSyncUpdate; /*!< Relevant for Timer0 to Timer5.Specifies whether update source is coming
- from the timing unit @ref HRPWM_Timer_Resync_Update_Enable */
- } HRPWM_TimerBaseCfgTypeDef;
- /**
- * @brief Simple output compare mode configuration definition -- Timerx (x=0...5) & Master timer
- */
- typedef struct __HRPWM_TimerCompareCfgTypeDef {
- HRPWM_PreloadEnETypeDef PreloadEnable; /*!< Relevant for all HRPWM timers, including the master.
- Specifies whether or not register preload is enabled. */
- uint32_t UpdateTrigger; /*!< Relevant for Timer0 to Timer5. no Master timer update source ;
- Specifies source(s) triggering the timer registers update.
- This parameter can be a combination of @ref HRPWM_Timer_Update_Trigger */
- uint32_t CompareValueA; /*!< Specifies the compare A value of the timer compare unit.
- The minimum value must be greater than or equal to 3 periods of the fHRPWM clock.
- The maximum value must be less than or equal to 0xFFFFU - 1 periods of the fHRPWM clock */
- uint32_t CompareValueB; /*!< Specifies the compare B value of the timer compare unit.
- The minimum value must be greater than or equal to 3 periods of the fHRPWM clock.
- The maximum value must be less than or equal to 0xFFFFU - 1 periods of the fHRPWM clock */
- uint32_t CompareValueC; /*!< Specifies the compare C value of the timer compare unit.
- The minimum value must be greater than or equal to 3 periods of the fHRPWM clock.
- The maximum value must be less than or equal to 0xFFFFU - 1 periods of the fHRPWM clock */
- uint32_t CompareValueD; /*!< Specifies the compare D value of the timer compare unit.
- The minimum value must be greater than or equal to 3 periods of the fHRPWM clock.
- The maximum value must be less than or equal to 0xFFFFU - 1 periods of the fHRPWM clock */
- } HRPWM_TimerCompareCfgTypeDef;
- /**
- * @brief Timer RollOver definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_TimerRollOverCfgTypeDef {
- HRPWM_CounterModeETypeDef UpDownMode; /*!< Relevant for Timer0 to Timer5.
- Specifies whether or not counter is operating in up or up-down counting mode. */
- HRPWM_RollOverETypeDef RollOverMode; /*!< Relevant for Timer0 to Timer5.
- Roll over mode selection Settings are only valid in up-down counting mode. */
- HRPWM_OutputRollOverETypeDef OutputRollOverMode;/*!< Relevant for Timer0 to Timer5.
- Output roll over mode selection Settings, valid only in up-down counting mode. */
- HRPWM_FltRollOverETypeDef FaultRollOverMode; /*!< Relevant for Timer0 to Timer5.
- The fault roll over mode selection setting is only valid in up-down counting mode. */
- HRPWM_EventRollOverETypeDef EeventRollOverMode;/*!< Relevant for Timer0 to Timer5.
- The event roll over mode selection setting is only valid in up-down counting mode. */
- HRPWM_AdcRollOverETypeDef AdcRollOverMode; /*!< Relevant for Timer0 to Timer5.
- The ADDA trigger roll over mode selection setting is only valid in up-down counting mode. */
- } HRPWM_TimerRollOverCfgTypeDef;
- /**
- * @brief Timer Daul Channel Dac definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_TimerDaulDacCfgTypeDef {
- HRPWM_DacResetSelETypeDef DualChannelDacReset; /*!< Relevant for Timer0 to Timer5.
- Specifies how the HRPWM_dac_reset_trgx trigger is generated. */
- HRPWM_DacStepSelETypeDef DualChannelDacStep; /*!< Relevant for Timer0 to Timer5.
- Specifies how the HRPWM_dac_step_trgx trigger is generated. */
- HRPWM_DacTrigEnETypeDef DualChannelDacEnable; /*!< Relevant for Timer0 to Timer5.
- Enables or not the dual channel DAC triggering mechanism. */
- } HRPWM_TimerDaulDacCfgTypeDef;
- /**
- * @brief Output configuration definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_OutputCfgTypeDef {
- HRPWM_OutputAPolETypeDef OutputAPolarity; /*!< Specifies the output polarity. */
- HRPWM_IdelALevelETypeDef IdleALevel; /*!< Specifies whether the output level is active or inactive when in IDLE state. */
- HRPWM_FaultALevelETypeDef FaultALevel; /*!< Specifies whether the output level is active or inactive when in FAULT state. */
- HRPWM_ChopperAEnETypeDef ChopperAModeEnable; /*!< Indicates whether or not the chopper mode is enabled*/
- HRPWM_OutputBPolETypeDef OutputBPolarity; /*!< Specifies the output polarity.*/
- HRPWM_IdelBLevelETypeDef IdleBLevel; /*!< Specifies whether the output level is active or inactive when in IDLE state. */
- HRPWM_FaultBLevelETypeDef FaultBLevel; /*!< Specifies whether the output level is active or inactive when in FAULT state. */
- HRPWM_ChopperBEnETypeDef ChopperBModeEnable; /*!< Indicates whether or not the chopper mode is enabled */
- uint32_t OutputASetSource; /*!< A channel output action set source event selection
- This parameter can be combination value of @ref HRPWM_Timer_Set_Trigger */
- uint32_t OutputAClearSource; /*!< A channel output action clear source event selection
- This parameter can be combination value of @ref HRPWM_Timer_Clear_Trigger */
- uint32_t OutputBSetSource; /*!< B channel output action set source event selection
- This parameter can be combination value of @ref HRPWM_Timer_Set_Trigger */
- uint32_t OutputBClearSource; /*!< B channel output action clear source event selection
- This parameter can be combination value of @ref HRPWM_Timer_Clear_Trigger */
- } HRPWM_OutputCfgTypeDef;
- /**
- * @brief Dead time feature configuration definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_DeadTimeCfgTypeDef {
- LL_FuncStatusETypeDef DeadTimeEn; /*!< Specifies the dead-time output enable */
- uint32_t RisingValue; /*!< Specifies the dead-time following a rising edge.
- This parameter can be a number between 0x0 and 0xFFFU */
- HRPWM_DeadTimeRiseSignETypeDef RisingSign; /*!< Specifies whether the dead-time is positive or negative on rising edge. */
- uint32_t FallingValue; /*!< Specifies the dead-time following a falling edge.
- This parameter can be a number between 0x0 and 0xFFFU */
- HRPWM_DeadTimeFallSignETypeDef FallingSign; /*!< Specifies whether the dead-time is positive or negative on falling edge. */
- } HRPWM_DeadTimeCfgTypeDef;
- /**
- * @brief Chopper mode configuration definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_ChopperModeCfgTypeDef {
- HRPWM_ChopperAEnETypeDef ChopperAModeEnable; /*!< Indicates whether or not the chopper mode is enabled */
- HRPWM_ChopperBEnETypeDef ChopperBModeEnable; /*!< Indicates whether or not the chopper mode is enabled */
- HRPWM_ChopperCarfreqETypeDef CarrierFreq; /*!< Specifies the Timer carrier frequency value. */
- HRPWM_ChopperDutyETypeDef DutyCycle; /*!< Specifies the Timer chopper duty cycle value. */
- HRPWM_ChopperPulseWidthETypeDef StartPulse; /*!< Specifies the Timer pulse width value. */
- } HRPWM_ChopperModeCfgTypeDef;
- /**
- * @brief External event filtering in timing units configuration definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_TimerEventFilteringCfgTypeDef {
- HRPWM_EventAFilterWindowETypeDef Filter; /*!< Specifies the type of event filtering within the timing unit. */
- HRPWM_EventALatchETypeDef Latch; /*!< Specifies whether or not the signal is latched. */
- } HRPWM_TimerEventFilteringCfgTypeDef;
- /**
- * @brief External Event Counter A configuration definition -- Timerx (x=0...5)
- */
- typedef struct __HRPWM_ExternalEventACfgTypeDef {
- HRPWM_EventACouterEnETypeDef CounterEnable; /*!< Specifies the External Event A Counter enable. */
- HRPWM_EventARstModeETypeDef ResetMode; /*!< Specifies the External Event A Counte Reset Mode. */
- HRPWM_EventASourceSelETypeDef Source; /*!< Specifies the External Event A Counter source selection. */
- uint32_t Counter; /*!< Specifies the External Event A Counter Threshold.
- This parameter can be a number between 0x0 and 0x3F */
- } HRPWM_ExternalEventACfgTypeDef;
- /**
- * @brief External event channel configuration definition -- common timer
- */
- typedef struct __HRPWM_EventCfgTypeDef {
- HRPWM_EventSrcSelETypeDef Source; /*!< Identifies the source of the external event. */
- HRPWM_EventPolETypeDef Polarity; /*!< Specifies the polarity of the external event (in case of level sensitivity). */
- HRPWM_EventSensETypeDef Sensitivity; /*!< Specifies the sensitivity of the external event. */
- HRPWM_EventPrescalerETypeDef SampClockDiv; /*!< External event sampling time frequency division ratio. */
- HRPWM_EventFilterETypeDef Filter; /*!< Defines the frequency used to sample the External Event and the length of the digital filter. */
- HRPWM_EventFastModeETypeDef FastMode; /*!< Indicates whether or not low latency mode is enabled for the external event. */
- } HRPWM_EventCfgTypeDef;
- /**
- * @brief Fault channel configuration definition -- common timer
- */
- typedef struct __HRPWM_FaultCfgTypeDef {
- uint32_t InterruptEn; /*!< Relevant for comon timer.
- Specifies which interrupts requests must enabled for comon timer.
- This parameter can be any combination of @ref HRPWM_Common_Interrupt_Enable */
- HRPWM_FaultSrcSelETypeDef Source; /*!< Identifies the source of the fault. */
- HRPWM_FaultPolETypeDef Polarity; /*!< Specifies the polarity of the fault event. */
- HRPWM_FaultPrescalerETypeDef SampClockDiv; /*!< Fault signal sampling time frequency division ratio. */
- HRPWM_FaultFilterETypeDef Filter; /*!< Defines the frequency used to sample the Fault input and the length of the digital filter. */
- HRPWM_FaultEnETypeDef Enable; /*!< Corresponding fault sampling enablement. */
- } HRPWM_FaultCfgTypeDef;
- /**
- * @brief Fault channel configuration blanking definition -- common timer
- */
- typedef struct __HRPWM_FaultBlankingCfgTypeDef {
- HRPWM_FaultCounterETypeDef Threshold; /*!< Specifies the Fault counter Threshold. */
- HRPWM_FaultBlkEnETypeDef BlankingEnable; /*!< Specifies the Fault blanking enablement. */
- HRPWM_FaultRstModeETypeDef ResetMode; /*!< Specifies the reset mode of a fault event counter. */
- HRPWM_FaultBlkWindowETypeDef BlankingSource;/*!< Specifies the blanking source of a fault event. */
- } HRPWM_FaultBlankingCfgTypeDef;
- /**
- * @brief ADC trigger configuration definition -- common timer
- */
- typedef struct __HRPWM_ADCTriggerCfgTypeDef {
- uint32_t Trigger; /*!< Specifies the event(s) triggering the ADC conversion.
- This parameter can be a combination of @ref HRPWM_ADC_Trigger_Event */
- HRPWM_AdcTrigGroupETypeDef TriggerGroup; /*!< Specifies the ADC trigger group 0~7. */
- HRPWM_AdcTrigUpdateSrcETypeDef UpdateSource;/*!< Specifies the ADC trigger update source. */
- HRPWM_AdcTrigLengthETypeDef TriggerLength; /*!< Specifies the event(s) triggering the ADC\DAC conversion.In practical use,
- the length configuration should be greater than 3 clocks. For example,
- under a 160M clock, the minimum configuration value is 0x3; */
- HRPWM_AdcTrigPSCETypeDef TriggerPostScaler; /*!< Specifies the event(s) triggering the ADC\DAC conversion. */
- } HRPWM_ADCTriggerCfgTypeDef;
- /**
- * @brief HRPWM DLL start configuration definition -- common timer
- */
- typedef struct __HRPWM_DLLCfgTypedef {
- HRPWM_DllCurrentETypeDef CurrentSel;/*!< Configure DLL current selection. */
- uint32_t ClockDelayThres0; /*!< DLL Clock Delay Threshold. CLKPHASE = PULPHASE - DLLTHRES0. range : 0~0x1F */
- uint32_t ClockDelayThres1; /*!< DLL Clock Delay Threshold. CLKPHASE <= DLLTHRES1 :
- Sample hrpwm_clk Pulse CLKPHASE > DLLTHRES1 : Sample hrpwm_dly_clk Pulse. range : 0~0x1F */
- } HRPWM_DLLCfgTypedef;
- /**
- * @}
- */
- /* Exported macro ------------------------------------------------------------*/
- /** @defgroup HRPWM_LL_Exported_Macros HRPWM LL Exported Macros
- * @brief HRPWM LL Exported Macros
- * @{
- */
- /**
- * @brief swap the output of the timer
- * HRPWM_SETA1R and HRPWM_RSTAR are coding for the output B,
- * HRPWM_SETA2R and HRPWM_RSTAR are coding for the output B
- * @note Push pull mode setting is invalid
- * @param __TIMER__ : Timer index
- * This parameter can be a combination of the following values:
- * @arg HRPWM_SWAP_SLAVE_0
- * @arg HRPWM_SWAP_SLAVE_1
- * @arg HRPWM_SWAP_SLAVE_2
- * @arg HRPWM_SWAP_SLAVE_3
- * @arg HRPWM_SWAP_SLAVE_4
- * @arg HRPWM_SWAP_SLAVE_5
- * @retval none
- */
- #define __LL_HRPWM_OUTPUT_SWAP(__TIMER__) \
- MODIFY_REG(HRPWM->Common.CR1, HRPWM_CR1_SWP5 | HRPWM_CR1_SWP5 | HRPWM_CR1_SWP5 | HRPWM_CR1_SWP5 | HRPWM_CR1_SWP5, __TIMER__)
- /**
- * @brief swap the output of the timer
- * HRPWM_SETAR and HRPWM_RSTAR are coding for the output B,
- * HRPWM_SETAR and HRPWM_RSTAR are coding for the output B
- * @note Push pull mode setting is invalid
- * @param __TIMER__ : Timer index
- * This parameter Only one of the values can be selected, not a combination:
- * @arg HRPWM_SWAP_SLAVE_0
- * @arg HRPWM_SWAP_SLAVE_1
- * @arg HRPWM_SWAP_SLAVE_2
- * @arg HRPWM_SWAP_SLAVE_3
- * @arg HRPWM_SWAP_SLAVE_4
- * @arg HRPWM_SWAP_SLAVE_5
- * @retval none
- */
- #define __LL_HRPWM_TIMER_OUTPUT_SWAP(__TIMER__) SET_BIT(HRPWM->Common.CR1, __TIMER__)
- /**
- * @brief Un-swap the output of the timer
- * HRPWM_SETAR and HRPWM_RSTAR are coding for the output A,
- * HRPWM_SETAR and HRPWM_RSTAR are coding for the output A
- * @note Push pull mode setting is invalid
- * @param __TIMER__ : Timer index
- * This parameter Only one of the values can be selected, not a combination:
- * @arg HRPWM_SWAP_SLAVE_0
- * @arg HRPWM_SWAP_SLAVE_1
- * @arg HRPWM_SWAP_SLAVE_2
- * @arg HRPWM_SWAP_SLAVE_3
- * @arg HRPWM_SWAP_SLAVE_4
- * @arg HRPWM_SWAP_SLAVE_5
- * @retval none
- */
- #define __LL_HRPWM_TIMER_OUTPUT_NOSWAP(__TIMER__) CLEAR_BIT(HRPWM->Common.CR1, __TIMER__)
- /** @brief Enables or disables the specified HRPWM common interrupts.
- * @param __INTERRUPT__ specifies the interrupt source to enable or disable.
- * This parameter can be one of the following values:
- * @arg HRPWM_IT_FLT0: Fault 0 interrupt enable
- * @arg HRPWM_IT_FLT1: Fault 1 interrupt enable
- * @arg HRPWM_IT_FLT2: Fault 2 interrupt enable
- * @arg HRPWM_IT_FLT3: Fault 3 interrupt enable
- * @arg HRPWM_IT_FLT4: Fault 4 interrupt enable
- * @arg HRPWM_IT_FLT5: Fault 5 interrupt enable
- * @arg HRPWM_IT_SYSFLT: System Fault interrupt enable
- * @retval None
- */
- #define __LL_HRPWM_ENABLE_IT(__INTERRUPT__) (HRPWM->Common.IER |= (__INTERRUPT__))
- #define __LL_HRPWM_DISABLE_IT(__INTERRUPT__) (HRPWM->Common.IER &= ~(__INTERRUPT__))
- /** @brief Enables or disables the specified HRPWM Master timer interrupts.
- * @param __INTERRUPT__ specifies the interrupt source to enable or disable.
- * This parameter can be one of the following values:
- * @arg HRPWM_MASTER_IT_MPER: Master Period interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPA: Master compare A interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPB: Master compare B interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPC: Master compare C interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPD: Master compare D interrupt enable
- * @arg HRPWM_MASTER_IT_MREP: Master Repetition interrupt enable
- * @arg HRPWM_MASTER_IT_SYNC: Synchronization input interrupt enable
- * @arg HRPWM_MASTER_IT_MUPD: Master update interrupt enable
- * @retval None
- */
- #define __LL_HRPWM_MASTER_ENABLE_IT(__INTERRUPT__) (HRPWM->Master.MIER |= (__INTERRUPT__))
- #define __LL_HRPWM_MASTER_DISABLE_IT(__INTERRUPT__) (HRPWM->Master.MIER &= ~(__INTERRUPT__))
- /** @brief Enables or disables the specified HRPWM Timerx interrupts.
- * @param __TIMER__ specified the timing unit (Timer 0 to 5)
- * @param __INTERRUPT__ specifies the interrupt source to enable or disable.
- * This parameter can be one of the following values:
- * @arg HRPWM_IT_PER: Timer Period interrupt enable
- * @arg HRPWM_IT_CMPA: Timer compare 1 interrupt enable
- * @arg HRPWM_IT_CMP2: Timer compare 2 interrupt enable
- * @arg HRPWM_IT_CMP3: Timer compare 3 interrupt enable
- * @arg HRPWM_IT_CMP4: Timer compare 4 interrupt enable
- * @arg HRPWM_IT_SETA: Timer output 1 set interrupt enable
- * @arg HRPWM_IT_RSTA: Timer output 1 reset interrupt enable
- * @arg HRPWM_IT_SETB: Timer output 2 set interrupt enable
- * @arg HRPWM_IT_RSTB: Timer output 2 reset interrupt enable
- * @arg HRPWM_IT_RST: Timer reset interrupt enable
- * @arg HRPWM_IT_REP: Timer repetition interrupt enable
- * @arg HRPWM_IT_UPD: Timer update interrupt enable
- * @arg HRPWM_IT_DLYPRT: Timer delay protection interrupt enable
- * @retval None
- */
- #define __LL_HRPWM_TIMER_ENABLE_IT(__TIMER__, __INTERRUPT__) (HRPWM->PWM[(__TIMER__)].IER |= (__INTERRUPT__))
- #define __LL_HRPWM_TIMER_DISABLE_IT(__TIMER__, __INTERRUPT__) (HRPWM->PWM[(__TIMER__)].IER &= ~(__INTERRUPT__))
- /** @brief Checks if the specified HRPWM common interrupt source is enabled or disabled.
- * @param __INTERRUPT__ specifies the interrupt source to check.
- * @param __INTERRUPT__ specifies the interrupt source to enable or disable.
- * This parameter can be one of the following values:
- * @arg HRPWM_IT_FLT0: Fault 0 interrupt enable
- * @arg HRPWM_IT_FLT1: Fault 1 interrupt enable
- * @arg HRPWM_IT_FLT2: Fault 2 interrupt enable
- * @arg HRPWM_IT_FLT3: Fault 3 interrupt enable
- * @arg HRPWM_IT_FLT4: Fault 4 interrupt enable
- * @arg HRPWM_IT_FLT5: Fault 5 interrupt enable
- * @arg HRPWM_IT_SYSFLT: System Fault interrupt enable
- * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
- */
- #define __LL_HRPWM_GET_IT(__INTERRUPT__) (((HRPWM->Common.IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /** @brief Checks if the specified HRPWM Master interrupt source is enabled or disabled.
- * @param __INTERRUPT__ specifies the interrupt source to check.
- * This parameter can be one of the following values:
- * @arg HRPWM_MASTER_IT_MPER: Master Period interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPA: Master compare A interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPB: Master compare B interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPC: Master compare C interrupt enable
- * @arg HRPWM_MASTER_IT_MCMPD: Master compare D interrupt enable
- * @arg HRPWM_MASTER_IT_MREP: Master Repetition interrupt enable
- * @arg HRPWM_MASTER_IT_SYNC: Synchronization input interrupt enable
- * @arg HRPWM_MASTER_IT_MUPD: Master update interrupt enable
- * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
- */
- #define __LL_HRPWM_MASTER_GET_IT(__INTERRUPT__) (((HRPWM->Master.MIER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /** @brief Checks if the specified HRPWM Timerx interrupt source is enabled or disabled.
- * @param __TIMER__ specified the timing unit (Timer 0 to 5)
- * @param __INTERRUPT__ specifies the interrupt source to enable or disable.
- * This parameter can be one of the following values:
- * @arg HRPWM_IT_PER: Timer Period interrupt enable
- * @arg HRPWM_IT_CMPA: Timer compare A interrupt enable
- * @arg HRPWM_IT_CMPB: Timer compare B interrupt enable
- * @arg HRPWM_IT_CMPC: Timer compare C interrupt enable
- * @arg HRPWM_IT_CMPD: Timer compare D interrupt enable
- * @arg HRPWM_IT_SETA: Timer output A set interrupt enable
- * @arg HRPWM_IT_RSTA: Timer output A reset interrupt enable
- * @arg HRPWM_IT_SETB: Timer output B set interrupt enable
- * @arg HRPWM_IT_RSTB: Timer output B reset interrupt enable
- * @arg HRPWM_IT_RST: Timer reset interrupt enable
- * @arg HRPWM_IT_REP: Timer repetition interrupt enable
- * @arg HRPWM_IT_UPD: Timer update interrupt enable
- * @arg HRPWM_IT_DLYPRT: Timer delay protection interrupt enable
- * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
- */
- #define __LL_HRPWM_TIMER_GET_IT(__TIMER__, __INTERRUPT__) \
- (((HRPWM->PWM[(__TIMER__)].IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /** @brief Get the specified HRPWM common pending flag.
- * @param __INTERRUPT__ specifies the interrupt pending bit to clear.
- * This parameter can be one of the following values:
- * @arg HRPWM_FLAG_FLT0: Fault 0 flag
- * @arg HRPWM_FLAG_FLT1: Fault 1 flag
- * @arg HRPWM_FLAG_FLT2: Fault 2 flag
- * @arg HRPWM_FLAG_FLT3: Fault 3 flag
- * @arg HRPWM_FLAG_FLT4: Fault 4 flag
- * @arg HRPWM_FLAG_FLT5: Fault 5 flag
- * @arg HRPWM_FLAG_SYSFLT: System Fault interrupt flag
- * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
- */
- #define __LL_HRPWM_GET_ITFLAG(__INTERRUPT__) (((HRPWM->Common.ISR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /** @brief Get the specified HRPWM Master pending flag.
- * @param __INTERRUPT__ specifies the interrupt pending bit.
- * This parameter can be one of the following values:
- * @arg HRPWM_MASTER_FLAG_MPER: Master Period interrupt flag
- * @arg HRPWM_MASTER_FLAG_MCMPA: Master compare A interrupt flag
- * @arg HRPWM_MASTER_FLAG_MCMPB: Master compare B interrupt flag
- * @arg HRPWM_MASTER_FLAG_MCMPC: Master compare C interrupt flag
- * @arg HRPWM_MASTER_FLAG_MCMPD: Master compare D interrupt flag
- * @arg HRPWM_MASTER_FLAG_MREP: Master Repetition interrupt flag
- * @arg HRPWM_MASTER_FLAG_SYNC: Synchronization input interrupt flag
- * @arg HRPWM_MASTER_FLAG_MUPD: Master update interrupt flag
- * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
- */
- #define __LL_HRPWM_MASTER_GET_ITFLAG(__INTERRUPT__) \
- (((HRPWM->Master.MISR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /** @brief Get the specified HRPWM Timerx pending flag.
- * @param __TIMER__ specified the timing unit (Timer 0 to 5)
- * @param __INTERRUPT__ specifies the interrupt pending bit.
- * This parameter can be one of the following values:
- * @arg HRPWM_FLAG_PER: Timer Period interrupt flag
- * @arg HRPWM_FLAG_CMPA: Timer compare A interrupt flag
- * @arg HRPWM_FLAG_CMPB: Timer compare B interrupt flag
- * @arg HRPWM_FLAG_CMPC: Timer compare C interrupt flag
- * @arg HRPWM_FLAG_CMPD: Timer compare D interrupt flag
- * @arg HRPWM_FLAG_SETA: Timer output A set interrupt flag
- * @arg HRPWM_FLAG_RSTA: Timer output A reset interrupt flag
- * @arg HRPWM_FLAG_SETB: Timer output B set interrupt flag
- * @arg HRPWM_FLAG_RSTB: Timer output B reset interrupt flag
- * @arg HRPWM_FLAG_RST: Timer reset interrupt flag
- * @arg HRPWM_FLAG_REP: Timer repetition interrupt flag
- * @arg HRPWM_FLAG_UPD: Timer update interrupt flag
- * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
- */
- #define __LL_HRPWM_TIMER_GET_ITFLAG(__TIMER__, __INTERRUPT__) \
- (((HRPWM->PWM[(__TIMER__)].ISR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /** @brief Clears the specified HRPWM common pending flag.
- * @param __INTERRUPT__ specifies the interrupt pending bit to clear.
- * This parameter can be one of the following values:
- * @arg HRPWM_FLAG_FLT0: Fault 0 clear flag
- * @arg HRPWM_FLAG_FLT1: Fault 1 clear flag
- * @arg HRPWM_FLAG_FLT2: Fault 2 clear flag
- * @arg HRPWM_FLAG_FLT3: Fault 3 clear flag
- * @arg HRPWM_FLAG_FLT4: Fault 4 clear flag
- * @arg HRPWM_FLAG_FLT5: Fault 5 clear flag
- * @arg HRPWM_FLAG_SYSFLT: System Fault interrupt clear flag
- * @retval None
- */
- #define __LL_HRPWM_CLEAR_ITFLAG(__INTERRUPT__) (HRPWM->Common.ISR = (__INTERRUPT__))
- /** @brief Clears the specified HRPWM Master pending flag.
- * @param __INTERRUPT__ specifies the interrupt pending bit to clear.
- * This parameter can be one of the following values:
- * @arg HRPWM_MASTER_FLAG_MPER: Master Period interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_MCMPA: Master compare A interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_MCMPB: Master compare B interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_MCMPC: Master compare C interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_MCMPD: Master compare D interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_MREP: Master Repetition interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_SYNC: Synchronization input interrupt clear flag
- * @arg HRPWM_MASTER_FLAG_MUPD: Master update interrupt clear flag
- * @retval None
- */
- #define __LL_HRPWM_MASTER_CLEAR_ITFLAG(__INTERRUPT__) (HRPWM->Master.MISR = (__INTERRUPT__))
- /** @brief Clears the specified HRPWM Timerx pending flag.
- * @param __TIMER__ specified the timing unit (Timer A to F)
- * @param __INTERRUPT__ specifies the interrupt pending bit to clear.
- * This parameter can be one of the following values:
- * @arg HRPWM_FLAG_PER: Timer Period interrupt clear flag
- * @arg HRPWM_FLAG_CMPA: Timer compare A interrupt clear flag
- * @arg HRPWM_FLAG_CMPB: Timer compare B interrupt clear flag
- * @arg HRPWM_FLAG_CMPC: Timer compare C interrupt clear flag
- * @arg HRPWM_FLAG_CMPD: Timer compare D interrupt clear flag
- * @arg HRPWM_FLAG_SETA: Timer output A set interrupt clear flag
- * @arg HRPWM_FLAG_RSTA: Timer output A reset interrupt clear flag
- * @arg HRPWM_FLAG_SETB: Timer output B set interrupt clear flag
- * @arg HRPWM_FLAG_RSTB: Timer output B reset interrupt clear flag
- * @arg HRPWM_FLAG_RST: Timer reset interrupt clear flag
- * @arg HRPWM_FLAG_REP: Timer repetition interrupt clear flag
- * @arg HRPWM_FLAG_UPD: Timer update interrupt clear flag
- * @retval None
- */
- #define __LL_HRPWM_TIMER_CLEAR_ITFLAG(__TIMER__, __INTERRUPT__) (HRPWM->PWM[(__TIMER__)].ISR = (__INTERRUPT__))
- /** @brief Sets the HRPWM timer Period value on runtime
- * @param __TIMER__ HRPWM timer
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __PERIOD__ specifies the Period Register new value.
- * @retval None
- */
- #define __LL_HRPWM_SETPERIOD(__TIMER__, __PERIOD__) \
- (((__TIMER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MPER = (__PERIOD__)) :\
- (HRPWM->PWM[(__TIMER__)].PERR = (__PERIOD__)))
- /** @brief Gets the HRPWM timer Period Register value on runtime
- * @param __TIMER__ HRPWM timer
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval timer Period Register
- */
- #define __LL_HRPWM_GETPERIOD(__TIMER__) \
- (((__TIMER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MPER) : (HRPWM->PWM[(__TIMER__)].PERR))
- /** @brief Sets the HRPWM timer clock prescaler value on runtime
- * @param __TIMER__ HRPWM timer
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __PRESCALER__ specifies the clock prescaler new value.
- * This parameter can be one of the following values:
- * @arg HRPWM_PRESCALERRATIO_MUL32: fHRCK: fHRPWM x 32U = 5.12 GHz - Resolution: 195 ps (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_MUL16: fHRCK: fHRPWM x 16U = 2.56 GHz - Resolution: 390 ps (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_MUL8: fHRCK: fHRPWM x 8U = 1.28 GHz - Resolution: 781 ps (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_MUL4: fHRCK: fHRPWM x 4U = 640 MHz - Resolution: 1.56 ns (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_MUL2: fHRCK: fHRPWM x 2U = 320 MHz - Resolution: 3.125 ns (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_DIV1: fHRCK: fHRPWM = 160 MHz - Resolution: 6.25 ns (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_DIV2: fHRCK: fHRPWM / 2U = 80 MHz - Resolution: 12.5 ns (fHRPWM=144MHz)
- * @arg HRPWM_PRESCALERRATIO_DIV4: fHRCK: fHRPWM / 4U = 40 MHz - Resolution: 25 ns (fHRPWM=144MHz)
- * @retval None
- */
- #define __LL_HRPWM_SETCLOCKPRESCALER(__TIMER__, __PRESCALER__) \
- (((__TIMER__) == HRPWM_INDEX_MASTER) ? (MODIFY_REG(HRPWM->Master.MCR, HRPWM_MCR_CKPSC, (__PRESCALER__))) :\
- (MODIFY_REG(HRPWM->PWM[(__TIMER__)].CR0, HRPWM_CR0_CKPSC, (__PRESCALER__))))
- /** @brief Gets the HRPWM timer clock prescaler value on runtime
- * @param __TIMER__ HRPWM timer
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval timer clock prescaler value
- */
- #define __LL_HRPWM_GETCLOCKPRESCALER(__TIMER__) \
- (((__TIMER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCR & HRPWM_MCR_CKPSC) : \
- (HRPWM->PWM[(__TIMER__)].CR0 & HRPWM_CR0_CKPSC))
- /** @brief Sets the HRPWM timer Compare Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __COMPAREUNIT__ timer compare unit
- * This parameter can be one of the following values:
- * @arg HRPWM_COMPAREUNIT_A: Compare A
- * @arg HRPWM_COMPAREUNIT_B: Compare B
- * @arg HRPWM_COMPAREUNIT_C: Compare C
- * @arg HRPWM_COMPAREUNIT_D: Compare D
- * @param __COMPARE__ specifies the Compare new value.
- * @retval None
- */
- #define __LL_HRPWM_SETCOMPARE(__TIMER__, __COMPAREUNIT__, __COMPARE__) \
- (((__TIMER__) == HRPWM_INDEX_MASTER) ? \
- (((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_A) ? (HRPWM->Master.MCMPAR = (__COMPARE__)) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_B) ? (HRPWM->Master.MCMPBR = (__COMPARE__)) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_C) ? (HRPWM->Master.MCMPCR = (__COMPARE__)) : \
- (HRPWM->Master.MCMPDR = (__COMPARE__))) \
- : \
- (((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_A) ? (HRPWM->PWM[(__TIMER__)].CMPAR = (__COMPARE__)) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_B) ? (HRPWM->PWM[(__TIMER__)].CMPBR = (__COMPARE__)) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_C) ? (HRPWM->PWM[(__TIMER__)].CMPCR = (__COMPARE__)) : \
- (HRPWM->PWM[(__TIMER__)].CMPDR = (__COMPARE__))))
- /** @brief Gets the HRPWM timer Compare Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __COMPAREUNIT__ timer compare unit
- * This parameter can be one of the following values:
- * @arg HRPWM_COMPAREUNIT_A: Compare A
- * @arg HRPWM_COMPAREUNIT_B: Compare B
- * @arg HRPWM_COMPAREUNIT_C: Compare C
- * @arg HRPWM_COMPAREUNIT_D: Compare D
- * @retval Compare value
- */
- #define __LL_HRPWM_GETCOMPARE(__TIMER__, __COMPAREUNIT__) \
- (((__TIMER__) == HRPWM_INDEX_MASTER) ? \
- (((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_A) ? (HRPWM->Master.MCMPAR) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_B) ? (HRPWM->Master.MCMPBR) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_C) ? (HRPWM->Master.MCMPCR) : \
- (HRPWM->Master.MCMPDR)) \
- : \
- (((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_A) ? (HRPWM->PWM[(__TIMER__)].CMPAR) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_B) ? (HRPWM->PWM[(__TIMER__)].CMPBR) : \
- ((__COMPAREUNIT__) == HRPWM_COMPAREUNIT_C) ? (HRPWM->PWM[(__TIMER__)].CMPCR) : \
- (HRPWM->PWM[(__TIMER__)].CMPDR)))
- /** @brief Sets the HRPWM timer Compare A Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __VALUE__ specifies the Compare new value.
- * @retval None
- */
- #define __LL_HRPWM_SETCOMPARE_A(__TINER__, __VALUE__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPAR = (__VALUE__)) : \
- (HRPWM->PWM[(__TINER__)].CMPAR = (__VALUE__)))
- /** @brief Sets the HRPWM timer Compare B Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __VALUE__ specifies the Compare new value.
- * @retval None
- */
- #define __LL_HRPWM_SETCOMPARE_B(__TINER__, __VALUE__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPBR = (__VALUE__)) : \
- (HRPWM->PWM[(__TINER__)].CMPBR = (__VALUE__)))
- /** @brief Sets the HRPWM timer Compare C Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __VALUE__ specifies the Compare new value.
- * @retval None
- */
- #define __LL_HRPWM_SETCOMPARE_C(__TINER__, __VALUE__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPCR = (__VALUE__)) : \
- (HRPWM->PWM[(__TINER__)].CMPCR = (__VALUE__)))
- /** @brief Sets the HRPWM timer Compare A Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @param __VALUE__ specifies the Compare new value.
- * @retval None
- */
- #define __LL_HRPWM_SETCOMPARE_D(__TINER__, __VALUE__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPDR = (__VALUE__)) : \
- (HRPWM->PWM[(__TINER__)].CMPDR = (__VALUE__)))
- /** @brief Gets the HRPWM timer Compare A Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval Compare value
- */
- #define __LL_HRPWM_GETCOMPARE_A(__TINER__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPAR) :(HRPWM->PWM[(__TINER__)].CMPAR))
- /** @brief Gets the HRPWM timer Compare B Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval Compare value
- */
- #define __LL_HRPWM_GETCOMPARE_B(__TINER__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPBR) : (HRPWM->PWM[(__TINER__)].CMPBR))
- /** @brief Gets the HRPWM timer Compare C Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval Compare value
- */
- #define __LL_HRPWM_GETCOMPARE_C(__TINER__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPCR) : (HRPWM->PWM[(__TINER__)].CMPCR))
- /** @brief Gets the HRPWM timer Compare D Register value on runtime
- * @param __TIMER__ HRPWM timer (not is commmon timer)
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval Compare value
- */
- #define __LL_HRPWM_GETCOMPARE_D(__TINER__) \
- (((__TINER__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCMPDR) : (HRPWM->PWM[(__TINER__)].CMPDR))
- /** @brief Enables or disables the timer counter(s)
- * @param __TIMERS__ timers to enable/disable
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Slave pwm 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Slave pwm 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Slave pwm 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Slave pwm 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Slave pwm 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Slave pwm 5 identifier
- * @retval None
- */
- #define __LL_HRPWM_TIMER_ENABLE(__TIMERS__) \
- (((__TIMERS__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCR |= HRPWM_MCR_MCEN) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_0) ? (HRPWM->Master.MCR |= HRPWM_MCR_CEN0) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_1) ? (HRPWM->Master.MCR |= HRPWM_MCR_CEN1) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_2) ? (HRPWM->Master.MCR |= HRPWM_MCR_CEN2) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_3) ? (HRPWM->Master.MCR |= HRPWM_MCR_CEN3) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_4) ? (HRPWM->Master.MCR |= HRPWM_MCR_CEN4) : \
- ((HRPWM->Master.MCR |= HRPWM_MCR_CEN5)))
- #define __LL_HRPWM_TIMER_DISABLE(__TIMERS__) \
- (((__TIMERS__) == HRPWM_INDEX_MASTER) ? (HRPWM->Master.MCR &= ~(HRPWM_MCR_MCEN)) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_0) ? (HRPWM->Master.MCR &= ~(HRPWM_MCR_CEN0)) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_1) ? (HRPWM->Master.MCR &= ~(HRPWM_MCR_CEN1)) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_2) ? (HRPWM->Master.MCR &= ~(HRPWM_MCR_CEN2)) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_3) ? (HRPWM->Master.MCR &= ~(HRPWM_MCR_CEN3)) : \
- ((__TIMERS__) == HRPWM_INDEX_SLAVE_4) ? (HRPWM->Master.MCR &= ~(HRPWM_MCR_CEN4)) : \
- ((HRPWM->Master.MCR &= ~(HRPWM_MCR_CEN5))))
- /** @brief Enables ALL the timer counter(s)
- * @param __INSTANCE__ HRPWM HANDLE
- * @retval None
- */
- #define __LL_HRPWM_ALL_TIMER_ENABLE(__INSTANCE__) \
- (SET_BIT((__INSTANCE__)->Master.MCR, \
- HRPWM_MCR_MCEN | HRPWM_MCR_CEN0 | HRPWM_MCR_CEN1 | HRPWM_MCR_CEN2 | HRPWM_MCR_CEN3 | HRPWM_MCR_CEN4 | HRPWM_MCR_CEN5))
- /** @brief Disables the timer counter(s)
- * @param __INSTANCE__ HRPWM HANDLE
- * @retval None
- */
- #define __LL_HRPWM_ALL_TIMER_DISABLE(__INSTANCE__) \
- (CLEAR_BIT((__INSTANCE__)->Master.MCR, \
- HRPWM_MCR_MCEN | HRPWM_MCR_CEN0 | HRPWM_MCR_CEN1 | HRPWM_MCR_CEN2 | HRPWM_MCR_CEN3 | HRPWM_MCR_CEN4 | HRPWM_MCR_CEN5))
- /** @brief Modify the length of the dead zone
- * @param __TIMERS__ timers to enable/disable
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Timer 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Timer 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Timer 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Timer 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Timer 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Timer 5 identifier
- * @param __VALUES__ timer dead timer value the range of value is 0 ~ 0xfff
- * @retval None
- */
- #define __LL_HRPWM_DEADTIME_RISE_VALUE(__TIMERS__, __VALUES__) \
- MODIFY_REG(HRPWM->PWM[__TIMERS__].DTR, HRPWM_DTR_DTR, (__VALUES__))
- #define __LL_HRPWM_DEADTIME_FALL_VALUE(__TIMERS__, __VALUES__) \
- MODIFY_REG(HRPWM->PWM[__TIMERS__].DTR, HRPWM_DTR_DTF, ((__VALUES__) << 16U))
- /** @brief Modify the length of the dead zone
- * @param __TIMERS__ timers to enable/disable
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Timer 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Timer 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Timer 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Timer 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Timer 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Timer 5 identifier
- * @param __SIGN__ timer dead timer sign
- * HRPWM_Deadtime_Rising_Sign: HRPWM_DEADTIME_RSIGN_NEGATIVE \ HRPWM_DEADTIME_RSIGN_POSITIVE
- * HRPWM_Deadtime_Falling_Sign: HRPWM_DEADTIME_FSIGN_NEGATIVE \ HRPWM_DEADTIME_FSIGN_POSITIVE
- * @retval None
- */
- #define __LL_HRPWM_DEADTIME_RISE_SIGN(__TIMERS__, __SIGN__) MODIFY_REG(HRPWM->PWM[__TIMERS__].DTR, HRPWM_DTR_SDTR, (__SIGN__))
- #define __LL_HRPWM_DEADTIME_FALL_SIGN(__TIMERS__, __SIGN__) MODIFY_REG(HRPWM->PWM[__TIMERS__].DTR, HRPWM_DTR_SDTF, (__SIGN__))
- /** @brief Start output wave
- * @param __OUTPUT__ timers start output wave @ HRPWM_Timer_Output_Start
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_OUTPUT_OEN0A
- * @arg HRPWM_OUTPUT_OEN0B
- * @arg HRPWM_OUTPUT_OEN1A
- * @arg HRPWM_OUTPUT_OEN1B
- * @arg HRPWM_OUTPUT_OEN2A
- * @arg HRPWM_OUTPUT_OEN2B
- * @arg HRPWM_OUTPUT_OEN3A
- * @arg HRPWM_OUTPUT_OEN3B
- * @arg HRPWM_OUTPUT_OEN4A
- * @arg HRPWM_OUTPUT_OEN4B
- * @arg HRPWM_OUTPUT_OEN5A
- * @arg HRPWM_OUTPUT_OEN5B
- * @retval None
- */
- #define __LL_HRPWM_OUTPUT_START(__OUTPUT__) SET_BIT(HRPWM->Common.OENR, (__OUTPUT__))
- /** @brief Stop output wave
- * @param __OUTPUT__ timers start output wave @ HRPWM_Timer_Output_Stop
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_OUTPUT_ODIS0A
- * @arg HRPWM_OUTPUT_ODIS0B
- * @arg HRPWM_OUTPUT_ODIS1A
- * @arg HRPWM_OUTPUT_ODIS1B
- * @arg HRPWM_OUTPUT_ODIS2A
- * @arg HRPWM_OUTPUT_ODIS2B
- * @arg HRPWM_OUTPUT_ODIS3A
- * @arg HRPWM_OUTPUT_ODIS3B
- * @arg HRPWM_OUTPUT_ODIS4A
- * @arg HRPWM_OUTPUT_ODIS4B
- * @arg HRPWM_OUTPUT_ODIS5A
- * @arg HRPWM_OUTPUT_ODIS5B
- * @retval None
- */
- #define __LL_HRPWM_OUTPUT_STOP(__OUTPUT__) SET_BIT(HRPWM->Common.ODISR, (__OUTPUT__))
- /** @brief Multiple mode combination configuration
- * @param __TIMERS__ timers to enable/disable
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_INDEX_MASTER: Master timer identifier
- * @arg HRPWM_INDEX_SLAVE_0: Timer 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Timer 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Timer 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Timer 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Timer 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Timer 5 identifier
- * @param __MODE__ set output mode(half \ interleaved \ pushpull)
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_HALFMODE_DISABLE
- * @arg HRPWM_HALFMODE_ENABLE
- * @arg HRPWM_INTERLEAVED_MODE_DISABLE
- * @arg HRPWM_INTERLEAVED_MODE_TRIPLE
- * @arg HRPWM_INTERLEAVED_MODE_QUAD
- * @arg HRPWM_PUSHPULLMODE_DISABLE
- * @arg HRPWM_PUSHPULLMODE_ENABLE
- * @retval None
- */
- #define __LL_HRPWM_OUTPUTMODE_SET(__TIMERS__, __MODE__) \
- (((__TIMERS__) == HRPWM_INDEX_MASTER) ? \
- (MODIFY_REG(HRPWM->Master.MCR , HRPWM_MCR_HALF | HRPWM_MCR_INTLVD, __MODE__)) : \
- (MODIFY_REG(HRPWM->PWM[__TIMERS__].CR0 , HRPWM_CR0_HALF | HRPWM_CR0_INTLVD | HRPWM_CR0_PSHPLL, __MODE__)))
- /** @brief Select which faults are effectively configured in each slave timer
- * @param __TIMERS__ timers to enable/disable
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_INDEX_SLAVE_0: Timer 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Timer 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Timer 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Timer 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Timer 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Timer 5 identifier
- * @param __FAULT__ timers start output wave @ HRPWM_Timer_Fault_Enabling
- * This parameter can be any combinations of the following values:
- * @arg HRPWM_FAULTEN_NONE
- * @arg HRPWM_FAULTEN_FAULT0
- * @arg HRPWM_FAULTEN_FAULT1
- * @arg HRPWM_FAULTEN_FAULT2
- * @arg HRPWM_FAULTEN_FAULT3
- * @arg HRPWM_FAULTEN_FAULT4
- * @arg HRPWM_FAULTEN_FAULT5
- * @retval None
- */
- #define __LL_HRPWM_SLAVE_FAULT_VALID_SEL(__TIMERS__, __FAULT__) MODIFY_REG(HRPWM->PWM[__TIMERS__].FLTR, 0x3F, __FAULT__)
- /** @brief The software forces the corresponding output high or low
- * @param __TIMERS__ timers to
- * After configuring this bit, you must reconfigure the output event in order to reoutput
- * This parameter can be one of the following values:
- * @arg HRPWM_INDEX_SLAVE_0: Timer 0 identifier
- * @arg HRPWM_INDEX_SLAVE_1: Timer 1 identifier
- * @arg HRPWM_INDEX_SLAVE_2: Timer 2 identifier
- * @arg HRPWM_INDEX_SLAVE_3: Timer 3 identifier
- * @arg HRPWM_INDEX_SLAVE_4: Timer 4 identifier
- * @arg HRPWM_INDEX_SLAVE_5: Timer 5 identifier
- * @retval None
- */
- #define __LL_HRPWM_OUTPUT_A_SET(__TIMERS__) \
- do { \
- CLEAR_REG(HRPWM->PWM[__TIMERS__].CLRAR); \
- WRITE_REG(HRPWM->PWM[__TIMERS__].SETAR, HRPWM_SETAR_SST); \
- } while(0)
- #define __LL_HRPWM_OUTPUT_A_CLEAR(__TIMERS__) \
- do { \
- CLEAR_REG(HRPWM->PWM[__TIMERS__].SETAR); \
- WRITE_REG(HRPWM->PWM[__TIMERS__].CLRAR, HRPWM_CLRAR_SST); \
- } while(0)
- #define __LL_HRPWM_OUTPUT_B_SET(__TIMERS__) \
- do { \
- CLEAR_REG(HRPWM->PWM[__TIMERS__].CLRBR); \
- WRITE_REG(HRPWM->PWM[__TIMERS__].SETBR, HRPWM_SETBR_SST); \
- } while(0)
- #define __LL_HRPWM_OUTPUT_B_CLEAR(__TIMERS__) \
- do { \
- CLEAR_REG(HRPWM->PWM[__TIMERS__].SETBR); \
- WRITE_REG(HRPWM->PWM[__TIMERS__].CLRBR, HRPWM_CLRBR_SST); \
- } while(0)
- /**
- * @}
- */
- /* Exported functions --------------------------------------------------------*/
- /** @addtogroup HRPWM_LL_Exported_Functions
- * @{
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Group1
- * @{
- */
- LL_StatusETypeDef LL_HRPWM_Init(HRPWM_TypeDef *Instance, HRPWM_MasterSyncTypeDef *pMasterSync);
- LL_StatusETypeDef LL_HRPWM_DeInit(HRPWM_TypeDef *Instance);
- void LL_HRPWM_MspInit(HRPWM_TypeDef *Instance);
- void LL_HRPWM_MspDeInit(HRPWM_TypeDef *Instance);
- /**
- * @}
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Group2
- * @{
- */
- LL_StatusETypeDef LL_HRPWM_DLLStartConfig(HRPWM_TypeDef *Instance, HRPWM_DLLCfgTypedef *DLLConfig);
- LL_StatusETypeDef LL_HRPWM_DLLStart(HRPWM_TypeDef *Instance);
- LL_StatusETypeDef LL_HRPWM_TimerBaseConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx, HRPWM_TimerBaseCfgTypeDef *pTimeBaseCfg);
- LL_StatusETypeDef LL_HRPWM_TimerCompareConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx,
- HRPWM_TimerCompareCfgTypeDef *pTimerCompCfg);
- /**
- * @}
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Group3
- * @{
- */
- LL_StatusETypeDef LL_HRPWM_StopCounter(uint32_t TimerIdx);
- LL_StatusETypeDef LL_HRPWM_StartCounter(uint32_t TimerIdx);
- /**
- * @}
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Group4
- * @{
- */
- LL_StatusETypeDef LL_HRPWM_TimerUintRollOverContrl(HRPWM_TypeDef *Instance, uint32_t TimerIdx,
- HRPWM_TimerRollOverCfgTypeDef *pTimerRollOverCfg);
- LL_StatusETypeDef LL_HRPWM_TimerDualChannelDacConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx,
- HRPWM_TimerDaulDacCfgTypeDef *pTimerDacCfg);
- LL_StatusETypeDef LL_HRPWM_TimerRollOverMode(HRPWM_TypeDef *Instance, uint32_t TimerIdx, uint32_t pRollOverMode);
- /**
- * @}
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Group5
- * @{
- */
- LL_StatusETypeDef LL_HRPWM_FaultConfig(HRPWM_TypeDef *Instance, uint32_t Fault, HRPWM_FaultCfgTypeDef *pFaultCfg,
- HRPWM_FaultBlankingCfgTypeDef *pFaultBlkCfg);
- LL_StatusETypeDef LL_HRPWM_FaultBlankingConfig(HRPWM_TypeDef *Instance, uint32_t Fault,
- HRPWM_FaultBlankingCfgTypeDef *pFaultBlkCfg);
- LL_StatusETypeDef LL_HRPWM_FaultCounterConfig(HRPWM_TypeDef *Instance, uint32_t Fault,
- HRPWM_FaultBlankingCfgTypeDef *pFaultBlkCfg);
- LL_StatusETypeDef LL_HRPWM_FaultCounterReset(uint32_t Fault);
- LL_StatusETypeDef LL_HRPWM_ADDATriggerConfig(HRPWM_TypeDef *Instance, HRPWM_ADCTriggerCfgTypeDef *pADCTriggerCfg);
- LL_StatusETypeDef LL_HRPWM_OutputConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx, HRPWM_OutputCfgTypeDef *pOutputCfg);
- LL_StatusETypeDef LL_HRPWM_DeadTimeConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx,
- HRPWM_DeadTimeCfgTypeDef *pDeaTimedCfg);
- LL_StatusETypeDef LL_HRPWM_ChopperConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx,
- HRPWM_ChopperModeCfgTypeDef *pChopperCfg);
- LL_StatusETypeDef LL_HRPWM_EventConfig(HRPWM_TypeDef *Instance, uint32_t Event, HRPWM_EventCfgTypeDef *pEventCfg);
- LL_StatusETypeDef LL_HRPWM_TimerEventAConfig(HRPWM_TypeDef *Instance, uint32_t TimerIdx,
- HRPWM_ExternalEventACfgTypeDef *pEventCfg, HRPWM_TimerEventFilteringCfgTypeDef *pEventFilter);
- LL_StatusETypeDef LL_HRPWM_TimerEventAFilter(HRPWM_TypeDef *Instance, uint32_t TimerIdx, uint32_t Event,
- HRPWM_TimerEventFilteringCfgTypeDef *pEventFilter);
- /**
- * @}
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Group6
- * @{
- */
- LL_StatusETypeDef LL_HRPWM_ForceRegistersUpdate(uint32_t TimerIdx);
- LL_StatusETypeDef LL_HRPWM_DisRegisterUpdate(uint32_t TimerIdx);
- LL_StatusETypeDef LL_HRPWM_EnRegUpdate(uint32_t TimerIdx);
- LL_StatusETypeDef LL_HRPWM_StartOutput(uint32_t TimerIdx);
- LL_StatusETypeDef LL_HRPWM_StopOutput(uint32_t TimerIdx);
- LL_StatusETypeDef LL_HRPWM_SwapOutput(uint32_t TimerIdx, uint32_t swap);
- LL_StatusETypeDef LL_HRPWM_ResetCounter(uint32_t TimerIdx);
- /**
- * @}
- */
- /** @addtogroup HRPWM_LL_Exported_Functions_Interrupt
- * @{
- */
- void LL_HRPWM_IRQHandler(uint32_t TimerIdx);
- void LL_HRPWM_FLT_IRQHandler(void);
- void LL_HRPWM_SLAVE_IRQHandler(uint32_t TimerIdx);
- void LL_HRPWM_MSTR_IRQHandler(void);
- void LL_HRPWM_Fault0Callback(void);
- void LL_HRPWM_Fault1Callback(void);
- void LL_HRPWM_Fault2Callback(void);
- void LL_HRPWM_Fault3Callback(void);
- void LL_HRPWM_Fault4Callback(void);
- void LL_HRPWM_Fault5Callback(void);
- void LL_HRPWM_SystemFaultCallback(void);
- void LL_HRPWM_SynchronizationEventCallback(void);
- void LL_HRPWM_RegistersUpdateCallback(uint32_t TimerIdx);
- void LL_HRPWM_RepetitionEventCallback(uint32_t TimerIdx);
- void LL_HRPWM_CompareAEventCallback(uint32_t TimerIdx);
- void LL_HRPWM_CompareBEventCallback(uint32_t TimerIdx);
- void LL_HRPWM_CompareCEventCallback(uint32_t TimerIdx);
- void LL_HRPWM_CompareDEventCallback(uint32_t TimerIdx);
- void LL_HRPWM_PeriodEventCallback(uint32_t TimerIdx);
- void LL_HRPWM_CounterResetCallback(uint32_t TimerIdx);
- void LL_HRPWM_OutputASetCallback(uint32_t TimerIdx);
- void LL_HRPWM_OutputBSetCallback(uint32_t TimerIdx);
- void LL_HRPWM_OutputAResetCallback(uint32_t TimerIdx);
- void LL_HRPWM_OutputBResetCallback(uint32_t TimerIdx);
- /**
- * @}
- */
- /**
- * @}
- */
- /* Private types -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Private constants ---------------------------------------------------------*/
- /* Private macros ------------------------------------------------------------*/
- /** @defgroup HRPWM_LL_Private_Macros HRPWM LL Private Macros
- * @brief HRPWM LL Private Macros
- * @{
- */
- /**
- * @brief Judge is HRPWM index all or not
- * @param __INDEX__ index to judge
- * @retval 0 isn't HRPWM index all
- * @retval 1 is HRPWM index all
- */
- #define IS_HRPWM_INDEX_ALL(__INDEX__) \
- (((__INDEX__) == HRPWM_INDEX_SLAVE_0) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_1) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_2) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_3) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_4) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_5) || \
- ((__INDEX__) == HRPWM_INDEX_MASTER) || \
- ((__INDEX__) == HRPWM_INDEX_COMMON))
- /**
- * @brief Judge is HRPWM index or not
- * @param __INDEX__ index to judge
- * @retval 0 isn't HRPWM index
- * @retval 1 is HRPWM index
- */
- #define IS_HRPWM_INDEX(__INDEX__) \
- (((__INDEX__) == HRPWM_INDEX_SLAVE_0) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_1) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_2) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_3) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_4) || \
- ((__INDEX__) == HRPWM_INDEX_SLAVE_5) || \
- ((__INDEX__) == HRPWM_INDEX_MASTER))
- /**
- * @brief Judge is HRPWM fault interrupt or not
- * @param __INTERRUPT__ interrupt to judge
- * @retval 0 isn't HRPWM fault interrupt
- * @retval 1 is HRPWM fault interrupt
- */
- #define IS_HRPWM_FAULT_IT(__INTERRUPT__) \
- (((__INTERRUPT__) == HRPWM_IT_NONE) || \
- (((__INTERRUPT__) & HRPWM_IT_SRC) != HRPWM_IT_NONE))
- /**
- * @brief Judge is HRPWM master interrupt or not
- * @param __INTERRUPT__ interrupt to judge
- * @retval 0 isn't HRPWM master interrupt
- * @retval 1 is HRPWM master interrupt
- */
- #define IS_HRPWM_MASTER_IT(__INTERRUPT__) \
- (((__INTERRUPT__) == HRPWM_MASTER_IT_NONE) || \
- (((__INTERRUPT__) & HRPWM_MASTER_IT_SRC) != HRPWM_MASTER_IT_NONE))
- /**
- * @brief Judge is HRPWM timer interrupt or not
- * @param __INTERRUPT__ interrupt to judge
- * @retval 0 isn't HRPWM timer interrupt
- * @retval 1 is HRPWM timer interrupt
- */
- #define IS_HRPWM_TIMER_IT(__INTERRUPT__) \
- (((__INTERRUPT__) == HRPWM_IT_TIMER_NONE) || \
- (((__INTERRUPT__) & HRPWM_IT_TIMER_SRC) != HRPWM_IT_TIMER_NONE))
- /**
- * @brief Judge is HRPWM sync output source or not
- * @param __OUTPUT__ output source to judge
- * @retval 0 isn't HRPWM sync output source
- * @retval 1 is HRPWM sync output source
- */
- #define IS_HRPWM_SYNCOUTPUTSOURCE(__OUTPUT__) \
- (((__OUTPUT__) == HRPWM_SYNCOUTPUTSOURCE_MASTER_START) || \
- ((__OUTPUT__) == HRPWM_SYNCOUTPUTSOURCE_MASTER_CMPA) || \
- ((__OUTPUT__) == HRPWM_SYNCOUTPUTSOURCE_SLAVE0_STARTRST) || \
- ((__OUTPUT__) == HRPWM_SYNCOUTPUTSOURCE_SLAVE0_CMPA))
- /**
- * @brief Judge is HRPWM sync output polarity or not
- * @param __POLARITY__ output polarity to judge
- * @retval 0 isn't HRPWM sync polarity source
- * @retval 1 is HRPWM sync polarity source
- */
- #define IS_HRPWM_SYNCOUTPUTPOLARITY(__POLARITY__) \
- (((__POLARITY__) == HRPWM_SYNCOUTPUTPOLARITY_POSITIVE) || \
- ((__POLARITY__) == HRPWM_SYNCOUTPUTPOLARITY_NEGATIVE))
- /**
- * @brief Judge is HRPWM sync input source or not
- * @param __SOURCE__ input source to judge
- * @retval 0 isn't HRPWM sync input source
- * @retval 1 is HRPWM sync input source
- */
- #define IS_HRPWM_SYNINPUTSOURCE(__SOURCE__) \
- (((__SOURCE__) == HRPWM_SYNCINPUTSOURCE_NONE) || \
- ((__SOURCE__) == HRPWM_SYNCINPUTSOURCE_TIM0_TRGO_EVENT) || \
- ((__SOURCE__) == HRPWM_SYNCINPUTSOURCE_EVENT))
- /**
- * @brief Judge is HRPWM DLLGCP or not
- * @param __CURRENT__ current to judge
- * @retval 0 isn't HRPWM DLLGCP
- * @retval 1 is HRPWM DLLGCP
- */
- #define IS_HRPWM_DLLGCP(__CURRENT__) \
- (((__CURRENT__) == HRPWM_DLLCR_DLLGCP_4) || \
- ((__CURRENT__) == HRPWM_DLLCR_DLLGCP_6) || \
- ((__CURRENT__) == HRPWM_DLLCR_DLLGCP_8))
- /**
- * @brief Judge is HRPWM prescale ratio or not
- * @param __CLKPSC__ ratio to judge
- * @retval 0 isn't HRPWM prescale ratio
- * @retval 1 is HRPWM prescale ratio
- */
- #define IS_HRPWM_PRESCALERRATIO(__CLKPSC__) \
- (((__CLKPSC__) == HRPWM_PRESCALERRATIO_MUL32) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_MUL16) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_MUL8) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_MUL4) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_MUL2) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_DIV1) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_DIV2) || \
- ((__CLKPSC__) == HRPWM_PRESCALERRATIO_DIV4))
- /**
- * @brief Judge is HRPWM preload or not
- * @param __PREEN__ preload to judge
- * @retval 0 isn't HRPWM preload
- * @retval 1 is HRPWM preload
- */
- #define IS_HRPWM_PRELOAD(__PREEN__) \
- (((__PREEN__) == HRPWM_PRELOAD_DISABLE) || \
- ((__PREEN__) == HRPWM_PRELOAD_ENABLE))
- /**
- * @brief Judge is HRPWM half mode or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM half mode
- * @retval 1 is HRPWM half mode
- */
- #define IS_HRPWM_HALFMODE(__MODE__) \
- (((__MODE__) == HRPWM_HALFMODE_DISABLE) || \
- ((__MODE__) == HRPWM_HALFMODE_ENABLE))
- /**
- * @brief Judge is HRPWM push pull mode or not
- * @param __SYNC__ mode to judge
- * @retval 0 isn't HRPWM push pull mode
- * @retval 1 is HRPWM push pull mode
- */
- #define IS_HRPWM_PUSHPULLMODE(__SYNC__) \
- (((__SYNC__) == HRPWM_PUSHPULLMODE_DISABLE) || \
- ((__SYNC__) == HRPWM_PUSHPULLMODE_ENABLE))
- /**
- * @brief Judge is HRPWM sync start or not
- * @param __SYNC__ sync start to judge
- * @retval 0 isn't HRPWM sync start
- * @retval 1 is HRPWM sync start
- */
- #define IS_HRPWM_SYNCSTART(__SYNC__) \
- (((__SYNC__) == HRPWM_SYNCSTART_DISABLE) || \
- ((__SYNC__) == HRPWM_SYNCSTART_ENABLE))
- /**
- * @brief Judge is HRPWM sync reset or not
- * @param __SYNC__ sync reset to judge
- * @retval 0 isn't HRPWM sync reset
- * @retval 1 is HRPWM sync reset
- */
- #define IS_HRPWM_SYNCRESET(__SYNC__) \
- (((__SYNC__) == HRPWM_SYNCRESET_DISABLE) || \
- ((__SYNC__) == HRPWM_SYNCRESET_ENABLE))
- /**
- * @brief Judge is HRPWM Interleaved Mode or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM Interleaved Mode
- * @retval 1 is HRPWM Interleaved Mode
- */
- #define IS_HRPWM_INTERLEAVEDMODE(__MODE__) \
- (((__MODE__) == HRPWM_INTERLEAVED_MODE_DISABLE) || \
- ((__MODE__) == HRPWM_INTERLEAVED_MODE_TRIPLE) || \
- ((__MODE__) == HRPWM_INTERLEAVED_MODE_QUAD))
- /**
- * @brief Judge is HRPWM fault enable or not
- * @param __FAULT__ fault to judge
- * @retval 0 isn't HRPWM fault enable
- * @retval 1 is HRPWM fault enable
- */
- #define IS_HRPWM_FAULTENABLE(__FAULT__) \
- (((__FAULT__) == HRPWM_FAULTEN_NONE) || \
- (((__FAULT__) & 0x3f) != HRPWM_FAULTEN_NONE))
- /**
- * @brief Judge is HRPWM resync update or not
- * @param __RESYNC__ resync to judge
- * @retval 0 isn't HRPWM resync update
- * @retval 1 is HRPWM resync update
- */
- #define IS_HRPWM_RESYNCUPDATE(__RESYNC__) \
- (((__RESYNC__) == HRPWM_RSYNCUPDATE_DISABLE) || \
- ((__RESYNC__) == HRPWM_RSYNCUPDATE_ENABLE))
- /**
- * @brief Judge is HRPWM update trigger or not
- * @param __UPDATE__ update trigger to judge
- * @retval 0 isn't HRPWM update trigger
- * @retval 1 is HRPWM update trigger
- */
- #define IS_HRPWM_UPDATETRIGGER(__UPDATE__) \
- (((__UPDATE__) == HRPWM_UPDATETRIGGER_NONE) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_MASTER) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_REP) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_RST) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_TIMER_0) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_TIMER_1) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_TIMER_2) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_TIMER_3) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_TIMER_4) || \
- ((__UPDATE__) == HRPWM_UPDATETRIGGER_TIMER_5))
- /**
- * @brief Judge is HRPWM mode or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM mode
- * @retval 1 is HRPWM mode
- */
- #define IS_HRPWM_MODE(__MODE__) \
- (((__MODE__) == HRPWM_MODE_CONTINUOUS) || \
- ((__MODE__) == HRPWM_MODE_SINGLESHOT) || \
- ((__MODE__) == HRPWM_MODE_SINGLESHOT_RETRIGGERABLE))
- /**
- * @brief Judge is HRPWM dual DAC reset or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM dual DAC reset
- * @retval 1 is HRPWM dual DAC reset
- */
- #define IS_HRPWM_DUALDAC_RESET(__MODE__) \
- (((__MODE__) == HRPWM_DAC_DCDR_RESET) || \
- ((__MODE__) == HRPWM_DAC_DCDR_SETA))
- /**
- * @brief Judge is HRPWM dual DAC step or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM dual DAC step
- * @retval 1 is HRPWM dual DAC step
- */
- #define IS_HRPWM_DUALDAC_STEP(__MODE__) \
- (((__MODE__) == HRPWM_DAC_DCDS_CMPD) || \
- ((__MODE__) == HRPWM_DAC_DCDS_CLEARA))
- /**
- * @brief Judge is HRPWM dual DAC enable or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM dual DAC enable
- * @retval 1 is HRPWM dual DAC enable
- */
- #define IS_HRPWM_DUALDAC_ENABLE(__MODE__) \
- (((__MODE__) == HRPWM_DAC_DCDE_DISABLE) || \
- ((__MODE__) == HRPWM_DAC_DCDE_ENABLE))
- /**
- * @brief Judge is HRPWM fault or not
- * @param __FAULT__ fault to judge
- * @retval 0 isn't HRPWM fault
- * @retval 1 is HRPWM fault
- */
- #define IS_HRPWM_FAULT(__FAULT__) \
- (((__FAULT__) == HRPWM_FAULT_0) || \
- ((__FAULT__) == HRPWM_FAULT_1) || \
- ((__FAULT__) == HRPWM_FAULT_2) || \
- ((__FAULT__) == HRPWM_FAULT_3) || \
- ((__FAULT__) == HRPWM_FAULT_4) || \
- ((__FAULT__) == HRPWM_FAULT_5))
- /**
- * @brief Judge is HRPWM fault source or not
- * @param __SOURCE__ source to judge
- * @retval 0 isn't HRPWM fault source
- * @retval 1 is HRPWM fault source
- */
- #define IS_HRPWM_FAULTSOURCE(__SOURCE__) \
- (((__SOURCE__) == HRPWM_FLTSRC_GPIO) || \
- ((__SOURCE__) == HRPWM_FLTSRC_COMP_OUT) || \
- ((__SOURCE__) == HRPWM_FLTSRC_EVENT))
- /**
- * @brief Judge is HRPWM fault polarity or not
- * @param __POLARITY__ polarity to judge
- * @retval 0 isn't HRPWM fault polarity
- * @retval 1 is HRPWM fault polarity
- */
- #define IS_HRPWM_FAULTPOLARITY(__POLARITY__) \
- (((__POLARITY__) == HRPWM_FAULTPOL_LOW) || \
- ((__POLARITY__) == HRPWM_FAULTPOL_HIGH))
- /**
- * @brief Judge is HRPWM fault filter or not
- * @param __FILTER__ filter to judge
- * @retval 0 isn't HRPWM fault filter
- * @retval 1 is HRPWM fault filter
- */
- #define IS_HRPWM_FAULTFILTER(__FILTER__) \
- (((__FILTER__) == HRPWM_FAULTFILTER_NONE) || \
- (((__FILTER__) & HRPWM_FLTINR1_FLT0F) != HRPWM_FAULTFILTER_NONE))
- /**
- * @brief Judge is HRPWM fault sample clock div or not
- * @param __CLKDIV__ clock div to judge
- * @retval 0 isn't HRPWM fault sample clock div
- * @retval 1 is HRPWM fault sample clock div
- */
- #define IS_HRPWM_FAULTSAMPCLK(__CLKDIV__) \
- (((__CLKDIV__) == HRPWM_FLTSD_DIV1) || \
- ((__CLKDIV__) == HRPWM_FLTSD_DIV2) || \
- ((__CLKDIV__) == HRPWM_FLTSD_DIV4) || \
- ((__CLKDIV__) == HRPWM_FLTSD_DIV8))
- /**
- * @brief Judge is HRPWM fault blanking enable or not
- * @param __BLKEN__ blanking enable to judge
- * @retval 0 isn't HRPWM fault blanking enable
- * @retval 1 is HRPWM fault blanking enable
- */
- #define IS_HRPWM_FAULTBLKEN(__BLKEN__) \
- (((__BLKEN__) == HRPWM_FAULTBLKEN_DISABLE) || \
- ((__BLKEN__) == HRPWM_FAULTBLKEN_ENABLE))
- /**
- * @brief Judge is HRPWM fault blanking source or not
- * @param __BLKSRC__ blanking source to judge
- * @retval 0 isn't HRPWM fault blanking source
- * @retval 1 is HRPWM fault blanking source
- */
- #define IS_HRPWM_FAULTBLKSRC(__BLKSRC__) \
- (((__BLKSRC__) == HRPWM_FAULTBLKS_RSTALIGNED) || \
- ((__BLKSRC__) == HRPWM_FAULTBLKS_MOVING))
- /**
- * @brief Judge is HRPWM fault reset mode or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM fault reset mode
- * @retval 1 is HRPWM fault reset mode
- */
- #define IS_HRPWM_FAULTRSTMODE(__MODE__) \
- (((__MODE__) == HRPWM_FAULTRSTM_UNCONDITIONAL) || \
- ((__MODE__) == HRPWM_FAULTRSTM_CONDITIONAL))
- /**
- * @brief Judge is HRPWM ADC trigger or not
- * @param __ADCTRIGGER__ trigger to judge
- * @retval 0 isn't HRPWM ADC trigger
- * @retval 1 is HRPWM ADC trigger
- */
- #define IS_HRPWM_ADCTRIGGER(__ADCTRIGGER__) \
- (((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_0) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_1) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_2) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_3) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_4) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_5) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_6) || \
- ((__ADCTRIGGER__) == HRPWM_ADCTRIGGER_7))
- /**
- * @brief Judge is HRPWM ADC trigger post scaler or not
- * @param __PSC__ post scaler to judge
- * @retval 0 isn't HRPWM ADC trigger post scaler
- * @retval 1 is HRPWM ADC trigger post scaler
- */
- #define IS_HRPWM_ADCTRIGGER_POSTSCALER(__PSC__) \
- (((__PSC__) == HRPWM_ADCTRIG_PSC_1) || \
- (((__PSC__) & HRPWM_ADPSR_ADPSC0) != HRPWM_ADCTRIG_PSC_1))
- /**
- * @brief Judge is HRPWM ADC trigger length or not
- * @param __LENGTH__ length to judge
- * @retval 0 isn't HRPWM ADC trigger length
- * @retval 1 is HRPWM ADC trigger length
- */
- #define IS_HRPWM_ADCTRIGGER_LENGTH(__LENGTH__) \
- (((__LENGTH__) == HRPWM_ADCTRIG_LENGTH_1) || \
- (((__LENGTH__) & HRPWM_CR2_TLEN0) != HRPWM_ADCTRIG_LENGTH_1))
- /**
- * @brief Judge is HRPWM ADC trigger update source or not
- * @param __UPDSRC__ update source to judge
- * @retval 0 isn't HRPWM ADC trigger update source
- * @retval 1 is HRPWM ADC trigger update source
- */
- #define IS_HRPWM_ADCTRIGGER_UPDATESRC(__UPDSRC__) \
- (((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_MASTER) || \
- ((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_TIMER_0) || \
- ((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_TIMER_1) || \
- ((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_TIMER_2) || \
- ((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_TIMER_3) || \
- ((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_TIMER_4) || \
- ((__UPDSRC__) == HRPWM_ADCTRIGUPDATE_TIMER_5))
- /**
- * @brief Judge is HRPWM output A active polarity or not
- * @param __POLARITY__ polarity to judge
- * @retval 0 isn't HRPWM output A active polarity
- * @retval 1 is HRPWM output A active polarity
- */
- #define IS_HRPWM_OUTPUTA_POLARITY(__POLARITY__) \
- (((__POLARITY__) == HRPWM_OUTPUT_POLA_POSITIVE) || \
- ((__POLARITY__) == HRPWM_OUTPUT_POLA_NEGATIVE))
- /**
- * @brief Judge is HRPWM output A idel level or not
- * @param __IDEL__ idel level to judge
- * @retval 0 isn't HRPWM output A idel level
- * @retval 1 is HRPWM output A idel level
- */
- #define IS_HRPWM_OUTPUTA_IDLELEVEL(__IDEL__) \
- (((__IDEL__) == HRPWM_OUTPUTIDLEA_INACTIVE) || \
- ((__IDEL__) == HRPWM_OUTPUTIDLEA_ACTIVE))
- /**
- * @brief Judge is HRPWM output A fault level or not
- * @param __LEVEL__ fault level to judge
- * @retval 0 isn't HRPWM output A fault level
- * @retval 1 is HRPWM output A fault level
- */
- #define IS_HRPWM_OUTPUTA_FLTLEVEL(__LEVEL__) \
- (((__LEVEL__) == HRPWM_OUTPUTFAULTA_NONE) || \
- ((__LEVEL__) == HRPWM_OUTPUTFAULTA_ACTIVE) || \
- ((__LEVEL__) == HRPWM_OUTPUTFAULTA_INACTIVE) || \
- ((__LEVEL__) == HRPWM_OUTPUTFAULTA_HIGHZ))
- /**
- * @brief Judge is HRPWM output A Chopper Mode enable or not
- * @param __CHOPPER__ Chopper Mode enable to judge
- * @retval 0 isn't HRPWM output A Chopper Mode enable
- * @retval 1 is HRPWM output A Chopper Mode enable
- */
- #define IS_HRPWM_OUTPUTA_CHOPPEREN(__CHOPPER__) \
- (((__CHOPPER__) == HRPWM_OUTPUTCHOPPERA_ENABLE) || \
- ((__CHOPPER__) == HRPWM_OUTPUTCHOPPERA_DISABLE))
- /**
- * @brief Judge is HRPWM output B active polarity or not
- * @param __POLARITY__ polarity to judge
- * @retval 0 isn't HRPWM output B active polarity
- * @retval 1 is HRPWM output B active polarity
- */
- #define IS_HRPWM_OUTPUTB_POLARITY(__POLARITY__) \
- (((__POLARITY__) == HRPWM_OUTPUT_POLB_POSITIVE) || \
- ((__POLARITY__) == HRPWM_OUTPUT_POLB_NEGATIVE))
- /**
- * @brief Judge is HRPWM output B idel level or not
- * @param __IDEL__ idel level to judge
- * @retval 0 isn't HRPWM output B idel level
- * @retval 1 is HRPWM output B idel level
- */
- #define IS_HRPWM_OUTPUTB_IDLELEVEL(__IDEL__) \
- (((__IDEL__) == HRPWM_OUTPUTIDLEB_INACTIVE) || \
- ((__IDEL__) == HRPWM_OUTPUTIDLEB_ACTIVE))
- /**
- * @brief Judge is HRPWM output B fault level or not
- * @param __LEVEL__ fault level to judge
- * @retval 0 isn't HRPWM output B fault level
- * @retval 1 is HRPWM output B fault level
- */
- #define IS_HRPWM_OUTPUTB_FLTLEVEL(__LEVEL__) \
- (((__LEVEL__) == HRPWM_OUTPUTFAULTB_NONE) || \
- ((__LEVEL__) == HRPWM_OUTPUTFAULTB_ACTIVE) || \
- ((__LEVEL__) == HRPWM_OUTPUTFAULTB_INACTIVE) || \
- ((__LEVEL__) == HRPWM_OUTPUTFAULTB_HIGHZ))
- /**
- * @brief Judge is HRPWM output B Chopper Mode enable or not
- * @param __CHOPPER__ Chopper Mode enable to judge
- * @retval 0 isn't HRPWM output B Chopper Mode enable
- * @retval 1 is HRPWM output B Chopper Mode enable
- */
- #define IS_HRPWM_OUTPUTB_CHOPPEREN(__CHOPPER__) \
- (((__CHOPPER__) == HRPWM_OUTPUTCHOPPERB_ENABLE) || \
- ((__CHOPPER__) == HRPWM_OUTPUTCHOPPERB_DISABLE))
- /**
- * @brief Judge is HRPWM output event or not
- * @param __INTERRUPT__ interrupt to judge
- * @retval 0 isn't HRPWM output event
- * @retval 1 is HRPWM output event
- */
- #define IS_HRPWM_OUTPUT_SET_EVENT(__INTERRUPT__) \
- (((__INTERRUPT__) == HRPWM_OUTPUT_SET_NONE) || \
- (((__INTERRUPT__) & 0x7FFFFU) != HRPWM_OUTPUT_SET_NONE))
- /**
- * @brief Judge is HRPWM output event or not
- * @param __INTERRUPT__ interrupt to judge
- * @retval 0 isn't HRPWM output event
- * @retval 1 is HRPWM output event
- */
- #define IS_HRPWM_OUTPUT_CLEAR_EVENT(__INTERRUPT__) \
- (((__INTERRUPT__) == HRPWM_OUTPUT_CLEAR_NONE) || \
- (((__INTERRUPT__) & 0x7FFFFU) != HRPWM_OUTPUT_CLEAR_NONE))
- /**
- * @brief Judge is HRPWM dead time rising sign or not
- * @param __SIGN__ sign to judge
- * @retval 0 isn't HRPWM dead time rising sign
- * @retval 1 is HRPWM dead time rising sign
- */
- #define IS_HRPWM_DEADTIME_SDTR(__SIGN__) \
- (((__SIGN__) == HRPWM_DEADTIME_RSIGN_NEGATIVE) || \
- ((__SIGN__) == HRPWM_DEADTIME_RSIGN_POSITIVE))
- /**
- * @brief Judge is HRPWM dead time falling sign or not
- * @param __SIGN__ sign to judge
- * @retval 0 isn't HRPWM dead time falling sign
- * @retval 1 is HRPWM dead time falling sign
- */
- #define IS_HRPWM_DEADTIME_SDTF(__SIGN__) \
- (((__SIGN__) == HRPWM_DEADTIME_FSIGN_NEGATIVE) || \
- ((__SIGN__) == HRPWM_DEADTIME_FSIGN_POSITIVE))
- /**
- * @brief Judge is HRPWM chopper duty cycle or not
- * @param __CARDTY__ chopper duty cycle to judge
- * @retval 0 isn't HRPWM chopper duty cycle
- * @retval 1 is HRPWM chopper duty cycle
- */
- #define IS_HRPWM_CHOPPER_CARDTY(__CARDTY__) \
- (((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_0) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_1) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_2) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_3) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_4) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_5) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_6) || \
- ((__CARDTY__) == HRPWM_CHOPPER_DUTYCYCLE_7))
- /**
- * @brief Judge is HRPWM chopper start pulse width or not
- * @param __STRPW__ start pulse width to judge
- * @retval 0 isn't HRPWM chopper start pulse width
- * @retval 1 is HRPWM chopper start pulse width
- */
- #define IS_HRPWM_CHOPPER_STRPW(__STRPW__) \
- (((__STRPW__) == HRPWM_CHOPPER_PULSEWIDTH_16) || \
- (((__STRPW__) & HRPWM_CHPR_STRPW) != HRPWM_CHOPPER_PULSEWIDTH_16))
- /**
- * @brief Judge is HRPWM chopper frequency or not
- * @param __CARFRQ__ chopper frequency to judge
- * @retval 0 isn't HRPWM chopper frequency
- * @retval 1 is HRPWM chopper frequency
- */
- #define IS_HRPWM_CHOPPER_CARFRQ(__CARFRQ__) \
- (((__CARFRQ__) == HRPWM_CHOPPER_CARFRQ_DIV16) || \
- (((__CARFRQ__) & HRPWM_CHPR_CARFRQ) != HRPWM_CHOPPER_CARFRQ_DIV16))
- /**
- * @brief Judge is HRPWM event or not
- * @param __EVENT__ event to judge
- * @retval 0 isn't HRPWM event
- * @retval 1 is HRPWM event
- */
- #define IS_HRPWM_EVENT(__EVENT__) \
- (((__EVENT__) == HRPWM_EVENT_NONE) || \
- ((__EVENT__) == HRPWM_EVENT_0) || \
- ((__EVENT__) == HRPWM_EVENT_1) || \
- ((__EVENT__) == HRPWM_EVENT_2) || \
- ((__EVENT__) == HRPWM_EVENT_3) || \
- ((__EVENT__) == HRPWM_EVENT_4) || \
- ((__EVENT__) == HRPWM_EVENT_5))
- /**
- * @brief Judge is HRPWM event source or not
- * @param __SOURCE__ source to judge
- * @retval 0 isn't HRPWM event source
- * @retval 1 is HRPWM event source
- */
- #define IS_HRPWM_EVENTSOURCE(__SOURCE__) \
- (((__SOURCE__) == HRPWM_EEVSRC_GPIO) || \
- ((__SOURCE__) == HRPWM_EEVSRC_COMP_OUT) || \
- ((__SOURCE__) == HRPWM_EEVSRC_TIM_TRGO) || \
- ((__SOURCE__) == HRPWM_EEVSRC_ADC_AWD))
- /**
- * @brief Judge is HRPWM event polarity or not
- * @param __POLARITY__ polarity to judge
- * @retval 0 isn't HRPWM event polarity
- * @retval 1 is HRPWM event polarity
- */
- #define IS_HRPWM_EVENTPOLARITY(__POLARITY__) \
- (((__POLARITY__) == HRPWM_EVENTPOL_HIGH) || \
- ((__POLARITY__) == HRPWM_EVENTPOL_LOW))
- /**
- * @brief Judge is HRPWM event filter or not
- * @param __FILTER__ filter to judge
- * @retval 0 isn't HRPWM event filter
- * @retval 1 is HRPWM event filter
- */
- #define IS_HRPWM_EVENTFILTER(__FILTER__) \
- (((__FILTER__) == HRPWM_EVENTFILTER_NONE) || \
- (((__FILTER__) & HRPWM_EECR2_EE0F) != HRPWM_EVENTFILTER_NONE))
- /**
- * @brief Judge is HRPWM event prescaler div or not
- * @param __CLKDIV__ prescaler div to judge
- * @retval 0 isn't HRPWM event prescaler div
- * @retval 1 is HRPWM event prescaler div
- */
- #define IS_HRPWM_EVENTSAMPCLK(__CLKDIV__) \
- (((__CLKDIV__) == HRPWM_EEVSD_DIV1) || \
- ((__CLKDIV__) == HRPWM_EEVSD_DIV2) || \
- ((__CLKDIV__) == HRPWM_EEVSD_DIV4) || \
- ((__CLKDIV__) == HRPWM_EEVSD_DIV8))
- /**
- * @brief Judge is HRPWM event fast mode or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM event fast mode
- * @retval 1 is HRPWM event fast mode
- */
- #define IS_HRPWM_EVENTFASTMODE(__MODE__) \
- (((__MODE__) == HRPWM_EVENTFASTMODE_DISABLE) || \
- ((__MODE__) == HRPWM_EVENTFASTMODE_ENABLE))
- /**
- * @brief Judge is HRPWM event Sensitivity or not
- * @param __SNS__ Sensitivity to judge
- * @retval 0 isn't HRPWM event Sensitivity
- * @retval 1 is HRPWM event Sensitivity
- */
- #define IS_HRPWM_EVENTSNS(__SNS__) \
- (((__SNS__) == HRPWM_EVENTSENS_LEVEL) || \
- ((__SNS__) == HRPWM_EVENTSENS_RISINGEDGE) || \
- ((__SNS__) == HRPWM_EVENTSENS_FALLINGEDGE) || \
- ((__SNS__) == HRPWM_EVENTSENS_BOTHEDGES))
- /**
- * @brief Judge is HRPWM event A filter or not
- * @param __FILTER__ filter to judge
- * @retval 0 isn't HRPWM event filter A
- * @retval 1 is HRPWM event filter A
- */
- #define IS_HRPWM_EVENTA_FILTER(__FILTER__) \
- (((__FILTER__) == HRPWM_EEVFLT_NONE) || \
- (((__FILTER__) & HRPWM_EEFR0_EE0FLTR) != HRPWM_EEVFLT_NONE))
- /**
- * @brief Judge is HRPWM event A latch or not
- * @param __LATCH__ latch to judge
- * @retval 0 isn't HRPWM event A latch
- * @retval 1 is HRPWM event A latch
- */
- #define IS_HRPWM_EVENTA_LATCH(__LATCH__) \
- (((__LATCH__) == HRPWM_EVENTLATCH_DISABLE) || \
- ((__LATCH__) == HRPWM_EVENTLATCH_ENABLE))
- /**
- * @brief Judge is HRPWM event A source or not
- * @param __SOURCE__ source to judge
- * @retval 0 isn't HRPWM event A source
- * @retval 1 is HRPWM event A source
- */
- #define IS_HRPWM_EVENTA_SOURCE(__SOURCE__) \
- (((__SOURCE__) == HRPWM_EEVASEL_SOURCE_EEVENT0) || \
- ((__SOURCE__) == HRPWM_EEVASEL_SOURCE_EEVENT1) || \
- ((__SOURCE__) == HRPWM_EEVASEL_SOURCE_EEVENT2) || \
- ((__SOURCE__) == HRPWM_EEVASEL_SOURCE_EEVENT3) || \
- ((__SOURCE__) == HRPWM_EEVASEL_SOURCE_EEVENT4) || \
- ((__SOURCE__) == HRPWM_EEVASEL_SOURCE_EEVENT5))
- /**
- * @brief Judge is HRPWM event A reset mode or not
- * @param __MODE__ mode to judge
- * @retval 0 isn't HRPWM event A reset mode
- * @retval 1 is HRPWM event A reset mode
- */
- #define IS_HRPWM_EVENTA_RSTMODE(__MODE__) \
- (((__MODE__) == HRPWM_EEVARSTM_CONDITIONAL) || \
- ((__MODE__) == HRPWM_EEVARSTM_UNCONDITIONAL))
- /**
- * @brief Judge is HRPWM event A counter enable or not
- * @param __COUNTEREN__ counter enable to judge
- * @retval 0 isn't HRPWM event A counter enable
- * @retval 1 is HRPWM event A counter enable
- */
- #define IS_HRPWM_EVENTA_COUNTEREN(__COUNTEREN__) \
- (((__COUNTEREN__) == HRPWM_EEVACOUNTER_DISABLE) || \
- ((__COUNTEREN__) == HRPWM_EEVACOUNTER_ENABLE))
- /**
- * @brief Judge is HRPWM reset event or not
- * @param __RESET__ reset event to judge
- * @retval 0 isn't HRPWM reset event
- * @retval 1 is HRPWM reset event
- */
- #define IS_HRPWM_RST_EVENT(__RESET__) \
- (((__RESET__) == HRPWM_RESET_TRIGGER_NONE) || \
- (((__RESET__) & (0x1FFFFFFF)) != 0x0U))
- /**
- * @brief Judge is HRPWM roll over mode or not
- * @param __ROLLOVER__ mode to judge
- * @retval 0 isn't HRPWM roll over mode
- * @retval 1 is HRPWM roll over mode
- */
- #define IS_HRPWM_ROLLOVERMODE(__ROLLOVER__) \
- (((__ROLLOVER__) == HRPWM_ROM_BOTH) || \
- ((__ROLLOVER__) == HRPWM_ROM_ZERO) || \
- ((__ROLLOVER__) == HRPWM_ROM_PERIOD))
- /**
- * @brief Judge is HRPWM roll over mode or not
- * @param __ROLLOVER__ mode to judge
- * @retval 0 isn't HRPWM roll over mode
- * @retval 1 is HRPWM roll over mode
- */
- #define IS_HRPWM_OUTPUTROLLOVERMODE(__ROLLOVER__) \
- (((__ROLLOVER__) == HRPWM_OUTROM_BOTH) || \
- ((__ROLLOVER__) == HRPWM_OUTROM_ZERO) || \
- ((__ROLLOVER__) == HRPWM_OUTROM_PERIOD))
- /**
- * @brief Judge is HRPWM roll over mode or not
- * @param __ROLLOVER__ mode to judge
- * @retval 0 isn't HRPWM roll over mode
- * @retval 1 is HRPWM roll over mode
- */
- #define IS_HRPWM_ADCROLLOVERMODE(__ROLLOVER__) \
- (((__ROLLOVER__) == HRPWM_ADROM_BOTH) || \
- ((__ROLLOVER__) == HRPWM_ADROM_ZERO) || \
- ((__ROLLOVER__) == HRPWM_ADROM_PERIOD))
- /**
- * @brief Judge is HRPWM roll over mode or not
- * @param __ROLLOVER__ mode to judge
- * @retval 0 isn't HRPWM roll over mode
- * @retval 1 is HRPWM roll over mode
- */
- #define IS_HRPWM_FLTROLLOVERMODE(__ROLLOVER__) \
- (((__ROLLOVER__) == HRPWM_FLTROM_BOTH) || \
- ((__ROLLOVER__) == HRPWM_FLTROM_ZERO) || \
- ((__ROLLOVER__) == HRPWM_FLTROM_PERIOD))
- /**
- * @brief Judge is HRPWM roll over mode or not
- * @param __ROLLOVER__ mode to judge
- * @retval 0 isn't HRPWM roll over mode
- * @retval 1 is HRPWM roll over mode
- */
- #define IS_HRPWM_EVTROLLOVERMODE(__ROLLOVER__) \
- (((__ROLLOVER__) == HRPWM_EEVROM_BOTH) || \
- ((__ROLLOVER__) == HRPWM_EEVROM_ZERO) || \
- ((__ROLLOVER__) == HRPWM_EEVROM_PERIOD))
- /**
- * @}
- */
- /* Private functions ---------------------------------------------------------*/
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* _TAE32F53XX_LL_HRPWM_H_ */
- /************************* (C) COPYRIGHT Tai-Action *****END OF FILE***********/
|